From 24d1ce114b326e8fd02a4861bce8f000e516d176 Mon Sep 17 00:00:00 2001 From: robwahl Date: Sat, 21 Sep 2013 19:05:59 -0700 Subject: [PATCH] doctools.js unresolved variables URL_ROOT DOCUMENT_OPTIONS unresolved JSON variable preprocessing.py str. ls (calling a method using an instance of a different class strip_punctuation2(s) expected a string but got a dict instead jquery.js for(d in a); not doing anything dictionary.py exception handling work -- except: too broad changed to if not then --- .idea/.name | 1 + .idea/encodings.xml | 5 + .idea/gensim-develop.iml | 9 + .idea/inspectionProfiles/Project_Default.xml | 36 + .../inspectionProfiles/profiles_settings.xml | 7 + .idea/misc.xml | 5 + .idea/modules.xml | 9 + .idea/other.xml | 7 + .idea/scopes/scope_settings.xml | 5 + .idea/testrunner.xml | 8 + .idea/vcs.xml | 7 + .idea/workspace.xml | 646 + gensim-develop.pyproj | 167 + gensim-develop.v11.suo | Bin 0 -> 6656 bytes gensim-develop/.gitignore | 59 + gensim-develop/CHANGELOG.txt | 192 + gensim-develop/COPYING | 674 + gensim-develop/COPYING.LESSER | 165 + gensim-develop/MANIFEST.in | 9 + gensim-develop/README.rst | 66 + gensim-develop/TODO.txt | 4 + gensim-develop/__init__.py | 5 + gensim-develop/docs/src/Makefile | 96 + .../docs/src/_static/css/anythingslider.css | 266 + .../docs/src/_static/css/jquery.qtip.min.css | 506 + gensim-develop/docs/src/_static/css/style.css | 710 + gensim-develop/docs/src/_static/favicon.ico | Bin 0 -> 1150 bytes .../docs/src/_static/images/arrows.png | Bin 0 -> 3088 bytes gensim-develop/docs/src/_static/images/bg.png | Bin 0 -> 9986 bytes .../docs/src/_static/images/bullets.png | Bin 0 -> 3156 bytes .../docs/src/_static/images/checker.png | Bin 0 -> 4738 bytes .../docs/src/_static/images/default.png | Bin 0 -> 15403 bytes .../src/_static/images/direct-install.png | Bin 0 -> 18131 bytes .../docs/src/_static/images/download.png | Bin 0 -> 37697 bytes .../docs/src/_static/images/favicon.ico | Bin 0 -> 1150 bytes .../_static/images/features/converters.png | Bin 0 -> 6784 bytes .../features/efficient_implementations.png | Bin 0 -> 5491 bytes .../src/_static/images/features/free_lgpl.png | Bin 0 -> 4347 bytes .../images/features/memory_independence.png | Bin 0 -> 7477 bytes .../images/features/platform_independence.png | Bin 0 -> 4952 bytes .../src/_static/images/features/robust.png | Bin 0 -> 7212 bytes .../images/features/similarity_queries.png | Bin 0 -> 4194 bytes .../src/_static/images/features/support.png | Bin 0 -> 7439 bytes .../images/forkme_left_white_ffffff.png | Bin 0 -> 6727 bytes .../docs/src/_static/images/gensim-footer.png | Bin 0 -> 7242 bytes .../docs/src/_static/images/gensim.png | Bin 0 -> 25785 bytes .../docs/src/_static/images/gensim_code.png | Bin 0 -> 53822 bytes .../src/_static/images/gensim_compact.png | Bin 0 -> 18280 bytes .../docs/src/_static/images/get-started.png | Bin 0 -> 26520 bytes .../docs/src/_static/images/googlegroups.png | Bin 0 -> 5513 bytes .../docs/src/_static/images/loading.gif | Bin 0 -> 1737 bytes .../docs/src/_static/images/logo-gensim.png | Bin 0 -> 23359 bytes .../_static/images/logo-gensim_compact.png | Bin 0 -> 12430 bytes .../docs/src/_static/images/menubutton.png | Bin 0 -> 3084 bytes .../_static/images/references/logo_dtu.gif | Bin 0 -> 8843 bytes .../images/references/logo_dynadmic.png | Bin 0 -> 14396 bytes .../_static/images/references/logo_eudml.png | Bin 0 -> 9669 bytes .../_static/images/references/logo_ghent.png | Bin 0 -> 4993 bytes .../_static/images/references/logo_ibcn.png | Bin 0 -> 38342 bytes .../_static/images/references/logo_roistr.png | Bin 0 -> 71879 bytes .../references/logo_sportsauthority.png | Bin 0 -> 4211 bytes .../docs/src/_static/images/tagline.png | Bin 0 -> 4820 bytes .../src/_static/images/tagline_compact.png | Bin 0 -> 5183 bytes .../docs/src/_static/images/twitterbird.png | Bin 0 -> 3758 bytes .../docs/src/_static/images/ukazka.png | Bin 0 -> 17894 bytes .../docs/src/_static/images/ukazka2.png | Bin 0 -> 17463 bytes .../docs/src/_static/js/jquery-1.9.1.min.js | 2214 ++ .../_static/js/jquery-migrate-1.1.1.min.js | 117 + .../_static/js/jquery.anythingslider.min.js | 338 + .../docs/src/_static/js/jquery.qtip.min.js | 758 + .../docs/src/_templates/indexcontent.html | 232 + gensim-develop/docs/src/about.rst | 86 + gensim-develop/docs/src/apiref.rst | 37 + gensim-develop/docs/src/changes_080.rst | 80 + gensim-develop/docs/src/conf.py | 216 + .../docs/src/corpora/bleicorpus.rst | 8 + gensim-develop/docs/src/corpora/corpora.rst | 8 + .../docs/src/corpora/dictionary.rst | 8 + .../docs/src/corpora/hashdictionary.rst | 8 + .../docs/src/corpora/indexedcorpus.rst | 12 + gensim-develop/docs/src/corpora/lowcorpus.rst | 8 + gensim-develop/docs/src/corpora/mmcorpus.rst | 8 + .../docs/src/corpora/svmlightcorpus.rst | 8 + .../docs/src/corpora/textcorpus.rst | 8 + gensim-develop/docs/src/corpora/ucicorpus.rst | 8 + .../docs/src/corpora/wikicorpus.rst | 8 + gensim-develop/docs/src/dist_lda.rst | 81 + gensim-develop/docs/src/dist_lsi.rst | 159 + gensim-develop/docs/src/distributed.rst | 92 + .../docs/src/gensim_theme/domainindex.html | 68 + .../docs/src/gensim_theme/genindex.html | 83 + .../docs/src/gensim_theme/layout.html | 230 + .../docs/src/gensim_theme/page.html | 4 + .../docs/src/gensim_theme/search.html | 59 + .../docs/src/gensim_theme/static/doctools.js | 250 + .../docs/src/gensim_theme/static/jquery.js | 2699 ++ .../src/gensim_theme/static/underscore.js | 417 + .../docs/src/gensim_theme/theme.conf | 6 + gensim-develop/docs/src/indextoc.rst | 11 + gensim-develop/docs/src/install.rst | 121 + gensim-develop/docs/src/interfaces.rst | 8 + gensim-develop/docs/src/intro.rst | 138 + gensim-develop/docs/src/matutils.rst | 8 + gensim-develop/docs/src/models/hdpmodel.rst | 8 + .../docs/src/models/lda_dispatcher.rst | 8 + gensim-develop/docs/src/models/lda_worker.rst | 8 + gensim-develop/docs/src/models/ldamodel.rst | 8 + .../docs/src/models/logentropy_model.rst | 8 + .../docs/src/models/lsi_dispatcher.rst | 8 + gensim-develop/docs/src/models/lsi_worker.rst | 8 + gensim-develop/docs/src/models/lsimodel.rst | 8 + gensim-develop/docs/src/models/models.rst | 8 + gensim-develop/docs/src/models/rpmodel.rst | 8 + gensim-develop/docs/src/models/tfidfmodel.rst | 8 + .../docs/src/similarities/docsim.rst | 8 + .../docs/src/similarities/simserver.rst | 8 + gensim-develop/docs/src/simserver.rst | 339 + gensim-develop/docs/src/support.rst | 30 + gensim-develop/docs/src/tut1.rst | 286 + gensim-develop/docs/src/tut2.rst | 249 + gensim-develop/docs/src/tut3.rst | 149 + gensim-develop/docs/src/tutorial.rst | 108 + gensim-develop/docs/src/utils.rst | 7 + gensim-develop/docs/src/wiki.rst | 206 + gensim-develop/ez_setup.py | 275 + gensim-develop/gensim/__init__.py | 25 + gensim-develop/gensim/corpora/__init__.py | 6 + gensim-develop/gensim/corpora/bleicorpus.py | 133 + gensim-develop/gensim/corpora/dictionary.py | 353 + .../gensim/corpora/hashdictionary.py | 241 + .../gensim/corpora/indexedcorpus.py | 123 + gensim-develop/gensim/corpora/lowcorpus.py | 177 + gensim-develop/gensim/corpora/mmcorpus.py | 51 + .../gensim/corpora/svmlightcorpus.py | 123 + gensim-develop/gensim/corpora/textcorpus.py | 113 + gensim-develop/gensim/corpora/ucicorpus.py | 221 + gensim-develop/gensim/corpora/wikicorpus.py | 301 + .../gensim/examples/dmlcz/__init__.py | 1 + .../gensim/examples/dmlcz/dmlcorpus.py | 237 + .../gensim/examples/dmlcz/gensim_build.py | 81 + .../gensim/examples/dmlcz/gensim_genmodel.py | 78 + .../gensim/examples/dmlcz/gensim_xml.py | 123 + .../gensim/examples/dmlcz/runall.sh | 41 + .../gensim/examples/dmlcz/sources.py | 388 + gensim-develop/gensim/interfaces.py | 266 + gensim-develop/gensim/matutils.py | 621 + gensim-develop/gensim/models/__init__.py | 52 + gensim-develop/gensim/models/hdpmodel.py | 588 + .../gensim/models/lda_dispatcher.py | 192 + gensim-develop/gensim/models/lda_worker.py | 113 + gensim-develop/gensim/models/ldamodel.py | 607 + .../gensim/models/logentropy_model.py | 116 + .../gensim/models/lsi_dispatcher.py | 187 + gensim-develop/gensim/models/lsi_worker.py | 100 + gensim-develop/gensim/models/lsimodel.py | 729 + gensim-develop/gensim/models/rpmodel.py | 102 + gensim-develop/gensim/models/tfidfmodel.py | 159 + gensim-develop/gensim/models/word2vec.py | 497 + .../gensim/models/word2vec_inner.pyx | 64 + gensim-develop/gensim/nosy.py | 55 + gensim-develop/gensim/parsing/__init__.py | 5 + gensim-develop/gensim/parsing/porter.py | 363 + .../gensim/parsing/preprocessing.py | 106 + gensim-develop/gensim/scripts/__init__.py | 0 gensim-develop/gensim/scripts/make_wiki.py | 1 + .../gensim/scripts/make_wiki_lemma.py | 1 + .../gensim/scripts/make_wiki_online.py | 1 + .../gensim/scripts/make_wiki_online_lemma.py | 1 + .../scripts/make_wiki_online_nodebug.py | 1 + .../gensim/scripts/make_wikicorpus.py | 103 + .../gensim/similarities/__init__.py | 6 + gensim-develop/gensim/similarities/docsim.py | 719 + gensim-develop/gensim/test/__init__.py | 3 + gensim-develop/gensim/test/simspeed.py | 164 + gensim-develop/gensim/test/simspeed2.py | 142 + gensim-develop/gensim/test/svd_error.py | 179 + gensim-develop/gensim/test/test_corpora.py | 131 + .../gensim/test/test_corpora_dictionary.py | 168 + .../test/test_corpora_hashdictionary.py | 187 + .../test/test_data/head500.noblanks.cor | 250 + .../test/test_data/head500.noblanks.cor.bz2 | Bin 0 -> 665686 bytes .../head500.noblanks.cor_tfidf.model | Bin 0 -> 356573 bytes .../head500.noblanks.cor_wordids.txt | 29722 ++++++++++++++++ gensim-develop/gensim/test/test_data/lee.cor | 50 + .../gensim/test/test_data/lee_background.cor | 300 + .../gensim/test/test_data/miIslita.cor | 5 + .../gensim/test/test_data/para2para_text1.txt | 6 + .../gensim/test/test_data/para2para_text2.txt | 7 + .../gensim/test/test_data/similarities0-1.txt | 50 + .../gensim/test/test_data/test_corpus_ok.mm | 13 + .../test/test_data/test_corpus_small.mm | 11 + .../gensim/test/test_data/testcorpus.blei | 9 + .../test/test_data/testcorpus.blei.vocab | 12 + .../gensim/test/test_data/testcorpus.low | 10 + .../gensim/test/test_data/testcorpus.mm | 30 + .../gensim/test/test_data/testcorpus.svmlight | 9 + .../gensim/test/test_data/testcorpus.uci | 31 + .../test/test_data/testcorpus.uci.vocab | 12 + gensim-develop/gensim/test/test_lee.py | 106 + gensim-develop/gensim/test/test_miislita.py | 118 + gensim-develop/gensim/test/test_models.py | 286 + gensim-develop/gensim/test/test_parsing.py | 85 + .../gensim/test/test_similarities.py | 190 + gensim-develop/gensim/test/test_utils.py | 78 + gensim-develop/gensim/utils.py | 677 + gensim-develop/setup.py | 86 + gensim-develop/tox.ini | 6 + 207 files changed, 55725 insertions(+) create mode 100644 .idea/.name create mode 100644 .idea/encodings.xml create mode 100644 .idea/gensim-develop.iml create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/other.xml create mode 100644 .idea/scopes/scope_settings.xml create mode 100644 .idea/testrunner.xml create mode 100644 .idea/vcs.xml create mode 100644 .idea/workspace.xml create mode 100644 gensim-develop.pyproj create mode 100644 gensim-develop.v11.suo create mode 100644 gensim-develop/.gitignore create mode 100644 gensim-develop/CHANGELOG.txt create mode 100644 gensim-develop/COPYING create mode 100644 gensim-develop/COPYING.LESSER create mode 100644 gensim-develop/MANIFEST.in create mode 100644 gensim-develop/README.rst create mode 100644 gensim-develop/TODO.txt create mode 100644 gensim-develop/__init__.py create mode 100644 gensim-develop/docs/src/Makefile create mode 100644 gensim-develop/docs/src/_static/css/anythingslider.css create mode 100644 gensim-develop/docs/src/_static/css/jquery.qtip.min.css create mode 100644 gensim-develop/docs/src/_static/css/style.css create mode 100644 gensim-develop/docs/src/_static/favicon.ico create mode 100644 gensim-develop/docs/src/_static/images/arrows.png create mode 100644 gensim-develop/docs/src/_static/images/bg.png create mode 100644 gensim-develop/docs/src/_static/images/bullets.png create mode 100644 gensim-develop/docs/src/_static/images/checker.png create mode 100644 gensim-develop/docs/src/_static/images/default.png create mode 100644 gensim-develop/docs/src/_static/images/direct-install.png create mode 100644 gensim-develop/docs/src/_static/images/download.png create mode 100644 gensim-develop/docs/src/_static/images/favicon.ico create mode 100644 gensim-develop/docs/src/_static/images/features/converters.png create mode 100644 gensim-develop/docs/src/_static/images/features/efficient_implementations.png create mode 100644 gensim-develop/docs/src/_static/images/features/free_lgpl.png create mode 100644 gensim-develop/docs/src/_static/images/features/memory_independence.png create mode 100644 gensim-develop/docs/src/_static/images/features/platform_independence.png create mode 100644 gensim-develop/docs/src/_static/images/features/robust.png create mode 100644 gensim-develop/docs/src/_static/images/features/similarity_queries.png create mode 100644 gensim-develop/docs/src/_static/images/features/support.png create mode 100644 gensim-develop/docs/src/_static/images/forkme_left_white_ffffff.png create mode 100644 gensim-develop/docs/src/_static/images/gensim-footer.png create mode 100644 gensim-develop/docs/src/_static/images/gensim.png create mode 100644 gensim-develop/docs/src/_static/images/gensim_code.png create mode 100644 gensim-develop/docs/src/_static/images/gensim_compact.png create mode 100644 gensim-develop/docs/src/_static/images/get-started.png create mode 100644 gensim-develop/docs/src/_static/images/googlegroups.png create mode 100644 gensim-develop/docs/src/_static/images/loading.gif create mode 100644 gensim-develop/docs/src/_static/images/logo-gensim.png create mode 100644 gensim-develop/docs/src/_static/images/logo-gensim_compact.png create mode 100644 gensim-develop/docs/src/_static/images/menubutton.png create mode 100644 gensim-develop/docs/src/_static/images/references/logo_dtu.gif create mode 100644 gensim-develop/docs/src/_static/images/references/logo_dynadmic.png create mode 100644 gensim-develop/docs/src/_static/images/references/logo_eudml.png create mode 100644 gensim-develop/docs/src/_static/images/references/logo_ghent.png create mode 100644 gensim-develop/docs/src/_static/images/references/logo_ibcn.png create mode 100644 gensim-develop/docs/src/_static/images/references/logo_roistr.png create mode 100644 gensim-develop/docs/src/_static/images/references/logo_sportsauthority.png create mode 100644 gensim-develop/docs/src/_static/images/tagline.png create mode 100644 gensim-develop/docs/src/_static/images/tagline_compact.png create mode 100644 gensim-develop/docs/src/_static/images/twitterbird.png create mode 100644 gensim-develop/docs/src/_static/images/ukazka.png create mode 100644 gensim-develop/docs/src/_static/images/ukazka2.png create mode 100644 gensim-develop/docs/src/_static/js/jquery-1.9.1.min.js create mode 100644 gensim-develop/docs/src/_static/js/jquery-migrate-1.1.1.min.js create mode 100644 gensim-develop/docs/src/_static/js/jquery.anythingslider.min.js create mode 100644 gensim-develop/docs/src/_static/js/jquery.qtip.min.js create mode 100644 gensim-develop/docs/src/_templates/indexcontent.html create mode 100644 gensim-develop/docs/src/about.rst create mode 100644 gensim-develop/docs/src/apiref.rst create mode 100644 gensim-develop/docs/src/changes_080.rst create mode 100644 gensim-develop/docs/src/conf.py create mode 100644 gensim-develop/docs/src/corpora/bleicorpus.rst create mode 100644 gensim-develop/docs/src/corpora/corpora.rst create mode 100644 gensim-develop/docs/src/corpora/dictionary.rst create mode 100644 gensim-develop/docs/src/corpora/hashdictionary.rst create mode 100644 gensim-develop/docs/src/corpora/indexedcorpus.rst create mode 100644 gensim-develop/docs/src/corpora/lowcorpus.rst create mode 100644 gensim-develop/docs/src/corpora/mmcorpus.rst create mode 100644 gensim-develop/docs/src/corpora/svmlightcorpus.rst create mode 100644 gensim-develop/docs/src/corpora/textcorpus.rst create mode 100644 gensim-develop/docs/src/corpora/ucicorpus.rst create mode 100644 gensim-develop/docs/src/corpora/wikicorpus.rst create mode 100644 gensim-develop/docs/src/dist_lda.rst create mode 100644 gensim-develop/docs/src/dist_lsi.rst create mode 100644 gensim-develop/docs/src/distributed.rst create mode 100644 gensim-develop/docs/src/gensim_theme/domainindex.html create mode 100644 gensim-develop/docs/src/gensim_theme/genindex.html create mode 100644 gensim-develop/docs/src/gensim_theme/layout.html create mode 100644 gensim-develop/docs/src/gensim_theme/page.html create mode 100644 gensim-develop/docs/src/gensim_theme/search.html create mode 100644 gensim-develop/docs/src/gensim_theme/static/doctools.js create mode 100644 gensim-develop/docs/src/gensim_theme/static/jquery.js create mode 100644 gensim-develop/docs/src/gensim_theme/static/underscore.js create mode 100644 gensim-develop/docs/src/gensim_theme/theme.conf create mode 100644 gensim-develop/docs/src/indextoc.rst create mode 100644 gensim-develop/docs/src/install.rst create mode 100644 gensim-develop/docs/src/interfaces.rst create mode 100644 gensim-develop/docs/src/intro.rst create mode 100644 gensim-develop/docs/src/matutils.rst create mode 100644 gensim-develop/docs/src/models/hdpmodel.rst create mode 100644 gensim-develop/docs/src/models/lda_dispatcher.rst create mode 100644 gensim-develop/docs/src/models/lda_worker.rst create mode 100644 gensim-develop/docs/src/models/ldamodel.rst create mode 100644 gensim-develop/docs/src/models/logentropy_model.rst create mode 100644 gensim-develop/docs/src/models/lsi_dispatcher.rst create mode 100644 gensim-develop/docs/src/models/lsi_worker.rst create mode 100644 gensim-develop/docs/src/models/lsimodel.rst create mode 100644 gensim-develop/docs/src/models/models.rst create mode 100644 gensim-develop/docs/src/models/rpmodel.rst create mode 100644 gensim-develop/docs/src/models/tfidfmodel.rst create mode 100644 gensim-develop/docs/src/similarities/docsim.rst create mode 100644 gensim-develop/docs/src/similarities/simserver.rst create mode 100644 gensim-develop/docs/src/simserver.rst create mode 100644 gensim-develop/docs/src/support.rst create mode 100644 gensim-develop/docs/src/tut1.rst create mode 100644 gensim-develop/docs/src/tut2.rst create mode 100644 gensim-develop/docs/src/tut3.rst create mode 100644 gensim-develop/docs/src/tutorial.rst create mode 100644 gensim-develop/docs/src/utils.rst create mode 100644 gensim-develop/docs/src/wiki.rst create mode 100644 gensim-develop/ez_setup.py create mode 100644 gensim-develop/gensim/__init__.py create mode 100644 gensim-develop/gensim/corpora/__init__.py create mode 100644 gensim-develop/gensim/corpora/bleicorpus.py create mode 100644 gensim-develop/gensim/corpora/dictionary.py create mode 100644 gensim-develop/gensim/corpora/hashdictionary.py create mode 100644 gensim-develop/gensim/corpora/indexedcorpus.py create mode 100644 gensim-develop/gensim/corpora/lowcorpus.py create mode 100644 gensim-develop/gensim/corpora/mmcorpus.py create mode 100644 gensim-develop/gensim/corpora/svmlightcorpus.py create mode 100644 gensim-develop/gensim/corpora/textcorpus.py create mode 100644 gensim-develop/gensim/corpora/ucicorpus.py create mode 100644 gensim-develop/gensim/corpora/wikicorpus.py create mode 100644 gensim-develop/gensim/examples/dmlcz/__init__.py create mode 100644 gensim-develop/gensim/examples/dmlcz/dmlcorpus.py create mode 100644 gensim-develop/gensim/examples/dmlcz/gensim_build.py create mode 100644 gensim-develop/gensim/examples/dmlcz/gensim_genmodel.py create mode 100644 gensim-develop/gensim/examples/dmlcz/gensim_xml.py create mode 100644 gensim-develop/gensim/examples/dmlcz/runall.sh create mode 100644 gensim-develop/gensim/examples/dmlcz/sources.py create mode 100644 gensim-develop/gensim/interfaces.py create mode 100644 gensim-develop/gensim/matutils.py create mode 100644 gensim-develop/gensim/models/__init__.py create mode 100644 gensim-develop/gensim/models/hdpmodel.py create mode 100644 gensim-develop/gensim/models/lda_dispatcher.py create mode 100644 gensim-develop/gensim/models/lda_worker.py create mode 100644 gensim-develop/gensim/models/ldamodel.py create mode 100644 gensim-develop/gensim/models/logentropy_model.py create mode 100644 gensim-develop/gensim/models/lsi_dispatcher.py create mode 100644 gensim-develop/gensim/models/lsi_worker.py create mode 100644 gensim-develop/gensim/models/lsimodel.py create mode 100644 gensim-develop/gensim/models/rpmodel.py create mode 100644 gensim-develop/gensim/models/tfidfmodel.py create mode 100644 gensim-develop/gensim/models/word2vec.py create mode 100644 gensim-develop/gensim/models/word2vec_inner.pyx create mode 100644 gensim-develop/gensim/nosy.py create mode 100644 gensim-develop/gensim/parsing/__init__.py create mode 100644 gensim-develop/gensim/parsing/porter.py create mode 100644 gensim-develop/gensim/parsing/preprocessing.py create mode 100644 gensim-develop/gensim/scripts/__init__.py create mode 100644 gensim-develop/gensim/scripts/make_wiki.py create mode 100644 gensim-develop/gensim/scripts/make_wiki_lemma.py create mode 100644 gensim-develop/gensim/scripts/make_wiki_online.py create mode 100644 gensim-develop/gensim/scripts/make_wiki_online_lemma.py create mode 100644 gensim-develop/gensim/scripts/make_wiki_online_nodebug.py create mode 100644 gensim-develop/gensim/scripts/make_wikicorpus.py create mode 100644 gensim-develop/gensim/similarities/__init__.py create mode 100644 gensim-develop/gensim/similarities/docsim.py create mode 100644 gensim-develop/gensim/test/__init__.py create mode 100644 gensim-develop/gensim/test/simspeed.py create mode 100644 gensim-develop/gensim/test/simspeed2.py create mode 100644 gensim-develop/gensim/test/svd_error.py create mode 100644 gensim-develop/gensim/test/test_corpora.py create mode 100644 gensim-develop/gensim/test/test_corpora_dictionary.py create mode 100644 gensim-develop/gensim/test/test_corpora_hashdictionary.py create mode 100644 gensim-develop/gensim/test/test_data/head500.noblanks.cor create mode 100644 gensim-develop/gensim/test/test_data/head500.noblanks.cor.bz2 create mode 100644 gensim-develop/gensim/test/test_data/head500.noblanks.cor_tfidf.model create mode 100644 gensim-develop/gensim/test/test_data/head500.noblanks.cor_wordids.txt create mode 100644 gensim-develop/gensim/test/test_data/lee.cor create mode 100644 gensim-develop/gensim/test/test_data/lee_background.cor create mode 100644 gensim-develop/gensim/test/test_data/miIslita.cor create mode 100644 gensim-develop/gensim/test/test_data/para2para_text1.txt create mode 100644 gensim-develop/gensim/test/test_data/para2para_text2.txt create mode 100644 gensim-develop/gensim/test/test_data/similarities0-1.txt create mode 100644 gensim-develop/gensim/test/test_data/test_corpus_ok.mm create mode 100644 gensim-develop/gensim/test/test_data/test_corpus_small.mm create mode 100644 gensim-develop/gensim/test/test_data/testcorpus.blei create mode 100644 gensim-develop/gensim/test/test_data/testcorpus.blei.vocab create mode 100644 gensim-develop/gensim/test/test_data/testcorpus.low create mode 100644 gensim-develop/gensim/test/test_data/testcorpus.mm create mode 100644 gensim-develop/gensim/test/test_data/testcorpus.svmlight create mode 100644 gensim-develop/gensim/test/test_data/testcorpus.uci create mode 100644 gensim-develop/gensim/test/test_data/testcorpus.uci.vocab create mode 100644 gensim-develop/gensim/test/test_lee.py create mode 100644 gensim-develop/gensim/test/test_miislita.py create mode 100644 gensim-develop/gensim/test/test_models.py create mode 100644 gensim-develop/gensim/test/test_parsing.py create mode 100644 gensim-develop/gensim/test/test_similarities.py create mode 100644 gensim-develop/gensim/test/test_utils.py create mode 100644 gensim-develop/gensim/utils.py create mode 100644 gensim-develop/setup.py create mode 100644 gensim-develop/tox.ini diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000000..55a48d7a5d --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +gensim-develop \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000000..7c62b52a13 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/.idea/gensim-develop.iml b/.idea/gensim-develop.iml new file mode 100644 index 0000000000..97a50ebeb8 --- /dev/null +++ b/.idea/gensim-develop.iml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000000..a67e904763 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,36 @@ + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000000..6933c1eaf5 --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000000..517d143238 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000000..13736a1f11 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/.idea/other.xml b/.idea/other.xml new file mode 100644 index 0000000000..6f6e9cc743 --- /dev/null +++ b/.idea/other.xml @@ -0,0 +1,7 @@ + + + + + + diff --git a/.idea/scopes/scope_settings.xml b/.idea/scopes/scope_settings.xml new file mode 100644 index 0000000000..0d5175ca06 --- /dev/null +++ b/.idea/scopes/scope_settings.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/testrunner.xml b/.idea/testrunner.xml new file mode 100644 index 0000000000..9430d76c6c --- /dev/null +++ b/.idea/testrunner.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000000..d2d96f225b --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000000..8bff3be226 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,646 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Portability issues + + + + + InconsistentLineSeparators + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1379803411674 + 1379803411674 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gensim-develop.pyproj b/gensim-develop.pyproj new file mode 100644 index 0000000000..178d4ebdc8 --- /dev/null +++ b/gensim-develop.pyproj @@ -0,0 +1,167 @@ + + + + Debug + 2.0 + {12ba3b47-2ce2-473d-a6eb-f23e96a76504} + + + + . + . + 10.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/gensim-develop.v11.suo b/gensim-develop.v11.suo new file mode 100644 index 0000000000000000000000000000000000000000..193d5bff3d1fc839b95940a1caaa48d0363ecf18 GIT binary patch literal 6656 zcmeHLOGs2v82(4IQY*7;0%>88ZZdms0tIP|BBIFLP09GoSEF-h(t%cGwW(!An=qsx zf=EJw7SS$fVJ1W?!J(D~EwUDo)AyZwuibIHb7v+?XP7gb$NxCzzvnyue;zaWwshwH zSb0Piq&mr$xoDxRw(wnO=b7|IkyU7uHy4dY$<9YcGnX<5fz#s0FDMn#AQw;vB+R8u zI=Q7_e$D57!>0F4{fV>X&nH}KA%8{ZK{^GCe(9EDu-<`IgAD0{Buh6u(h7Gn-8Ml9 z?yJ&C31QZ~(gpj>oze)}hup5dWv`)USM88I7h}NmeLKB{{33Qja;ac;~$8&+_w7Kuo57rs< z2Gk|UjG6XP}FIlOx{HGc(i|JcedolUH=KYQRPp-pqNW9V{8eY5slwS2BZ&6fG z20?q!)}#k-V!!l*X4#Inas{}4yq^Qo3c3PZpBlj&r&DQZcvttyE@=aG5xLhGC9$*( zTCM79G&R0gnnCF=^DaodO3JVG;Y-4hoHyR@ntILCT0m+Ht*Q4-A4WTl-_Ty(yE6Wu zoR^dsuOWiztawlCxCo&Sh7Wh~@&@gcg0g)Qu8$?wgN4H{RaUwY6s?a%t8H zm)eQykmqjr=%ZVWmxoF!-=*h;>GxXh^X%0V literal 0 HcmV?d00001 diff --git a/gensim-develop/.gitignore b/gensim-develop/.gitignore new file mode 100644 index 0000000000..bcfcacb4ff --- /dev/null +++ b/gensim-develop/.gitignore @@ -0,0 +1,59 @@ +# Compiled source # +################### +*.com +*.class +*.dll +*.exe +*.o +*.so +*.pyc + +# Packages # +############ +# it's better to unpack these files and commit the raw source +# git has its own built in compression methods +*.7z +*.dmg +*.gz +*.iso +*.jar +*.rar +*.tar +*.zip + +# Logs and databases # +###################### +*.log +*.sql +*.sqlite +*.pkl +*.bak +*.npy + +# OS generated files # +###################### +.DS_Store? +ehthumbs.db +Icon? +Thumbs.db + +# Other # +######### +.project +.pydevproject +.settings/ +docs/src/_build/ +docs/_static +dedan_gensim.tmproj +gensim.egg-info +*,cover +.idea +*.dict +*.index +.coverage +.*.sw[op] +data +*.bak +/build/ +/dist/ + diff --git a/gensim-develop/CHANGELOG.txt b/gensim-develop/CHANGELOG.txt new file mode 100644 index 0000000000..4807e8672f --- /dev/null +++ b/gensim-develop/CHANGELOG.txt @@ -0,0 +1,192 @@ +Changes +======= + +0.8.7 + +* initial version of word2vec, a neural network deep learning algo +* make distributed gensim compatible with the new Pyro +* allow merging dictionaries (by Florent Chandelier) +* new design for the gensim website! +* speed up handling of corner cases when returning top-n most similar +* make Random Projections compatible with new scipy (andrewjOc360, PR #110) +* allow "light" (faster) word lemmatization (by Karsten Jeschkies) +* save/load directly from bzip2 files (by Luis Pedro Coelho, PR #101) +* Blei corpus now tries harder to find its vocabulary file (by Luis Pedro Coelho, PR #100) +* sparse vector elements can now be a list (was: only a 2-tuple) +* simple_preprocess now optionally deaccents letters (ř/š/ú=>r/s/u etc.) +* better serialization of numpy corpora +* print_topics() returns the topics, in addition to printing/logging +* fixes for more robust Windows multiprocessing +* lots of small fixes, data checks and documentation updates + +0.8.6 + +* added HashDictionary (by Homer Strong) +* support for adding target classes in SVMlight format (by Corrado Monti) +* fixed problems with global lemmatizer object when running in parallel on Windows +* parallelization of Wikipedia processing + added script version that lemmatizes the input documents +* added class method to initialize Dictionary from an existing corpus (by Marko Burjek) + +0.8.5 + +* improved performance of sharding (similarity queries) +* better Wikipedia parsing (thx to Alejandro Weinstein and Lars Buitinck) +* faster Porter stemmer (thx to Lars Buitinck) +* several minor fixes (in HDP model thx to Greg Ver Steeg) +* improvements to documentation + +0.8.4 + +* better support for Pandas series input (thx to JT Bates) +* a new corpus format: UCI bag-of-words (thx to Jonathan Esterhazy) +* a new model, non-parametric bayes: HDP (thx to Jonathan Esterhazy; based on Chong Wang's code) +* improved support for new scipy versions (thx to Skipper Seabold) +* lemmatizer support for wikipedia parsing (via the `pattern` python package) +* extended the lemmatizer for multi-core processing, to improve its performance + +0.8.3 + +* fixed Similarity sharding bug (issue #65, thx to Paul Rudin) +* improved LDA code (clarity & memory footprint) +* optimized efficiency of Similarity sharding + +0.8.2 + +* improved gensim landing page +* improved accuracy of SVD (Latent Semantic Analysis) (thx to Mark Tygert) +* changed interpretation of LDA topics: github issue #57 +* took out similarity server code introduced in 0.8.1 (will become a separate project) +* started using `tox` for testing +* + several smaller fixes and optimizations + +0.8.1 + +* transactional similarity server: see docs/simserver.html +* website moved from university hosting to radimrehurek.com +* much improved speed of lsi[corpus] transformation: +* accuracy tests of incremental svd: test/svd_error.py and http://groups.google.com/group/gensim/browse_thread/thread/4b605b72f8062770 +* further improvements to memory-efficiency of LDA and LSA +* improved wiki preprocessing (thx to Luca de Alfaro) +* model.print_topics() debug fncs now support std output, in addition to logging (thx to Homer Strong) +* several smaller fixes and improvements + +0.8.0 (Armageddon) + +* changed all variable and function names to comply with PEP8 (numTopics->num_topics): BREAKS BACKWARD COMPATIBILITY! +* added support for similarity querying more documents at once (index[query_documents] in addition to index[query_document]; much faster) +* rewrote Similarity so that it is more efficient and scalable (using disk-based mmap'ed shards) +* simplified directory structure (src/gensim/ is now only gensim/) +* several small fixes and optimizations + +0.7.8 + +* added `corpora.IndexedCorpus`, a base class for corpus serializers (thx to Dieter Plaetinck). This allows corpus formats that inherit from it (MmCorpus, SvmLightCorpus, BleiCorpus etc.) to retrieve individual documents by their id in O(1), e.g. `corpus[14]` returns document #14. +* merged new code from the LarKC.eu team (`corpora.textcorpus`, `models.logentropy_model`, lots of unit tests etc.) +* fixed a bug in `lda[bow]` transformation (was returning gamma distribution instead of theta). LDA model generation was not affected, only transforming new vectors. +* several small fixes and documentation updates + +0.7.7 + +* new LDA implementation after Hoffman et al.: Online Learning for Latent Dirichlet Allocation +* distributed LDA +* updated LDA docs (wiki experiments, distributed tutorial) +* matrixmarket header now uses capital 'M's: MatrixMarket. (André Lynum reported than Matlab has trouble processing the lowercase version) +* moved code to github +* started gensim Google group + +0.7.6 + +* added workaround for a bug in numpy: pickling a fortran-order array (e.g. LSA model) and then loading it back and using it results in segfault (thx to Brian Merrel) +* bundled a new version of ez_setup.py: old failed with Python2.6 when setuptools were missing (thx to Alan Salmoni). + +0.7.5 + +* further optimization to LSA; this is the version used in my NIPS workshop paper +* got rid of SVDLIBC dependency (one-pass LSA now uses stochastic algo for base-base decompositions) + +0.7.4 + +* sped up Latent Dirichlet ~10x (through scipy.weave, optional) +* finally, distributed LDA! scales almost linearly, but no tutorial yet. see the tutorial on distributed LSI, everything's completely analogous. +* several minor fixes and improvements; one nasty bug fixed (lsi[corpus] didn't work; thx to Danilo Spinelli) + +0.7.3 + +* added stochastic SVD decomposition (faster than the current one-pass LSI algo, but needs two passes over the input corpus) +* published gensim on mloss.org + +0.7.2 + +* added workaround for a numpy bug where SVD sometimes fails to converge for no good reason +* changed content of gensims's PyPi title page +* completed HTML tutorial on distributed LSA + +0.7.1 + +* fixed a bug in LSA that occurred when the number of features was smaller than the number of topics (thx to Richard Berendsen) + +0.7.0 + +* optimized vocabulary generation in gensim.corpora.dictionary (faster and less memory-intense) +* MmCorpus accepts compressed input (file-like objects such as GzipFile, BZ2File; to save disk space) +* changed sparse solver to SVDLIBC (sparsesvd on PyPi) for large document chunks +* added distributed LSA, updated tutorials (still experimental though) +* several minor bug fixes + +0.6.0 + +* added option for online LSI training (yay!). the transformation can now be + used after any amount of training, and training can be continued at any time + with more data. +* optimized the tf-idf transformation, so that it is a strictly one-pass algorithm in all cases (thx to Brian Merrell). +* fixed Windows-specific bug in handling binary files (thx to Sutee Sudprasert) +* fixed 1-based feature counting bug in SVMlight format (thx to Richard Berendsen) +* added 'Topic :: Text Processing :: Linguistic' to gensim's pypi classifiers +* change of sphinx documentation css and layout + +0.5.0 + +* finished all tutorials, stable version + +0.4.7 + +* tutorial on transformations + +0.4.6 + +* added Random Projections (aka Random Indexing), as another transformation model. +* several DML-CZ specific updates + +0.4.5 + +* updated documentation +* further memory optimizations in SVD (LSI) + +0.4.4 + +* added missing test files to MANIFEST.in + +0.4.3 + +* documentation changes +* added gensim reference to Wikipedia articles (SVD, LSI, LDA, TFIDF, ...) + +0.4.2 + +* finally, a tutorial! +* similarity queries got their own package + +0.4.1 + +* pdf documentation +* removed dependency on python2.5 (theoretically, gensim now runs on 2.6 and 2.7 as well). + +0.4.0 + +* support for ``python setup.py test`` +* fixing package metadata +* documentation clean-up + +0.2.0 + +* First version diff --git a/gensim-develop/COPYING b/gensim-develop/COPYING new file mode 100644 index 0000000000..818433ecc0 --- /dev/null +++ b/gensim-develop/COPYING @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/gensim-develop/COPYING.LESSER b/gensim-develop/COPYING.LESSER new file mode 100644 index 0000000000..e8bec28dfa --- /dev/null +++ b/gensim-develop/COPYING.LESSER @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/gensim-develop/MANIFEST.in b/gensim-develop/MANIFEST.in new file mode 100644 index 0000000000..2f6a8e8b11 --- /dev/null +++ b/gensim-develop/MANIFEST.in @@ -0,0 +1,9 @@ +recursive-include docs * +recursive-include gensim/test/test_data * +recursive-include . *.sh +prune docs/src* +include README.rst +include CHANGELOG.txt +include COPYING +include COPYING.LESSER +include ez_setup.py diff --git a/gensim-develop/README.rst b/gensim-develop/README.rst new file mode 100644 index 0000000000..dd3ad8c980 --- /dev/null +++ b/gensim-develop/README.rst @@ -0,0 +1,66 @@ +============================================== +gensim -- Python Framework for Topic Modelling +============================================== + + +This is the python 3.3 port of Gensim library available at: . This port might be useful if people need gensim on Python3. It is not backward compatible with Python 2. + +Gensim is a Python library for *topic modelling*, *document indexing* and *similarity retrieval* with large corpora. +Target audience is the *natural language processing* (NLP) and *information retrieval* (IR) community. + + +Features +--------- + +* All algorithms are **memory-independent** w.r.t. the corpus size (can process input larger than RAM), +* **Intuitive interfaces** + + * easy to plug in your own input corpus/datastream (trivial streaming API) + * easy to extend with other Vector Space algorithms (trivial transformation API) + +* Efficient implementations of popular algorithms, such as online **Latent Semantic Analysis**, + **Latent Dirichlet Allocation** or **Random Projections** +* **Distributed computing**: can run *Latent Semantic Analysis* and *Latent Dirichlet Allocation* on a cluster of computers. +* Extensive `HTML documentation and tutorials `_. + + +If this feature list left you scratching your head, you can first read more about the `Vector +Space Model `_ and `unsupervised +document analysis `_ on Wikipedia. + +Installation +------------ + +This software depends on `NumPy and Scipy `_, two Python packages for scientific computing. +You must have them installed prior to installing `gensim`. + +It is also recommended you install a fast BLAS library prior to installing NumPy. This is optional, but using an optimized BLAS such as `ATLAS `_ or `OpenBLAS `_ is known to improve performance by as much as an order of magnitude. + +The simple way to install `gensim` is:: + + sudo easy_install gensim + +Or, if you have instead downloaded and unzipped the `source tar.gz `_ package, +you'll need to run:: + + python setup.py test + sudo python setup.py install + + +For alternative modes of installation (without root privileges, development +installation, optional install features), see the `documentation `_. + +This version has been tested under Python 3.3, and should run on any 3.0 <= Python < 3.3. + +Documentation +------------- + +Manual for the gensim package is available in `HTML `_. It +contains a walk-through of all its features and a complete reference section. +It is also included in the source distribution package. + +---------------- + +Gensim is open source software, and has been released under the +`GNU LGPL license `_. +Copyright (c) 2009-2013 Radim Rehurek diff --git a/gensim-develop/TODO.txt b/gensim-develop/TODO.txt new file mode 100644 index 0000000000..3fdcc81cc5 --- /dev/null +++ b/gensim-develop/TODO.txt @@ -0,0 +1,4 @@ +Changes for future releases: +----------------------------- + +See https://github.com/piskvorky/gensim/wiki/Ideas-&-Features-proposals . diff --git a/gensim-develop/__init__.py b/gensim-develop/__init__.py new file mode 100644 index 0000000000..dc09518139 --- /dev/null +++ b/gensim-develop/__init__.py @@ -0,0 +1,5 @@ +# script by dedan: helps him to symlink gensim +import os + +dirname = __path__[0] # Package's main folder +__path__.insert(0, os.path.join(dirname, "gensim")) diff --git a/gensim-develop/docs/src/Makefile b/gensim-develop/docs/src/Makefile new file mode 100644 index 0000000000..45faf821df --- /dev/null +++ b/gensim-develop/docs/src/Makefile @@ -0,0 +1,96 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = _build + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . + +.PHONY: help clean html dirhtml pickle json htmlhelp qthelp latex changes linkcheck doctest + +help: + @echo "Please use \`make ' where is one of" + @echo " html to make standalone HTML files" + @echo " dirhtml to make HTML files named index.html in directories" + @echo " pickle to make pickle files" + @echo " json to make JSON files" + @echo " htmlhelp to make HTML files and a HTML help project" + @echo " qthelp to make HTML files and a qthelp project" + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " changes to make an overview of all changed/added/deprecated items" + @echo " linkcheck to check all external links for integrity" + @echo " doctest to run all doctests embedded in the documentation (if enabled)" + +clean: + -rm -rf $(BUILDDIR)/* + +html: + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html + rm -r $(BUILDDIR)/html/_sources +# cp -r $(BUILDDIR)/html/* ../ + @echo + @echo "Build finished. The HTML pages are in ../" + +upload: + scp -r _build/html/* rr:public_html/gensim/ + +dirhtml: + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + +pickle: + $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle + @echo + @echo "Build finished; now you can process the pickle files." + +json: + $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json + @echo + @echo "Build finished; now you can process the JSON files." + +htmlhelp: + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp + @echo + @echo "Build finished; now you can run HTML Help Workshop with the" \ + ".hhp project file in $(BUILDDIR)/htmlhelp." + +qthelp: + $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp + @echo + @echo "Build finished; now you can run "qcollectiongenerator" with the" \ + ".qhcp project file in $(BUILDDIR)/qthelp, like this:" + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/gensim.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/gensim.qhc" + +latex: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." + @echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \ + "run these through (pdf)latex." + cd $(BUILDDIR)/latex && make all-pdf + cp $(BUILDDIR)/latex/gensim.pdf ../gensim_manual.pdf + +changes: + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes + @echo + @echo "The overview file is in $(BUILDDIR)/changes." + +linkcheck: + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck + @echo + @echo "Link check complete; look for any errors in the above output " \ + "or in $(BUILDDIR)/linkcheck/output.txt." + +doctest: + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest + @echo "Testing of doctests in the sources finished, look at the " \ + "results in $(BUILDDIR)/doctest/output.txt." diff --git a/gensim-develop/docs/src/_static/css/anythingslider.css b/gensim-develop/docs/src/_static/css/anythingslider.css new file mode 100644 index 0000000000..e1891bdac7 --- /dev/null +++ b/gensim-develop/docs/src/_static/css/anythingslider.css @@ -0,0 +1,266 @@ +/* + AnythingSlider v1.8+ Default theme + By Chris Coyier: http://css-tricks.com + with major improvements by Doug Neiner: http://pixelgraphics.us/ + based on work by Remy Sharp: http://jqueryfordesigners.com/ +*/ + +/***************************** + SET DEFAULT DIMENSIONS HERE + *****************************/ +/* change the ID & dimensions to match your slider */ + +/****************** + SET STYLING HERE + ****************** + ================================= + Default state (no keyboard focus) + ==================================*/ +/* Overall Wrapper */ + +/* slider window - top & bottom borders, default state */ +.anythingSlider-default .anythingWindow { + border-top: 3px solid #777; + border-bottom: 3px solid #777; +} + +/* Navigation buttons + start/stop button, default state */ +.anythingSlider-default .anythingControls a { + /* top shadow */ + background: #777 url(../images/default.png) center -288px repeat-x; + color: #000; + border-radius: 0 0 5px 5px; + -moz-border-radius: 0 0 5px 5px; + -webkit-border-radius: 0 0 5px 5px; +} + +/* Make sure navigation text is visible */ +.anythingSlider-default .anythingControls a span { + visibility: visible; +} + +/* Navigation current button, default state */ + +/* start-stop button, stopped, default state */ +.anythingSlider-default .anythingControls a.start-stop { + background-color: #040; + color: #ddd; +} + +/* start-stop button, playing, default state */ + +/* start-stop button, default hovered text color (when visible) */ +/* hide nav/start-stop background image shadow on hover - makes the button appear to come forward */ +.anythingSlider-default .anythingControls a.start-stop:hover, +.anythingSlider-default .anythingControls a.start-stop.hover, +.anythingSlider-default .anythingControls a.start-stop .anythingControls ul a:hover { + background-image: none; + color: #ddd; +} + +/* + ================================= + Active State (has keyboard focus) + ================================= +*/ +/* slider window - top & bottom borders, active state */ +.anythingSlider-default.activeSlider .anythingWindow { + border-color: #7C9127; +} + +/* Navigation buttons, active state */ +.anythingSlider-default.activeSlider .anythingControls a { + /* background image = top shadow */ + background-color: #7C9127; +} + +/* Navigation current & hovered button, active state */ + +/* start-stop button, stopped, active state */ +.anythingSlider-default.activeSlider .anythingControls a.start-stop { + background-color: #080; + color: #fff; +} + +/* start-stop button, playing, active state */ + +/* start-stop button, active slider hovered text color (when visible) */ +.anythingSlider-default.activeSlider .start-stop:hover, +.anythingSlider-default.activeSlider .start-stop.hover { + color: #fff; +} + +/************************ + NAVIGATION POSITIONING + ************************/ +/* Navigation Arrows */ + +.anythingSlider-default .arrow a { + display: block; + width: 45px; + height: 140px; + margin: -70px 0 0 0; /* half height of image */ + text-align: center; + outline: 0; + background: url(../images/default.png) no-repeat; +} + +/* back arrow */ +.anythingSlider-default .back { + left: 0; +} + +.anythingSlider-default .back a { + background-position: left top; +} + +.anythingSlider-default .back a:hover, +.anythingSlider-default .back a.hover { + background-position: left -140px; +} + +/* forward arrow */ + +.anythingSlider-default .forward a { + background-position: right top; +} + +.anythingSlider-default .forward a:hover, +.anythingSlider-default .forward a.hover { + background-position: right -140px; +} + +/* Navigation Links */ + +.anythingSlider-default .anythingControls ul { + margin: 0; + padding: 0; + float: left; +} + +.anythingSlider-default .anythingControls ul li { + display: inline; +} + +.anythingSlider-default .anythingControls ul a { + font: 11px/18px Georgia, Serif; + display: inline-block; + text-decoration: none; + padding: 2px 8px; + height: 18px; + margin: 0 5px 0 0; + text-align: center; + outline: 0; +} + +/* navigationSize window */ + +/* Autoplay Start/Stop button */ +.anythingSlider-default .anythingControls .start-stop { + padding: 2px 5px; + width: 40px; + text-align: center; + text-decoration: none; + float: right; + z-index: 100; + outline: 0; +} + +/*********************** + IE8 AND OLDER STYLING + ***********************/ + +/* Navigation Arrows */ + +.as-oldie .anythingSlider-default .arrow a { + margin: 0; +} + +/* margin between nav buttons just looks better */ +.as-oldie .anythingSlider-default .anythingControls li { + margin-left: 3px; +} + +/* When using the navigationSize option, the side margins need to be zero + None of the navigation panels look good in IE7 now =( */ +.as-oldie .anythingSlider-default .anythingControls a { + margin: 0; +} + +.as-oldie .anythingSlider-default .anythingNavWindow li { + padding: 3px 0 0 0; +} + +/*********************** + COMMON SLIDER STYLING + ***********************/ +/* Overall Wrapper */ +.anythingSlider { + display: block; + overflow: visible !important; + position: relative; +} + +/* anythingSlider viewport window */ +.anythingSlider .anythingWindow { + overflow: hidden; + position: relative; + width: 100%; + height: 100%; +} + +/* anythingSlider base (original element) */ + +/* Navigation arrow text; indent moved to span inside "a", for IE7; + apparently, a negative text-indent on an "a" link moves the link as well as the text */ +.anythingSlider .arrow span { + display: block; + visibility: hidden; +} + +/* disabled arrows, hide or reduce opacity: opacity: .5; filter: alpha(opacity=50); */ + +/* all panels inside the slider; horizontal mode */ + +/* vertical mode */ + +/* fade mode */ + +/* fade mode active page - visible & on top */ + +/*********************** + RTL STYLING + ***********************/ +/* slider autoplay right-to-left, reverse order of nav links to look better */ +.anythingSlider.rtl .anythingWindow { + direction: ltr; + unicode-bidi: bidi-override; +} + +.anythingSlider.rtl .anythingControls ul { + float: left; +} + +/* move nav link group to left */ +.anythingSlider.rtl .anythingControls ul a { + float: right; +} + +/* reverse order of nav links */ +.anythingSlider.rtl .start-stop { + /* float: right; */ +} + +/* move start/stop button - in case you want to switch sides */ + +/* probably not necessary, but added just in case */ +.anythingSlider, +.anythingSlider .anythingWindow, +.anythingSlider .anythingControls ul a, +.anythingSlider .arrow a, +.anythingSlider .start-stop { + transition-duration: 0; + -o-transition-duration: 0; + -moz-transition-duration: 0; + -webkit-transition-duration: 0; +} diff --git a/gensim-develop/docs/src/_static/css/jquery.qtip.min.css b/gensim-develop/docs/src/_static/css/jquery.qtip.min.css new file mode 100644 index 0000000000..b205365cae --- /dev/null +++ b/gensim-develop/docs/src/_static/css/jquery.qtip.min.css @@ -0,0 +1,506 @@ +/*! qtip2 v2.0.0 | http://craigsworks.com/projects/qtip2/ | Licensed MIT, GPL */ +.qtip, .qtip { + position: absolute; + left: -28000px; + top: -28000px; + display: none; + max-width: 280px; + min-width: 50px; + font-size: 10.5px; + line-height: 12px; + direction: ltr +} + +.qtip-content { + position: relative; + padding: 5px 9px; + overflow: hidden; + text-align: left; + word-wrap: break-word +} + +.qtip-titlebar { + position: relative; + padding: 5px 35px 5px 10px; + overflow: hidden; + border-width: 0 0 1px; + font-weight: 700 +} + +.qtip-titlebar+.qtip-content { + border-top-width: 0 !important +} + +.qtip-close { + position: absolute; + right: -9px; + top: -9px; + cursor: pointer; + outline: medium none; + border-width: 1px; + border-style: solid; + border-color: transparent +} + +.qtip-titlebar .qtip-close { + right: 4px; + top: 50%; + margin-top: -9px +} + +* html .qtip-titlebar .qtip-close { + top: 16px +} + +.qtip-titlebar .ui-icon, .qtip-icon .ui-icon { + display: block; + text-indent: -1000em; + direction: ltr; + vertical-align: middle +} + +.qtip-icon, .qtip-icon .ui-icon { + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + text-decoration: none +} + +.qtip-icon .ui-icon { + width: 18px; + height: 14px; + text-align: center; + text-indent: 0; + font: normal bold 10px/13px Tahoma, sans-serif; + color: inherit; + background: transparent none no-repeat -100em -100em +} + +.qtip-focus { +} + +.qtip-hover { +} + +.qtip-default { + border-width: 1px; + border-style: solid; + border-color: #F1D031; + background-color: #FFFFA3; + color: #555 +} + +.qtip-default .qtip-titlebar { + background-color: #FFEF93 +} + +.qtip-default .qtip-icon { + border-color: #CCC; + background: #F1F1F1; + color: #777 +} + +.qtip-default .qtip-titlebar .qtip-close { + border-color: #AAA; + color: #111 +} + +/*! Light tooltip style */ +.qtip-light { + background-color: #fff; + border-color: #E2E2E2; + color: #454545 +} + +.qtip-light .qtip-titlebar { + background-color: #f1f1f1 +} + +/*! Dark tooltip style */ +.qtip-dark { + background-color: #505050; + border-color: #303030; + color: #f3f3f3 +} + +.qtip-dark .qtip-titlebar { + background-color: #404040 +} + +.qtip-dark .qtip-icon { + border-color: #444 +} + +.qtip-dark .qtip-titlebar .ui-state-hover { + border-color: #303030 +} + +/*! Cream tooltip style */ +.qtip-cream { + background-color: #FBF7AA; + border-color: #F9E98E; + color: #A27D35 +} + +.qtip-cream .qtip-titlebar { + background-color: #F0DE7D +} + +.qtip-cream .qtip-close .qtip-icon { + background-position: -82px 0 +} + +/*! Red tooltip style */ +.qtip-red { + background-color: #F78B83; + border-color: #D95252; + color: #912323 +} + +.qtip-red .qtip-titlebar { + background-color: #F06D65 +} + +.qtip-red .qtip-close .qtip-icon { + background-position: -102px 0 +} + +.qtip-red .qtip-icon { + border-color: #D95252 +} + +.qtip-red .qtip-titlebar .ui-state-hover { + border-color: #D95252 +} + +/*! Green tooltip style */ +.qtip-green { + background-color: #CAED9E; + border-color: #90D93F; + color: #3F6219 +} + +.qtip-green .qtip-titlebar { + background-color: #B0DE78 +} + +.qtip-green .qtip-close .qtip-icon { + background-position: -42px 0 +} + +/*! Blue tooltip style */ +.qtip-blue { + background-color: #E5F6FE; + border-color: #ADD9ED; + color: #5E99BD +} + +.qtip-blue .qtip-titlebar { + background-color: #D0E9F5 +} + +.qtip-blue .qtip-close .qtip-icon { + background-position: -2px 0 +} + +.qtip-shadow { + -webkit-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, .15); + -moz-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, .15); + box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, .15) +} + +.qtip-rounded, .qtip-tipsy, .qtip-bootstrap { + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border-radius: 5px +} + +.qtip-youtube { + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + -webkit-box-shadow: 0 0 3px #333; + -moz-box-shadow: 0 0 3px #333; + box-shadow: 0 0 3px #333; + color: #fff; + border-width: 0; + background: #4A4A4A; + background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #4A4A4A), color-stop(100%, black)); + background-image: -webkit-linear-gradient(top, #4A4A4A 0, black 100%); + background-image: -moz-linear-gradient(top, #4A4A4A 0, black 100%); + background-image: -ms-linear-gradient(top, #4A4A4A 0, black 100%); + background-image: -o-linear-gradient(top, #4A4A4A 0, black 100%) +} + +.qtip-youtube .qtip-titlebar { + background-color: #4A4A4A; + background-color: rgba(0, 0, 0, 0) +} + +.qtip-youtube .qtip-content { + padding: .75em; + font: 12px arial, sans-serif; + filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#4a4a4a, EndColorStr=#000000); + -ms-filter: "progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#4a4a4a, EndColorStr=#000000);" +} + +.qtip-youtube .qtip-icon { + border-color: #222 +} + +.qtip-youtube .qtip-titlebar .ui-state-hover { + border-color: #303030 +} + +.qtip-jtools { + background: #232323; + background: rgba(0, 0, 0, .7); + background-image: -webkit-gradient(linear, left top, left bottom, from(#717171), to(#232323)); + background-image: -moz-linear-gradient(top, #717171, #232323); + background-image: -webkit-linear-gradient(top, #717171, #232323); + background-image: -ms-linear-gradient(top, #717171, #232323); + background-image: -o-linear-gradient(top, #717171, #232323); + border: 2px solid #ddd; + border: 2px solid rgba(241, 241, 241, 1); + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + -webkit-box-shadow: 0 0 12px #333; + -moz-box-shadow: 0 0 12px #333; + box-shadow: 0 0 12px #333 +} + +.qtip-jtools .qtip-titlebar { + background-color: transparent; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171, endColorstr=#4A4A4A); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171, endColorstr=#4A4A4A)" +} + +.qtip-jtools .qtip-content { + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A, endColorstr=#232323); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A, endColorstr=#232323)" +} + +.qtip-jtools .qtip-titlebar, .qtip-jtools .qtip-content { + background: transparent; + color: #fff; + border: 0 dashed transparent +} + +.qtip-jtools .qtip-icon { + border-color: #555 +} + +.qtip-jtools .qtip-titlebar .ui-state-hover { + border-color: #333 +} + +.qtip-cluetip { + -webkit-box-shadow: 4px 4px 5px rgba(0, 0, 0, .4); + -moz-box-shadow: 4px 4px 5px rgba(0, 0, 0, .4); + box-shadow: 4px 4px 5px rgba(0, 0, 0, .4); + background-color: #D9D9C2; + color: #111; + border: 0 dashed transparent +} + +.qtip-cluetip .qtip-titlebar { + background-color: #87876A; + color: #fff; + border: 0 dashed transparent +} + +.qtip-cluetip .qtip-icon { + border-color: #808064 +} + +.qtip-cluetip .qtip-titlebar .ui-state-hover { + border-color: #696952; + color: #696952 +} + +.qtip-tipsy { + background: #000; + background: rgba(0, 0, 0, .87); + color: #fff; + border: 0 solid transparent; + font-size: 11px; + font-family: 'Lucida Grande', sans-serif; + font-weight: 700; + line-height: 16px; + text-shadow: 0 1px black +} + +.qtip-tipsy .qtip-titlebar { + padding: 6px 35px 0 10; + background-color: transparent +} + +.qtip-tipsy .qtip-content { + padding: 6px 10 +} + +.qtip-tipsy .qtip-icon { + border-color: #222; + text-shadow: none +} + +.qtip-tipsy .qtip-titlebar .ui-state-hover { + border-color: #303030 +} + +.qtip-tipped { + border: 3px solid #959FA9; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + background-color: #F9F9F9; + color: #454545; + font-weight: 400; + font-family: serif +} + +.qtip-tipped .qtip-titlebar { + border-bottom-width: 0; + color: #fff; + background: #3A79B8; + background-image: -webkit-gradient(linear, left top, left bottom, from(#3A79B8), to(#2E629D)); + background-image: -webkit-linear-gradient(top, #3A79B8, #2E629D); + background-image: -moz-linear-gradient(top, #3A79B8, #2E629D); + background-image: -ms-linear-gradient(top, #3A79B8, #2E629D); + background-image: -o-linear-gradient(top, #3A79B8, #2E629D); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8, endColorstr=#2E629D); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8, endColorstr=#2E629D)" +} + +.qtip-tipped .qtip-icon { + border: 2px solid #285589; + background: #285589 +} + +.qtip-tipped .qtip-icon .ui-icon { + background-color: #FBFBFB; + color: #555 +} + +.qtip-bootstrap { + font-size: 14px; + line-height: 20px; + color: #333; + padding: 1px; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, .2); + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2); + -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, .2); + box-shadow: 0 5px 10px rgba(0, 0, 0, .2); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box +} + +.qtip-bootstrap .qtip-titlebar { + padding: 8px 14px; + margin: 0; + font-size: 14px; + font-weight: 400; + line-height: 18px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + -webkit-border-radius: 5px 5px 0 0; + -moz-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0 +} + +.qtip-bootstrap .qtip-titlebar .qtip-close { + right: 11px; + top: 45%; + border-style: none +} + +.qtip-bootstrap .qtip-content { + padding: 9px 14px +} + +.qtip-bootstrap .qtip-icon { + background: transparent +} + +.qtip-bootstrap .qtip-icon .ui-icon { + width: auto; + height: auto; + float: right; + font-size: 20px; + font-weight: 700; + line-height: 18px; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: .2; + filter: alpha(opacity=20) +} + +.qtip-bootstrap .qtip-icon .ui-icon:hover { + color: #000; + text-decoration: none; + cursor: pointer; + opacity: .4; + filter: alpha(opacity=40) +} + +.qtip:not(.ie9haxors) div.qtip-content, .qtip:not(.ie9haxors) div.qtip-titlebar { + filter: none; + -ms-filter: none +} + +.qtip .qtip-tip { + margin: 0 auto; + overflow: hidden; + z-index: 10 +} + +.qtip .qtip-tip, .qtip .qtip-tip .qtip-vml { + position: absolute; + color: #123456; + background: transparent; + border: 0 dashed transparent +} + +.qtip .qtip-tip canvas { + top: 0; + left: 0 +} + +.qtip .qtip-tip .qtip-vml { + behavior: url(#default#VML); + display: inline-block; + visibility: visible +} + +#qtip-overlay { + position: fixed; + left: -10000em; + top: -10000em +} + +#qtip-overlay.blurs { + cursor: pointer +} + +#qtip-overlay div { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + background-color: #000; + opacity: .7; + filter: alpha(opacity=70); + -ms-filter: "alpha(Opacity=70)" +} + +.qtipmodal-ie6fix { + position: absolute !important +} \ No newline at end of file diff --git a/gensim-develop/docs/src/_static/css/style.css b/gensim-develop/docs/src/_static/css/style.css new file mode 100644 index 0000000000..a269cd7153 --- /dev/null +++ b/gensim-develop/docs/src/_static/css/style.css @@ -0,0 +1,710 @@ +a, a img { + text-decoration: none; + border: 0; +} + +html, +body { + margin: 0; + padding: 0; + height: 100%; + background: #fafafa url('../images/bg.png') top center repeat; + color: #333333; + font-family: arial,serif; + font-size: 14px; +} + +p { + color: #333333; + font-family: arial,serif; + font-size: 14px; +} + +ul li { + color: #333333; + font-family: arial,serif; + font-size: 14px; +} + +.obsah ul li a, .obsah a { + color: #006699; + font-weight: bold; + text-decoration: underline; +} + +.obsah ul li a:hover, .obsah a:hover { + color: #000; + font-weight: bold; +} + +.h1gensim { + margin: 0; + padding: 0; + display: block; +} + +.h2gensim { + margin: 0; + padding: 0; + font-size: 36px; + color: #fff; + text-shadow: 3px 3px 3px #404040; +} + +h1 { + /* headings are already in a special banner... ignore the h1 generated by sphinx */ + display: none; +} + +.h3gensim { + margin: 0; + padding: 0 0 40px 0; + font-size: 32px; + color: #333333; +} + +h4 { + margin: 0; + padding: 0 0 40px 0; + font-size: 22px; + color: #333333; +} + +h5 { + margin: 0; + padding: 0 0 40px 0; + font-size: 18px; + color: #333333; +} + +/* LOGO, NADPIS A DOWNLOAD */ + +#topwrap { + width: 980px; + margin: 0 auto; +} + +#top { + height: 225px; +} + +#left { + float: left; + padding-top: 83px; + width: 120px; +} + +#middleright { + float: right; +} + +#middle { + float: left; + width: 490px; + padding-top: 83px; +} + +#right { + float: right; + width: 351px; + padding-top: 83px; +} + +#design_tagline { + padding-left: 85px; +} + +#design_install { + float: right; + padding-right: 12px; + background: url('../images/direct-install.png') top center no-repeat; + width: 244px; + height: 52px; +} + +#command { + color: #485420; + font-size: 14px; + font-family: arial,serif; + font-weight: bold; + padding: 27px 0 0 72px; +} + +.space10 { + height: 10px; +} + +/* MENU, MODRY PRUH */ + +#menu { + width: 974px; +} + +.menubuttons { + list-style: none; + position: relative; +} + +.menubuttons li { + float: left; + position: relative; +} + +li.menubuttonblue a { + float: left; + display: inline-block; + width: 124px; + height: 39px; + background: url('../images/menubutton.png') top; + font-size: 16px; + font-weight: bold; + color: #ffffff; + font-family: arial,serif; + text-align: center; + line-height: 39px; +} + +li.menubutton a { + float: left; + display: inline-block; + width: 124px; + height: 39px; + background: url('../images/menubutton.png') bottom; + font-size: 16px; + font-weight: bold; + color: #222222; + font-family: arial,serif; + text-align: center; + line-height: 39px; +} + +.menubutton a:hover { + background-position: 0 0; +} + +#design_banner { + width: 100%; + height: 274px; + clear: both; + background: #006699; +} + +#thinbanner { + width: 100%; + height: 99px; + clear: both; + background: #006699; +} + +#bodythinbanner { + width: 980px; + height: 99px; + padding-top: 25px; + margin: 0 auto; +} + +#bodybanner { + width: 980px; + height: 274px; + padding-top: 30px; + margin: 0 auto; +} + +.leftbanner { + float: left; + width: 418px; + border-radius: 10px; + overflow: hidden; +} + +.leftbanner img { + border-radius: 10px; + overflow: hidden; + width: 418px; + margin: 10px 0 0 0; +} + +.rightbanner { + float: right; +} + +ul.description li { + list-style: none; + background: url('../images/checker.png') no-repeat left top; + font-size: 14px; + padding: 6px 0 0 45px; + height: 44px; + font-weight: bold; + color: #ffffff; +} + +ul.description { + padding-left: 6px; + padding-top: 9px; +} + +/* HLAVNI OBSAH, FEATURES, REFERENCE, GET STARTED */ + +.podklad { + margin-top: 80px; + margin-left: auto; + margin-right: auto; + width: 974px; + background: #ffffff; + -ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#cccccc')"; + filter: progid:DXImageTransform.Microsoft.Shadow(Strength=9, Direction=135, Color='#cccccc'); + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + -khtml-border-radius: 5px; + border-radius: 5px; + -moz-box-shadow: 3px 2px 3px 4px #cccccc; + -webkit-box-shadow: 3px 2px 3px 4px #cccccc; + box-shadow: 3px 2px 3px 4px #cccccc; +} + +.podkladwrapper { + padding: 30px 0 20px 27px; +} + +.more-info { + font-size: 12px; + font-weight: bold; + color: #777777; + margin: 6px 2px; +} + +.obsah { + margin-top: 0; + margin-left: auto; + margin-right: auto; + width: 974px; + background: #ffffff; +} + +.obsahwrapper { + padding: 30px 27px 20px 27px; +} + +.feature { + padding-top: 5px; + vertical-align: 100%; + font-size: 15px; + padding-left: 15px; + font-weight: bold; + color: #333333; +} + +.half1 { + width: 520px; + float: left; +} + +.half2 { + width: 400px; + float: right; +} + +.lefthalf1 { + float: left; + display: block; +} + +.lefthalf2 { + float: right; + display: block; +} + +.quarter1 { + width: 260px; + height: 90px; +} + +.quarter2 { + width: 250px; + height: 90px; +} + +.quarter3 { + width: 195px; + height: 90px; +} + +.quarter4 { + width: 160px; + height: 90px; +} + +.clearit { + clear: both; +} + +.center { + margin: 0 auto; + text-align: center; +} + +ul.reference { + list-style-type: none; + padding: 0; + margin: 0; +} + +.testimonial-author { + font-style: normal; + font-weight: normal; + display: block; +} + +ul.reference li { + display: inline-block; + font-size: 13px; + font-style: italic; + width: 281px; + height: 196px; + padding: 10px 20px 10px 15px; + color: #333333; + font-weight: bold; + font-style: italic; +} + +.reference1 { + display: inline-block; + width: 247px; + /* background: url('../images/references/logo_ghent.png') top center no-repeat; + */ + background: url('../images/references/logo_ibcn.png') top center no-repeat; + background-size: 60%; + padding-top: 100px; + padding-bottom: 24px; +} + +.reference2 { + width: 247px; + background: url('../images/references/logo_roistr.png') top center no-repeat; + padding-top: 100px; + padding-bottom: 24px; +} + +.reference3 { + display: inline-block; + width: 247px; + background: url('../images/references/logo_sportsauthority.png') top center no-repeat; + padding-top: 100px; + padding-bottom: 24px; +} + +.reference4 { + display: inline-block; + width: 247px; + background: url('../images/references/logo_dynadmic.png') top center no-repeat; + background-size: 45%; + padding-top: 100px; + padding-bottom: 24px; +} + +.reference4 { + display: inline-block; + width: 247px; + background: url('../images/references/logo_dynadmic.png') top center no-repeat; + background-size: 45%; + padding-top: 100px; + padding-bottom: 24px; +} + +.reference6 { + display: inline-block; + width: 247px; + background: url('../images/references/logo_eudml.png') top center no-repeat; + padding-top: 100px; + padding-bottom: 24px; +} + +.reference7 { + display: inline-block; + width: 247px; + background: url('../images/references/logo_dtu.gif') top center no-repeat; + background-size: 25%; + padding-top: 100px; + padding-bottom: 24px; +} + +.getstarted { + text-align: center; + padding: 30px 0 20px 0; +} + +/* FOOTER */ + +#footer { + margin: 0; + width: 100%; + height: 270px; + clear: both; + background: #072a47; + padding: 0; +} + +#footerwrapper { + width: 980px; + height: 270px; + padding-top: 16px; + margin: 0 auto; +} + +#footerleft { + /* width:329px; + */ + float: left; +} + +#footermiddleright { + /* width:640px; + */ + float: right; +} + +#footermiddle { + width: 355px; + float: left; + padding: 15px 10px; +} + +#footerright { + width: 285px; + float: right; +} + +.smallerlogo { + width: 44px; + height: 44px; + padding-right: 12px; +} + +.copyright { + font-size: 14px; + color: #ffffff; + padding-top: 158px; +} + +.navigation { + list-style-type: none; + padding: 0; + margin: 0; +} + +.navigation li { + display: inline-block; + padding-right: 5px; + font-size: 14px; + color: #ffffff; +} + +.navigation li a { + display: inline-block; + font-size: 14px; + color: #ffffff; +} + +.tweetodsazeni { + padding-top: 174px; +} + +.tweet { + width: 179px; + height: 39px; + padding-left: 50px; + padding-top: 0; + font-size: 14px; + color: #ffffff; + background: url('../images/twitterbird.png') top left no-repeat; +} + +a.tweet { + font-size: 14px; + color: #ffffff; +} + +.footernadpis { + font-size: 34px; + color: #ffffff; +} + +.googlegroupsodsazeni { + padding-top: 18px; +} + +.googlegroups { + width: 300px; + height: 39px; + padding-left: 45px; + padding-top: 10px; + font-size: 14px; + color: #ffffff; + background: url('../images/googlegroups.png') top left no-repeat; + display: block; +} + +a.googlegroups { + font-size: 14px; + color: #ffffff; +} + +#design_download { + text-align: right; +} + +#design_install { + float: right; + padding-right: 12px; + background: url('../images/direct-install.png') top center no-repeat; + width: 207px; + height: 44px; +} + +#command { + color: #485420; + font-size: 12px; + font-family: arial,serif; + font-weight: bold; + padding: 23px 0 0 64px; +} + +#top1 { + height: 148px; +} + +#left1 { + float: left; + padding-top: 53px; + width: 76px; +} + +#middle1 { + float: left; + width: 540px; + padding-top: 53px; +} + +#indentation1 { + padding-top: 10px; + float: right; + position: relative; + text-align: left; +} + +#right1 { + float: right; + width: 351px; + padding-top: 53px; +} + +/* copied from sphinx themes */ + +a.headerlink { + color: #006699; + font-size: 0.8em; + padding: 0 4px 0 4px; + text-decoration: none; + visibility: hidden; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink { + visibility: visible; +} + +a.headerlink:hover { + background-color: #006699; + color: white; + visibility: visible; +} + +.document { + line-height: 150%; +} + +/*table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} +*/ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +table.footnote td, table.footnote th { + border: 0 !important; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation td { + border-bottom: none; +} + +div.admonition, div.warning { + font-size: 0.9em; + margin: 1em 0 0 0; + border: 1px solid #86989B; + background-color: #f7f7f7; +} + +div.admonition p, div.warning p { + margin: 0.5em 1em 0.5em 1em; + padding: 0; +} + +div.admonition pre, div.warning pre { + margin: 0.4em 1em 0.4em 1em; +} + +div.warning { + border: 1px solid #940000; +} + +div.admonition ul, div.admonition ol, +div.warning ul, div.warning ol { + margin: 0.1em 0.5em 0.5em 3em; + padding: 0; +} + +.first { + margin-top: 0 !important; +} + +pre { + font-family: 'Consolas', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace; + font-size: 0.95em; + letter-spacing: 0.015em; + padding: 0.5em; + border: 1px solid #ccc; + background-color: #f8f8f8; + line-height: 120%; +} + +tt { + background-color: #ecf0f3; + padding: 0 1px 0 1px; + font-size: 0.95em; +} + +dl.class, dl.function { + border-top: 2px solid #888; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} diff --git a/gensim-develop/docs/src/_static/favicon.ico b/gensim-develop/docs/src/_static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..3f458e48108791d9a8907b25a93633818ce6a073 GIT binary patch literal 1150 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

v^Xke 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 QW&i*H07*qoM6N<$g1uzaZ2$lO literal 0 HcmV?d00001 diff --git a/gensim-develop/docs/src/_static/images/default.png b/gensim-develop/docs/src/_static/images/default.png new file mode 100644 index 0000000000000000000000000000000000000000..9fc837c804be06d0d34b55bffd5a43bcfa6e6340 GIT binary patch literal 15403 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 L73n%j(~$oGGx=K> literal 0 HcmV?d00001 diff --git a/gensim-develop/docs/src/_static/images/direct-install.png b/gensim-develop/docs/src/_static/images/direct-install.png new file mode 100644 index 0000000000000000000000000000000000000000..5cfee8efe319cfd07651e020e64bbc0c11de9b79 GIT binary patch literal 18131 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 literal 0 HcmV?d00001 diff --git a/gensim-develop/docs/src/_static/images/features/free_lgpl.png b/gensim-develop/docs/src/_static/images/features/free_lgpl.png new file mode 100644 index 0000000000000000000000000000000000000000..0ba6d4cc6bc323820f424d7a30e87f3cc5f42fdb GIT binary patch literal 4347 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 literal 0 HcmV?d00001 diff --git a/gensim-develop/docs/src/_static/images/features/platform_independence.png b/gensim-develop/docs/src/_static/images/features/platform_independence.png new file mode 100644 index 0000000000000000000000000000000000000000..914dcf89d2a9ded9272108c3a6e2b086c4010d7f GIT binary patch literal 4952 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 N002ovPDHLkV1ktaazy|D literal 0 HcmV?d00001 diff --git a/gensim-develop/docs/src/_static/images/forkme_left_white_ffffff.png b/gensim-develop/docs/src/_static/images/forkme_left_white_ffffff.png new file mode 100644 index 0000000000000000000000000000000000000000..60c60a6342300f3a0674a805d14d0758fae79114 GIT binary patch literal 6727 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 K3k^t*g#QC$jE}_t literal 0 HcmV?d00001 diff --git a/gensim-develop/docs/src/_static/images/gensim-footer.png b/gensim-develop/docs/src/_static/images/gensim-footer.png new file mode 100644 index 0000000000000000000000000000000000000000..80bfa7a67df3e1f8ed3ed3b58a107a27bbffd4ea GIT binary patch literal 7242 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 literal 0 HcmV?d00001 diff --git a/gensim-develop/docs/src/_static/images/gensim.png b/gensim-develop/docs/src/_static/images/gensim.png new file mode 100644 index 0000000000000000000000000000000000000000..72701bcb4f15cf624e680f842bc0658e96f6e94d GIT binary patch literal 25785 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 literal 0 HcmV?d00001 diff --git a/gensim-develop/docs/src/_static/images/gensim_compact.png b/gensim-develop/docs/src/_static/images/gensim_compact.png new file mode 100644 index 0000000000000000000000000000000000000000..908968c5515afc1a2aa381b99772a048bf4c301d GIT binary patch literal 18280 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 literal 0 HcmV?d00001 diff --git a/gensim-develop/docs/src/_static/images/get-started.png b/gensim-develop/docs/src/_static/images/get-started.png new file mode 100644 index 0000000000000000000000000000000000000000..38c7297524192354a2aeed1515be836cc4d31ca9 GIT binary patch literal 26520 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 DP4^T8 literal 0 HcmV?d00001 diff --git a/gensim-develop/docs/src/_static/images/googlegroups.png b/gensim-develop/docs/src/_static/images/googlegroups.png new file mode 100644 index 0000000000000000000000000000000000000000..719c37c04499b84a8e01d3ce1d9de984aa335c66 GIT binary patch literal 5513 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 D?d&fs literal 0 HcmV?d00001 diff --git a/gensim-develop/docs/src/_static/images/logo-gensim.png b/gensim-develop/docs/src/_static/images/logo-gensim.png new file mode 100644 index 0000000000000000000000000000000000000000..738041df57243dc88f099fd23caa856dc6476b40 GIT binary patch literal 23359 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 NxGUohq$LUf06T;Do1y>! literal 0 HcmV?d00001 diff --git a/gensim-develop/docs/src/_static/images/references/logo_dynadmic.png b/gensim-develop/docs/src/_static/images/references/logo_dynadmic.png new file mode 100644 index 0000000000000000000000000000000000000000..6b862b7e1edb7497978cb87d7a484d0527505849 GIT binary patch literal 14396 zcmaKTby!qgwD%w}gp>#bqLm<5DxF0-^EJ-);5bC1%Tn;)-dXW9I_?34zEuy?N#G<~7{i(!~OR z?Chy3-e+}dCm|2+ntJ_LBeMK4tL?2oe64o)Q*CeEP^k|_)VfZt19aEdZ48(ZrCCF> zPcj=ssgQZvs{-kWI3~Mm`LWU>VMz^ZU)!l;RAg=oMLc-j@_CAYDa)Jpt>0qD=e@K< z&(zhUQ}O=OTXLS)I)B?w$3`{H%}J8{qx1j!+u1%j3LkQxJ*l_&^B1!9ilB_xe9@U5e%E9=|x>2dh~oE~um!sFt3- z|0-2XKI=2@S*#|%N&0Rz<1N&GH;p_hA_8GUNw-TVO<_M8?A(ZPz8~t0sbZ7YD?Q=U z^rLViBlgXNNmJZ;Q$AUzMX_wStZ+YlAK3w2{Y`q*T@sF9sW^_YAP_F>d|Ph78Feh| zN0gzKd$d0>F>#875($LE6*zuO+T?W8x)fu~zISW6&SED5Jg*CA%p|4hom1veFIgyN z{pkBxDvwEY;IqiK?Pn4%WbZ6XmvXh`+%m}`H*u?`e?l8|gL)|;EBj}kb#^z=Ky@Io z$CFQR)jTOg%J|kZMyZP5({;x$UY9ZJOGoEOy=khnj98U3U~(9AKvS;FmE9ol{5g_W z@w}3}SyB!m+mP;5s!_AZNl>%O3C$TH5)4=()kYIi)Zs~QCw7}w)a!;4naF>`v<8dv z9A9VcWY)I)y!wb{$`fUFW&VA}l?9d2R2zaCS*t)%zNsb1&sP*b?uEMf{GnQkBh+7x z`Z!NSMHwhAO^ivtriAgqO?8t<;$zrIi>%tVv3@ZS!4Ei7|Aq%O@4Urdz8- z(eiS*$117iL2!GuTlMa_(+}^|YmiWa<^)a%E3g$Y9UJv~t^hmeIj zupV#H25YH!Y8!FC;8 zuDpUm$;mm*9hJ2|ZQ;le=m_VtDK5Hho=~`PaCcmJ6`*0i=k>!4G`i@*Yk#G8bai&t z=*`2#+RLjtj5lv4(r(l98I63Txs%_-i+EP<*DHu0I#Jq97I9Rbg|;F%W&=bU=hwS4 z(Ir?3>)wKLS;$QCRI*A62x$6BcpX^G%t0AUv>PwGu~LT8(R}Gn>s`TUM~;}hbpFIo zCnqNyqm;HB2KWCye`CCJ6u>~k8FDgP(Vs)JL8NB09Oo-M+#g=_L71YVKPC6fACSmaJMvM@7`);O=)P?9fjS-pK{m{H&o=mWDf zSQ8?-v(-fQY=NCgX;NhK;SQ3UO}8 zz7Sw;rIn!M{1+0$QD&2kH#~w3d||ue;qNbrcpNPiT<6{1-d^7$w?o7PO`^|CD1D50 z96k`>B8>Zz$N$eS5@dUueU?3sTVTEXw0Fnz%ID!sQsQq}Q}Skoze_lI&e1hfFFneb z7PVVJK6lWt#kY_zwF1dH#so@caI`3hb7NHBW+P{Puacf{|qVA z`n<_M*(B3oFTXgBA5PooSywH&Xy{4f-8d9~SU5SpsbcZgRzZ5`7nU3v&bbri+k!QD zMc*r6VhN1KDyPsYiXMt9#QvP1mdU zkgI7g;uejqlE{bns-j7c^UAqoU8IYaW7ne|r-C?t>p!(wi6jVj>m{2g`ay=9HwPD5 zLke0V^+>@<_(RD<=qRZ6EVLU+uYH zddi-9y{r;omphoF$#^6pk`MM4TiiI;sM{`Xfz3lBv{PvUP zCN4tBPi-(Bl|{DtGq4|#2QGcOb$+KQ6?xtyjLKcaLTda&xGK>6j{6Vp|Q5Tu}#FJyQ%&em@ zEkfdvcrjoqr?0DgmeMk565(ry8Nf##`-0%p9|o@IShtx8$9VLsZ){yW9&?;dB}9zx zZ64RjA=<=Wp=wf zbDK3K1%=hl>`JkKpz~Dr6o8aqzKIOM{@*PM9p!5NHa0d}>1b(g?WrKKA4z@s!m)?D zA)u33Bn)h~1_T`rDdIExvD4-qDDB?Vtc(tX*o#voog+8aGL=|{20?#1zn@f{6NDXR2 zPaPed;njRq!;{b&$7bh4WJlsyy`Jv4=XsI7=eaF1B&=rn)}X$7@@K)6L2YQPW${?O zWk*tXih}|_F($gw2`OUh3V%uL9?a@0tzy6&&_nDl!09T@JGB83_DGSrlc8xtfGE zOtu9Y5%{5jlca)fjw?GihQkE+w|`fi^4UtKMs2(|uq@!0q=56TP$kXJiMAZO>0>Sw z4WdOSwM)crl0yCn=qSxYTZA%C4Z0W+A6KbFMQBbm8kLJ zmvzsEw(riaCe59_ZNZu!l1tBKDBm7-F?h+=i3cfCl*6f7-Li?nxzD;gvXKK45d2gw zT4{=Ul&nfXQljll2qI+l9gWAWtsf}H(iZ;q;Z1B5zSKj{@&vv;>D1o0o-IC~Rv$TUy5!&nbE5?6-_bVL!{0+XUF0R|IB|(|x?q)AWufd}* zv0p&A;p*o0_OCv+UH0>`+^H-oZL3&8yI_eQATKjwm67z~9BfmSTFNs(uVa zSTRAU;xf}JQ=|UK8Pssd{qb>y_<0@8xV!${eZ?%|(uq~0ik^U%*ogMX?M)>K+S{G< zs~9IPA^9Ojz^P~$8>hLUr*6p!xqfWtsHxlrFY+BBQVFq4OUJoJ3CE6*050%%6+6-I zY*0w>y%^jztDYQA6;+H1$I(KlkWYyISLl$RaU<}k%%aq;*ZTTpePxA^Yk%xe_|2bw z5qd7`YOmUfe$MU0kw;}MvPhf#Usz1PuGl4{=$_fFC zAZ*dOaC1Ka zoG-zKoQhJK@qXtImmcnLrSm8x=b$=0ZEu-2EtzY!AZVW4=#!f9=OuX7*U{uyO#t-Ro zc)XijC7y6Yc>>mKdh1pvdlHNNtwB#|czI1{^_Ym^jZ0+CWr@AbJjJMO&bLuAgKtq58Q+1%Egh5log z?ivw1CO3guHoE_NK|#T~WRHv>WOoWAMy0w0$6~r`9}Kj`O}vQ%$V`*i`RKwc#u&c@ z|6^Pcj9`CxS=H8uhbrR{SEI(6-4UhBrEN*B^JEb+1b^cCbQrDWfZzGyc*Qp3l54a= z%|Jwf(jbz9pIcGTZ8{6OJzY@u!@t0~#Ij19yZLe8*aIVIO{SqH-!wqCp|qUJ?I!G| zU8*bm7qj3+1kC7?0qvGKR=3k=?MHZR53nxL^V3=$L}toXpkicN z)m>-QGHH+f&pP~Ln23a(0ipNafJ!s}-C;H#Mr zCC2bN-&8k}|07&AY!ju;SFJu?fwDI~4@ECrd3rCfK2m$NL$55A7X&vIuh7m6f5!^+ zXJ*gh26yxSTVi-8g!o?^f&4 zEhdlcgAA#Qb#p2y5M0sObccm?3(`~QfH_hmbbuIlkp5<&Zpf25=8rN4Gma8aPlb)mk`!~NXI!7xY+tG(_xd3IxP#3 zp4mAiT4eZ=Q!&0oE#^)OU@^TXnWOD$gZ|85&M^J#VAmc#Qu1Nx4a=JQZ3TpWM%qhZ z4&MxV4Eh^QBgIIxxi=%1C0|dWccpB;Jr)tMIxY9=8iz+Ia~bq!XLs0AvZOvlV^8h9 z-@Az#(%A5?e)nMytQT%1`p2GIolVIr7Gs&Y?)!R7c3ag-2IEb|sgG10MVJEQ_8xVz zpDG~{aPv()r$SvfrM{KZ661Ye^6BIJABoSAP1mJL*`f{@4UwsjI>3>ymtPm`FWQJJ zMFPFH^&PeHMlsAJojyRjO=y#fDb!k}6q)z#@phI^+U)04a;J|P^yhX`6HcL}w!&~S z+yNlwr!Zj^U4F>@A{q4-q=ZL@yC>r=J^4@@O2YLQ_bE|=Ov=N1h32-D>C_TLp0D-E zF=QG{M4#a*Fdv*6&!I2gZ8xE5U3o!(=@88uW)*B2JE7w094g2x z+}Z)}mplAfL?G&#Vy7Dl;9|N0A(7^;ei6z%fnpp?{a^3So`)C~ z*eZrRF7%Cb6V<0h(PmQ+*0=-mo*rPa$b(f9r|MAf;=0&qgw|#xh7+)KD=yba^mEt5 zg@@E@<+=v*UJYc(6@SfwJv1XlarjBE?%J4GN#OJwCL;WC$0K2e>xKsi@R(`JOS?im zK%RPuwg@>EbC(c>9~xV8>N8x+;&_v6MdPZN!mKtQ;#pDC)4ypbG9|!xY2eAK%gc}J zbaDFS!xIo!h_2Tu5Iu1@`6((Q?AMHSm`^pG7sj-jSQH6Hg^3Yxy9AY3RGGorn)%6Q znB=4JAK9I*7>jzodiKSl>U$(^?d9zcA3oUl8@1Nqzp^OO0a6g5_53mYW8+;0`oY9C zo2s;nEoKUlXH_QYS$S+n+e{>!7%CsnM7V0KR?p7vwkYO)qT6Y6N(pDuiL#C3k4ZiJs(&|n*}-FvQkG>0WcV-NED`0IRITUKVq&6+8MEQDG3!Ch{A-%izI#Yfz2@fz$p;f*PY!#VXiki*rEkC$9;?`kLt5Q(uWL*)oyEc=G_ovWMKGl?ip0yixk~iiu)h! zhPHwn>Sdzw9i~POs{JHS$X+HmZR|#Ka1x}lQ#y61xa=bt;)$Ig6sHbn*7NdFn7g6BuCJ&OBTfzizoF3DT7n_ykrCx$?gG{{|5F3<4 zfCjocj2!6oCJ=^jWtS*#{5=*t*rVT>gpr!gdadXhyo{Z#5)aU(T7sA=FwO|Kz|Gof z&3#BQ$$-%on8N^XQ za|?V(ogk@+jSus1zHz;O_FKeuv2M_G3;$R+0AJ3u!1}xSPR)#~N=?Ii`}PjG;io{h zKET%IZ*EqMnQ2~^rV!dG?^*;%6;M8SPQ3|p>R9Qx1+IKI=__m;cw3u0`#r&&RerW} z4y79FS22_}l<8VPujB4hZdXpw*9y}u0qY{hm*%zf@~T}&)Af`zbYXY#to!^f3{sdR zo5iY|{yP)+O;Y>ZgjdHEp0f_W^(CY{8YA zSk4K_CS$)-dGslqzoj7Z1d#DlDjHvxifr;)UT)%hyRzi9b{NJ2e6aFM2KhwkR7S9C zzeoLQV7=TpF9-?=;MWXoVm-=;gvn+yWTUGrmJh2YVOOX)wKH<$S$C780PGjG18z~# z0UgQ2JUaj?5(rU^GBFUwS@(@4;01`u0Dv(mtXuSurK^?e$bs|S{jkIE zt|FoOAO@!a5Y-%+d100gMiJc@Z-2e81&wG?Ygca;|C>JaZeRfhz!6*Xe9Rd6OJ#sZYf z=hbdh2SYlp;MmG!FC-xF`jmg1t&`{86bv%|@CsA-^-UQ;C~Bk97=H&WUo&(oK(oTz zh#ds(qMOkBD50fGyBmaZ>eIMhXCji9m*ib@B-$4{Yha@D8P9HrbNDCDE zv3PLtw?k6pss3cQwF_^ZR#r*huM0V8C+c}(y%w?ilBwJhgr2V@F8(gY$rzfZGA*z+ zQ^)+r!5{u&Fapn~aaA)Md+xmY_d(Gqs>ve?qM-SoI%#tv3~h>NmJ(1HWReXfUg{ri zmtVohdjz~LpU=oJ8Ky$>O*eZ=ZgmdcxWe>+Ga;mUrGwd~K#8QbRv;8!a)X&!%iZ05 z*grLlDO@g~_20Ds3#tc-1~6Pg-N0>Km5$8yee7w-;=c#OqhJKbcKq>>g>qqJdP?T+ zg75@wYwd!5gyvTNsfELq&x_FN4LYQ9?n6nV8vo>Q^=s{5mo2pfp!LWz2Feou=Q(`! z-@!7|^Ni-_1VT(N{u3*-U~j5KHp37U7|6r6MDy=!>mqs92TmT%jkk)ItjB3l{yKU8 zP84TR%oh$h7dr}@Rj1He-$Qm0zYFqAI+QCI; z1VTP^-Ucbhj-oywnNJaNlmX=nBxaVNmftBva=Oa}8kVZC@ zRPte^4X}>Ds`r|d2))a%USnce{}Rv4iZ1FuPXjVI@#w~p<%5HRy5kHy>MdBvpLw%r zQQukvU1ApqPv|+-jj0VRE;@F+*GYbbS&9ZoumU-1-9+*65Hvt_3vC`-!~E}ADroNP zFNCna*Je=_haz9o*^hna<;vg7 z+%)kLoO7LRju}!@*9A@mst_-l7Cz_=8^6pw}juoAR`2U5vy1Sz;)GL;@R+~oG z$#!xNMsK2I@u-SlDbB@Zg3y1q=tgaPYy~KspwjA6)qX^v%?CN#&p(7vvW#UvPpUBQ zhasMo2@taV%SoD3yj?*l;_kl~8uGJTa<`s6QZSRj9bbAjUECYH_ALZ9lw{v%d1^fn z%P6`%)KJ5+xsW>U0uq@71?XAF+22v)5Y64n%8S^{8Dz)E+*}E0D(KZc;87mdx&266 zr2V5~Kw4qN=uXWljGph=WNx&b*!N0U5eV>}E;oEu7269=^<24m$4IN(}o%lMd=4LzO!=jSd9T;;gZIv)Kkcmv0<4&(ZcJjVcUKo5)88Y?|zpr`Us zOR3SPF|Ueb9&bLQ`dr+lQ@ywM{G<&BY8hc8M|PKqM2&}>A-^GZlPn&y)Br!dz9wBa z4L$ue4v%ND|CTK3uEN*&H)9;yJ)$B0$nM-4r{Nw!h5j^UguHtUit$|yXAi}|UgtDOrk->xvg5NN6zF9y| z+ue%Wfnw#+8~Y4m%}cbtT<^l(G!C3z9jjgP^lpfo3`)(^__K1&reV$>#Z~A9WzeuK z;L5IX{D`bA@G0p`sTRA%X_-F|v7a@!zQ{K_Jke$b65wiXzI9*4sm6u*rh;kx$SR|{01dfm>a zPfJd&I6tO)KUNDJ8gUZ*{f_@=#jmhw``ma-75WxvbQ9Hh(vY@${7#YUJyx!9#z#Uz zxwsBoT^$OmX8H&?f50T)vo`NS9|iqo0q3s<++=>k6WZ}-mPL11JIxYVoV4`uU$TwF zJR?-ZS9jg<;HJ&{UNCxxqbLkR?nB}@Skv zc%}2RS`6bR2U;tTzKKWP-@ge|yt8_f1W~ZCM=SG*W#JvV=aC$F+Ubtl%&OJ~FEKf6 z##Y`CRuL}Cx=bEUKBBHkSTy;HQyi$ziyuup;~H4Dl=s};ew)Tw7${A?Oklbf;+%ZyqY0pwM-+i|!@G z4?}vcQcz@D!F(kE$Pc~mqNeLuAyUB;s2XzZ@#&%aI&SyWIbQ zUci%<9Qn;wH4|o;(`R7ckR|iYp}fiwr6v@Qw{&h*hMIi3^M)shS z99b~h`TF4$(l!YkBYb%1$h2X2o7Y#fXpB!eVgg1H%a@a&>hw7??QH4JRF!=iy5EQk zBWn@}+G284OYL+BeDTVh)=^oMuj6kl5_Hik7O39`awjj{RumT(ul3l=K=&J4H`)1Z<>`kY1|v)Za>|0bHJI_`B3 zZH%+?5_oo+k~#&QukO!BC$3O$Sv1=z@+l301k_kdStm}!hhx)7Yx`9cnKbN2LeO-z z!SdxkD2Ds#fbO!DgF`fDgCc?GN|`#pL0?!{p3>iw&63Tmc%vUU?p6NdUitMU`TTx+ zf+&eLsRX<&~C?7drkuk9lml!Vhg#WH^m9>|u|zomi1m9hbQ`oEO(9 zPW8bk+M;=3S)8I@0TL7)u-Qb6M4+b zW}I#-+BY6&8~HpKlUoR{ltnZgII?%jt~f+95_km(U3+X4Tu1L_u>wgj=4@|Lh54U3 zl9Q89UYu2$ipN&cfvZynPMh@T(+ElTrJ5LAfawaod-kf2D*i}7+84Y#j=0*{^{hcI zw|}=Yf`?OQ%@c*c_Z-X$5J91n-ERj$jrL&qAcx<1dpJ$KLBYQ2Ek(e`N`|>|^C;}r zq}l2IIL+zo9vr9$D7Z?eS2Y{X{$vvtOxQRFNr5(M-zJ1i4xO?n*H#@mHt5|E9(Me6 zOdniajKV2M%6@RH$e_{|^;l-+!P{-|8@rmjDLAn`#o)y75Q zR~TP^i;n(2uxFR!ZcTm4s>zbXMP0L^c4nicw_w!f-_|(FLvov%niw{?zwCdu939uj zkfcWS=c#+z%{lCnwdqEP`otO>sxc)2ySpU>LTvHZZx6k}oX+V8&1*2kQXV+7pFUTT zXmz&UU1GMlrf4Up2M(ZGVpWpHNs0h~L_R`9r}%b~B?@YANPoL$A4BoMSA~Dn!zTXw zQL~jUAUt|6HI%35OLnzMYOKw zituBHSiZ-E+4;buYnvKHX5I!bxotI7)F-g+VA)nyJUvjkU>c9*aM}#tC zs_&))qSc^}^#8rKC+3>r0aI?H&r(c6xR_?0R(>hkRRUp9FFmg@;J0 zcDeKaUhwGUI3<+d@1t%p*+HY_ zaYq-`5ecpEnB`ko3bL*h`20$8)zQc{PQ!1IsnH8#N@IOR=gSOLxoMQtbvBFK87z9G3o4f4yWD*p%8-Zu`FbI;tLbz!AeWN{p=+J1pp9Rf|1KnKvxzH%$%N{BD!AZ{xSQr>sTl!+_=mgisQj{ib`+t zPHMUMjcRt?HYK(t*%gmRjk1yU!eneXUGnao{)tV{g@<@1VC#=x$)wR9h97-SJ9`4+ zu5$5DUbi`leu#(4|D%Rx(Gr25GA7FKHgJZZfy9sVJq6J`V%M9F;eH zLoy?f(4g1%N9!`JHYJ|FY61xxda}F&dw(VNGt{6D=WnT(KEB0fOWs}?rpDKpgtpEQ zG#;-uR$`b-+K-gH+QFce9FFg*g80NU+KAhMeWh-o>e{EvKb5i`p+CxA33*ihA%~v9{x1?D!Qwnpzv}= zkk``%f@@yACJ^Q%c5P;n`}c3-z%vF=3}?_(KbHE4=Bz@w=lZzuLyoqP;sFBbYzpdX zdH8nsx)-esGuWViv<>nkvoUe;Bq)4*b*m;cUM3-}@KAH1Uw^poh7{9n%?taY*WU1= zT@bp1Xj1Abg|^?*W#>8fT&9iWyU-_QO=6UeX=*X-ygGnw#HuPV7(}BdKFsGM z=>Cs|(Q<*3S(iqvi}FxXN#lvttF|y&8fIo@!4jheuPlz|&!11iSmwWkRqXKJ{*)Hn9dR_CS87?oZE zCl!7z$I_Q6RpKgh&s9|VNU@X>f19z<0e6=X=~jk7DZ!v`;qCN&M4Izgk_{hOzR&@3 zO3HpxckOm|)-cT3f9Gb2cSeC*sw_)UAgjPyGvmMS9TGg!=0`9ZH2z3WpG4I2(~1GJ zi4PQ0dznOv64TIYW%$YLXqC=jFJBtSqAfgab}161v>G095wV-ZT*Rw6>g98rn+B|m|@Cqr~eLLw*@oo3y;A~e!LH?A7b!VUT*F~ z!T6$GT1aOJ#L2c|`xmTySP2n3&x~ENRH8!)jiPn*m-%v;=7mva1o!!&_CIlg_?n!| zu|(5cZso&E!>O}gN1s1Lf{7*!svmkh$HQsg%vH(Cawc6j>kHFabiS9%wC2j^jq~xn zZ=Vx38WRXbKh5^Kvo^E;cQI=7cr~p`{8R3A%{v2Nj}$RajHRM?8_W(~sVv8bpkGkT zCu-oBI-<6;w;z9p4;>jCeC2)jg}1>FS@trZa1D$BHhrmR1*7JFS#NCL-VK@~0Os|> zy%A6Hd|lP`^85$|lQ+DrS={FjmIqTosUFc_hm^gIzcOE}j9Z=(%{QKI4|A2&n|j}P ze4RslYny-9^^$Hxz~4WQqWr?_N)Dpm-XA#ixk$zEFoKK>+8n|wDj+`F1Vy8=51kuPlT+v`Dr;GLYV{ zTt8=*jY-AjQn`WkV=?Rs+cpp6zBKzl0ROW-|= z9lrum&&+jlpe$gT+UYoK2m9L)dWs|Rea+?-X0ZtnI36h{)V&NN#-vr*0R9t5ry(iE zi*q4$cq^cP5=IXZ%BK43DYN{n?rvUfj<<8zNaDeo+w2yoKWpv6Dh;tyap{ zym_6zJ#OkVDgEn@Xu4ZDq1eKWno+{nO&5nHuKT@$sEcGWt49;QBp5IoM1=_c;3j@c zu?2l2T)fLdskdbRQB&XgMw{26AEi`9AS?H%y{&4nCsnr(0HqDNP^EI`W(1+ji>JzR zsTuQbgK@%sk~uX&{@*Ggg|t%FXs`5F;@Re#D{}I>@W=BsYA){U+2m@(bOh|WwV#q- z`00*WE>KAOz4Mot`yy*cT@rP0cjT=0ap>l`sP>U`NN zDHrJ)-5bmVpWPoNl9Ez>2 z%U8~DuJ=xw51Zo2e30&#cb1B`cO3 zDV@!OlBuB4E|t>uBYw^UzpaB80CtWuyHCGDZ!TVoZ=LRf-}!|HDRzAHyQEAU{Qs~4 zu|OtB0AaO$1egwiK=z%4f8A18?Id66#)CYrf&GbHl!iUY#fSX)`R+dT{rGH$SrIUe z*|I+dfOvFPK?UH)&tF;hs0+w3a2aOE0C(|&h%R9GRBMocwy#{xIOqr``S(t(Uk1xCs=}6nt}5 z8p!1jDMp__6jIHeKTsS3ETsru65;?2@c4Ce8khCdTwgk*+J;b3BrPyMi4OUl1;0~) i2RC~Bb0!{sc_~VGUv2q)PBXYTL{U!VNwJJc;Qs(@IeT~j literal 0 HcmV?d00001 diff --git a/gensim-develop/docs/src/_static/images/references/logo_eudml.png b/gensim-develop/docs/src/_static/images/references/logo_eudml.png new file mode 100644 index 0000000000000000000000000000000000000000..7c266bffaa14e176ef7cc2ec910407be2b3acdba GIT binary patch literal 9669 zcmV;$B|6%PP)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z000{BNkl#r<=`h@*}z=LV*T2;jvXjgkLZLrobE!<5BQgc_qX6&DCQ0xHIGg;0|;^ZQMgM zKPDsJM-d!9=MrRByng_yZ=%7v@VL2F#d(%HUjP?Bnhe@p5&mtw7pdLIbY%WHKg1c` zS$7I-fOXt1fFrPX$)(~Y<6GdGZdnv*l6CZ43TG5@UU6`Wy|vf7Sk34jnAtn#RY}3x z9(A26pbr250RR82RlyCyFbuq+4nQ{|85F)M(x_Ck7y~!1e|FeefMADNIhG{?9NPUnKg^js}yPv3#Um3fK$4 zr1}$B;mH>kv>sX6?aV?5)Ijasqhn)(j-6gY+!KC^ON`-Fwu8xo^Tb zxzbsKP9BVBmwaYYzkg{ofMbFDgPnLiCLo)mwNaB$`JtISkTpI400960yjL+&!!QtB z%m@q2cMh*c%d^or9z3FZ8oULJv&_h0? zT5cd9lWfI?3pWl;dEBR)4vytxIb2F;9fk87!TJ*?eF4COQ=8l0hzs$z?kwS+N+op* zul!A%&3FHIJ))>xi@n9VTxet~z6#;5==;W89!z;n6zcv3whrFp9q<=1WQm3gf))^w z6z419%wXmM5o=`Tu4Qb$hxsy!nO~YL1n0Tbpiird{d=Usn&~P5oH;eU0&ouC8Nes? z=z@+5u6qRV&i6M4cn{!;_OTxu<39)R!uLxu;s<>+93OJ7;MfnLT`};IlT(wGmcdk_ zGKV~L31B8QUvgcvgYoy|XaGg5)_hRqw4X~)#297(#sDUnX`@a7A)!5+YZV9c6(6;S{_#vhjE@in-=;^-yG3pvi$q=9Dg zHTqd{N3AaFM9vwt)(}1h)9YS2;o#|g z2^rH@x-!diYvL6q&NwZ0@XSW!HJvNs;F>}-NzrHz=ZM2p2*V^InKSSxZLfe_O97pi zDCTHQkT|V_`1{mwjSr(J%LX6Y`XeUF{k|ZY9kb;TGKHW^jSU@?&E0Fw+Lo6O5SuDF zul4szU`Y}Z9mnQEo-d&W>fm<5Tw__^DMauX;mhQ?&e;Di@vrGI0z99y2lOT#$mKrg zY!&ewxzSwkHLaMT<_-MwaU)JNcw=i45qWf~9YCClHP0K5EtGDgh4)wsh4Ri$SYfOF zoKUcd^8Y%9PE&@{+&~&l)gr^*DJ(rQ{CpD#bq1+sav-?8oQQ6iDQ_78dVmCpFh>J$ zX&Di{b2@H$yo7fOc4?3N%r_D3mB>zn`V z)C-_8?+Vw|wzEf!7EP^aZXB2e7$Z9Uel}B(Y(zxG4*&oF|Nq=u+i~JB6utIr0i*-y zz+1tJ3gUDC9l-DY#Hj$bf{+SKDzH-lqyk6%mEdx?diW8t6U{IKSdS~|zRr=1 zHgO0Tz&4rA5ub>fj#2-pCvpsg3R?!sTIFXRigu87iotHjtg-Dg9Fg%mGJJ#Sdnv#e zn;dsqUd}&^K>j-+%%~n4u@)d##5_MD{HTq>#&mr!=WMj2t$?1fI4&kN5E)XyKp1vM`x3vjJ(J zg;e08mtFk*P@91!{n(YB6DC_}v=cElVhJE(h_m7YWIXE@spg0ww9?ad=$LWA=*NPl zj9H9$1_8#}jCW+e@M7TXPRF4+)Y-818^9ZhKq~l@pn>d)Z}z=o5ht+7bx+rcW88b{ zo3;IU(h$(fg}|pt!Ez3Z{|qi_>#&^iH0gez@2D4k+XASO5F?~hi7dcFn2Wi6&!QsR zX57B?0z+`(@xH~e(swB_XmY{KJJY{c4!2OihlKAdx_m*&9IYi#cP5Ot@{E@Vbq;j> z3dPRDt<8jIHrYplEHj~PZjn2K{!h>Gm`^#7_((rL>c&$#pI|BGa+CmsUg`Q}F9mf? zY)T-D+c0-2jkjX`G#YnI^!E?VCnX*VW-PccN%n%dai!%cF97U6WjKN>Qh-bLbiQV6 z#*UU?OEJS z3EqVyK+p>4f`m~BnGi7Ba9HRrGTr}Fn3Nf>4qU_smZh1C^C`Hkd4PP%@+_rm+J6n{ ztC>?IC{f8dIo#a8>|Hx@<3Tgce+ zHjLOZtzV%jO{IzU!h@UP)a1L3C`+($iQ@wZw+yFihSx4%q^-lpH{%U!J9qSD)-Q+= zgZek5j0rcM*i%iMsiF^vBG6RZqL>0LnHjkQ2|-)h^R>yDHgEB6-Lan+iC9|{kdF$> z;?x0FO8ue$fA5^+n=-FAfxqV7Kx_!jaYh<;TmW0FW#SNP2yTCJ;`pb6qvkVrw>>iJ zO&PHgFmV$Ymjc_hc@J~Abi|@UaNotO;+%}Q55QFyETwvKqdb+sZtPg+NQm#vhWecnzvujA#=s&Y35BOPD~f5{rce zsC$@50{M;vAB_ZwF3-$_xzDpUi}a)i7&9z32eWFy1iVIbD*D0_w^3;B7OiN4s3qk% zE<@OzU{H)KjP9z7+L-(JL5uQ6=p=?anrWh+wJ>mcPtk<6X|6Uc7!xv~k0&%26Hp6@ zkM%-W+&MEQrozH+9n6Vv9D%jnu{06B+Y0_vg8iv-#m#A&Dvk8Zv1ccZnKea!}MJ_N@HCAg*6D3i0Dk?iTkole2YsZsiP+!y%r;$nX*dJ z+zC|$Iw#WIP&xUmaC`)1L;8QhVU2@=e0;`MJI=4gpr-hd5*C;s%|YR~9>W~NT(Ws8 zOB*JazZTj#V#G)Y6%=TfzcokjL%`qMvZRRAjUk_>HTQ{R>^tcwOC?w`ZRSwm@Ctp& zOdaU;nK<61LU@wCEf=#ng78d7oiT+3- z{Pds-@y>^ypje8gj(VXnuEOEO*7K@&cbj*YogGK0Eyy-E+ZV)Q263Yu*8?P z7U^0Mq?omko_nHK5=pY?h4vYMAJHVte+6Ldil6o8M*x2U_{FlrA2o!1CA%ik*g6I9 zmwwj#{tdtv^6XDUY5%RC{U$JFK>GQj7x^3Z7wMaK=q30C_SZ4~<6-asz-Qg&R2V~r z=7RpI&_~IPi&B67L%;i(v^CHY_Wk@ zWbEmW7e7kvB;*->S6~Xc7@hYsVR}LuduAC6*K-@8Em|Czk!NB6n;}yiidY+pSstc< zFbg!#BGy(SJg3M4@cvTBCk%Obf&RV3J_k?{>uIf(>^x=e+*TMjuZSO`{I&epHe8z%-Z<&3z~6S}rIT6ck7s#Mw~IYFQF#6IHq1Vuvn z3#nC5Y|;ZV;W>$)o#Mb%I8GoXBs`Rn@J1x8Nk$k-LrSZmuxkx&tpwM8!kiSB8F*!h z!`M=d65|adWPvdv`ksjsU7*Pdt~)Zqj6GtT;(|aTT^D6plZrfB(s74cO>@>!@(PB- zj=`YmFKz)JhOU`MTlr!=EhrY8#Du}t%p%D}8}oH%378q@WOSl<*A{P83JXvPiUS#8 zAb>-NuU32Jh#ygfJhd!tB#b!|bd^Z|vUhbyjVnvIFSYMSM6e=)l_Nl8AV+{40p7>^ zgo(f=0*eUnMqm+vwGpf`KpAi!n7R7g?)j6(2KKnCsHGNZG}Hgx)6?S$=t`x(^GF>3 zL~Q!y$*R^ z?jHd^zl5~eT|kcS9|O*xC}Nf7e}v12)`1R2&77UY9UmMv!1S_ z^&cV}%u?`U^&EyA`!7BG!3uH&uCdl0!g_TCtR)^UP&3fITRMW4ijG_|egPS-!V%R> zDSV%_H7p=RAad$kW$Ms``Y5iO$==AXb*L}sZO+z1!#|K;`Yo{p zgwsz*3zs{Rcxw8oW1K&MT0CX6oC2L*{$`;-zf`*}W3@p#@?DdLUwFQ6BL0jC-$%Pn z2ree`b$_JGleu8f0LAh%z-|5hRfXc45FD*Nf}})bvm7acep~%R7p>*eAmhsto#GIA}g!*h8+BSZ=PwF;> zK+P1Giw+ZuRmkW)vo*B@<{5lH^}q)?%T%zf~w)JDv|GnoDAsOY6{5YtV*Q1}n3&G1MnHHt(+Rf1&U(%X;(9RygP@0442T zd-iG(x+muU>OwiqEU5jS4H~j#?wPJ9+ApsNZ<9LKf}(JfA+ccFR2}mDm8Ux#l6sA8 zEpiVY8mojc&3tggP?wG;G`#wBD71<|KLRXKL-Gb=PX3#PGm|i|(s5TQeH-XrBx*cc z>3FM@l#gZDF?!YHm$KGYp|n_(S%h)45QbI`xJt)E@y(&3YLwBHemTZWv7?$jZp^n{9`QySTIz^I`2%#`o^TJ`g2(fCq(W1C>*^nOZi zD2^K7fd(vz9`hq&kg0^9ZwBdJF%y_8jh>SEgj5SZzsdi|_TDy8bZmg3jzcYud_gb$pk_kAv6(#JNhEkbd_6w=1wN+XUoba+(PXFiDU2p|O;br!(Y)nzP!_S-r(#GD~`t}pc zEhwh7?bO;5!?RlhKS^s&40KyK=I~~qeaZe-I&dc9T?(|H6;oUaS*ax*c4lz*c9rcGPzcy|g4#TENwJU~=S(nysJXqY7Q@H$zrJ zTHF${Mf}4p9p@z53&n3Ppj(62^xnuT1C7>E-`tC+Z#7dZ;^@^&<$7sYXo_3bY!fg)dNv%)kSfQ(!wK-=3Lk zV3L+Cx&RHUwZN8{&mD~MO8&dC_axr{GzM_YjQY)>)}SFxu7%Cr$U%$M4wvUm7;nLt z=@D=_w^-E;9j~no8C>lUtDk}Etu1L0X)b8pE5Q3QbRZw0C>7BfCUM$V+$g46QQwSv z28{Bmi27Uo9@0b%Z=>?PmCAR_325?dAkjO60O=myy0?>QBaE-9X5YMLLVRa&5fEmK zW}gW%g|`>rjhy0amM)lA!_T5GV+ut==8L@7)R!e_Ld>Z@?y0qc)?h1gH%JJLH#Gc! z->(Dw-7 zumpl@eTgte=D?vT4Z9^dHCtNV-8uYX#Jg{HXF>8VF^$CgHUKYDmM9gTOFd!(317K^ zuW?>$UrRBEL9>A1rv)ZLMBk8{j*OLht?4lBxv)Hc$CxoBxYKJ~GU7|?Gp$=nbgUuk zq~F1ybs@|}H?q4CGBc-uT3BCBa(WnX(J?+V;kpxW%>mQ+72s=5hiBDw8=rf?^~@y{ z6=Rw^_Wu%;AUF@y*R01lxFp?LP6q9=U_YrLQ=reo5SZ^yRhZ1-RuOM|PXHJg|(Ch)m*@3`Kd}4|x z^{`%S0jV#S7VQ|*&a*MxFaut4 zQ=U*LQia2U2}){EaOg61bXY2c_*^kuFD?AX3l90o#)Y8RCn16MBbXX(A{&d9NSWWg zHE4w)p!3hJIxES2sx9VLBQpbGHW9rP;wxn47}f&u`@;}tEP%Q6?az9x6XqhE3L5Hn z^ryfFYlr)!pL@1w`d1d4n%uGnf#&zZvrmj)+7O{w7?{YVMK28|e0c)mWVB!AZgaV~ zko#JRDXi}*^7@cSg`z>h#@>LS=3pUmGVhA}!mWTmAM2&v)-_{r*OgtZBbGn`x(UGb zpswiO3=^zbVDppSt4Hx~HA8vhPIy~Ros`oO`Vzsco&S4es?^o0}3%G-Czo>6@@LWNCV}q?4Q@gIdLeYBQ&j;_< zAhf@j)s=WlYwc@L!W*U>YQ_(U>&!q?9vj}VaXJHy=zjwMF`kL?z3SxU00000NkvXX Hu0mjf^9*Nd literal 0 HcmV?d00001 diff --git a/gensim-develop/docs/src/_static/images/references/logo_ghent.png b/gensim-develop/docs/src/_static/images/references/logo_ghent.png new file mode 100644 index 0000000000000000000000000000000000000000..1f0a683b011a95dd6f874d222c7c4f1378a14f1b GIT binary patch literal 4993 zcmaJ_byQSqzaBaTrJJD}29R#)5`>{cff->s0p`mfEqw;AUn(jN0EeP%fZlKygom`Z9P3}Y(zo;9+d{0szaS`QIoAI;WvZ(WR7Sc( zfntIn0XvX52q-QrC@gwkLPCNcC;}1&34ug}ghd2|C8R|~q(LCy-w*4pHFt=;w1JA+ z-?na7a;%Ohl&iFmke8R2pqHp1(%nHwSV~Ijw}yy_z%4?+!v}$~@fJXMu>Da`fqK}v z!(34?Bm($b(Z&|}6eY)c>*;?&fV=)9i}3h6O}7aX^0sjm5*7sg4(Sh2SNH#i!r}j* zJx~VF|N8rX3VVQkT%ke+P!Hr&ce~rd*|YsN=hoH4z>t8-yKHQ$>#TmM;i{L8KpuD=Diffj}Vf`^v(?sv-}h zB$OpZr5=cgs)?#di7Wr%svzy2!l4M%A1>s-T;YG^{%!=g>#b!Ks5{IP3Q==M!hwGU zEDifNU!>Gj|5fjAF67^Qky2CpSFX^lGeW=1`oGHjXY00ieoy~t+S|oHZ4X7<_PYCR zQzsdoz6StEPc&7Oz}|D)mIS6oQ&iR*B9Xv6mc)ZZ&JbLwFi3i`vear~@p_`Tp17&8 z`T2YPty#W{LH0MU!#cUe9Cx&2J^Y8UsN#9@LI|yKh39WV0v1kOhu1>dq2^!SEcpGT zowoKv2VVK1Jtk_Mr{B^Pebj3`S|%{x`}WZMof~Q3?lezEj&~I!j@Z6Xg~NxEnTM8C zse#wYVaC1N1w{(G#XAvt|8j@RdmE^Bd^PU9aDUIt~H7${j`)%lzppRf}zj}k4bT^B8^9^mBhao*5H!o>Jv zPv`2DhKNq?*Sd!8PbLm3#T%FC$F`XNj@pd^Pq5N?EnO zG4^Y&Y$r7c6}LCTW1BNq<+4))aDwAc6gQVnJ_g>d%5-yLsm*c=-(Oe-8l>Wn(|}z9 zzjlyJYFc)c3=C1~ovA;!rM_v7p>#ifKzBqyO3^ACxnT8*$MZ&b31Po>94$=`%45Xb zvS<+aF?{}%ko6`jXU*cQYM;5DF@K~rZY?5$k7lu2z~U^bkf=uI6lQvcvvOedypyO5 zWl@b$K^z)8yLYvVhqhdJ`xEYCoXWShg|@`)^KG@Rd1k?YK8GvpC}g=R8(WXg-ep?Q zP#mYa&0*vA(&X$Oc$Z{SqM2jru-y1KO=0gDct}-W#4v`Lkz0W zn*gV4ZIK%D{;G;|kBccoOAKd1V{Y%A);HUHH-l%|+qQQX;<*Y(#cgcv=4F&Vl#l_R znY_O#F5h-(eNmN%>#`HnnCNbE*1qjA4WAJI&?IFDOa1i2Y;J?6ps9?&{2kAik`K(K zjW3DLqF4K-o21ilG^x*ms}0l08jPdzUTv2JPEePL8@ikOmKgg71!XHf;Ry50*7}++ zXg!>#%i3OCXzw`REN6*sooB0y7rq!;vP(7;pjepEW4HHOz^8n4p2DBU40#oI8PMGo zZVGKqa<1Da{xL5+8qIkP>toIi>W~i3hInQ<^;77($uLi#hv1mqfqurFhE`g7oM`Ve-eX8p6q?ExDN2s9#EAZ&?k0oGhpMEV!1u z*63H2u?kq;#JGp9Z`l9h)X07(v-(nQORKJqF*kT?c2N>UB1PqBw`o*ju#6E}t1adA zOT-X6%!qwdH_V_lx?}|t+_6bA_aiRt;jgfw|z#aQc>wOUNAy&A~|2Jj_3TuzqUfPvciN0cy5MJ^f;cMP5mZ6sJb z-M%Lt49PTT)ke62DR}~CuIwai3baZx4j-se z9iKV&2h-FV4g}2>`!Ehm+MO^}N8z`lw_{~`W*Cm*^GHb;v3IC=C&74{A04%j87 ziSHfchxU;laN4l4BxBq=5%>XBU?wfyvgoQ>CV+0zd-YXc5VfF57OCe{E_CH(em)(^ zbys4U7 zjP*w7UD?aULAE59?&ta?w2oC_tZ(M%+lJKLA4 zK!Mk~qB;5f2L(L7^ETIvMc+3YTm!xrD>|x+Br1Qg8iY>a^mHen8bZ?&IPKZi)Kzzv z@tCRZvGQ|A)wjqWS`)&J`<&W7>tac|DTDgtVz-yVuPLezCXjY#OQUI#g5;)R(FLP) zhyB$pAIlo~Bo_0{cV>bhWts7@-owsV4M~F6C=uQ41FX1bd5m7eiirYtPwzzMaKL5`K@4>S`J#Z<+gbvT=RD=6 zHfdPI&Ui8H$<#wS+WgP$9y{{qj`=!=8awCT?jv`{u06Y)HA*okM;GVCHbzL7rb6Zv zu4sqM>eCWt1s3r6uevl7oHo2~+yZ@DANR=yn2Ie})gC+<&GYBBR_IbPIozdyROgWA zC_RNE2d(wwJMV0b7%d0IL@>D``I!2xk%McEpF;2(yM=4V9#s%(;pcOkzFUgkrmXR) zbNOB=z;%AH%1whVETs`^F9FxEUlCf&V^!+AXd2t)pAsZ^=0}>?9{?!Wd6fL*{YB@F zp}%-7@lzA#hK9ZF*Ud4DWvP=V^C@d`j%iYVwfA@% z_b0XJt{OKarV;^ZSUtV$gk5io}1iF zOI|_kG66oZRNnU-gYlQEkI1ADfG|9>i%Sb+Nk;_+R+M-k5QLApO4ONKX0=We6lI$( ze|r*|^M?rVW{nlruYBvb*-w zr3O$)Pz-}gORj&`TR0yxBi$Z!lOJF-D}m>7 z@{oZzo)aRvnwXoHhR5x681cym1nsPoJ_ZD&T=bHO(PADpC($uCXc@B~b}n|r5#Pgq zZ(+)Xpfa?2OkGLHFSUv8kOdHI><5CH39vW9D*NV@62Y_t+}3{V`%~B3WS|VP@P}D# z!NPS;;Ec=u7Wh86u3SEX#N^PxO4}c|h3m%MO z$SS8h7(17o+cuM93)eI%?6bL!aj3o@>YR|<5^vu;8j(VW zJ*$*LHLi`-B{khH`oqCoY14Drn#;d7XCbwlungh~!^uQv?XQp~St|&X<0e@acPQdk ztA2jNie*h*JEk2Y&diU;B%AaW+Jj%LHbae;4$6?5myqZls9HU;AlXo&e`O(I5B+8h zJ_&cedA5vQz?4ni3n;Zc-`Ab|Hl-0qxD3ppcUf`oxd{(8dQ8phtdzu3<_vJ$58r>+ zHdf7wyMB8)(W0GQEUBhG!`ApV#ZU3Cz5D*fq77TkPNS*QxNCV!qQ_#|=TC_D z&5p2{D@aueNe9#XTMKxg>QOZs*zO7|U7_?B8=CK{67Dqu&O>U0mlR{)AAM!Tw(J%$ zW#^wGM$-%pe@%U<)xK9r+fXRMHVxaIPFiIgCADr~ZE9ahZ%nv|e%$w(kc_{%4%*dc z=eUZeJ-f@+p4ERU)aIZN_k2$nL;c=;kC4`s^?JAAv|W!V|Z7o5} zRJ1%xRNo&BWgd5Pfxd*+hRy`2!`5days3hmBa(YbKFn{*zWLGV3~$g@~{%PL*`D zsmj;yQwzrKlNK5PkU|t%s-fzsWG`7|-q4+zdk|kMS&T6mhFgF!il@i#wh6;*FfX$I zQ1B+83qgd?3P3A{smmzR;-m6XjxdSTxuWJ?Cxn<3{xZeDWDHtUO6$eZtK?;-YFpi5 z$sS_;)B~UhUl({WP_L?Hqc7dEhjWvLj~$Ieoe;z~{lw^GWosvA<5J8658zBp!(Wc( z{a*BympPrF$5ypJQdT)H_1dd5oB0EmcIyj_&q$#Y!II>h%8~q51fSQ@d^k$`L zq&_^HxQ<#{*e8bxnL?+KIbS&vgp?A*YXadYAQBMQa%$?JHa@PO%4P} zP>{Yjl{A2;#oZ2LPl0>8l1tVWhn!O=(Tw;@5DlU_tjhT#G{P8 z5pMc1a*O3)17d%93X)IZ7oDAYAK_13lASZ81n5qkY6L41<^~&Et?iwwdWLr{+1ddP YCJlAc2}1$De~M|UK2)iA@Fe7a0F%}p7ytkO literal 0 HcmV?d00001 diff --git a/gensim-develop/docs/src/_static/images/references/logo_ibcn.png b/gensim-develop/docs/src/_static/images/references/logo_ibcn.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ca533bf3431f5d6161eb4c8037625d41a1c337 GIT binary patch literal 38342 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 literal 0 HcmV?d00001 diff --git a/gensim-develop/docs/src/_static/images/references/logo_roistr.png b/gensim-develop/docs/src/_static/images/references/logo_roistr.png new file mode 100644 index 0000000000000000000000000000000000000000..4be07bceee0bd0d88bdc1339d92ebdd8f8ccc259 GIT binary patch literal 71879 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 VtLL~oVbK5p002ovPDHLkV1iX;Hh=&C literal 0 HcmV?d00001 diff --git a/gensim-develop/docs/src/_static/images/references/logo_sportsauthority.png b/gensim-develop/docs/src/_static/images/references/logo_sportsauthority.png new file mode 100644 index 0000000000000000000000000000000000000000..0cbe8ae11218f7812e433f050ca37a89a5a2f150 GIT binary patch literal 4211 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 JPDHLkV1frFijM#Q literal 0 HcmV?d00001 diff --git a/gensim-develop/docs/src/_static/images/tagline.png b/gensim-develop/docs/src/_static/images/tagline.png new file mode 100644 index 0000000000000000000000000000000000000000..7f0f8567daa4935e526f797be2cd2ba4d9095869 GIT binary patch literal 4820 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 literal 0 HcmV?d00001 diff --git a/gensim-develop/docs/src/_static/images/ukazka.png b/gensim-develop/docs/src/_static/images/ukazka.png new file mode 100644 index 0000000000000000000000000000000000000000..ffe2e18f8301bdecda6b2f5aefdc0a8732c837d7 GIT binary patch literal 17894 zcmajG2RxPU|37||B2rKwyx;`xfl0 z@H@Xv6aIj>W+R7ugFxUCUi^oFNK7V0AaGR7rKFxbF|)R}eq&~BLnALGMPp-UZDRh~ z7=d^@mZEN|p}u@ubbo3`QsJFfjDocqF*c2wWQZ406eBC`HT=i#Xg`h;t2PqI$Y7GU ze|UE}JlrdkSd|?w7-s})jy65qH{)G!=kbhdhQ-gC{e_;h(qXa1g6)*zKCA|8yf`^t z)%#v}xsp@_zkJ(TT4&}s9(v=@+aU0~rt=wf*JVKmrB2`XTF5g{JBgiB^49zMeGN_o$yj`)Cyc+q9}au)IA9^wU) z=fWVuE9D@;6$7CYLraYDAqqi5X#7qZVJ3_y=+g?8K|JL`5Sb{nJV1=xLvYD!o5&%) zlp`8?@o~`zY&-;)>N|fH1g0zEMf=^mZxMb82%<+@+9I25Mfi)X&{GL$kxKdpGTu7a z_iVAWwK=Gmd*w;ki1-aI86-aBXmU;<|U-hy)OJ`WeG<%Nw!C^nd1by>iDdNNO znD(~KMc>GLjI10Tou8WanDaE2kBbmUsgV4C7M;eWg9M?7`n}qMHeKAV)@1}aBlQ_ zn*I2)*z|qGmsesKu2J_s=^0+$Q((e>YTxjCAA#7awr>2vjD6Y5%y*{G>3l={RQ3Y{ z!plS+Ws5*Om!{{?=qwg*!$u&aKX|i#ks#k`BxP^7O3`>_q7nDx1;3vpeM^%hz9f#3 z7lqvmmI5D1=763rl&mi}e>|k*Yfv={h_<=G(WF^%L)7NxkpXsUBXf=SHB5_@>b@MeTCfI-e^_PA9$rwm7fIe_&rL;{cdE>ofvWZL(+Gy#2W8l`nqX8?myUXmkNqlm5?nZZv8CjsQ9>lQIu(kWorOY+Y z@y?OY(QfJBq`Z7+n|YxAn^~>%)nl@G{CU3ltH$qnBs4P;)h0iE)F8MY@l3MtW0~4# z)xb}Ld=7~ZdVFuoD`XX>#}3{xBQe`I|GZ>hMKBplr5yiVd!TDsb}4@8@{SYU^#Eeu zws)q?WJ#o0q^4v}q@Uj_W|IwukhN)W32?8zUre}}V6FL-wT#t`II0sT_His@EIBKu zMs8kq-c%m0=C)>+Mnvv&b@!r2n!M_>xz~Qgnx>S;({b6f3!nbuIGZ;^Us?%jK)) z%dXb)7p>)_WY@}6BagjrNVGj>(q)o0jp)6SvZy|)KAD4)b6ZJNXt#(X&mxQbW3{wX zy;aWo`_#JUUa5-KIaAKHi$@ghoTnP6mPa|evUpFg7UR)h9mne>75R4G)>?#;vu%7+ zRZ6e&YUsPqkNXF2kutzsT&0BS6>1QolEn71fuQJjyDk!ZettYA}Rc5nf z3o8mMw)J%Pr1$(xxSu4-J9x75Q-lnCCcR39?qqGZ$zm#V= z{j&58(2@k}B0y9FA`+snIDnypjy{imfo@17f-yPWqUa=aKYOfLs{ zOL*&CIzDi5qpc4Y7aBL-LyxXWgnp=$AeM;mDfF3dETlDS{}WkAyTACpH>%hChW`_f zrJvui3>FMRnmzEC`~&^91H{8^-aWn3&mDi?seeN1&9wB9be!~5k}0>!gU|OK-)9xe z<9H=9CQ!v!CEm(mg6tl8n(|cswF1Qh4%Q-mtJihYCu`e*zf*qW&bpGk=WN%rasJrb zwBw(1JD1}YyHMOi#dperF@GiSSwGzlW!NHgVhG1^ZlY{5rQ_`9?|(NUrOQgCyd}q~ z;3xPO4a}4vXT*f-A^-IAxOAOB&CZhgq@ErpDSP^*uqI590Du*?QKx zi#x|71(G+?&ev`=-I_s_Wd$f`-=loGP+Rco0b0b?c^qe!_zGKq*3|-$ir_L<%OREg zHSPE!k6K0-B@6H8jh#M?r5F~gxSBZg{_d+2!)tmfPdSm(r3Oa%Zp!#zhQNKbgbn1v{uR5?w-sz zXM7Lyc(retRAolJNJWitPDgK#u((F1#*W632LJlNWU0aMfmQ!HxogcH-=Cpzotphq zv5vZNO$<$?A(J8FWBKFaeet58yyb(qV@th4WlP(&w#x&TPqFUaC>yT)F+@2as-YI~ zlWkS@MjLhAS;~gfz3cqfHN%oyf8Vu{cAi__zc#&3bzNx8G1RqS25XSok1^~7VHmpWA{-D3SeSEgJ}WXGv*Ci96PogZ&&beNAV`wT{#ZuNzx#HP4=a2!s& z7*8*AT{P^Ses$A&qYB@CW*^IIhz>SnDBhn;Phd;e?oTus=sgFS=4UCO{psp2@zcZ z*8^5l1;rjb_$_XCx_pu&)o0Ylm`ZY%e%4h)a+}lRU}$x?xBq?r$M~)I=z2@Htkac- zRkF|Htxc^|bscYcxu5T79j`SyO*m0*WK7>wnRBD@WIi`L{JN|DJ?A)@EIRre^YZ)c z6GPs6l%V3OrNi_UZQMQOcZiT zcez%Bw9D!U$r)h(<$jI9=20De4CChzVKepLjJ{G=_E>C_2U97AS!ylo`TN{Q3I%NH zN*Q7`JSl|N=vT31ax_=_%Ih|C>Nj*0EMl_+!#6R`*}Tp#J;eBehk=3NJ!*?hgZS%N z>$1CYeigwIZrEab;wgvP(O8mw`0y9{?|%LH>G|vO@pH|iwesmR0eO@g;#~fd41CDr zykPBlJbun`x;JipE``cGmsyg!IBApme3RNbQ!xDe>I>CR|Nd#*y8hHtEqUaS7#|%*DIb3$i7K76(y!E& zz{d`(x$3B`Nqp*Y-n8bL+P20#l`+TmiV^V+qb2m~Q_Z3G+_x{kqihQzmYJE>i6d^a zrO40gOyg~RImqXnU{#*l`$CGviZj@a0Y zNvmzs(61GfRynD;d3T(u_0G=Wi`E>gzn={*ajE=7zE-GG`59&G-0}!n$??i*Ko%W7 zD_9en&TLyhP2Ep^=suvOA)c$=`gCH=QP!==Hu=D!ftusi44Gl_p{Aw`MH{vc0?mFm z+^}Tak}pZAcRiH5#TKuX)Q9FFMca42>#2)bWBhoRv(2~AL=0}zZ8m}}HiFXln19{V zhRJRO=AOAt2hIwLM-nrJZAU`)WP-_K~ulwB2KOOo_;6%5WDls&?~Sc$ce+ z;P#fPZZyM`F(6H!-hf`YizijYt2fNVq1n3p-CGA(qDIKRiaHt2R#y3o>Hu0krP*N9&`tTQJXQg|Q=K?t zX;r@8>>d0|NYVi2*vIg~_VMBz)zI{3@0u_tGvrbt3@~_zqW|%#G)gQxmO)20&bS>7 zH+oQ?d!v-0i$_CKhDb(zIm4{!iL;DqMf4!=O30CN*?svNN`q=GDlXB+WT}fEHCP+V z*1lG~&unH6wlhu{DnlI5v&TM;q|c2!DQa4W9&?zCs%^`hV!Y>{)Wb+G?_)p;H=mg8 z%^mQpur&=Am4Fe--Md$}0sYX9K2f#&&MTwJMR8+uhR2lkrI7*h_HV(3s7>|P%7F&& zXt42R2;8O@!`~9PbG5#8PW0;FXMUwGeWP#N&e)9aj))-*T?MldvNv{@u1u52U)Ft) zug!!q-h7`q`1@=AkE=of%`+OAC=xf8;`9jiF0=A+81F)@)lPkOH(PqcM8eD|^SNs8`OFG_u@o+q`fPrONM@$LKr5eE=m}|n$m5vD44?9Z_$?~f+tHzqG8&J6 z@L96Dx1+n`wJ?j`7Ez492`IM@n5Uu?CYAS<#R1W5- z{v;HgB%4psY9;!4OPNNhk$@6m-Nu^-p9j{1(?4kCf7HtN=H}xi&+{S()boxF;U?B=lD>F~uT8FV-Rq37$)rF8LT?!cPbG#Se-ARxSFwG&D4F zkN(ef>z_ma=VSlwqC%&IrJF_1zm*I$FXnDEHFDF>Zh2_^MUPjrAJj@|P}L(4BcG=m z)^^15YD3BhQc^!|9bBPrma*YF$P}U(|BaPacX8;)|L3T&*lG>!Al$dY z{@LK*Potup{*{-qSZtinyDE9Msht#LgWY?V7LHal`n^JpEvEu1>u|~keZLN3Aeh;V zOLn%WO|sB3ggG-ue|@-yw6+qmxk~JJMWhZkDWMk%dd9!#*ZPZy2in-+l~#rB{k*y| z?)shRs(azZRY?3!9y}0OB>rzKV;oqZ}u;bI(sp5 zN~)7a*iFhNvAAPlUFOrJp7}+(bwcs13a7M6jFIduBpENsh}1)7j(3*NlwXQtyRzF>Ry$e#V!JCw=;FC9sc&biQoS zy_5~i4m~@`Ao0V#adk<&GH^XZiO*^Ouw@P2pGCXEUvuYWVYsc>X@x{*`e^Bat><$$lu!M9XC>Vutwskf!FcHQNz2Joem@BE+Wx>2 z8Zn65L_pU$7H^b&?I920Q)hzS)BDi(*N4T26_jIAOQ%IB`Ss8IplGWi_#ezX5uIPYoTy=}+_ysan-Uc5I2ob5S)*yQU_7C}nlcEbb4+1)D^y%3Y*EJd{cTN@%VaD+ zxUKW;tqPpK-TN4^v=e$Ryxg#J-ob-}Q@VFGVUXcPMci&CV~B^<#xi-)N3#fo&NHu5 zRz+jp(H|l#ca=QKN+OeF=8TDrqUDdEUh5`e7Z)Gd)Asc>;!5)Arj^H6+t(bLUJTFM z7;*)c>GrX5xdnD_SO*@argas*>Gvo$eCKgU+`mlLw~ol%bNR7imp6%ww?j^+@KK|9 z77oWUD-EV<{h<~nlp{=^bl9Ri^;Sg_;)3^Qjwtgyz;da|Ye9c%~ z$*!!1UciHSk{gp!{$|kf+vE1$geokFoNr;IpVo7m z>0rY{%+q6$v3qwYDs<(U3D3;0w|Pp_b5mik4mj`MzEjkfrjt|--}s>*M%A^dE92Ep z*XLZcj4H<=qtDOc4%5V@7e$}LGn3$(^x0M|G|g~)VS#~#AhG&bB-m)U`;|i_7pi#c z_u=!VpI4#llXu`=lBw52Ut8S~rj!flVtQon68EZktfprlqa7K-_>5qul(mM2qQ8yZ zNGb|lS$$KBk4h+ugrA6qwoOb-dkL)9Dy|&f?86{Py4+5nfSZO+Qum(fNTpN!B8gHk9aONtf>ForMAB{ zIq1ou{7i~F(qvTq)N=h?YQ-Fc%PccASS3*OawyF4GVx_Wz<`BXzLw)Gm29y%>CB0_ zg^x14x$q3e`SF^W*=LW%IE8aXr}yizJ)`Ka)onDFt*KZUO7Q3-M)BRI)68F172%GT z^}i~`Z{x0-j{6(Sc?TH$m6z(T(qN^< z_KCrZee7Q@l~zFTdVFD8wM9uRf9RD+u$pTO!}oJ_xY5Jn$5~BG4t8!5_u4SG_oKSLH6@pJ6RkomT)5FP%Vsn?K>fF= zZNK@YaZG95bAAzOi^>kA*Wu6gojZ8v#W*T7{!_bDH(g$m zAXkIco4Ylwe~ZQ1U70`x`;wnQJF!Bz-0MPSoCvpU^YF~zXdW^d)wd-WUV!6|Gfh($ z=R4(8qvmMa6vH2UexA|)D@t6L8yy`_w_IT-L&#l;B}JY-_ik{^t2L@SIJ;EB@sd&T z*Mcx(ST0(ac7*VExEw-A3BgA zN8tSYDiG#p*7}$o@3VuLgAb0-L$9(@hgKb)#@$E#Bvgoh%<$vYeZla{$T;8-E4xAf z$DKaSO$Du1aVfo7P~vT~J*Yy)8Nbi&I7ZQ5QzZ&}{X%ULRt2?OOij&0w3m^c9!a4V zo4{pr{-j8HmihNPaWtc1%Zw_rvrvjKwG4qKa4AKLr?p-+Al{#`Dgu(B%01%F`bq)>^S3ZRYh&XWNVJXCZXT-S^uHlhfDlp zYkQ^^vwb~#%`;r^LG#St;$7iQ9Gw@8Pvc^RR`1&E%2L_ur5(O)aPX<9rl+B?sonbr z=>LoK{~PH4i}e3np!iQx@c%kC!S;)Oy*D6pK-IAF=Wd)#(b6|l>ge<60^kDF4;y`E z>U`q{W%|~^w-&p2?|@Z(`D55pBJoJB@4xb-NSrH&D|{U!nBw^Bj8e4W^0G6$c2=GC zapGxWrN^Ho02P2d@TpQVQtn{|JVZ%q< zqg(o8H^T$6p%orL5>`8oo^EZtmo2vW0n*3?;4YrsfejLYC@b*-Kyjq9PJ1-3O%*nO zSQ#bHLdF4q*z68?0SMn^yRU|WjWazfAE0rKqPDEKmbI0ZI0ow5h=dy8mQ};*z_GRanb+52Hv<6 zLsJPT@ZLI?50Xa(p4G#p;Rx&qmZ#mdrGN<$1|~LjcT$ z`+7%7319Du*rwk zpJ1Q%DgoHtUcbkuf5wOMPFT%s15)w0&sPk@iP2MbE3ASbKD_7DTPPG zdGlR`9)zw0WSNS@#JaqbHX(K1A&QCR`-9X_HV}pmfZVgHVBk1^hOJ)!9sqbdbA>j2 zuvpg_y>;1Ze3^Jp*0F@&dfPbPtD&^R$ZXm_-GiVXF4(^P=7j>T`tJV*kJP|lo?haG zUY?@<2=@fYys;6{*hnK|A`h^9oW$6C7sdlv&Ee~l)G`fSED=L zujYT@x4r<@iB0&zM_JjU*N3rmo&iblZ3>dYB)k#c?_Scu6ogh=Aj5P=0Sf~zDFqw_ zMvZq(;=a@V$IqI8DPR0fjVyI0|C(WV@CSpbjy~w9RtjcB>TY-NQoMdn+#=5rA^w38 z{bfYs@!d}X=Wcb&Nh2E-*mH*uV60d*hlv89K>K2tS4?jt%O`1%v=A zzk94%BCGCvaw)cr6S_vd>zlbMy^7XZ*NV!+7q{QlYXQcxap(OXWq}hhdfxT*TQ+B% z<$Lxd4TldB&GnPUK2H--)m6*Y2CQxiC>6KclD*%1u61j7tv2`Ox5|{~Me9t<%X#a( z3>)!LqNu*sAvRIB-s#q;u%+uMMisg03p?yc$FWU+-&x#AN`)~r_MCp&R_}=MyuBr6KB8x`J3J^?p77sX5EK!P{^C7r8d# zc1S3$EuB;1>x+@D@9_<$g~#Iu6co@^&$aaPd)@ljMT8Po@D~Ji&QgVXf1^)=!=LId z)Yh`qR!ax=wNifXs+N*oJFb=b0@%6s!_Cp4f2sLChep}+J)(RPzwg6&CsI5n8-g-9 zre+mq-TVH)u#}(MSN+u0@2QO^rb_uM<)M{InUuIyL?2Ko>d zAsESZ!j3(!?R)~v0hzyN@Af(S`XrDnZ|c)|#a=l$&yC65YE=$AzPYPVr!zg}yL(#h zFUHjyH(G5q=VU+C>2b=KHH$pStu3|n2zCuVwt;2TBZ6~TyP)Phx?hky+C4UwhtI!p zZKsvW>y$pBo6jl!#7SI51S8ogklDGONl4UpTDS#f!?t?yMub{Fx3e}gl5_O)Gra)d zEwBsdb3_diPufv(|PM<;T6{ys%-(M?cKhcWy%N`e&}1crr4om}kO zDXEPk%QlrjQf!24w{cOvv)dt&)Es)xGfxXnqnX~rP}b1+UCcPky;LoGm#d3`!nq#7 ztrqnjmoMJZM4eC}=B&?lB1{c$NDt(0f}8;I3FrX8TfAaP`Z(*uH@(eYFFU%x!g^6V zgc?)tTMyM!C%4>0HpFz}o|v

XKZs_4>~hgU15)AGDAx`YVo2vD12q_9P|)lypLu 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 literal 0 HcmV?d00001 diff --git a/gensim-develop/docs/src/_static/images/ukazka2.png b/gensim-develop/docs/src/_static/images/ukazka2.png new file mode 100644 index 0000000000000000000000000000000000000000..41b8ab9b105509d967dd221fe106b6c08626c749 GIT binary patch literal 17463 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 LRHe%#pZfm~w!tXk literal 0 HcmV?d00001 diff --git a/gensim-develop/docs/src/_static/js/jquery-1.9.1.min.js b/gensim-develop/docs/src/_static/js/jquery-1.9.1.min.js new file mode 100644 index 0000000000..a540170e5d --- /dev/null +++ b/gensim-develop/docs/src/_static/js/jquery-1.9.1.min.js @@ -0,0 +1,2214 @@ +/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license + //@ sourceMappingURL=jquery.min.map + */ +(function (e, t) { + var n, r, i = typeof t, o = e.document, a = e.location, s = e.jQuery, u = e.$, l = {}, c = [], p = "1.9.1", f = c.concat, d = c.push, h = c.slice, g = c.indexOf, m = l.toString, y = l.hasOwnProperty, v = p.trim, b = function (e, t) { + return new b.fn.init(e, t, r) + }, x = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, w = /\S+/g, T = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, N = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/, C = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, k = /^[\],:{}\s]*$/, E = /(?:^|:|,)(?:\s*\[)+/g, S = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, A = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g, j = /^-ms-/, D = /-([\da-z])/gi, L = function (e, t) { + return t.toUpperCase() + }, H = function (e) { + (o.addEventListener || "load" === e.type || "complete" === o.readyState) && (q(), b.ready()) + }, q = function () { + o.addEventListener ? (o.removeEventListener("DOMContentLoaded", H, !1), e.removeEventListener("load", H, !1)) : (o.detachEvent("onreadystatechange", H), e.detachEvent("onload", H)) + }; + b.fn = b.prototype = {jquery: p, constructor: b, init: function (e, n, r) { + var i, a; + if (!e)return this; + if ("string" == typeof e) { + if (i = "<" === e.charAt(0) && ">" === e.charAt(e.length - 1) && e.length >= 3 ? [null, e, null] : N.exec(e), !i || !i[1] && n)return!n || n.jquery ? (n || r).find(e) : this.constructor(n).find(e); + if (i[1]) { + if (n = n instanceof b ? n[0] : n, b.merge(this, b.parseHTML(i[1], n && n.nodeType ? n.ownerDocument || n : o, !0)), C.test(i[1]) && b.isPlainObject(n))for (i in n)b.isFunction(this[i]) ? this[i](n[i]) : this.attr(i, n[i]); + return this + } + if (a = o.getElementById(i[2]), a && a.parentNode) { + if (a.id !== i[2])return r.find(e); + this.length = 1, this[0] = a + } + return this.context = o, this.selector = e, this + } + return e.nodeType ? (this.context = this[0] = e, this.length = 1, this) : b.isFunction(e) ? r.ready(e) : (e.selector !== t && (this.selector = e.selector, this.context = e.context), b.makeArray(e, this)) + }, selector: "", length: 0, size: function () { + return this.length + }, toArray: function () { + return h.call(this) + }, get: function (e) { + return null == e ? this.toArray() : 0 > e ? this[this.length + e] : this[e] + }, pushStack: function (e) { + var t = b.merge(this.constructor(), e); + return t.prevObject = this, t.context = this.context, t + }, each: function (e, t) { + return b.each(this, e, t) + }, ready: function (e) { + return b.ready.promise().done(e), this + }, slice: function () { + return this.pushStack(h.apply(this, arguments)) + }, first: function () { + return this.eq(0) + }, last: function () { + return this.eq(-1) + }, eq: function (e) { + var t = this.length, n = +e + (0 > e ? t : 0); + return this.pushStack(n >= 0 && t > n ? [this[n]] : []) + }, map: function (e) { + return this.pushStack(b.map(this, function (t, n) { + return e.call(t, n, t) + }, c)) + }, end: function () { + return this.prevObject || this.constructor(null) + }, push: d, sort: [].sort, splice: [].splice}, b.fn.init.prototype = b.fn, b.extend = b.fn.extend = function () { + var e, n, r, i, o, a, s = arguments[0] || {}, u = 1, l = arguments.length, c = !1; + for ("boolean" == typeof s && (c = s, s = arguments[1] || {}, u = 2), "object" == typeof s || b.isFunction(s) || (s = {}), l === u && (s = this, --u); l > u; u++)if (null != (o = arguments[u]))for (i in o)e = s[i], r = o[i], s !== r && (c && r && (b.isPlainObject(r) || (n = b.isArray(r))) ? (n ? (n = !1, a = e && b.isArray(e) ? e : []) : a = e && b.isPlainObject(e) ? e : {}, s[i] = b.extend(c, a, r)) : r !== t && (s[i] = r)); + return s + }, b.extend({noConflict: function (t) { + return e.$ === b && (e.$ = u), t && e.jQuery === b && (e.jQuery = s), b + }, isReady: !1, readyWait: 1, holdReady: function (e) { + e ? b.readyWait++ : b.ready(!0) + }, ready: function (e) { + if (e === !0 ? !--b.readyWait : !b.isReady) { + if (!o.body)return setTimeout(b.ready); + b.isReady = !0, e !== !0 && --b.readyWait > 0 || (n.resolveWith(o, [b]), b.fn.trigger && b(o).trigger("ready").off("ready")) + } + }, isFunction: function (e) { + return"function" === b.type(e) + }, isArray: Array.isArray || function (e) { + return"array" === b.type(e) + }, isWindow: function (e) { + return null != e && e == e.window + }, isNumeric: function (e) { + return!isNaN(parseFloat(e)) && isFinite(e) + }, type: function (e) { + return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? l[m.call(e)] || "object" : typeof e + }, isPlainObject: function (e) { + if (!e || "object" !== b.type(e) || e.nodeType || b.isWindow(e))return!1; + try { + if (e.constructor && !y.call(e, "constructor") && !y.call(e.constructor.prototype, "isPrototypeOf"))return!1 + } catch (n) { + return!1 + } + var r; + for (r in e); + return r === t || y.call(e, r) + }, isEmptyObject: function (e) { + var t; + for (t in e)return!1; + return!0 + }, error: function (e) { + throw Error(e) + }, parseHTML: function (e, t, n) { + if (!e || "string" != typeof e)return null; + "boolean" == typeof t && (n = t, t = !1), t = t || o; + var r = C.exec(e), i = !n && []; + return r ? [t.createElement(r[1])] : (r = b.buildFragment([e], t, i), i && b(i).remove(), b.merge([], r.childNodes)) + }, parseJSON: function (n) { + return e.JSON && e.JSON.parse ? e.JSON.parse(n) : null === n ? n : "string" == typeof n && (n = b.trim(n), n && k.test(n.replace(S, "@").replace(A, "]").replace(E, ""))) ? Function("return " + n)() : (b.error("Invalid JSON: " + n), t) + }, parseXML: function (n) { + var r, i; + if (!n || "string" != typeof n)return null; + try { + e.DOMParser ? (i = new DOMParser, r = i.parseFromString(n, "text/xml")) : (r = new ActiveXObject("Microsoft.XMLDOM"), r.async = "false", r.loadXML(n)) + } catch (o) { + r = t + } + return r && r.documentElement && !r.getElementsByTagName("parsererror").length || b.error("Invalid XML: " + n), r + }, noop: function () { + }, globalEval: function (t) { + t && b.trim(t) && (e.execScript || function (t) { + e.eval.call(e, t) + })(t) + }, camelCase: function (e) { + return e.replace(j, "ms-").replace(D, L) + }, nodeName: function (e, t) { + return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase() + }, each: function (e, t, n) { + var r, i = 0, o = e.length, a = M(e); + if (n) { + if (a) { + for (; o > i; i++)if (r = t.apply(e[i], n), r === !1)break + } else for (i in e)if (r = t.apply(e[i], n), r === !1)break + } else if (a) { + for (; o > i; i++)if (r = t.call(e[i], i, e[i]), r === !1)break + } else for (i in e)if (r = t.call(e[i], i, e[i]), r === !1)break; + return e + }, trim: v && !v.call("\ufeff\u00a0") ? function (e) { + return null == e ? "" : v.call(e) + } : function (e) { + return null == e ? "" : (e + "").replace(T, "") + }, makeArray: function (e, t) { + var n = t || []; + return null != e && (M(Object(e)) ? b.merge(n, "string" == typeof e ? [e] : e) : d.call(n, e)), n + }, inArray: function (e, t, n) { + var r; + if (t) { + if (g)return g.call(t, e, n); + for (r = t.length, n = n ? 0 > n ? Math.max(0, r + n) : n : 0; r > n; n++)if (n in t && t[n] === e)return n + } + return-1 + }, merge: function (e, n) { + var r = n.length, i = e.length, o = 0; + if ("number" == typeof r)for (; r > o; o++)e[i++] = n[o]; else while (n[o] !== t)e[i++] = n[o++]; + return e.length = i, e + }, grep: function (e, t, n) { + var r, i = [], o = 0, a = e.length; + for (n = !!n; a > o; o++)r = !!t(e[o], o), n !== r && i.push(e[o]); + return i + }, map: function (e, t, n) { + var r, i = 0, o = e.length, a = M(e), s = []; + if (a)for (; o > i; i++)r = t(e[i], i, n), null != r && (s[s.length] = r); else for (i in e)r = t(e[i], i, n), null != r && (s[s.length] = r); + return f.apply([], s) + }, guid: 1, proxy: function (e, n) { + var r, i, o; + return"string" == typeof n && (o = e[n], n = e, e = o), b.isFunction(e) ? (r = h.call(arguments, 2), i = function () { + return e.apply(n || this, r.concat(h.call(arguments))) + }, i.guid = e.guid = e.guid || b.guid++, i) : t + }, access: function (e, n, r, i, o, a, s) { + var u = 0, l = e.length, c = null == r; + if ("object" === b.type(r)) { + o = !0; + for (u in r)b.access(e, n, u, r[u], !0, a, s) + } else if (i !== t && (o = !0, b.isFunction(i) || (s = !0), c && (s ? (n.call(e, i), n = null) : (c = n, n = function (e, t, n) { + return c.call(b(e), n) + })), n))for (; l > u; u++)n(e[u], r, s ? i : i.call(e[u], u, n(e[u], r))); + return o ? e : c ? n.call(e) : l ? n(e[0], r) : a + }, now: function () { + return(new Date).getTime() + }}), b.ready.promise = function (t) { + if (!n)if (n = b.Deferred(), "complete" === o.readyState)setTimeout(b.ready); else if (o.addEventListener)o.addEventListener("DOMContentLoaded", H, !1), e.addEventListener("load", H, !1); else { + o.attachEvent("onreadystatechange", H), e.attachEvent("onload", H); + var r = !1; + try { + r = null == e.frameElement && o.documentElement + } catch (i) { + } + r && r.doScroll && function a() { + if (!b.isReady) { + try { + r.doScroll("left") + } catch (e) { + return setTimeout(a, 50) + } + q(), b.ready() + } + }() + } + return n.promise(t) + }, b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function (e, t) { + l["[object " + t + "]"] = t.toLowerCase() + }, b); + function M(e) { + var t = e.length, n = b.type(e); + return b.isWindow(e) ? !1 : 1 === e.nodeType && t ? !0 : "array" === n || "function" !== n && (0 === t || "number" == typeof t && t > 0 && t - 1 in e) + } + + r = b(o); + var _ = {}; + + function F(e) { + var t = _[e] = {}; + return b.each(e.match(w) || [], function (e, n) { + t[n] = !0 + }, b), t + } + + b.Callbacks = function (e) { + e = "string" == typeof e ? _[e] || F(e) : b.extend({}, e); + var n, r, i, o, a, s, u = [], l = !e.once && [], c = function (t) { + for (r = e.memory && t, i = !0, a = s || 0, s = 0, o = u.length, n = !0; u && o > a; a++)if (u[a].apply(t[0], t[1]) === !1 && e.stopOnFalse) { + r = !1; + break + } + n = !1, u && (l ? l.length && c(l.shift()) : r ? u = [] : p.disable()) + }, p = {add: function () { + if (u) { + var t = u.length; + (function i(t) { + b.each(t, function (t, n) { + var r = b.type(n); + "function" === r ? e.unique && p.has(n) || u.push(n) : n && n.length && "string" !== r && i(n) + }, b) + })(arguments), n ? o = u.length : r && (s = t, c(r)) + } + return this + }, remove: function () { + return u && b.each(arguments, function (e, t) { + var r; + while ((r = b.inArray(t, u, r)) > -1)u.splice(r, 1), n && (o >= r && o--, a >= r && a--) + }, b), this + }, has: function (e) { + return e ? b.inArray(e, u) > -1 : !(!u || !u.length) + }, empty: function () { + return u = [], this + }, disable: function () { + return u = l = r = t, this + }, disabled: function () { + return!u + }, lock: function () { + return l = t, r || p.disable(), this + }, locked: function () { + return!l + }, fireWith: function (e, t) { + return t = t || [], t = [e, t.slice ? t.slice() : t], !u || i && !l || (n ? l.push(t) : c(t)), this + }, fire: function () { + return p.fireWith(this, arguments), this + }, fired: function () { + return!!i + }}; + return p + }, b.extend({Deferred: function (e) { + var t = [ + ["resolve", "done", b.Callbacks("once memory"), "resolved"], + ["reject", "fail", b.Callbacks("once memory"), "rejected"], + ["notify", "progress", b.Callbacks("memory")] + ], n = "pending", r = {state: function () { + return n + }, always: function () { + return i.done(arguments).fail(arguments), this + }, then: function () { + var e = arguments; + return b.Deferred(function (n) { + b.each(t, function (t, o) { + var a = o[0], s = b.isFunction(e[t]) && e[t]; + i[o[1]](function () { + var e = s && s.apply(this, arguments); + e && b.isFunction(e.promise) ? e.promise().done(n.resolve).fail(n.reject).progress(n.notify) : n[a + "With"](this === r ? n.promise() : this, s ? [e] : arguments) + }) + }, b), e = null + }).promise() + }, promise: function (e) { + return null != e ? b.extend(e, r) : r + }}, i = {}; + return r.pipe = r.then, b.each(t, function (e, o) { + var a = o[2], s = o[3]; + r[o[1]] = a.add, s && a.add(function () { + n = s + }, t[1 ^ e][2].disable, t[2][2].lock), i[o[0]] = function () { + return i[o[0] + "With"](this === i ? r : this, arguments), this + }, i[o[0] + "With"] = a.fireWith + }, b), r.promise(i), e && e.call(i, i), i + }, when: function (e) { + var t = 0, n = h.call(arguments), r = n.length, i = 1 !== r || e && b.isFunction(e.promise) ? r : 0, o = 1 === i ? e : b.Deferred(), a = function (e, t, n) { + return function (r) { + t[e] = this, n[e] = arguments.length > 1 ? h.call(arguments) : r, n === s ? o.notifyWith(t, n) : --i || o.resolveWith(t, n) + } + }, s, u, l; + if (r > 1)for (s = Array(r), u = Array(r), l = Array(r); r > t; t++)n[t] && b.isFunction(n[t].promise) ? n[t].promise().done(a(t, l, n)).fail(o.reject).progress(a(t, u, s)) : --i; + return i || o.resolveWith(l, n), o.promise() + }}), b.support = function () { + var t, n, r, a, s, u, l, c, p, f, d = o.createElement("div"); + if (d.setAttribute("className", "t"), d.innerHTML = "
a", n = d.getElementsByTagName("*"), r = d.getElementsByTagName("a")[0], !n || !r || !n.length)return{}; + s = o.createElement("select"), l = s.appendChild(o.createElement("option")), a = d.getElementsByTagName("input")[0], r.style.cssText = "top:1px;float:left;opacity:.5", t = {getSetAttribute: "t" !== d.className, leadingWhitespace: 3 === d.firstChild.nodeType, tbody: !d.getElementsByTagName("tbody").length, htmlSerialize: !!d.getElementsByTagName("link").length, style: /top/.test(r.getAttribute("style")), hrefNormalized: "/a" === r.getAttribute("href"), opacity: /^0.5/.test(r.style.opacity), cssFloat: !!r.style.cssFloat, checkOn: !!a.value, optSelected: l.selected, enctype: !!o.createElement("form").enctype, html5Clone: "<:nav>" !== o.createElement("nav").cloneNode(!0).outerHTML, boxModel: "CSS1Compat" === o.compatMode, deleteExpando: !0, noCloneEvent: !0, inlineBlockNeedsLayout: !1, shrinkWrapBlocks: !1, reliableMarginRight: !0, boxSizingReliable: !0, pixelPosition: !1}, a.checked = !0, t.noCloneChecked = a.cloneNode(!0).checked, s.disabled = !0, t.optDisabled = !l.disabled; + try { + delete d.test + } catch (h) { + t.deleteExpando = !1 + } + a = o.createElement("input"), a.setAttribute("value", ""), t.input = "" === a.getAttribute("value"), a.value = "t", a.setAttribute("type", "radio"), t.radioValue = "t" === a.value, a.setAttribute("checked", "t"), a.setAttribute("name", "t"), u = o.createDocumentFragment(), u.appendChild(a), t.appendChecked = a.checked, t.checkClone = u.cloneNode(!0).cloneNode(!0).lastChild.checked, d.attachEvent && (d.attachEvent("onclick", function () { + t.noCloneEvent = !1 + }), d.cloneNode(!0).click()); + for (f in{submit: !0, change: !0, focusin: !0})d.setAttribute(c = "on" + f, "t"), t[f + "Bubbles"] = c in e || d.attributes[c].expando === !1; + return d.style.backgroundClip = "content-box", d.cloneNode(!0).style.backgroundClip = "", t.clearCloneStyle = "content-box" === d.style.backgroundClip, b(function () { + var n, r, a, s = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;", u = o.getElementsByTagName("body")[0]; + u && (n = o.createElement("div"), n.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px", u.appendChild(n).appendChild(d), d.innerHTML = "
t
", a = d.getElementsByTagName("td"), a[0].style.cssText = "padding:0;margin:0;border:0;display:none", p = 0 === a[0].offsetHeight, a[0].style.display = "", a[1].style.display = "none", t.reliableHiddenOffsets = p && 0 === a[0].offsetHeight, d.innerHTML = "", d.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;", t.boxSizing = 4 === d.offsetWidth, t.doesNotIncludeMarginInBodyOffset = 1 !== u.offsetTop, e.getComputedStyle && (t.pixelPosition = "1%" !== (e.getComputedStyle(d, null) || {}).top, t.boxSizingReliable = "4px" === (e.getComputedStyle(d, null) || {width: "4px"}).width, r = d.appendChild(o.createElement("div")), r.style.cssText = d.style.cssText = s, r.style.marginRight = r.style.width = "0", d.style.width = "1px", t.reliableMarginRight = !parseFloat((e.getComputedStyle(r, null) || {}).marginRight)), typeof d.style.zoom !== i && (d.innerHTML = "", d.style.cssText = s + "width:1px;padding:1px;display:inline;zoom:1", t.inlineBlockNeedsLayout = 3 === d.offsetWidth, d.style.display = "block", d.innerHTML = "

", d.firstChild.style.width = "5px", t.shrinkWrapBlocks = 3 !== d.offsetWidth, t.inlineBlockNeedsLayout && (u.style.zoom = 1)), u.removeChild(n), n = d = a = r = null) + }), n = s = u = l = r = a = null, t + }(); + var O = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, B = /([A-Z])/g; + + function P(e, n, r, i) { + if (b.acceptData(e)) { + var o, a, s = b.expando, u = "string" == typeof n, l = e.nodeType, p = l ? b.cache : e, f = l ? e[s] : e[s] && s; + if (f && p[f] && (i || p[f].data) || !u || r !== t)return f || (l ? e[s] = f = c.pop() || b.guid++ : f = s), p[f] || (p[f] = {}, l || (p[f].toJSON = b.noop)), ("object" == typeof n || "function" == typeof n) && (i ? p[f] = b.extend(p[f], n) : p[f].data = b.extend(p[f].data, n)), o = p[f], i || (o.data || (o.data = {}), o = o.data), r !== t && (o[b.camelCase(n)] = r), u ? (a = o[n], null == a && (a = o[b.camelCase(n)])) : a = o, a + } + } + + function R(e, t, n) { + if (b.acceptData(e)) { + var r, i, o, a = e.nodeType, s = a ? b.cache : e, u = a ? e[b.expando] : b.expando; + if (s[u]) { + if (t && (o = n ? s[u] : s[u].data)) { + b.isArray(t) ? t = t.concat(b.map(t, b.camelCase, c)) : t in o ? t = [t] : (t = b.camelCase(t), t = t in o ? [t] : t.split(" ")); + for (r = 0, i = t.length; i > r; r++)delete o[t[r]]; + if (!(n ? $ : b.isEmptyObject)(o))return + } + (n || (delete s[u].data, $(s[u]))) && (a ? b.cleanData([e], !0) : b.support.deleteExpando || s != s.window ? delete s[u] : s[u] = null) + } + } + } + + b.extend({cache: {}, expando: "jQuery" + (p + Math.random()).replace(/\D/g, ""), noData: {embed: !0, object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", applet: !0}, hasData: function (e) { + return e = e.nodeType ? b.cache[e[b.expando]] : e[b.expando], !!e && !$(e) + }, data: function (e, t, n) { + return P(e, t, n) + }, removeData: function (e, t) { + return R(e, t) + }, _data: function (e, t, n) { + return P(e, t, n, !0) + }, _removeData: function (e, t) { + return R(e, t, !0) + }, acceptData: function (e) { + if (e.nodeType && 1 !== e.nodeType && 9 !== e.nodeType)return!1; + var t = e.nodeName && b.noData[e.nodeName.toLowerCase()]; + return!t || t !== !0 && e.getAttribute("classid") === t + }}), b.fn.extend({data: function (e, n) { + var r, i, o = this[0], a = 0, s = null; + if (e === t) { + if (this.length && (s = b.data(o), 1 === o.nodeType && !b._data(o, "parsedAttrs"))) { + for (r = o.attributes; r.length > a; a++)i = r[a].name, i.indexOf("data-") || (i = b.camelCase(i.slice(5)), W(o, i, s[i])); + b._data(o, "parsedAttrs", !0) + } + return s + } + return"object" == typeof e ? this.each(function () { + b.data(this, e) + }, b) : b.access(this, function (n) { + return n === t ? o ? W(o, e, b.data(o, e)) : null : (this.each(function () { + b.data(this, e, n) + }, b), t) + }, null, n, arguments.length > 1, null, !0) + }, removeData: function (e) { + return this.each(function () { + b.removeData(this, e) + }, b) + }}); + function W(e, n, r) { + if (r === t && 1 === e.nodeType) { + var i = "data-" + n.replace(B, "-$1").toLowerCase(); + if (r = e.getAttribute(i), "string" == typeof r) { + try { + r = "true" === r ? !0 : "false" === r ? !1 : "null" === r ? null : +r + "" === r ? +r : O.test(r) ? b.parseJSON(r) : r + } catch (o) { + } + b.data(e, n, r) + } else r = t + } + return r + } + + function $(e) { + var t; + for (t in e)if (("data" !== t || !b.isEmptyObject(e[t])) && "toJSON" !== t)return!1; + return!0 + } + + b.extend({queue: function (e, n, r) { + var i; + return e ? (n = (n || "fx") + "queue", i = b._data(e, n), r && (!i || b.isArray(r) ? i = b._data(e, n, b.makeArray(r)) : i.push(r)), i || []) : t + }, dequeue: function (e, t) { + t = t || "fx"; + var n = b.queue(e, t), r = n.length, i = n.shift(), o = b._queueHooks(e, t), a = function () { + b.dequeue(e, t) + }; + "inprogress" === i && (i = n.shift(), r--), o.cur = i, i && ("fx" === t && n.unshift("inprogress"), delete o.stop, i.call(e, a, o)), !r && o && o.empty.fire() + }, _queueHooks: function (e, t) { + var n = t + "queueHooks"; + return b._data(e, n) || b._data(e, n, {empty: b.Callbacks("once memory").add(function () { + b._removeData(e, t + "queue"), b._removeData(e, n) + })}) + }}), b.fn.extend({queue: function (e, n) { + var r = 2; + return"string" != typeof e && (n = e, e = "fx", r--), r > arguments.length ? b.queue(this[0], e) : n === t ? this : this.each(function () { + var t = b.queue(this, e, n); + b._queueHooks(this, e), "fx" === e && "inprogress" !== t[0] && b.dequeue(this, e) + }, b) + }, dequeue: function (e) { + return this.each(function () { + b.dequeue(this, e) + }, b) + }, delay: function (e, t) { + return e = b.fx ? b.fx.speeds[e] || e : e, t = t || "fx", this.queue(t, function (t, n) { + var r = setTimeout(t, e); + n.stop = function () { + clearTimeout(r) + } + }) + }, clearQueue: function (e) { + return this.queue(e || "fx", []) + }, promise: function (e, n) { + var r, i = 1, o = b.Deferred(), a = this, s = this.length, u = function () { + --i || o.resolveWith(a, [a]) + }; + "string" != typeof e && (n = e, e = t), e = e || "fx"; + while (s--)r = b._data(a[s], e + "queueHooks"), r && r.empty && (i++, r.empty.add(u)); + return u(), o.promise(n) + }}); + var I, z, X = /[\t\r\n]/g, U = /\r/g, V = /^(?:input|select|textarea|button|object)$/i, Y = /^(?:a|area)$/i, J = /^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i, G = /^(?:checked|selected)$/i, Q = b.support.getSetAttribute, K = b.support.input; + b.fn.extend({attr: function (e, t) { + return b.access(this, b.attr, e, t, arguments.length > 1) + }, removeAttr: function (e) { + return this.each(function () { + b.removeAttr(this, e) + }, b) + }, prop: function (e, t) { + return b.access(this, b.prop, e, t, arguments.length > 1) + }, removeProp: function (e) { + return e = b.propFix[e] || e, this.each(function () { + try { + this[e] = t, delete this[e] + } catch (n) { + } + }, b) + }, addClass: function (e) { + var t, n, r, i, o, a = 0, s = this.length, u = "string" == typeof e && e; + if (b.isFunction(e))return this.each(function (t) { + b(this).addClass(e.call(this, t, this.className)) + }, b); + if (u)for (t = (e || "").match(w) || []; s > a; a++)if (n = this[a], r = 1 === n.nodeType && (n.className ? (" " + n.className + " ").replace(X, " ") : " ")) { + o = 0; + while (i = t[o++])0 > r.indexOf(" " + i + " ") && (r += i + " "); + n.className = b.trim(r) + } + return this + }, removeClass: function (e) { + var t, n, r, i, o, a = 0, s = this.length, u = 0 === arguments.length || "string" == typeof e && e; + if (b.isFunction(e))return this.each(function (t) { + b(this).removeClass(e.call(this, t, this.className)) + }, b); + if (u)for (t = (e || "").match(w) || []; s > a; a++)if (n = this[a], r = 1 === n.nodeType && (n.className ? (" " + n.className + " ").replace(X, " ") : "")) { + o = 0; + while (i = t[o++])while (r.indexOf(" " + i + " ") >= 0)r = r.replace(" " + i + " ", " "); + n.className = e ? b.trim(r) : "" + } + return this + }, toggleClass: function (e, t) { + var n = typeof e, r = "boolean" == typeof t; + return b.isFunction(e) ? this.each(function (n) { + b(this).toggleClass(e.call(this, n, this.className, t), t) + }, b) : this.each(function () { + if ("string" === n) { + var o, a = 0, s = b(this), u = t, l = e.match(w) || []; + while (o = l[a++])u = r ? u : !s.hasClass(o), s[u ? "addClass" : "removeClass"](o) + } else(n === i || "boolean" === n) && (this.className && b._data(this, "__className__", this.className), this.className = this.className || e === !1 ? "" : b._data(this, "__className__") || "") + }, b) + }, hasClass: function (e) { + var t = " " + e + " ", n = 0, r = this.length; + for (; r > n; n++)if (1 === this[n].nodeType && (" " + this[n].className + " ").replace(X, " ").indexOf(t) >= 0)return!0; + return!1 + }, val: function (e) { + var n, r, i, o = this[0]; + { + if (arguments.length)return i = b.isFunction(e), this.each(function (n) { + var o, a = b(this); + 1 === this.nodeType && (o = i ? e.call(this, n, a.val()) : e, null == o ? o = "" : "number" == typeof o ? o += "" : b.isArray(o) && (o = b.map(o, function (e) { + return null == e ? "" : e + "" + }, c)), r = b.valHooks[this.type] || b.valHooks[this.nodeName.toLowerCase()], r && "set"in r && r.set(this, o, "value") !== t || (this.value = o)) + }, b); + if (o)return r = b.valHooks[o.type] || b.valHooks[o.nodeName.toLowerCase()], r && "get"in r && (n = r.get(o, "value")) !== t ? n : (n = o.value, "string" == typeof n ? n.replace(U, "") : null == n ? "" : n) + } + }}), b.extend({valHooks: {option: {get: function (e) { + var t = e.attributes.value; + return!t || t.specified ? e.value : e.text + }}, select: {get: function (e) { + var t, n, r = e.options, i = e.selectedIndex, o = "select-one" === e.type || 0 > i, a = o ? null : [], s = o ? i + 1 : r.length, u = 0 > i ? s : o ? i : 0; + for (; s > u; u++)if (n = r[u], !(!n.selected && u !== i || (b.support.optDisabled ? n.disabled : null !== n.getAttribute("disabled")) || n.parentNode.disabled && b.nodeName(n.parentNode, "optgroup"))) { + if (t = b(n).val(), o)return t; + a.push(t) + } + return a + }, set: function (e, t) { + var n = b.makeArray(t); + return b(e).find("option").each(function () { + this.selected = b.inArray(b(this).val(), n) >= 0 + }, b), n.length || (e.selectedIndex = -1), n + }}}, attr: function (e, n, r) { + var o, a, s, u = e.nodeType; + if (e && 3 !== u && 8 !== u && 2 !== u)return typeof e.getAttribute === i ? b.prop(e, n, r) : (a = 1 !== u || !b.isXMLDoc(e), a && (n = n.toLowerCase(), o = b.attrHooks[n] || (J.test(n) ? z : I)), r === t ? o && a && "get"in o && null !== (s = o.get(e, n)) ? s : (typeof e.getAttribute !== i && (s = e.getAttribute(n)), null == s ? t : s) : null !== r ? o && a && "set"in o && (s = o.set(e, r, n)) !== t ? s : (e.setAttribute(n, r + ""), r) : (b.removeAttr(e, n), t)) + }, removeAttr: function (e, t) { + var n, r, i = 0, o = t && t.match(w); + if (o && 1 === e.nodeType)while (n = o[i++])r = b.propFix[n] || n, J.test(n) ? !Q && G.test(n) ? e[b.camelCase("default-" + n)] = e[r] = !1 : e[r] = !1 : b.attr(e, n, ""), e.removeAttribute(Q ? n : r) + }, attrHooks: {type: {set: function (e, t) { + if (!b.support.radioValue && "radio" === t && b.nodeName(e, "input")) { + var n = e.value; + return e.setAttribute("type", t), n && (e.value = n), t + } + }}}, propFix: {tabindex: "tabIndex", readonly: "readOnly", "for": "htmlFor", "class": "className", maxlength: "maxLength", cellspacing: "cellSpacing", cellpadding: "cellPadding", rowspan: "rowSpan", colspan: "colSpan", usemap: "useMap", frameborder: "frameBorder", contenteditable: "contentEditable"}, prop: function (e, n, r) { + var i, o, a, s = e.nodeType; + if (e && 3 !== s && 8 !== s && 2 !== s)return a = 1 !== s || !b.isXMLDoc(e), a && (n = b.propFix[n] || n, o = b.propHooks[n]), r !== t ? o && "set"in o && (i = o.set(e, r, n)) !== t ? i : e[n] = r : o && "get"in o && null !== (i = o.get(e, n)) ? i : e[n] + }, propHooks: {tabIndex: {get: function (e) { + var n = e.getAttributeNode("tabindex"); + return n && n.specified ? parseInt(n.value, 10) : V.test(e.nodeName) || Y.test(e.nodeName) && e.href ? 0 : t + }}}}), z = {get: function (e, n) { + var r = b.prop(e, n), i = "boolean" == typeof r && e.getAttribute(n), o = "boolean" == typeof r ? K && Q ? null != i : G.test(n) ? e[b.camelCase("default-" + n)] : !!i : e.getAttributeNode(n); + return o && o.value !== !1 ? n.toLowerCase() : t + }, set: function (e, t, n) { + return t === !1 ? b.removeAttr(e, n) : K && Q || !G.test(n) ? e.setAttribute(!Q && b.propFix[n] || n, n) : e[b.camelCase("default-" + n)] = e[n] = !0, n + }}, K && Q || (b.attrHooks.value = {get: function (e, n) { + var r = e.getAttributeNode(n); + return b.nodeName(e, "input") ? e.defaultValue : r && r.specified ? r.value : t + }, set: function (e, n, r) { + return b.nodeName(e, "input") ? (e.defaultValue = n, t) : I && I.set(e, n, r) + }}), Q || (I = b.valHooks.button = {get: function (e, n) { + var r = e.getAttributeNode(n); + return r && ("id" === n || "name" === n || "coords" === n ? "" !== r.value : r.specified) ? r.value : t + }, set: function (e, n, r) { + var i = e.getAttributeNode(r); + return i || e.setAttributeNode(i = e.ownerDocument.createAttribute(r)), i.value = n += "", "value" === r || n === e.getAttribute(r) ? n : t + }}, b.attrHooks.contenteditable = {get: I.get, set: function (e, t, n) { + I.set(e, "" === t ? !1 : t, n) + }}, b.each(["width", "height"], function (e, n) { + b.attrHooks[n] = b.extend(b.attrHooks[n], {set: function (e, r) { + return"" === r ? (e.setAttribute(n, "auto"), r) : t + }}) + }, b)), b.support.hrefNormalized || (b.each(["href", "src", "width", "height"], function (e, n) { + b.attrHooks[n] = b.extend(b.attrHooks[n], {get: function (e) { + var r = e.getAttribute(n, 2); + return null == r ? t : r + }}) + }, b), b.each(["href", "src"], function (e, t) { + b.propHooks[t] = {get: function (e) { + return e.getAttribute(t, 4) + }} + }, b)), b.support.style || (b.attrHooks.style = {get: function (e) { + return e.style.cssText || t + }, set: function (e, t) { + return e.style.cssText = t + "" + }}), b.support.optSelected || (b.propHooks.selected = b.extend(b.propHooks.selected, {get: function (e) { + var t = e.parentNode; + return t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex), null + }})), b.support.enctype || (b.propFix.enctype = "encoding"), b.support.checkOn || b.each(["radio", "checkbox"], function () { + b.valHooks[this] = {get: function (e) { + return null === e.getAttribute("value") ? "on" : e.value + }} + }, b), b.each(["radio", "checkbox"], function () { + b.valHooks[this] = b.extend(b.valHooks[this], {set: function (e, n) { + return b.isArray(n) ? e.checked = b.inArray(b(e).val(), n) >= 0 : t + }}) + }, b); + var Z = /^(?:input|select|textarea)$/i, et = /^key/, tt = /^(?:mouse|contextmenu)|click/, nt = /^(?:focusinfocus|focusoutblur)$/, rt = /^([^.]*)(?:\.(.+)|)$/; + + function it() { + return!0 + } + + function ot() { + return!1 + } + + b.event = {global: {}, add: function (e, n, r, o, a) { + var s, u, l, c, p, f, d, h, g, m, y, v = b._data(e); + if (v) { + r.handler && (c = r, r = c.handler, a = c.selector), r.guid || (r.guid = b.guid++), (u = v.events) || (u = v.events = {}), (f = v.handle) || (f = v.handle = function (e) { + return typeof b === i || e && b.event.triggered === e.type ? t : b.event.dispatch.apply(f.elem, arguments) + }, f.elem = e), n = (n || "").match(w) || [""], l = n.length; + while (l--)s = rt.exec(n[l]) || [], g = y = s[1], m = (s[2] || "").split(".").sort(), p = b.event.special[g] || {}, g = (a ? p.delegateType : p.bindType) || g, p = b.event.special[g] || {}, d = b.extend({type: g, origType: y, data: o, handler: r, guid: r.guid, selector: a, needsContext: a && b.expr.match.needsContext.test(a), namespace: m.join(".")}, c), (h = u[g]) || (h = u[g] = [], h.delegateCount = 0, p.setup && p.setup.call(e, o, m, f) !== !1 || (e.addEventListener ? e.addEventListener(g, f, !1) : e.attachEvent && e.attachEvent("on" + g, f))), p.add && (p.add.call(e, d), d.handler.guid || (d.handler.guid = r.guid)), a ? h.splice(h.delegateCount++, 0, d) : h.push(d), b.event.global[g] = !0; + e = null + } + }, remove: function (e, t, n, r, i) { + var o, a, s, u, l, c, p, f, d, h, g, m = b.hasData(e) && b._data(e); + if (m && (c = m.events)) { + t = (t || "").match(w) || [""], l = t.length; + while (l--)if (s = rt.exec(t[l]) || [], d = g = s[1], h = (s[2] || "").split(".").sort(), d) { + p = b.event.special[d] || {}, d = (r ? p.delegateType : p.bindType) || d, f = c[d] || [], s = s[2] && RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)"), u = o = f.length; + while (o--)a = f[o], !i && g !== a.origType || n && n.guid !== a.guid || s && !s.test(a.namespace) || r && r !== a.selector && ("**" !== r || !a.selector) || (f.splice(o, 1), a.selector && f.delegateCount--, p.remove && p.remove.call(e, a)); + u && !f.length && (p.teardown && p.teardown.call(e, h, m.handle) !== !1 || b.removeEvent(e, d, m.handle), delete c[d]) + } else for (d in c)b.event.remove(e, d + t[l], n, r, !0); + b.isEmptyObject(c) && (delete m.handle, b._removeData(e, "events")) + } + }, trigger: function (n, r, i, a) { + var s, u, l, c, p, f, d, h = [i || o], g = y.call(n, "type") ? n.type : n, m = y.call(n, "namespace") ? n.namespace.split(".") : []; + if (l = f = i = i || o, 3 !== i.nodeType && 8 !== i.nodeType && !nt.test(g + b.event.triggered) && (g.indexOf(".") >= 0 && (m = g.split("."), g = m.shift(), m.sort()), u = 0 > g.indexOf(":") && "on" + g, n = n[b.expando] ? n : new b.Event(g, "object" == typeof n && n), n.isTrigger = !0, n.namespace = m.join("."), n.namespace_re = n.namespace ? RegExp("(^|\\.)" + m.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, n.result = t, n.target || (n.target = i), r = null == r ? [n] : b.makeArray(r, [n]), p = b.event.special[g] || {}, a || !p.trigger || p.trigger.apply(i, r) !== !1)) { + if (!a && !p.noBubble && !b.isWindow(i)) { + for (c = p.delegateType || g, nt.test(c + g) || (l = l.parentNode); l; l = l.parentNode)h.push(l), f = l; + f === (i.ownerDocument || o) && h.push(f.defaultView || f.parentWindow || e) + } + d = 0; + while ((l = h[d++]) && !n.isPropagationStopped())n.type = d > 1 ? c : p.bindType || g, s = (b._data(l, "events") || {})[n.type] && b._data(l, "handle"), s && s.apply(l, r), s = u && l[u], s && b.acceptData(l) && s.apply && s.apply(l, r) === !1 && n.preventDefault(); + if (n.type = g, !(a || n.isDefaultPrevented() || p._default && p._default.apply(i.ownerDocument, r) !== !1 || "click" === g && b.nodeName(i, "a") || !b.acceptData(i) || !u || !i[g] || b.isWindow(i))) { + f = i[u], f && (i[u] = null), b.event.triggered = g; + try { + i[g]() + } catch (v) { + } + b.event.triggered = t, f && (i[u] = f) + } + return n.result + } + }, dispatch: function (e) { + e = b.event.fix(e); + var n, r, i, o, a, s = [], u = h.call(arguments), l = (b._data(this, "events") || {})[e.type] || [], c = b.event.special[e.type] || {}; + if (u[0] = e, e.delegateTarget = this, !c.preDispatch || c.preDispatch.call(this, e) !== !1) { + s = b.event.handlers.call(this, e, l), n = 0; + while ((o = s[n++]) && !e.isPropagationStopped()) { + e.currentTarget = o.elem, a = 0; + while ((i = o.handlers[a++]) && !e.isImmediatePropagationStopped())(!e.namespace_re || e.namespace_re.test(i.namespace)) && (e.handleObj = i, e.data = i.data, r = ((b.event.special[i.origType] || {}).handle || i.handler).apply(o.elem, u), r !== t && (e.result = r) === !1 && (e.preventDefault(), e.stopPropagation())) + } + return c.postDispatch && c.postDispatch.call(this, e), e.result + } + }, handlers: function (e, n) { + var r, i, o, a, s = [], u = n.delegateCount, l = e.target; + if (u && l.nodeType && (!e.button || "click" !== e.type))for (; l != this; l = l.parentNode || this)if (1 === l.nodeType && (l.disabled !== !0 || "click" !== e.type)) { + for (o = [], a = 0; u > a; a++)i = n[a], r = i.selector + " ", o[r] === t && (o[r] = i.needsContext ? b(r, this).index(l) >= 0 : b.find(r, this, null, [l]).length), o[r] && o.push(i); + o.length && s.push({elem: l, handlers: o}) + } + return n.length > u && s.push({elem: this, handlers: n.slice(u)}), s + }, fix: function (e) { + if (e[b.expando])return e; + var t, n, r, i = e.type, a = e, s = this.fixHooks[i]; + s || (this.fixHooks[i] = s = tt.test(i) ? this.mouseHooks : et.test(i) ? this.keyHooks : {}), r = s.props ? this.props.concat(s.props) : this.props, e = new b.Event(a), t = r.length; + while (t--)n = r[t], e[n] = a[n]; + return e.target || (e.target = a.srcElement || o), 3 === e.target.nodeType && (e.target = e.target.parentNode), e.metaKey = !!e.metaKey, s.filter ? s.filter(e, a) : e + }, props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), fixHooks: {}, keyHooks: {props: "char charCode key keyCode".split(" "), filter: function (e, t) { + return null == e.which && (e.which = null != t.charCode ? t.charCode : t.keyCode), e + }}, mouseHooks: {props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), filter: function (e, n) { + var r, i, a, s = n.button, u = n.fromElement; + return null == e.pageX && null != n.clientX && (i = e.target.ownerDocument || o, a = i.documentElement, r = i.body, e.pageX = n.clientX + (a && a.scrollLeft || r && r.scrollLeft || 0) - (a && a.clientLeft || r && r.clientLeft || 0), e.pageY = n.clientY + (a && a.scrollTop || r && r.scrollTop || 0) - (a && a.clientTop || r && r.clientTop || 0)), !e.relatedTarget && u && (e.relatedTarget = u === e.target ? n.toElement : u), e.which || s === t || (e.which = 1 & s ? 1 : 2 & s ? 3 : 4 & s ? 2 : 0), e + }}, special: {load: {noBubble: !0}, click: {trigger: function () { + return b.nodeName(this, "input") && "checkbox" === this.type && this.click ? (this.click(), !1) : t + }}, focus: {trigger: function () { + if (this !== o.activeElement && this.focus)try { + return this.focus(), !1 + } catch (e) { + } + }, delegateType: "focusin"}, blur: {trigger: function () { + return this === o.activeElement && this.blur ? (this.blur(), !1) : t + }, delegateType: "focusout"}, beforeunload: {postDispatch: function (e) { + e.result !== t && (e.originalEvent.returnValue = e.result) + }}}, simulate: function (e, t, n, r) { + var i = b.extend(new b.Event, n, {type: e, isSimulated: !0, originalEvent: {}}); + r ? b.event.trigger(i, null, t) : b.event.dispatch.call(t, i), i.isDefaultPrevented() && n.preventDefault() + }}, b.removeEvent = o.removeEventListener ? function (e, t, n) { + e.removeEventListener && e.removeEventListener(t, n, !1) + } : function (e, t, n) { + var r = "on" + t; + e.detachEvent && (typeof e[r] === i && (e[r] = null), e.detachEvent(r, n)) + }, b.Event = function (e, n) { + return this instanceof b.Event ? (e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || e.returnValue === !1 || e.getPreventDefault && e.getPreventDefault() ? it : ot) : this.type = e, n && b.extend(this, n), this.timeStamp = e && e.timeStamp || b.now(), this[b.expando] = !0, t) : new b.Event(e, n) + }, b.Event.prototype = {isDefaultPrevented: ot, isPropagationStopped: ot, isImmediatePropagationStopped: ot, preventDefault: function () { + var e = this.originalEvent; + this.isDefaultPrevented = it, e && (e.preventDefault ? e.preventDefault() : e.returnValue = !1) + }, stopPropagation: function () { + var e = this.originalEvent; + this.isPropagationStopped = it, e && (e.stopPropagation && e.stopPropagation(), e.cancelBubble = !0) + }, stopImmediatePropagation: function () { + this.isImmediatePropagationStopped = it, this.stopPropagation() + }}, b.each({mouseenter: "mouseover", mouseleave: "mouseout"}, function (e, t) { + b.event.special[e] = {delegateType: t, bindType: t, handle: function (e) { + var n, r = this, i = e.relatedTarget, o = e.handleObj; + return(!i || i !== r && !b.contains(r, i)) && (e.type = o.origType, n = o.handler.apply(this, arguments), e.type = t), n + }} + }, b), b.support.submitBubbles || (b.event.special.submit = {setup: function () { + return b.nodeName(this, "form") ? !1 : (b.event.add(this, "click._submit keypress._submit", function (e) { + var n = e.target, r = b.nodeName(n, "input") || b.nodeName(n, "button") ? n.form : t; + r && !b._data(r, "submitBubbles") && (b.event.add(r, "submit._submit", function (e) { + e._submit_bubble = !0 + }), b._data(r, "submitBubbles", !0)) + }), t) + }, postDispatch: function (e) { + e._submit_bubble && (delete e._submit_bubble, this.parentNode && !e.isTrigger && b.event.simulate("submit", this.parentNode, e, !0)) + }, teardown: function () { + return b.nodeName(this, "form") ? !1 : (b.event.remove(this, "._submit"), t) + }}), b.support.changeBubbles || (b.event.special.change = {setup: function () { + return Z.test(this.nodeName) ? (("checkbox" === this.type || "radio" === this.type) && (b.event.add(this, "propertychange._change", function (e) { + "checked" === e.originalEvent.propertyName && (this._just_changed = !0) + }), b.event.add(this, "click._change", function (e) { + this._just_changed && !e.isTrigger && (this._just_changed = !1), b.event.simulate("change", this, e, !0) + })), !1) : (b.event.add(this, "beforeactivate._change", function (e) { + var t = e.target; + Z.test(t.nodeName) && !b._data(t, "changeBubbles") && (b.event.add(t, "change._change", function (e) { + !this.parentNode || e.isSimulated || e.isTrigger || b.event.simulate("change", this.parentNode, e, !0) + }), b._data(t, "changeBubbles", !0)) + }), t) + }, handle: function (e) { + var n = e.target; + return this !== n || e.isSimulated || e.isTrigger || "radio" !== n.type && "checkbox" !== n.type ? e.handleObj.handler.apply(this, arguments) : t + }, teardown: function () { + return b.event.remove(this, "._change"), !Z.test(this.nodeName) + }}), b.support.focusinBubbles || b.each({focus: "focusin", blur: "focusout"}, function (e, t) { + var n = 0, r = function (e) { + b.event.simulate(t, e.target, b.event.fix(e), !0) + }; + b.event.special[t] = {setup: function () { + 0 === n++ && o.addEventListener(e, r, !0) + }, teardown: function () { + 0 === --n && o.removeEventListener(e, r, !0) + }} + }, b), b.fn.extend({on: function (e, n, r, i, o) { + var a, s; + if ("object" == typeof e) { + "string" != typeof n && (r = r || n, n = t); + for (a in e)this.on(a, n, r, e[a], o); + return this + } + if (null == r && null == i ? (i = n, r = n = t) : null == i && ("string" == typeof n ? (i = r, r = t) : (i = r, r = n, n = t)), i === !1)i = ot; else if (!i)return this; + return 1 === o && (s = i, i = function (e) { + return b().off(e), s.apply(this, arguments) + }, i.guid = s.guid || (s.guid = b.guid++)), this.each(function () { + b.event.add(this, e, i, r, n) + }, b) + }, one: function (e, t, n, r) { + return this.on(e, t, n, r, 1) + }, off: function (e, n, r) { + var i, o; + if (e && e.preventDefault && e.handleObj)return i = e.handleObj, b(e.delegateTarget).off(i.namespace ? i.origType + "." + i.namespace : i.origType, i.selector, i.handler), this; + if ("object" == typeof e) { + for (o in e)this.off(o, n, e[o]); + return this + } + return(n === !1 || "function" == typeof n) && (r = n, n = t), r === !1 && (r = ot), this.each(function () { + b.event.remove(this, e, r, n) + }, b) + }, bind: function (e, t, n) { + return this.on(e, null, t, n) + }, unbind: function (e, t) { + return this.off(e, null, t) + }, delegate: function (e, t, n, r) { + return this.on(t, e, n, r) + }, undelegate: function (e, t, n) { + return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n) + }, trigger: function (e, t) { + return this.each(function () { + b.event.trigger(e, t, this) + }, b) + }, triggerHandler: function (e, n) { + var r = this[0]; + return r ? b.event.trigger(e, n, r, !0) : t + }}), function (e, t) { + var n, r, i, o, a, s, u, l, c, p, f, d, h, g, m, y, v, x = "sizzle" + -new Date, w = e.document, T = {}, N = 0, C = 0, k = it(), E = it(), S = it(), A = typeof t, j = 1 << 31, D = [], L = D.pop, H = D.push, q = D.slice, M = D.indexOf || function (e) { + var t = 0, n = this.length; + for (; n > t; t++)if (this[t] === e)return t; + return-1 + }, _ = "[\\x20\\t\\r\\n\\f]", F = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", O = F.replace("w", "w#"), B = "([*^$|!~]?=)", P = "\\[" + _ + "*(" + F + ")" + _ + "*(?:" + B + _ + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + O + ")|)|)" + _ + "*\\]", R = ":(" + F + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + P.replace(3, 8) + ")*)|.*)\\)|)", W = RegExp("^" + _ + "+|((?:^|[^\\\\])(?:\\\\.)*)" + _ + "+$", "g"), $ = RegExp("^" + _ + "*," + _ + "*"), I = RegExp("^" + _ + "*([\\x20\\t\\r\\n\\f>+~])" + _ + "*"), z = RegExp(R), X = RegExp("^" + O + "$"), U = {ID: RegExp("^#(" + F + ")"), CLASS: RegExp("^\\.(" + F + ")"), NAME: RegExp("^\\[name=['\"]?(" + F + ")['\"]?\\]"), TAG: RegExp("^(" + F.replace("w", "w*") + ")"), ATTR: RegExp("^" + P), PSEUDO: RegExp("^" + R), CHILD: RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + _ + "*(even|odd|(([+-]|)(\\d*)n|)" + _ + "*(?:([+-]|)" + _ + "*(\\d+)|))" + _ + "*\\)|)", "i"), needsContext: RegExp("^" + _ + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + _ + "*((?:-\\d)?\\d*)" + _ + "*\\)|)(?=[^-]|$)", "i")}, V = /[\x20\t\r\n\f]*[+~]/, Y = /^[^{]+\{\s*\[native code/, J = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, G = /^(?:input|select|textarea|button)$/i, Q = /^h\d$/i, K = /'|\\/g, Z = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g, et = /\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g, tt = function (e, t) { + var n = "0x" + t - 65536; + return n !== n ? t : 0 > n ? String.fromCharCode(n + 65536) : String.fromCharCode(55296 | n >> 10, 56320 | 1023 & n) + }; + try { + q.call(w.documentElement.childNodes, 0)[0].nodeType + } catch (nt) { + q = function (e) { + var t, n = []; + while (t = this[e++])n.push(t); + return n + } + } + function rt(e) { + return Y.test(e + "") + } + + function it() { + var e, t = []; + return e = function (n, r) { + return t.push(n += " ") > i.cacheLength && delete e[t.shift()], e[n] = r + } + } + + function ot(e) { + return e[x] = !0, e + } + + function at(e) { + var t = p.createElement("div"); + try { + return e(t) + } catch (n) { + return!1 + } finally { + t = null + } + } + + function st(e, t, n, r) { + var i, o, a, s, u, l, f, g, m, v; + if ((t ? t.ownerDocument || t : w) !== p && c(t), t = t || p, n = n || [], !e || "string" != typeof e)return n; + if (1 !== (s = t.nodeType) && 9 !== s)return[]; + if (!d && !r) { + if (i = J.exec(e))if (a = i[1]) { + if (9 === s) { + if (o = t.getElementById(a), !o || !o.parentNode)return n; + if (o.id === a)return n.push(o), n + } else if (t.ownerDocument && (o = t.ownerDocument.getElementById(a)) && y(t, o) && o.id === a)return n.push(o), n + } else { + if (i[2])return H.apply(n, q.call(t.getElementsByTagName(e), 0)), n; + if ((a = i[3]) && T.getByClassName && t.getElementsByClassName)return H.apply(n, q.call(t.getElementsByClassName(a), 0)), n + } + if (T.qsa && !h.test(e)) { + if (f = !0, g = x, m = t, v = 9 === s && e, 1 === s && "object" !== t.nodeName.toLowerCase()) { + l = ft(e), (f = t.getAttribute("id")) ? g = f.replace(K, "\\$&") : t.setAttribute("id", g), g = "[id='" + g + "'] ", u = l.length; + while (u--)l[u] = g + dt(l[u]); + m = V.test(e) && t.parentNode || t, v = l.join(",") + } + if (v)try { + return H.apply(n, q.call(m.querySelectorAll(v), 0)), n + } catch (b) { + } finally { + f || t.removeAttribute("id") + } + } + } + return wt(e.replace(W, "$1"), t, n, r) + } + + a = st.isXML = function (e) { + var t = e && (e.ownerDocument || e).documentElement; + return t ? "HTML" !== t.nodeName : !1 + }, c = st.setDocument = function (e) { + var n = e ? e.ownerDocument || e : w; + return n !== p && 9 === n.nodeType && n.documentElement ? (p = n, f = n.documentElement, d = a(n), T.tagNameNoComments = at(function (e) { + return e.appendChild(n.createComment("")), !e.getElementsByTagName("*").length + }), T.attributes = at(function (e) { + e.innerHTML = ""; + var t = typeof e.lastChild.getAttribute("multiple"); + return"boolean" !== t && "string" !== t + }), T.getByClassName = at(function (e) { + return e.innerHTML = "", e.getElementsByClassName && e.getElementsByClassName("e").length ? (e.lastChild.className = "e", 2 === e.getElementsByClassName("e").length) : !1 + }), T.getByName = at(function (e) { + e.id = x + 0, e.innerHTML = "
", f.insertBefore(e, f.firstChild); + var t = n.getElementsByName && n.getElementsByName(x).length === 2 + n.getElementsByName(x + 0).length; + return T.getIdNotName = !n.getElementById(x), f.removeChild(e), t + }), i.attrHandle = at(function (e) { + return e.innerHTML = "", e.firstChild && typeof e.firstChild.getAttribute !== A && "#" === e.firstChild.getAttribute("href") + }) ? {} : {href: function (e) { + return e.getAttribute("href", 2) + }, type: function (e) { + return e.getAttribute("type") + }}, T.getIdNotName ? (i.find.ID = function (e, t) { + if (typeof t.getElementById !== A && !d) { + var n = t.getElementById(e); + return n && n.parentNode ? [n] : [] + } + }, i.filter.ID = function (e) { + var t = e.replace(et, tt); + return function (e) { + return e.getAttribute("id") === t + } + }) : (i.find.ID = function (e, n) { + if (typeof n.getElementById !== A && !d) { + var r = n.getElementById(e); + return r ? r.id === e || typeof r.getAttributeNode !== A && r.getAttributeNode("id").value === e ? [r] : t : [] + } + }, i.filter.ID = function (e) { + var t = e.replace(et, tt); + return function (e) { + var n = typeof e.getAttributeNode !== A && e.getAttributeNode("id"); + return n && n.value === t + } + }), i.find.TAG = T.tagNameNoComments ? function (e, n) { + return typeof n.getElementsByTagName !== A ? n.getElementsByTagName(e) : t + } : function (e, t) { + var n, r = [], i = 0, o = t.getElementsByTagName(e); + if ("*" === e) { + while (n = o[i++])1 === n.nodeType && r.push(n); + return r + } + return o + }, i.find.NAME = T.getByName && function (e, n) { + return typeof n.getElementsByName !== A ? n.getElementsByName(name) : t + }, i.find.CLASS = T.getByClassName && function (e, n) { + return typeof n.getElementsByClassName === A || d ? t : n.getElementsByClassName(e) + }, g = [], h = [":focus"], (T.qsa = rt(n.querySelectorAll)) && (at(function (e) { + e.innerHTML = "", e.querySelectorAll("[selected]").length || h.push("\\[" + _ + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)"), e.querySelectorAll(":checked").length || h.push(":checked") + }), at(function (e) { + e.innerHTML = "", e.querySelectorAll("[i^='']").length && h.push("[*^$]=" + _ + "*(?:\"\"|'')"), e.querySelectorAll(":enabled").length || h.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), h.push(",.*:") + })), (T.matchesSelector = rt(m = f.matchesSelector || f.mozMatchesSelector || f.webkitMatchesSelector || f.oMatchesSelector || f.msMatchesSelector)) && at(function (e) { + T.disconnectedMatch = m.call(e, "div"), m.call(e, "[s!='']:x"), g.push("!=", R) + }), h = RegExp(h.join("|")), g = RegExp(g.join("|")), y = rt(f.contains) || f.compareDocumentPosition ? function (e, t) { + var n = 9 === e.nodeType ? e.documentElement : e, r = t && t.parentNode; + return e === r || !(!r || 1 !== r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r))) + } : function (e, t) { + if (t)while (t = t.parentNode)if (t === e)return!0; + return!1 + }, v = f.compareDocumentPosition ? function (e, t) { + var r; + return e === t ? (u = !0, 0) : (r = t.compareDocumentPosition && e.compareDocumentPosition && e.compareDocumentPosition(t)) ? 1 & r || e.parentNode && 11 === e.parentNode.nodeType ? e === n || y(w, e) ? -1 : t === n || y(w, t) ? 1 : 0 : 4 & r ? -1 : 1 : e.compareDocumentPosition ? -1 : 1 + } : function (e, t) { + var r, i = 0, o = e.parentNode, a = t.parentNode, s = [e], l = [t]; + if (e === t)return u = !0, 0; + if (!o || !a)return e === n ? -1 : t === n ? 1 : o ? -1 : a ? 1 : 0; + if (o === a)return ut(e, t); + r = e; + while (r = r.parentNode)s.unshift(r); + r = t; + while (r = r.parentNode)l.unshift(r); + while (s[i] === l[i])i++; + return i ? ut(s[i], l[i]) : s[i] === w ? -1 : l[i] === w ? 1 : 0 + }, u = !1, [0, 0].sort(v), T.detectDuplicates = u, p) : p + }, st.matches = function (e, t) { + return st(e, null, null, t) + }, st.matchesSelector = function (e, t) { + if ((e.ownerDocument || e) !== p && c(e), t = t.replace(Z, "='$1']"), !(!T.matchesSelector || d || g && g.test(t) || h.test(t)))try { + var n = m.call(e, t); + if (n || T.disconnectedMatch || e.document && 11 !== e.document.nodeType)return n + } catch (r) { + } + return st(t, p, null, [e]).length > 0 + }, st.contains = function (e, t) { + return(e.ownerDocument || e) !== p && c(e), y(e, t) + }, st.attr = function (e, t) { + var n; + return(e.ownerDocument || e) !== p && c(e), d || (t = t.toLowerCase()), (n = i.attrHandle[t]) ? n(e) : d || T.attributes ? e.getAttribute(t) : ((n = e.getAttributeNode(t)) || e.getAttribute(t)) && e[t] === !0 ? t : n && n.specified ? n.value : null + }, st.error = function (e) { + throw Error("Syntax error, unrecognized expression: " + e) + }, st.uniqueSort = function (e) { + var t, n = [], r = 1, i = 0; + if (u = !T.detectDuplicates, e.sort(v), u) { + for (; t = e[r]; r++)t === e[r - 1] && (i = n.push(r)); + while (i--)e.splice(n[i], 1) + } + return e + }; + function ut(e, t) { + var n = t && e, r = n && (~t.sourceIndex || j) - (~e.sourceIndex || j); + if (r)return r; + if (n)while (n = n.nextSibling)if (n === t)return-1; + return e ? 1 : -1 + } + + function lt(e) { + return function (t) { + var n = t.nodeName.toLowerCase(); + return"input" === n && t.type === e + } + } + + function ct(e) { + return function (t) { + var n = t.nodeName.toLowerCase(); + return("input" === n || "button" === n) && t.type === e + } + } + + function pt(e) { + return ot(function (t) { + return t = +t, ot(function (n, r) { + var i, o = e([], n.length, t), a = o.length; + while (a--)n[i = o[a]] && (n[i] = !(r[i] = n[i])) + }) + }) + } + + o = st.getText = function (e) { + var t, n = "", r = 0, i = e.nodeType; + if (i) { + if (1 === i || 9 === i || 11 === i) { + if ("string" == typeof e.textContent)return e.textContent; + for (e = e.firstChild; e; e = e.nextSibling)n += o(e) + } else if (3 === i || 4 === i)return e.nodeValue + } else for (; t = e[r]; r++)n += o(t); + return n + }, i = st.selectors = {cacheLength: 50, createPseudo: ot, match: U, find: {}, relative: {">": {dir: "parentNode", first: !0}, " ": {dir: "parentNode"}, "+": {dir: "previousSibling", first: !0}, "~": {dir: "previousSibling"}}, preFilter: {ATTR: function (e) { + return e[1] = e[1].replace(et, tt), e[3] = (e[4] || e[5] || "").replace(et, tt), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4) + }, CHILD: function (e) { + return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || st.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && st.error(e[0]), e + }, PSEUDO: function (e) { + var t, n = !e[5] && e[2]; + return U.CHILD.test(e[0]) ? null : (e[4] ? e[2] = e[4] : n && z.test(n) && (t = ft(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3)) + }}, filter: {TAG: function (e) { + return"*" === e ? function () { + return!0 + } : (e = e.replace(et, tt).toLowerCase(), function (t) { + return t.nodeName && t.nodeName.toLowerCase() === e + }) + }, CLASS: function (e) { + var t = k[e + " "]; + return t || (t = RegExp("(^|" + _ + ")" + e + "(" + _ + "|$)")) && k(e, function (e) { + return t.test(e.className || typeof e.getAttribute !== A && e.getAttribute("class") || "") + }) + }, ATTR: function (e, t, n) { + return function (r) { + var i = st.attr(r, e); + return null == i ? "!=" === t : t ? (i += "", "=" === t ? i === n : "!=" === t ? i !== n : "^=" === t ? n && 0 === i.indexOf(n) : "*=" === t ? n && i.indexOf(n) > -1 : "$=" === t ? n && i.slice(-n.length) === n : "~=" === t ? (" " + i + " ").indexOf(n) > -1 : "|=" === t ? i === n || i.slice(0, n.length + 1) === n + "-" : !1) : !0 + } + }, CHILD: function (e, t, n, r, i) { + var o = "nth" !== e.slice(0, 3), a = "last" !== e.slice(-4), s = "of-type" === t; + return 1 === r && 0 === i ? function (e) { + return!!e.parentNode + } : function (t, n, u) { + var l, c, p, f, d, h, g = o !== a ? "nextSibling" : "previousSibling", m = t.parentNode, y = s && t.nodeName.toLowerCase(), v = !u && !s; + if (m) { + if (o) { + while (g) { + p = t; + while (p = p[g])if (s ? p.nodeName.toLowerCase() === y : 1 === p.nodeType)return!1; + h = g = "only" === e && !h && "nextSibling" + } + return!0 + } + if (h = [a ? m.firstChild : m.lastChild], a && v) { + c = m[x] || (m[x] = {}), l = c[e] || [], d = l[0] === N && l[1], f = l[0] === N && l[2], p = d && m.childNodes[d]; + while (p = ++d && p && p[g] || (f = d = 0) || h.pop())if (1 === p.nodeType && ++f && p === t) { + c[e] = [N, d, f]; + break + } + } else if (v && (l = (t[x] || (t[x] = {}))[e]) && l[0] === N)f = l[1]; else while (p = ++d && p && p[g] || (f = d = 0) || h.pop())if ((s ? p.nodeName.toLowerCase() === y : 1 === p.nodeType) && ++f && (v && ((p[x] || (p[x] = {}))[e] = [N, f]), p === t))break; + return f -= i, f === r || 0 === f % r && f / r >= 0 + } + } + }, PSEUDO: function (e, t) { + var n, r = i.pseudos[e] || i.setFilters[e.toLowerCase()] || st.error("unsupported pseudo: " + e); + return r[x] ? r(t) : r.length > 1 ? (n = [e, e, "", t], i.setFilters.hasOwnProperty(e.toLowerCase()) ? ot(function (e, n) { + var i, o = r(e, t), a = o.length; + while (a--)i = M.call(e, o[a]), e[i] = !(n[i] = o[a]) + }) : function (e) { + return r(e, 0, n) + }) : r + }}, pseudos: {not: ot(function (e) { + var t = [], n = [], r = s(e.replace(W, "$1")); + return r[x] ? ot(function (e, t, n, i) { + var o, a = r(e, null, i, []), s = e.length; + while (s--)(o = a[s]) && (e[s] = !(t[s] = o)) + }) : function (e, i, o) { + return t[0] = e, r(t, null, o, n), !n.pop() + } + }), has: ot(function (e) { + return function (t) { + return st(e, t).length > 0 + } + }), contains: ot(function (e) { + return function (t) { + return(t.textContent || t.innerText || o(t)).indexOf(e) > -1 + } + }), lang: ot(function (e) { + return X.test(e || "") || st.error("unsupported lang: " + e), e = e.replace(et, tt).toLowerCase(), function (t) { + var n; + do if (n = d ? t.getAttribute("xml:lang") || t.getAttribute("lang") : t.lang)return n = n.toLowerCase(), n === e || 0 === n.indexOf(e + "-"); while ((t = t.parentNode) && 1 === t.nodeType); + return!1 + } + }), target: function (t) { + var n = e.location && e.location.hash; + return n && n.slice(1) === t.id + }, root: function (e) { + return e === f + }, focus: function (e) { + return e === p.activeElement && (!p.hasFocus || p.hasFocus()) && !!(e.type || e.href || ~e.tabIndex) + }, enabled: function (e) { + return e.disabled === !1 + }, disabled: function (e) { + return e.disabled === !0 + }, checked: function (e) { + var t = e.nodeName.toLowerCase(); + return"input" === t && !!e.checked || "option" === t && !!e.selected + }, selected: function (e) { + return e.parentNode && e.parentNode.selectedIndex, e.selected === !0 + }, empty: function (e) { + for (e = e.firstChild; e; e = e.nextSibling)if (e.nodeName > "@" || 3 === e.nodeType || 4 === e.nodeType)return!1; + return!0 + }, parent: function (e) { + return!i.pseudos.empty(e) + }, header: function (e) { + return Q.test(e.nodeName) + }, input: function (e) { + return G.test(e.nodeName) + }, button: function (e) { + var t = e.nodeName.toLowerCase(); + return"input" === t && "button" === e.type || "button" === t + }, text: function (e) { + var t; + return"input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || t.toLowerCase() === e.type) + }, first: pt(function () { + return[0] + }), last: pt(function (e, t) { + return[t - 1] + }), eq: pt(function (e, t, n) { + return[0 > n ? n + t : n] + }), even: pt(function (e, t) { + var n = 0; + for (; t > n; n += 2)e.push(n); + return e + }), odd: pt(function (e, t) { + var n = 1; + for (; t > n; n += 2)e.push(n); + return e + }), lt: pt(function (e, t, n) { + var r = 0 > n ? n + t : n; + for (; --r >= 0;)e.push(r); + return e + }), gt: pt(function (e, t, n) { + var r = 0 > n ? n + t : n; + for (; t > ++r;)e.push(r); + return e + })}}; + for (n in{radio: !0, checkbox: !0, file: !0, password: !0, image: !0})i.pseudos[n] = lt(n); + for (n in{submit: !0, reset: !0})i.pseudos[n] = ct(n); + function ft(e, t) { + var n, r, o, a, s, u, l, c = E[e + " "]; + if (c)return t ? 0 : c.slice(0); + s = e, u = [], l = i.preFilter; + while (s) { + (!n || (r = $.exec(s))) && (r && (s = s.slice(r[0].length) || s), u.push(o = [])), n = !1, (r = I.exec(s)) && (n = r.shift(), o.push({value: n, type: r[0].replace(W, " ")}), s = s.slice(n.length)); + for (a in i.filter)!(r = U[a].exec(s)) || l[a] && !(r = l[a](r)) || (n = r.shift(), o.push({value: n, type: a, matches: r}), s = s.slice(n.length)); + if (!n)break + } + return t ? s.length : s ? st.error(e) : E(e, u).slice(0) + } + + function dt(e) { + var t = 0, n = e.length, r = ""; + for (; n > t; t++)r += e[t].value; + return r + } + + function ht(e, t, n) { + var i = t.dir, o = n && "parentNode" === i, a = C++; + return t.first ? function (t, n, r) { + while (t = t[i])if (1 === t.nodeType || o)return e(t, n, r) + } : function (t, n, s) { + var u, l, c, p = N + " " + a; + if (s) { + while (t = t[i])if ((1 === t.nodeType || o) && e(t, n, s))return!0 + } else while (t = t[i])if (1 === t.nodeType || o)if (c = t[x] || (t[x] = {}), (l = c[i]) && l[0] === p) { + if ((u = l[1]) === !0 || u === r)return u === !0 + } else if (l = c[i] = [p], l[1] = e(t, n, s) || r, l[1] === !0)return!0 + } + } + + function gt(e) { + return e.length > 1 ? function (t, n, r) { + var i = e.length; + while (i--)if (!e[i](t, n, r))return!1; + return!0 + } : e[0] + } + + function mt(e, t, n, r, i) { + var o, a = [], s = 0, u = e.length, l = null != t; + for (; u > s; s++)(o = e[s]) && (!n || n(o, r, i)) && (a.push(o), l && t.push(s)); + return a + } + + function yt(e, t, n, r, i, o) { + return r && !r[x] && (r = yt(r)), i && !i[x] && (i = yt(i, o)), ot(function (o, a, s, u) { + var l, c, p, f = [], d = [], h = a.length, g = o || xt(t || "*", s.nodeType ? [s] : s, []), m = !e || !o && t ? g : mt(g, f, e, s, u), y = n ? i || (o ? e : h || r) ? [] : a : m; + if (n && n(m, y, s, u), r) { + l = mt(y, d), r(l, [], s, u), c = l.length; + while (c--)(p = l[c]) && (y[d[c]] = !(m[d[c]] = p)) + } + if (o) { + if (i || e) { + if (i) { + l = [], c = y.length; + while (c--)(p = y[c]) && l.push(m[c] = p); + i(null, y = [], l, u) + } + c = y.length; + while (c--)(p = y[c]) && (l = i ? M.call(o, p) : f[c]) > -1 && (o[l] = !(a[l] = p)) + } + } else y = mt(y === a ? y.splice(h, y.length) : y), i ? i(null, a, y, u) : H.apply(a, y) + }) + } + + function vt(e) { + var t, n, r, o = e.length, a = i.relative[e[0].type], s = a || i.relative[" "], u = a ? 1 : 0, c = ht(function (e) { + return e === t + }, s, !0), p = ht(function (e) { + return M.call(t, e) > -1 + }, s, !0), f = [function (e, n, r) { + return!a && (r || n !== l) || ((t = n).nodeType ? c(e, n, r) : p(e, n, r)) + }]; + for (; o > u; u++)if (n = i.relative[e[u].type])f = [ht(gt(f), n)]; else { + if (n = i.filter[e[u].type].apply(null, e[u].matches), n[x]) { + for (r = ++u; o > r; r++)if (i.relative[e[r].type])break; + return yt(u > 1 && gt(f), u > 1 && dt(e.slice(0, u - 1)).replace(W, "$1"), n, r > u && vt(e.slice(u, r)), o > r && vt(e = e.slice(r)), o > r && dt(e)) + } + f.push(n) + } + return gt(f) + } + + function bt(e, t) { + var n = 0, o = t.length > 0, a = e.length > 0, s = function (s, u, c, f, d) { + var h, g, m, y = [], v = 0, b = "0", x = s && [], w = null != d, T = l, C = s || a && i.find.TAG("*", d && u.parentNode || u), k = N += null == T ? 1 : Math.random() || .1; + for (w && (l = u !== p && u, r = n); null != (h = C[b]); b++) { + if (a && h) { + g = 0; + while (m = e[g++])if (m(h, u, c)) { + f.push(h); + break + } + w && (N = k, r = ++n) + } + o && ((h = !m && h) && v--, s && x.push(h)) + } + if (v += b, o && b !== v) { + g = 0; + while (m = t[g++])m(x, y, u, c); + if (s) { + if (v > 0)while (b--)x[b] || y[b] || (y[b] = L.call(f)); + y = mt(y) + } + H.apply(f, y), w && !s && y.length > 0 && v + t.length > 1 && st.uniqueSort(f) + } + return w && (N = k, l = T), x + }; + return o ? ot(s) : s + } + + s = st.compile = function (e, t) { + var n, r = [], i = [], o = S[e + " "]; + if (!o) { + t || (t = ft(e)), n = t.length; + while (n--)o = vt(t[n]), o[x] ? r.push(o) : i.push(o); + o = S(e, bt(i, r)) + } + return o + }; + function xt(e, t, n) { + var r = 0, i = t.length; + for (; i > r; r++)st(e, t[r], n); + return n + } + + function wt(e, t, n, r) { + var o, a, u, l, c, p = ft(e); + if (!r && 1 === p.length) { + if (a = p[0] = p[0].slice(0), a.length > 2 && "ID" === (u = a[0]).type && 9 === t.nodeType && !d && i.relative[a[1].type]) { + if (t = i.find.ID(u.matches[0].replace(et, tt), t)[0], !t)return n; + e = e.slice(a.shift().value.length) + } + o = U.needsContext.test(e) ? 0 : a.length; + while (o--) { + if (u = a[o], i.relative[l = u.type])break; + if ((c = i.find[l]) && (r = c(u.matches[0].replace(et, tt), V.test(a[0].type) && t.parentNode || t))) { + if (a.splice(o, 1), e = r.length && dt(a), !e)return H.apply(n, q.call(r, 0)), n; + break + } + } + } + return s(e, p)(r, t, d, n, V.test(e)), n + } + + i.pseudos.nth = i.pseudos.eq; + function Tt() { + } + + i.filters = Tt.prototype = i.pseudos, i.setFilters = new Tt, c(), st.attr = b.attr, b.find = st, b.expr = st.selectors, b.expr[":"] = b.expr.pseudos, b.unique = st.uniqueSort, b.text = st.getText, b.isXMLDoc = st.isXML, b.contains = st.contains + }(e); + var at = /Until$/, st = /^(?:parents|prev(?:Until|All))/, ut = /^.[^:#\[\.,]*$/, lt = b.expr.match.needsContext, ct = {children: !0, contents: !0, next: !0, prev: !0}; + b.fn.extend({find: function (e) { + var t, n, r, i = this.length; + if ("string" != typeof e)return r = this, this.pushStack(b(e).filter(function () { + for (t = 0; i > t; t++)if (b.contains(r[t], this))return!0 + })); + for (n = [], t = 0; i > t; t++)b.find(e, this[t], n); + return n = this.pushStack(i > 1 ? b.unique(n) : n), n.selector = (this.selector ? this.selector + " " : "") + e, n + }, has: function (e) { + var t, n = b(e, this), r = n.length; + return this.filter(function () { + for (t = 0; r > t; t++)if (b.contains(this, n[t]))return!0 + }) + }, not: function (e) { + return this.pushStack(ft(this, e, !1)) + }, filter: function (e) { + return this.pushStack(ft(this, e, !0)) + }, is: function (e) { + return!!e && ("string" == typeof e ? lt.test(e) ? b(e, this.context).index(this[0]) >= 0 : b.filter(e, this).length > 0 : this.filter(e).length > 0) + }, closest: function (e, t) { + var n, r = 0, i = this.length, o = [], a = lt.test(e) || "string" != typeof e ? b(e, t || this.context) : 0; + for (; i > r; r++) { + n = this[r]; + while (n && n.ownerDocument && n !== t && 11 !== n.nodeType) { + if (a ? a.index(n) > -1 : b.find.matchesSelector(n, e)) { + o.push(n); + break + } + n = n.parentNode + } + } + return this.pushStack(o.length > 1 ? b.unique(o) : o) + }, index: function (e) { + return e ? "string" == typeof e ? b.inArray(this[0], b(e)) : b.inArray(e.jquery ? e[0] : e, this) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1 + }, add: function (e, t) { + var n = "string" == typeof e ? b(e, t) : b.makeArray(e && e.nodeType ? [e] : e), r = b.merge(this.get(), n); + return this.pushStack(b.unique(r)) + }, addBack: function (e) { + return this.add(null == e ? this.prevObject : this.prevObject.filter(e)) + }}), b.fn.andSelf = b.fn.addBack; + function pt(e, t) { + do e = e[t]; while (e && 1 !== e.nodeType); + return e + } + + b.each({parent: function (e) { + var t = e.parentNode; + return t && 11 !== t.nodeType ? t : null + }, parents: function (e) { + return b.dir(e, "parentNode") + }, parentsUntil: function (e, t, n) { + return b.dir(e, "parentNode", n) + }, next: function (e) { + return pt(e, "nextSibling") + }, prev: function (e) { + return pt(e, "previousSibling") + }, nextAll: function (e) { + return b.dir(e, "nextSibling") + }, prevAll: function (e) { + return b.dir(e, "previousSibling") + }, nextUntil: function (e, t, n) { + return b.dir(e, "nextSibling", n) + }, prevUntil: function (e, t, n) { + return b.dir(e, "previousSibling", n) + }, siblings: function (e) { + return b.sibling((e.parentNode || {}).firstChild, e) + }, children: function (e) { + return b.sibling(e.firstChild) + }, contents: function (e) { + return b.nodeName(e, "iframe") ? e.contentDocument || e.contentWindow.document : b.merge([], e.childNodes) + }}, function (e, t) { + b.fn[e] = function (n, r) { + var i = b.map(this, t, n); + return at.test(e) || (r = n), r && "string" == typeof r && (i = b.filter(r, i)), i = this.length > 1 && !ct[e] ? b.unique(i) : i, this.length > 1 && st.test(e) && (i = i.reverse()), this.pushStack(i) + } + }, b), b.extend({filter: function (e, t, n) { + return n && (e = ":not(" + e + ")"), 1 === t.length ? b.find.matchesSelector(t[0], e) ? [t[0]] : [] : b.find.matches(e, t) + }, dir: function (e, n, r) { + var i = [], o = e[n]; + while (o && 9 !== o.nodeType && (r === t || 1 !== o.nodeType || !b(o).is(r)))1 === o.nodeType && i.push(o), o = o[n]; + return i + }, sibling: function (e, t) { + var n = []; + for (; e; e = e.nextSibling)1 === e.nodeType && e !== t && n.push(e); + return n + }}); + function ft(e, t, n) { + if (t = t || 0, b.isFunction(t))return b.grep(e, function (e, r) { + var i = !!t.call(e, r, e); + return i === n + }); + if (t.nodeType)return b.grep(e, function (e) { + return e === t === n + }); + if ("string" == typeof t) { + var r = b.grep(e, function (e) { + return 1 === e.nodeType + }); + if (ut.test(t))return b.filter(t, r, !n); + t = b.filter(t, r) + } + return b.grep(e, function (e) { + return b.inArray(e, t) >= 0 === n + }) + } + + function dt(e) { + var t = ht.split("|"), n = e.createDocumentFragment(); + if (n.createElement)while (t.length)n.createElement(t.pop()); + return n + } + + var ht = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", gt = / jQuery\d+="(?:null|\d+)"/g, mt = RegExp("<(?:" + ht + ")[\\s/>]", "i"), yt = /^\s+/, vt = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, bt = /<([\w:]+)/, xt = /\s*$/g, At = {option: [1, ""], legend: [1, "
", "
"], area: [1, "", ""], param: [1, "", ""], thead: [1, "", "
"], tr: [2, "", "
"], col: [2, "", "
"], td: [3, "", "
"], _default: b.support.htmlSerialize ? [0, "", ""] : [1, "X
", "
"]}, jt = dt(o), Dt = jt.appendChild(o.createElement("div")); + At.optgroup = At.option, At.tbody = At.tfoot = At.colgroup = At.caption = At.thead, At.th = At.td, b.fn.extend({text: function (e) { + return b.access(this, function (e) { + return e === t ? b.text(this) : this.empty().append((this[0] && this[0].ownerDocument || o).createTextNode(e)) + }, null, e, arguments.length) + }, wrapAll: function (e) { + if (b.isFunction(e))return this.each(function (t) { + b(this).wrapAll(e.call(this, t)) + }, b); + if (this[0]) { + var t = b(e, this[0].ownerDocument).eq(0).clone(!0); + this[0].parentNode && t.insertBefore(this[0]), t.map(function () { + var e = this; + while (e.firstChild && 1 === e.firstChild.nodeType)e = e.firstChild; + return e + },function (a, c) { + return{name: b.name, value: a.replace(bF, "\r\n")} + }, c).append(this) + } + return this + }, wrapInner: function (e) { + return b.isFunction(e) ? this.each(function (t) { + b(this).wrapInner(e.call(this, t)) + }, b) : this.each(function () { + var t = b(this), n = t.contents(); + n.length ? n.wrapAll(e) : t.append(e) + }, b) + }, wrap: function (e) { + var t = b.isFunction(e); + return this.each(function (n) { + b(this).wrapAll(t ? e.call(this, n) : e) + }, b) + }, unwrap: function () { + return this.parent().each(function () { + b.nodeName(this, "body") || b(this).replaceWith(this.childNodes) + }, b).end() + }, append: function () { + return this.domManip(arguments, !0, function (e) { + (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) && this.appendChild(e) + }) + }, prepend: function () { + return this.domManip(arguments, !0, function (e) { + (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) && this.insertBefore(e, this.firstChild) + }) + }, before: function () { + return this.domManip(arguments, !1, function (e) { + this.parentNode && this.parentNode.insertBefore(e, this) + }) + }, after: function () { + return this.domManip(arguments, !1, function (e) { + this.parentNode && this.parentNode.insertBefore(e, this.nextSibling) + }) + }, remove: function (e, t) { + var n, r = 0; + for (; null != (n = this[r]); r++)(!e || b.filter(e, [n]).length > 0) && (t || 1 !== n.nodeType || b.cleanData(Ot(n)), n.parentNode && (t && b.contains(n.ownerDocument, n) && Mt(Ot(n, "script")), n.parentNode.removeChild(n))); + return this + }, empty: function () { + var e, t = 0; + for (; null != (e = this[t]); t++) { + 1 === e.nodeType && b.cleanData(Ot(e, !1)); + while (e.firstChild)e.removeChild(e.firstChild); + e.options && b.nodeName(e, "select") && (e.options.length = 0) + } + return this + }, clone: function (e, t) { + return e = null == e ? !1 : e, t = null == t ? e : t, this.map(function () { + return b.clone(this, e, t) + }, function (a, c) { + return{name: b.name, value: a.replace(bF, "\r\n")} + }, c) + }, html: function (e) { + return b.access(this, function (e) { + var n = this[0] || {}, r = 0, i = this.length; + if (e === t)return 1 === n.nodeType ? n.innerHTML.replace(gt, "") : t; + if (!("string" != typeof e || Tt.test(e) || !b.support.htmlSerialize && mt.test(e) || !b.support.leadingWhitespace && yt.test(e) || At[(bt.exec(e) || ["", ""])[1].toLowerCase()])) { + e = e.replace(vt, "<$1>"); + try { + for (; i > r; r++)n = this[r] || {}, 1 === n.nodeType && (b.cleanData(Ot(n, !1)), n.innerHTML = e); + n = 0 + } catch (o) { + } + } + n && this.empty().append(e) + }, null, e, arguments.length) + }, replaceWith: function (e) { + var t = b.isFunction(e); + return t || "string" == typeof e || (e = b(e).not(this).detach()), this.domManip([e], !0, function (e) { + var t = this.nextSibling, n = this.parentNode; + n && (b(this).remove(), n.insertBefore(e, t)) + }) + }, detach: function (e) { + return this.remove(e, !0) + }, domManip: function (e, n, r) { + e = f.apply([], e); + var i, o, a, s, u, l, c = 0, p = this.length, d = this, h = p - 1, g = e[0], m = b.isFunction(g); + if (m || !(1 >= p || "string" != typeof g || b.support.checkClone) && Ct.test(g))return this.each(function (i) { + var o = d.eq(i); + m && (e[0] = g.call(this, i, n ? o.html() : t)), o.domManip(e, n, r) + }, b); + if (p && (l = b.buildFragment(e, this[0].ownerDocument, !1, this), i = l.firstChild, 1 === l.childNodes.length && (l = i), i)) { + for (n = n && b.nodeName(i, "tr"), s = b.map(Ot(l, "script"), Ht, c), a = s.length; p > c; c++)o = l, c !== h && (o = b.clone(o, !0, !0), a && b.merge(s, Ot(o, "script"))), r.call(n && b.nodeName(this[c], "table") ? Lt(this[c], "tbody") : this[c], o, c); + if (a)for (u = s[s.length - 1].ownerDocument, b.map(s, qt, c), c = 0; a > c; c++)o = s[c], kt.test(o.type || "") && !b._data(o, "globalEval") && b.contains(u, o) && (o.src ? b.ajax({url: o.src, type: "GET", dataType: "script", async: !1, global: !1, "throws": !0}) : b.globalEval((o.text || o.textContent || o.innerHTML || "").replace(St, ""))); + l = i = null + } + return this + }}); + function Lt(e, t) { + return e.getElementsByTagName(t)[0] || e.appendChild(e.ownerDocument.createElement(t)) + } + + function Ht(e) { + var t = e.getAttributeNode("type"); + return e.type = (t && t.specified) + "/" + e.type, e + } + + function qt(e) { + var t = Et.exec(e.type); + return t ? e.type = t[1] : e.removeAttribute("type"), e + } + + function Mt(e, t) { + var n, r = 0; + for (; null != (n = e[r]); r++)b._data(n, "globalEval", !t || b._data(t[r], "globalEval")) + } + + function _t(e, t) { + if (1 === t.nodeType && b.hasData(e)) { + var n, r, i, o = b._data(e), a = b._data(t, o), s = o.events; + if (s) { + delete a.handle, a.events = {}; + for (n in s)for (r = 0, i = s[n].length; i > r; r++)b.event.add(t, n, s[n][r]) + } + a.data && (a.data = b.extend({}, a.data)) + } + } + + function Ft(e, t) { + var n, r, i; + if (1 === t.nodeType) { + if (n = t.nodeName.toLowerCase(), !b.support.noCloneEvent && t[b.expando]) { + i = b._data(t); + for (r in i.events)b.removeEvent(t, r, i.handle); + t.removeAttribute(b.expando) + } + "script" === n && t.text !== e.text ? (Ht(t).text = e.text, qt(t)) : "object" === n ? (t.parentNode && (t.outerHTML = e.outerHTML), b.support.html5Clone && e.innerHTML && !b.trim(t.innerHTML) && (t.innerHTML = e.innerHTML)) : "input" === n && Nt.test(e.type) ? (t.defaultChecked = t.checked = e.checked, t.value !== e.value && (t.value = e.value)) : "option" === n ? t.defaultSelected = t.selected = e.defaultSelected : ("input" === n || "textarea" === n) && (t.defaultValue = e.defaultValue) + } + } + + b.each({appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith"}, function (e, t) { + b.fn[e] = function (e) { + var n, r = 0, i = [], o = b(e), a = o.length - 1; + for (; a >= r; r++)n = r === a ? this : this.clone(!0), b(o[r])[t](n), d.apply(i, n.get()); + return this.pushStack(i) + } + }, b); + function Ot(e, n) { + var r, o, a = 0, s = typeof e.getElementsByTagName !== i ? e.getElementsByTagName(n || "*") : typeof e.querySelectorAll !== i ? e.querySelectorAll(n || "*") : t; + if (!s)for (s = [], r = e.childNodes || e; null != (o = r[a]); a++)!n || b.nodeName(o, n) ? s.push(o) : b.merge(s, Ot(o, n)); + return n === t || n && b.nodeName(e, n) ? b.merge([e], s) : s + } + + function Bt(e) { + Nt.test(e.type) && (e.defaultChecked = e.checked) + } + + b.extend({clone: function (e, t, n) { + var r, i, o, a, s, u = b.contains(e.ownerDocument, e); + if (b.support.html5Clone || b.isXMLDoc(e) || !mt.test("<" + e.nodeName + ">") ? o = e.cloneNode(!0) : (Dt.innerHTML = e.outerHTML, Dt.removeChild(o = Dt.firstChild)), !(b.support.noCloneEvent && b.support.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || b.isXMLDoc(e)))for (r = Ot(o), s = Ot(e), a = 0; null != (i = s[a]); ++a)r[a] && Ft(i, r[a]); + if (t)if (n)for (s = s || Ot(e), r = r || Ot(o), a = 0; null != (i = s[a]); a++)_t(i, r[a]); else _t(e, o); + return r = Ot(o, "script"), r.length > 0 && Mt(r, !u && Ot(e, "script")), r = s = i = null, o + }, buildFragment: function (e, t, n, r) { + var i, o, a, s, u, l, c, p = e.length, f = dt(t), d = [], h = 0; + for (; p > h; h++)if (o = e[h], o || 0 === o)if ("object" === b.type(o))b.merge(d, o.nodeType ? [o] : o); else if (wt.test(o)) { + s = s || f.appendChild(t.createElement("div")), u = (bt.exec(o) || ["", ""])[1].toLowerCase(), c = At[u] || At._default, s.innerHTML = c[1] + o.replace(vt, "<$1>") + c[2], i = c[0]; + while (i--)s = s.lastChild; + if (!b.support.leadingWhitespace && yt.test(o) && d.push(t.createTextNode(yt.exec(o)[0])), !b.support.tbody) { + o = "table" !== u || xt.test(o) ? "" !== c[1] || xt.test(o) ? 0 : s : s.firstChild, i = o && o.childNodes.length; + while (i--)b.nodeName(l = o.childNodes[i], "tbody") && !l.childNodes.length && o.removeChild(l) + } + b.merge(d, s.childNodes), s.textContent = ""; + while (s.firstChild)s.removeChild(s.firstChild); + s = f.lastChild + } else d.push(t.createTextNode(o)); + s && f.removeChild(s), b.support.appendChecked || b.grep(Ot(d, "input"), Bt), h = 0; + while (o = d[h++])if ((!r || -1 === b.inArray(o, r)) && (a = b.contains(o.ownerDocument, o), s = Ot(f.appendChild(o), "script"), a && Mt(s), n)) { + i = 0; + while (o = s[i++])kt.test(o.type || "") && n.push(o) + } + return s = null, f + }, cleanData: function (e, t) { + var n, r, o, a, s = 0, u = b.expando, l = b.cache, p = b.support.deleteExpando, f = b.event.special; + for (; null != (n = e[s]); s++)if ((t || b.acceptData(n)) && (o = n[u], a = o && l[o])) { + if (a.events)for (r in a.events)f[r] ? b.event.remove(n, r) : b.removeEvent(n, r, a.handle); + l[o] && (delete l[o], p ? delete n[u] : typeof n.removeAttribute !== i ? n.removeAttribute(u) : n[u] = null, c.push(o)) + } + }}); + var Pt, Rt, Wt, $t = /alpha\([^)]*\)/i, It = /opacity\s*=\s*([^)]*)/, zt = /^(top|right|bottom|left)$/, Xt = /^(none|table(?!-c[ea]).+)/, Ut = /^margin/, Vt = RegExp("^(" + x + ")(.*)$", "i"), Yt = RegExp("^(" + x + ")(?!px)[a-z%]+$", "i"), Jt = RegExp("^([+-])=(" + x + ")", "i"), Gt = {BODY: "block"}, Qt = {position: "absolute", visibility: "hidden", display: "block"}, Kt = {letterSpacing: 0, fontWeight: 400}, Zt = ["Top", "Right", "Bottom", "Left"], en = ["Webkit", "O", "Moz", "ms"]; + + function tn(e, t) { + if (t in e)return t; + var n = t.charAt(0).toUpperCase() + t.slice(1), r = t, i = en.length; + while (i--)if (t = en[i] + n, t in e)return t; + return r + } + + function nn(e, t) { + return e = t || e, "none" === b.css(e, "display") || !b.contains(e.ownerDocument, e) + } + + function rn(e, t) { + var n, r, i, o = [], a = 0, s = e.length; + for (; s > a; a++)r = e[a], r.style && (o[a] = b._data(r, "olddisplay"), n = r.style.display, t ? (o[a] || "none" !== n || (r.style.display = ""), "" === r.style.display && nn(r) && (o[a] = b._data(r, "olddisplay", un(r.nodeName)))) : o[a] || (i = nn(r), (n && "none" !== n || !i) && b._data(r, "olddisplay", i ? n : b.css(r, "display")))); + for (a = 0; s > a; a++)r = e[a], r.style && (t && "none" !== r.style.display && "" !== r.style.display || (r.style.display = t ? o[a] || "" : "none")); + return e + } + + b.fn.extend({css: function (e, n) { + return b.access(this, function (e, n, r) { + var i, o, a = {}, s = 0; + if (b.isArray(n)) { + for (o = Rt(e), i = n.length; i > s; s++)a[n[s]] = b.css(e, n[s], !1, o); + return a + } + return r !== t ? b.style(e, n, r) : b.css(e, n) + }, e, n, arguments.length > 1) + }, show: function () { + return rn(this, !0) + }, hide: function () { + return rn(this) + }, toggle: function (e) { + var t = "boolean" == typeof e; + return this.each(function () { + (t ? e : nn(this)) ? b(this).show() : b(this).hide() + }, b) + }}), b.extend({cssHooks: {opacity: {get: function (e, t) { + if (t) { + var n = Wt(e, "opacity"); + return"" === n ? "1" : n + } + }}}, cssNumber: {columnCount: !0, fillOpacity: !0, fontWeight: !0, lineHeight: !0, opacity: !0, orphans: !0, widows: !0, zIndex: !0, zoom: !0}, cssProps: {"float": b.support.cssFloat ? "cssFloat" : "styleFloat"}, style: function (e, n, r, i) { + if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) { + var o, a, s, u = b.camelCase(n), l = e.style; + if (n = b.cssProps[u] || (b.cssProps[u] = tn(l, u)), s = b.cssHooks[n] || b.cssHooks[u], r === t)return s && "get"in s && (o = s.get(e, !1, i)) !== t ? o : l[n]; + if (a = typeof r, "string" === a && (o = Jt.exec(r)) && (r = (o[1] + 1) * o[2] + parseFloat(b.css(e, n)), a = "number"), !(null == r || "number" === a && isNaN(r) || ("number" !== a || b.cssNumber[u] || (r += "px"), b.support.clearCloneStyle || "" !== r || 0 !== n.indexOf("background") || (l[n] = "inherit"), s && "set"in s && (r = s.set(e, r, i)) === t)))try { + l[n] = r + } catch (c) { + } + } + }, css: function (e, n, r, i) { + var o, a, s, u = b.camelCase(n); + return n = b.cssProps[u] || (b.cssProps[u] = tn(e.style, u)), s = b.cssHooks[n] || b.cssHooks[u], s && "get"in s && (a = s.get(e, !0, r)), a === t && (a = Wt(e, n, i)), "normal" === a && n in Kt && (a = Kt[n]), "" === r || r ? (o = parseFloat(a), r === !0 || b.isNumeric(o) ? o || 0 : a) : a + }, swap: function (e, t, n, r) { + var i, o, a = {}; + for (o in t)a[o] = e.style[o], e.style[o] = t[o]; + i = n.apply(e, r || []); + for (o in t)e.style[o] = a[o]; + return i + }}), e.getComputedStyle ? (Rt = function (t) { + return e.getComputedStyle(t, null) + }, Wt = function (e, n, r) { + var i, o, a, s = r || Rt(e), u = s ? s.getPropertyValue(n) || s[n] : t, l = e.style; + return s && ("" !== u || b.contains(e.ownerDocument, e) || (u = b.style(e, n)), Yt.test(u) && Ut.test(n) && (i = l.width, o = l.minWidth, a = l.maxWidth, l.minWidth = l.maxWidth = l.width = u, u = s.width, l.width = i, l.minWidth = o, l.maxWidth = a)), u + }) : o.documentElement.currentStyle && (Rt = function (e) { + return e.currentStyle + }, Wt = function (e, n, r) { + var i, o, a, s = r || Rt(e), u = s ? s[n] : t, l = e.style; + return null == u && l && l[n] && (u = l[n]), Yt.test(u) && !zt.test(n) && (i = l.left, o = e.runtimeStyle, a = o && o.left, a && (o.left = e.currentStyle.left), l.left = "fontSize" === n ? "1em" : u, u = l.pixelLeft + "px", l.left = i, a && (o.left = a)), "" === u ? "auto" : u + }); + function on(e, t, n) { + var r = Vt.exec(t); + return r ? Math.max(0, r[1] - (n || 0)) + (r[2] || "px") : t + } + + function an(e, t, n, r, i) { + var o = n === (r ? "border" : "content") ? 4 : "width" === t ? 1 : 0, a = 0; + for (; 4 > o; o += 2)"margin" === n && (a += b.css(e, n + Zt[o], !0, i)), r ? ("content" === n && (a -= b.css(e, "padding" + Zt[o], !0, i)), "margin" !== n && (a -= b.css(e, "border" + Zt[o] + "Width", !0, i))) : (a += b.css(e, "padding" + Zt[o], !0, i), "padding" !== n && (a += b.css(e, "border" + Zt[o] + "Width", !0, i))); + return a + } + + function sn(e, t, n) { + var r = !0, i = "width" === t ? e.offsetWidth : e.offsetHeight, o = Rt(e), a = b.support.boxSizing && "border-box" === b.css(e, "boxSizing", !1, o); + if (0 >= i || null == i) { + if (i = Wt(e, t, o), (0 > i || null == i) && (i = e.style[t]), Yt.test(i))return i; + r = a && (b.support.boxSizingReliable || i === e.style[t]), i = parseFloat(i) || 0 + } + return i + an(e, t, n || (a ? "border" : "content"), r, o) + "px" + } + + function un(e) { + var t = o, n = Gt[e]; + return n || (n = ln(e, t), "none" !== n && n || (Pt = (Pt || b("'), u.bgiframe.appendTo(c), c.bind("tooltipmove" + h, o.adjustBGIFrame)), m = r("
", {id: "qtip-rcontainer"}).appendTo(t.body), o.redraw(), u.overlay && !v && (s = function () { + u.overlay[0].style.top = n.scrollTop() + "px" + }, n.bind("scroll.qtip-ie6, resize.qtip-ie6", s), s(), u.overlay.addClass("qtipmodal-ie6fix"), v = i) + }, adjustBGIFrame: function () { + var e = n.get("dimensions", b, c, "script"), t = n.plugins.tip, r = u.tip, i, s; + s = parseInt(c.css("border-left-width"), 10) || 0, s = {left: -s, top: -s}, t && r && (i = t.corner.precedance === "x" ? ["width", "left"] : ["height", "top"], s[i[1]] -= r[i[0]]()), u.bgiframe.css(s).css(e) + }, redraw: function () { + if (n.rendered < 1 || d)return o; + var e = a.style, t = a.position.container, r, i, s, u; + return d = 1, e.height && c.css(l, e.height), e.width ? c.css(f, e.width) : (c.css(f, "").appendTo(m), i = c.width(), i % 2 < 1 && (i += 1), s = c.css("max-width") || "", u = c.css("min-width") || "", r = (s + u).indexOf("%") > -1 ? t.width() / 100 : 0, s = (s.indexOf("%") > -1 ? r : 1) * parseInt(s, 10) || i, u = (u.indexOf("%") > -1 ? r : 1) * parseInt(u, 10) || 0, i = s + u ? Math.min(Math.max(i, u), s) : i, c.css(f, Math.round(i)).appendTo(t)), d = 0, o + }, destroy: function () { + p && u.bgiframe.remove(), c.unbind(h) + }}), o.init() + } + + var i = !0, s = !1, o = null, u = "x", a = "y", f = "width", l = "height", c = "top", h = "left", p = "bottom", d = "right", v = "center", m = "flip", g = "flipinvert", y = "shift", b, w, E, S = "qtip", x = {}, T = ["ui-widget", "ui-tooltip"], N = "div.qtip." + S, C = S + "-default", k = S + "-focus", L = S + "-hover", A = "_replacedByqTip", O = "oldtitle", M; + b = r.fn.qtip = function (e, t, u) { + var a = ("" + e).toLowerCase(), f = o, l = r.makeArray(arguments).slice(1), c = l[l.length - 1], h = this[0] ? r.data(this[0], "qtip") : o; + if (!arguments.length && h || a === "api")return h; + if ("string" == typeof e)return this.each(function () { + var e = r.data(this, "qtip"); + if (!e)return i; + c && c.timeStamp && (e.cache.event = c); + if (a !== "option" && a !== "options" || !t)e[a] && e[a].apply(e[a], l); else { + if (!r.isPlainObject(t) && u === n)return f = e.get(t, b, c, "script"), s; + e.set(t, u) + } + }, b), f !== o ? f : this; + if ("object" == typeof e || !arguments.length)return h = D(r.extend(i, {}, e)), b.bind.call(this, h, c) + }, b.bind = function (e, t) { + return this.each(function (o) { + function p(e) { + function t() { + c.render(typeof e == "object" || u.show.ready), a.show.add(a.hide).unbind(l) + } + + if (c.cache.disabled)return s; + c.cache.event = r.extend({}, e), c.cache.target = e ? r(e.target) : [n], u.show.delay > 0 ? (clearTimeout(c.timers.show), c.timers.show = setTimeout(t, u.show.delay), f.show !== f.hide && a.hide.bind(f.hide, function () { + clearTimeout(c.timers.show) + })) : t() + } + + var u, a, f, l, c, h; + h = r.isArray(e.id) ? e.id[o] : e.id, h = !h || h === s || h.length < 1 || x[h] ? b.nextid++ : x[h] = h, l = ".qtip-" + h + "-create", c = H.call(this, h, e); + if (c === s)return i; + u = c.options, r.each(w, function () { + this.initialize === "initialize" && this(c) + }, b), a = {show: u.show.target, hide: u.hide.target}, f = {show: r.trim("" + u.show.event).replace(/ /g, l + " ") + l, hide: r.trim("" + u.hide.event).replace(/ /g, l + " ") + l}, /mouse(over|enter)/i.test(f.show) && !/mouse(out|leave)/i.test(f.hide) && (f.hide += " mouseleave" + l), a.show.bind("mousemove" + l, function (e) { + _(e), c.cache.onTarget = i + }), a.show.bind(f.show, p), (u.show.ready || u.prerender) && p(t) + }, b).attr("data-hasqtip", i) + }, w = b.plugins = {Corner: function (e) { + e = ("" + e).replace(/([A-Z])/, " $1").replace(/middle/gi, v).toLowerCase(), this.x = (e.match(/left|right/i) || e.match(/center/) || ["inherit"])[0].toLowerCase(), this.y = (e.match(/top|bottom|center/i) || ["inherit"])[0].toLowerCase(); + var t = e.charAt(0); + this.precedance = t === "t" || t === "b" ? a : u, this.string = function () { + return this.precedance === a ? this.y + this.x : this.x + this.y + }, this.abbrev = function () { + var e = this.x.substr(0, 1), t = this.y.substr(0, 1); + return e === t ? e : this.precedance === a ? t + e : e + t + }, this.invertx = function (e) { + this.x = this.x === h ? d : this.x === d ? h : e || this.x + }, this.inverty = function (e) { + this.y = this.y === c ? p : this.y === p ? c : e || this.y + }, this.clone = function () { + return{x: this.x, y: this.y, precedance: this.precedance, string: this.string, abbrev: this.abbrev, clone: this.clone, invertx: this.invertx, inverty: this.inverty} + } + }, offset: function (e, n) { + function c(e, t) { + i.left += t * e.scrollLeft(), i.top += t * e.scrollTop() + } + + var i = e.offset(), s = e.closest("body"), o = r.browser.msie && t.compatMode !== "CSS1Compat", u = n, a, f, l; + if (u) { + do u.css("position") !== "static" && (f = u.position(), i.left -= f.left + (parseInt(u.css("borderLeftWidth"), 10) || 0) + (parseInt(u.css("marginLeft"), 10) || 0), i.top -= f.top + (parseInt(u.css("borderTopWidth"), 10) || 0) + (parseInt(u.css("marginTop"), 10) || 0), !a && (l = u.css("overflow")) !== "hidden" && l !== "visible" && (a = u)); while ((u = r(u[0].offsetParent)).length); + (a && a[0] !== s[0] || o) && c(a || s, 1) + } + return i + }, iOS: parseFloat(("" + (/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent) || [0, ""])[1]).replace("undefined", "3_2").replace("_", ".").replace("_", "")) || s, fn: {attr: function (e, t) { + if (this.length) { + var n = this[0], i = "title", s = r.data(n, "qtip"); + if (e === i && s && "object" == typeof s && s.options.suppress)return arguments.length < 2 ? r.attr(n, O) : (s && s.options.content.attr === i && s.cache.attr && s.set("content.text", t), this.attr(O, t)) + } + return r.fn["attr" + A].apply(this, arguments) + }, clone: function (e) { + var t = r([]), n = "title", i = r.fn["clone" + A].apply(this, arguments); + return e || i.filter("[" + O + "]").attr("title",function () { + return r.attr(this, O) + }).removeAttr(O), i + }}}, r.each(w.fn, function (e, t) { + if (!t || r.fn[e + A])return i; + var n = r.fn[e + A] = r.fn[e]; + r.fn[e] = function () { + return t.apply(this, arguments) || n.apply(this, arguments) + } + }, b), r.ui || (r["cleanData" + A] = r.cleanData, r.cleanData = function (e) { + for (var t = 0, i; (i = e[t]) !== n; t++)try { + r(i).triggerHandler("removeqtip") + } catch (s) { + } + r["cleanData" + A](e) + }), b.version = "2.0.0-nightly-15f5c6bc20", b.nextid = 0, b.inactiveEvents = "click dblclick mousedown mouseup mousemove mouseleave mouseenter".split(" "), b.zindex = 15e3, b.defaults = {prerender: s, id: s, overwrite: i, suppress: i, content: {text: i, attr: "title", deferred: s, title: {text: s, button: s}}, position: {my: "top left", at: "bottom right", target: s, container: s, viewport: s, adjust: {x: 0, y: 0, mouse: i, resize: i, method: "flipinvert flipinvert"}, effect: function (e, t, n) { + r(this).animate(t, {duration: 200, queue: s}) + }}, show: {target: s, event: "mouseenter", effect: i, delay: 90, solo: s, ready: s, autofocus: s}, hide: {target: s, event: "mouseleave", effect: i, delay: 0, fixed: s, inactive: s, leave: "window", distance: s}, style: {classes: "", widget: s, width: s, height: s, def: i}, events: {render: o, move: o, show: o, hide: o, toggle: o, visible: o, hidden: o, focus: o, blur: o}}, w.svg = function (e, n, i, s) { + var o = r(t), u = n[0], a = {width: 0, height: 0, position: {top: 1e10, left: 1e10}}, f, l, c, h, p; + while (!u.getBBox)u = u.parentNode; + if (u.getBBox && u.parentNode) { + f = u.getBBox(), l = u.getScreenCTM(), c = u.farthestViewportElement || u; + if (!c.createSVGPoint)return a; + h = c.createSVGPoint(), h.x = f.x, h.y = f.y, p = h.matrixTransform(l), a.position.left = p.x, a.position.top = p.y, h.x += f.width, h.y += f.height, p = h.matrixTransform(l), a.width = p.x - a.position.left, a.height = p.y - a.position.top, a.position.left += o.scrollLeft(), a.position.top += o.scrollTop() + } + return a + }, w.ajax = function (e) { + var t = e.plugins.ajax; + return"object" == typeof t ? t : e.plugins.ajax = new B(e) + }, w.ajax.initialize = "render", w.ajax.sanitize = function (e) { + var t = e.content, n; + t && "ajax"in t && (n = t.ajax, typeof n != "object" && (n = e.content.ajax = {url: n}), "boolean" != typeof n.once && n.once && (n.once = !!n.once)) + }, r.extend(i, b.defaults, {content: {ajax: {loading: i, once: i}}}), w.tip = function (e) { + var t = e.plugins.tip; + return"object" == typeof t ? t : e.plugins.tip = new F(e) + }, w.tip.initialize = "render", w.tip.sanitize = function (e) { + var t = e.style, n; + t && "tip"in t && (n = e.style.tip, typeof n != "object" && (e.style.tip = {corner: n}), /string|boolean/i.test(typeof n.corner) || (n.corner = i), typeof n.width != "number" && delete n.width, typeof n.height != "number" && delete n.height, typeof n.border != "number" && n.border !== i && delete n.border, typeof n.offset != "number" && delete n.offset) + }, r.extend(i, b.defaults, {style: {tip: {corner: i, mimic: s, width: 6, height: 6, border: i, offset: 0}}}), w.modal = function (e) { + var t = e.plugins.modal; + return"object" == typeof t ? t : e.plugins.modal = new I(e) + }, w.modal.initialize = "render", w.modal.sanitize = function (e) { + e.show && (typeof e.show.modal != "object" ? e.show.modal = {on: !!e.show.modal} : typeof e.show.modal.on == "undefined" && (e.show.modal.on = i)) + }, w.modal.zindex = b.zindex - 200, w.modal.focusable = ["a[href]", "area[href]", "input", "select", "textarea", "button", "iframe", "object", "embed", "[tabindex]", "[contenteditable]"], r.extend(i, b.defaults, {show: {modal: {on: s, effect: i, blur: i, stealfocus: i, escape: i}}}), w.viewport = function (n, r, i, s, o, m, b) { + function j(e, t, n, i, s, o, u, a, f) { + var l = r[s], c = x[e], h = T[e], p = n === y, d = -O.offset[s] + A.offset[s] + A["scroll" + s], m = c === s ? f : c === o ? -f : -f / 2, b = h === s ? a : h === o ? -a : -a / 2, w = _ && _.size ? _.size[u] || 0 : 0, E = _ && _.corner && _.corner.precedance === e && !p ? w : 0, S = d - l + E, N = l + f - A[u] - d + E, C = m - (x.precedance === e || c === x[t] ? b : 0) - (h === v ? a / 2 : 0); + return p ? (E = _ && _.corner && _.corner.precedance === t ? w : 0, C = (c === s ? 1 : -1) * m - E, r[s] += S > 0 ? S : N > 0 ? -N : 0, r[s] = Math.max(-O.offset[s] + A.offset[s] + (E && _.corner[e] === v ? _.offset : 0), l - C, Math.min(Math.max(-O.offset[s] + A.offset[s] + A[u], l + C), r[s]))) : (i *= n === g ? 2 : 0, S > 0 && (c !== s || N > 0) ? (r[s] -= C + i, H["invert" + e](s)) : N > 0 && (c !== o || S > 0) && (r[s] -= (c === v ? -C : C) + i, H["invert" + e](o)), r[s] < d && -r[s] > N && (r[s] = l, H = x.clone())), r[s] - l + } + + var w = i.target, E = n.elements.tooltip, x = i.my, T = i.at, N = i.adjust, C = N.method.split(" "), k = C[0], L = C[1] || C[0], A = i.viewport, O = i.container, M = n.cache, _ = n.plugins.tip, D = {left: 0, top: 0}, P, H, B; + if (!A.jquery || w[0] === e || w[0] === t.body || N.method === "none")return D; + P = E.css("position") === "fixed", A = {elem: A, height: A[(A[0] === e ? "h" : "outerH") + "eight"](), width: A[(A[0] === e ? "w" : "outerW") + "idth"](), scrollleft: P ? 0 : A.scrollLeft(), scrolltop: P ? 0 : A.scrollTop(), offset: A.offset() || {left: 0, top: 0}}, O = {elem: O, scrollLeft: O.scrollLeft(), scrollTop: O.scrollTop(), offset: O.offset() || {left: 0, top: 0}}; + if (k !== "shift" || L !== "shift")H = x.clone(); + return D = {left: k !== "none" ? j(u, a, k, N.x, h, d, f, s, m) : 0, top: L !== "none" ? j(a, u, L, N.y, c, p, l, o, b) : 0}, H && M.lastClass !== (B = S + "-pos-" + H.abbrev()) && E.removeClass(n.cache.lastClass).addClass(n.cache.lastClass = B), D + }, w.imagemap = function (e, t, n, i) { + function E(e, t, n) { + var r = 0, i = 1, s = 1, o = 0, u = 0, a = e.width, f = e.height; + while (a > 0 && f > 0 && i > 0 && s > 0) { + a = Math.floor(a / 2), f = Math.floor(f / 2), n.x === h ? i = a : n.x === d ? i = e.width - a : i += Math.floor(a / 2), n.y === c ? s = f : n.y === p ? s = e.height - f : s += Math.floor(f / 2), r = t.length; + while (r--) { + if (t.length < 2)break; + o = t[r][0] - e.position.left, u = t[r][1] - e.position.top, (n.x === h && o >= i || n.x === d && o <= i || n.x === v && (o < i || o > e.width - i) || n.y === c && u >= s || n.y === p && u <= s || n.y === v && (u < s || u > e.height - s)) && t.splice(r, 1) + } + } + return{left: t[0][0], top: t[0][1]} + } + + t.jquery || (t = r(t)); + var s = e.cache.areas = {}, o = (t[0].shape || t.attr("shape")).toLowerCase(), u = t[0].coords || t.attr("coords"), a = u.split(","), f = [], l = r('img[usemap="#' + t.parent("map").attr("name") + '"]'), m = l.offset(), g = {width: 0, height: 0, position: {top: 1e10, right: 0, bottom: 0, left: 1e10}}, y = 0, b = 0, w; + m.left += Math.ceil((l.outerWidth() - l.width()) / 2), m.top += Math.ceil((l.outerHeight() - l.height()) / 2); + if (o === "poly") { + y = a.length; + while (y--)b = [parseInt(a[--y], 10), parseInt(a[y + 1], 10)], b[0] > g.position.right && (g.position.right = b[0]), b[0] < g.position.left && (g.position.left = b[0]), b[1] > g.position.bottom && (g.position.bottom = b[1]), b[1] < g.position.top && (g.position.top = b[1]), f.push(b) + } else { + y = -1; + while (y++ < a.length)f.push(parseInt(a[y], 10)) + } + switch (o) { + case"rect": + g = {width: Math.abs(f[2] - f[0]), height: Math.abs(f[3] - f[1]), position: {left: Math.min(f[0], f[2]), top: Math.min(f[1], f[3])}}; + break; + case"circle": + g = {width: f[2] + 2, height: f[2] + 2, position: {left: f[0], top: f[1]}}; + break; + case"poly": + g.width = Math.abs(g.position.right - g.position.left), g.height = Math.abs(g.position.bottom - g.position.top), n.abbrev() === "c" ? g.position = {left: g.position.left + g.width / 2, top: g.position.top + g.height / 2} : (s[n + u] || (g.position = E(g, f.slice(), n), i && (i[0] === "flip" || i[1] === "flip") && (g.offset = E(g, f.slice(), {x: n.x === h ? d : n.x === d ? h : v, y: n.y === c ? p : n.y === p ? c : v}), g.offset.left -= g.position.left, g.offset.top -= g.position.top), s[n + u] = g), g = s[n + u]), g.width = g.height = 0 + } + return g.position.left += m.left, g.position.top += m.top, g + }, w.ie6 = function (e) { + var t = r.browser, n = e.plugins.ie6; + return!t.msie || ("" + t.version).charAt(0) !== "6" ? s : "object" == typeof n ? n : e.plugins.ie6 = new q(e) + }, w.ie6.initialize = "render" + }) +})(window, document); \ No newline at end of file diff --git a/gensim-develop/docs/src/_templates/indexcontent.html b/gensim-develop/docs/src/_templates/indexcontent.html new file mode 100644 index 0000000000..85ddc1db92 --- /dev/null +++ b/gensim-develop/docs/src/_templates/indexcontent.html @@ -0,0 +1,232 @@ +{% extends "layout.html" %} + +{% set title = _('Topic modelling for humans') %} + +{% block header %} +
+

gensim

+ +
+
+
gensim
+
gensim tagline +
+
+ + +
+
+{% endblock %} + + +{% block document %} + + + + Fork me on GitHub + + +
+
+ +
+ gensim code example +
+ +
+ Gensim is a FREE Python library +
    +
  • Scalable statistical semantics
  • +
  • Analyze plain-text documents for semantic structure
  • +
  • Retrieve semantically similar documents
  • +
+
+
+
+ +
+
+

Features +
Hover your mouse over each feature for more info.
+

+ + + +
+ +
+ +
+ supportSupport +
+
+
+ +
+
+
+ +
+
+

Who is using Gensim? +
Doing something interesting with gensim? Ask to be featured here.
+

+ +
+
    +
  • +
    + “I used gensim at Ghent university. I found it easy to build prototypes with various models, + extend it with additional features and gain empirical insights quickly. It's a reliable library + that can be used beyond prototyping too.” Dieter Plaetinck, IBCN group +
    +
  • +
  • +
    + “We used gensim in several text mining projects at Sports Authority. The data were from + free-form text fields in customer surveys, as well as social media sources. Having gensim + significantly sped our time to development, and it is still my go-to package for topic modeling + with large retail data sets.” Josh Hemann, Sports Authority +
    +
  • +
  • +
    + “Gensim hits the sweetest spot of being a simple yet powerful way to access some incredibly + complex NLP goodness.” Alan J. Salmoni, Roistr.com +
    +
  • +
  • +
    + “Semantic analysis is a hot topic in online marketing, but there are few products on the market + that are truly powerful. + Gensim is undoubtedly one of the best frameworks that efficiently implement algorithms for + statistical analysis. + Few products, even commercial, have this level of quality.” Bruno Champion, DynAdmic +
    +
  • + +
  • +
    + “Based on our experience with gensim on DML-CZ, we naturally opted + to use it on a much bigger scale for similarity + of fulltexts of scientific papers in the European Digital Mathematics Library. In evaluation + with other approaches, gensim became a clear winner, especially because of speed, scalability + and ease of use.”Petr Sojka, EuDML +
    +
  • +
  • +
    + “We have been using gensim in several DTU courses related to digital media engineering and find + it immensely useful as the tutorial material provides students an excellent introduction to + quickly understand the underlying principles in topic modeling based on both LSA and LDA.”Michael + Kai Petersen, Technical + University of Denmark +
    +
  • + +
+
+ +
+
+
+ +
+ get started +
+{% endblock %} diff --git a/gensim-develop/docs/src/about.rst b/gensim-develop/docs/src/about.rst new file mode 100644 index 0000000000..618e988cd0 --- /dev/null +++ b/gensim-develop/docs/src/about.rst @@ -0,0 +1,86 @@ +.. _about: + +============ +About +============ + +History +-------- + +Gensim started off as a collection of various Python scripts for the Czech Digital Mathematics Library `dml.cz `_ in 2008, +where it served to generate a short list of the most similar articles to a given article (gensim = "generate similar"). +I also wanted to try these fancy "Latent Semantic Methods", but the libraries that +realized the necessary computation were `not much fun to work with `_. + +Naturally, I set out to reinvent the wheel. Our `2010 LREC publication `_ +describes the initial design decisions behind gensim (clarity, efficiency and scalability) +and is fairly representative of how gensim works even today. + +Later versions of gensim improved this efficiency and scalability tremendously. In fact, +I made algorithmic scalability of distributional semantics the topic of my `PhD thesis `_. + +By now, gensim is---to my knowledge---the most robust, efficient and hassle-free piece +of software to realize unsupervised semantic modelling from plain text. It stands +in contrast to brittle homework-assignment-implementations that do not scale on one hand, +and robust java-esque projects that take forever just to run "hello world". + +In 2011, I started using `Github `_ for source code hosting +and the gensim website moved to its present domain. In 2013, gensim got its current logo and website design. + + +Licensing +---------- + +Gensim is licensed under the OSI-approved `GNU LGPL license `_. +This means that it's free for both personal and commercial use, but if you make any +modification to gensim that you distribute to other people, you have to disclose +the source code of these modifications. + +Apart from that, you are free to redistribute gensim in any way you like, though you're +not allowed to modify its license (doh!). + +My intent here is, of course, to get more help and community involvement with the development of gensim. +The legalese is therefore less important to me than your input and contributions. +Contact me if LGPL doesn't fit your bill but you'd still like to use it -- we'll work something out. + +.. seealso:: + + I also host a document similarity package `gensim.simserver`. This is a high-level + interface to `gensim` functionality, and offers transactional remote (web-based) + document similarity queries and indexing. It uses gensim to do the heavy lifting: + you don't need the `simserver` to use gensim, but you do need gensim to use the `simserver`. + Note that unlike gensim, `gensim.simserver` is licensed under `Affero GPL `_, + which is much more restrictive for inclusion in commercial projects. + +Contributors +-------------- + +Credit goes to all the people who contributed to gensim, be it in `discussions `_, +ideas, `code contributions `_ or bug reports. +It's really useful and motivating to get feedback, in any shape or form, so big thanks to you all! + +Some honorable mentions are included in the `CHANGELOG.txt `_. + + +Academic citing +---------------- + +Gensim has been used in many students' final theses as well as research papers. When citing gensim, +please use `this BibTeX entry `_:: + + @inproceedings{rehurek_lrec, + title = {{Software Framework for Topic Modelling with Large Corpora}}, + author = {Radim {\v R}eh{\r u}{\v r}ek and Petr Sojka}, + booktitle = {{Proceedings of the LREC 2010 Workshop on New + Challenges for NLP Frameworks}}, + pages = {45--50}, + year = 2010, + month = May, + day = 22, + publisher = {ELRA}, + address = {Valletta, Malta}, + note={\url{http://is.muni.cz/publication/884893/en}}, + language={English} + } + + diff --git a/gensim-develop/docs/src/apiref.rst b/gensim-develop/docs/src/apiref.rst new file mode 100644 index 0000000000..9d5144675a --- /dev/null +++ b/gensim-develop/docs/src/apiref.rst @@ -0,0 +1,37 @@ +.. _apiref: + +API Reference +============= + +Modules: + +.. toctree:: +:maxdepth: 0 + + interfaces + utils + matutils + corpora/bleicorpus + corpora/dictionary + corpora/hashdictionary + corpora/lowcorpus + corpora/mmcorpus + corpora/svmlightcorpus + corpora/wikicorpus + corpora/textcorpus + corpora/ucicorpus + corpora/indexedcorpus + models/ldamodel + models/lsimodel + models/tfidfmodel + models/rpmodel + models/hdpmodel + models/logentropy_model + models/lsi_dispatcher + models/lsi_worker + models/lda_dispatcher + models/lda_worker + models/word2vec + similarities/docsim + similarities/simserver + diff --git a/gensim-develop/docs/src/changes_080.rst b/gensim-develop/docs/src/changes_080.rst new file mode 100644 index 0000000000..c9c2ff1784 --- /dev/null +++ b/gensim-develop/docs/src/changes_080.rst @@ -0,0 +1,80 @@ +.. _changes_080: + +Change Set for 0.8.0 +============================ + +Release 0.8.0 concludes the 0.7.x series, which was about API consolidation and performance. +In 0.8.x, I'd like to extend `gensim` with new functionality and features. + +Codestyle Changes +------------------ + +Codebase was modified to comply with `PEP8: Style Guide for Python Code `_. +This means the 0.8.0 API is **backward incompatible** with the 0.7.x series. + +That's not as tragic as it sounds, gensim was almost there anyway. The changes are few and pretty straightforward: + +1. the `numTopics` parameter is now `num_topics` +2. `addDocuments()` method becomes `add_documents()` +3. `toUtf8()` => `to_utf8()` +4. ... you get the idea: replace `camelCase` with `lowercase_with_underscores`. + +If you stored a model that is affected by this to disk, you'll need to rename its attributes manually: + +>>> lsa = gensim.models.LsiModel.load('/some/path') # load old <0.8.0 model +>>> lsa.num_terms, lsa.num_topics = lsa.numTerms, lsa.numTopics # rename attributes +>>> del lsa.numTerms, lsa.numTopics # clean up old attributes (optional) +>>> lsa.save('/some/path') # save again to disk, as 0.8.0 compatible + +Only attributes (variables) need to be renamed; method names (functions) are not affected, due to the way `pickle` works. + +Similarity Queries +------------------- + +Improved speed and scalability of :doc:`similarity queries `. + +The `Similarity` class can now index corpora of arbitrary size more efficiently. +Internally, this is done by splitting the index into several smaller pieces ("shards") that fit in RAM +and can be processed independently. In addition, documents can now be added to a `Similarity` index dynamically. + +There is also a new way to query the similarity indexes: + +>>> index = MatrixSimilarity(corpus) # create an index +>>> sims = index[document] # get cosine similarity of query "document" against every document in the index +>>> sims = index[chunk_of_documents] # new syntax! + +Advantage of the last line (querying multiple documents at the same time) is faster execution. + +This faster execution is also utilized *automatically for you* if you're using the ``for sims in index: ...`` syntax +(which returns pairwise similarities of documents in the index). + +To see the speed-up on your machine, run ``python -m gensim.test.simspeed`` (and compare to my results `here `_ to see how your machine fares). + +.. note:: +This current functionality of querying is as far as I wanted to get with gensim. + More optimizations and smarter indexing are certainly possible, but I'd like to + focus on other features now. Pull requests are still welcome though :) + +Check out the :mod:`updated documentation ` of the similarity classes for more info. + +Simplified Directory Structure +-------------------------------- + +Instead of the java-esque ``ROOT_DIR/src/gensim`` directory structure of gensim, +the packages now reside directly in ``ROOT_DIR/gensim`` (no superfluous ``src``). See the new structure `on github `_. + +Other changes (that you're unlikely to notice unless you look) +---------------------------------------------------------------------- + +* Improved efficiency of ``lsi[corpus]`` transformations (documents are chunked internally for better performance). +* Large matrices (numpy/scipy.sparse, in `LsiModel`, `Similarity` etc.) are now mmapped to/from disk when doing `save/load`. The `cPickle` approach used previously was too `buggy `_ and `slow `_. +* Renamed `chunks` parameter to `chunksize` (i.e. `LsiModel(corpus, num_topics=100, chunksize=20000)`). This better reflects its purpose: size of a chunk=number of documents to be processed at once. +* Also improved memory efficiency of LSI and LDA model generation (again). +* Removed SciPy 0.6 from the list of supported SciPi versions (need >=0.7 now). +* Added more unit tests. +* Several smaller fixes; see the `commit history `_ for full account. + +.. admonition:: Future Directions? + + If you have ideas or proposals for new features for 0.8.x, now is the time to let me know: + `gensim mailing list `_. diff --git a/gensim-develop/docs/src/conf.py b/gensim-develop/docs/src/conf.py new file mode 100644 index 0000000000..cd1bd1359a --- /dev/null +++ b/gensim-develop/docs/src/conf.py @@ -0,0 +1,216 @@ +# -*- coding: utf-8 -*- +# +# gensim documentation build configuration file, created by +# sphinx-quickstart on Wed Mar 17 13:42:21 2010. +# +# This file is execfile()d with the current directory set to its containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +#sys.path.append(os.path.abspath('.')) + +# -- General configuration ----------------------------------------------------- + +html_theme = 'gensim_theme' + +# Add any Sphinx extension module names here, as strings. They can be extensions +# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. +extensions = ['sphinx.ext.autodoc'] +autoclass_content = "both" + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix of source filenames. +source_suffix = '.rst' + +# The encoding of source files. +#source_encoding = 'utf-8' + +# The master toctree document. +master_doc = 'indextoc' + +# Additional templates that should be rendered to pages, maps page names to +# template names. +html_additional_pages = {'index': './_templates/indexcontent.html'} + +# General information about the project. +project = 'gensim' +copyright = '2009-2013, Radim Řehůřek ' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = '0.8.7' +# The full version, including alpha/beta/rc tags. +release = '0.8.7' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +#language = None + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +#today = '' +# Else, today_fmt is used as the format for a strftime call. +#today_fmt = '%B %d, %Y' + +# List of documents that shouldn't be included in the build. +#unused_docs = [] + +# List of directories, relative to source directory, that shouldn't be searched +# for source files. +exclude_trees = ['_build'] + +# The reST default role (used for this markup: `text`) to use for all documents. +#default_role = None + +# If true, '()' will be appended to :func: etc. cross-reference text. +#add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +#add_module_names = True + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +#show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# A list of ignored prefixes for module index sorting. +#modindex_common_prefix = [] + + +# -- Options for HTML output --------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. Major themes that come with +# Sphinx are currently 'default' and 'sphinxdoc'. +#html_theme = 'default' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +#main_colour = "#ffbbbb" + +html_theme_options = { + #"rightsidebar": "false", + #"stickysidebar": "true", + #"bodyfont": "'Lucida Grande', 'Lucida Sans Unicode', 'Geneva', 'Verdana', 'sans-serif'", + #"headfont": "'Lucida Grande', 'Lucida Sans Unicode', 'Geneva', 'Verdana', 'sans-serif'", + #"sidebarbgcolor": "fuckyou", + #"footerbgcolor": "#771111", + #"relbarbgcolor": "#993333", + #"sidebartextcolor": "#000000", + #"sidebarlinkcolor": "#330000", + #"codebgcolor": "#fffff0", + #"headtextcolor": "#000080", + #"headbgcolor": "#f0f0ff", + #"bgcolor": "#ffffff", +} + + +# Add any paths that contain custom themes here, relative to this directory. +html_theme_path = ['.'] + +# The name for this set of Sphinx documents. If None, it defaults to +# " v documentation". +html_title = "gensim" + +# A shorter title for the navigation bar. Default is the same as html_title. +#html_short_title = '' + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +#html_logo = None + +# The name of an image file (within the static path) to use as favicon of the +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +html_favicon = 'favicon.ico' + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +#html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +html_sidebars = {} #{'index': ['download.html', 'globaltoc.html', 'searchbox.html', 'indexsidebar.html']} +#html_sidebars = {'index': ['globaltoc.html', 'searchbox.html']} + +# If false, no module index is generated. +#html_use_modindex = True + +# If false, no index is generated. +#html_use_index = True + +# If true, the index is split into individual pages for each letter. +html_split_index = False + +# If true, links to the reST sources are added to the pages. +html_show_sourcelink = False + +html_domain_indices = False + +# If true, an OpenSearch description file will be output, and all pages will +# contain a tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +#html_use_opensearch = '' + +# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml"). +#html_file_suffix = '' + +# Output file base name for HTML help builder. +htmlhelp_basename = 'gensimdoc' + +html_show_sphinx = False + +# -- Options for LaTeX output -------------------------------------------------- + +# The paper size ('letter' or 'a4'). +#latex_paper_size = 'letter' + +# The font size ('10pt', '11pt' or '12pt'). +#latex_font_size = '10pt' + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, author, documentclass [howto/manual]). +latex_documents = [ + ('index', 'gensim.tex', 'gensim Documentation', + 'Radim Řehůřek', 'manual'), +] + +# The name of an image file (relative to this directory) to place at the top of +# the title page. +#latex_logo = None + +# For "manual" documents, if this is true, then toplevel headings are parts, +# not chapters. +latex_use_parts = False + +# Additional stuff for the LaTeX preamble. +#latex_preamble = '' + +# Documents to append as an appendix to all manuals. +#latex_appendices = [] + +# If false, no module index is generated. +#latex_use_modindex = True diff --git a/gensim-develop/docs/src/corpora/bleicorpus.rst b/gensim-develop/docs/src/corpora/bleicorpus.rst new file mode 100644 index 0000000000..d7bc5c8ea9 --- /dev/null +++ b/gensim-develop/docs/src/corpora/bleicorpus.rst @@ -0,0 +1,8 @@ +:mod:`corpora.bleicorpus` -- Corpus in Blei's LDA-C format +========================================================== + +.. automodule:: gensim.corpora.bleicorpus +:synopsis: Corpus in Blei's LDA-C format + :members: + :inherited-members: + diff --git a/gensim-develop/docs/src/corpora/corpora.rst b/gensim-develop/docs/src/corpora/corpora.rst new file mode 100644 index 0000000000..65d0a90eca --- /dev/null +++ b/gensim-develop/docs/src/corpora/corpora.rst @@ -0,0 +1,8 @@ +:mod:`corpora` -- Package for corpora I/O +========================================== + +.. automodule:: gensim.corpora +:synopsis: Package for corpora I/O + :members: + :inherited-members: + diff --git a/gensim-develop/docs/src/corpora/dictionary.rst b/gensim-develop/docs/src/corpora/dictionary.rst new file mode 100644 index 0000000000..ebcf299643 --- /dev/null +++ b/gensim-develop/docs/src/corpora/dictionary.rst @@ -0,0 +1,8 @@ +:mod:`corpora.dictionary` -- Construct word<->id mappings +========================================================== + +.. automodule:: gensim.corpora.dictionary +:synopsis: Construct word<->id mappings + :members: + :inherited-members: + diff --git a/gensim-develop/docs/src/corpora/hashdictionary.rst b/gensim-develop/docs/src/corpora/hashdictionary.rst new file mode 100644 index 0000000000..669fe890f7 --- /dev/null +++ b/gensim-develop/docs/src/corpora/hashdictionary.rst @@ -0,0 +1,8 @@ +:mod:`corpora.hashdictionary` -- Construct word<->id mappings +============================================================= + +.. automodule:: gensim.corpora.hashdictionary +:synopsis: Construct word<->id mappings on the fly (the "hashing trick") + :members: + :inherited-members: + diff --git a/gensim-develop/docs/src/corpora/indexedcorpus.rst b/gensim-develop/docs/src/corpora/indexedcorpus.rst new file mode 100644 index 0000000000..d2415678ec --- /dev/null +++ b/gensim-develop/docs/src/corpora/indexedcorpus.rst @@ -0,0 +1,12 @@ +:mod:`corpora.indexedcorpus` -- Random access to corpus documents +================================================================= + +.. automodule:: gensim.corpora.indexedcorpus +:synopsis: Random access to corpus documents + :members: + :inherited-members: + + +.. autoclass:: IndexedCorpus +:members: + :inherited-members: \ No newline at end of file diff --git a/gensim-develop/docs/src/corpora/lowcorpus.rst b/gensim-develop/docs/src/corpora/lowcorpus.rst new file mode 100644 index 0000000000..2a1b50be75 --- /dev/null +++ b/gensim-develop/docs/src/corpora/lowcorpus.rst @@ -0,0 +1,8 @@ +:mod:`corpora.lowcorpus` -- Corpus in List-of-Words format +=========================================================== + +.. automodule:: gensim.corpora.lowcorpus +:synopsis: Corpus in List-of-Words format + :members: + :inherited-members: + diff --git a/gensim-develop/docs/src/corpora/mmcorpus.rst b/gensim-develop/docs/src/corpora/mmcorpus.rst new file mode 100644 index 0000000000..b0d3a20ab5 --- /dev/null +++ b/gensim-develop/docs/src/corpora/mmcorpus.rst @@ -0,0 +1,8 @@ +:mod:`corpora.mmcorpus` -- Corpus in Matrix Market format +========================================================== + +.. automodule:: gensim.corpora.mmcorpus +:synopsis: Corpus in Matrix Market format + :members: + :inherited-members: + diff --git a/gensim-develop/docs/src/corpora/svmlightcorpus.rst b/gensim-develop/docs/src/corpora/svmlightcorpus.rst new file mode 100644 index 0000000000..949814ed83 --- /dev/null +++ b/gensim-develop/docs/src/corpora/svmlightcorpus.rst @@ -0,0 +1,8 @@ +:mod:`corpora.svmlightcorpus` -- Corpus in SVMlight format +================================================================== + +.. automodule:: gensim.corpora.svmlightcorpus +:synopsis: Corpus in SVMlight format + :members: + :inherited-members: + diff --git a/gensim-develop/docs/src/corpora/textcorpus.rst b/gensim-develop/docs/src/corpora/textcorpus.rst new file mode 100644 index 0000000000..44599f6a8f --- /dev/null +++ b/gensim-develop/docs/src/corpora/textcorpus.rst @@ -0,0 +1,8 @@ +:mod:`corpora.textcorpus` -- Building corpora with dictionaries +================================================================= + +.. automodule:: gensim.corpora.textcorpus +:synopsis: Building corpora with dictionaries + :members: + :inherited-members: + diff --git a/gensim-develop/docs/src/corpora/ucicorpus.rst b/gensim-develop/docs/src/corpora/ucicorpus.rst new file mode 100644 index 0000000000..e00b2c2385 --- /dev/null +++ b/gensim-develop/docs/src/corpora/ucicorpus.rst @@ -0,0 +1,8 @@ +:mod:`corpora.ucicorpus` -- Corpus in UCI bag-of-words format +============================================================================================================== + +.. automodule:: gensim.corpora.ucicorpus +:synopsis: Corpus in University of California, Irvine (UCI) bag-of-words format + :members: + :inherited-members: + diff --git a/gensim-develop/docs/src/corpora/wikicorpus.rst b/gensim-develop/docs/src/corpora/wikicorpus.rst new file mode 100644 index 0000000000..8efa4da67e --- /dev/null +++ b/gensim-develop/docs/src/corpora/wikicorpus.rst @@ -0,0 +1,8 @@ +:mod:`corpora.wikicorpus` -- Corpus from a Wikipedia dump +========================================================== + +.. automodule:: gensim.corpora.wikicorpus +:synopsis: Corpus from a Wikipedia dump + :members: + :inherited-members: + diff --git a/gensim-develop/docs/src/dist_lda.rst b/gensim-develop/docs/src/dist_lda.rst new file mode 100644 index 0000000000..8b72fb6e1f --- /dev/null +++ b/gensim-develop/docs/src/dist_lda.rst @@ -0,0 +1,81 @@ +.. _dist_lda: + +Distributed Latent Dirichlet Allocation +============================================ + + +.. note:: +See :doc:`distributed` for an introduction to distributed computing in `gensim`. + + +Setting up the cluster +_______________________ + +See the tutorial on :doc:`dist_lsi`; setting up a cluster for LDA is completely +analogous, except you want to run `lda_worker` and `lda_dispatcher` scripts instead +of `lsi_worker` and `lsi_dispatcher`. + +Running LDA +____________ + +Run LDA like you normally would, but turn on the `distributed=True` constructor +parameter:: + + >>> # extract 100 LDA topics, using default parameters + >>> lda = LdaModel(corpus=mm, id2word=id2word, num_topics=100, distributed=True) + using distributed version with 4 workers + running online LDA training, 100 topics, 1 passes over the supplied corpus of 3199665 documets, updating model once every 40000 documents + .. + + +In serial mode (no distribution), creating this online LDA :doc:`model of Wikipedia ` +takes 10h56m on my laptop (OS X, C2D 2.53GHz, 4GB RAM with `libVec`). +In distributed mode with four workers (Linux, Xeons of 2Ghz, 4GB RAM +with `ATLAS `_), the wallclock time taken drops to 3h20m. + +To run standard batch LDA (no online updates of mini-batches) instead, you would similarly +call:: + + >>> lda = LdaModel(corpus=mm, id2word=id2token, num_topics=100, update_every=0, passes=20, distributed=True) + using distributed version with 4 workers + running batch LDA training, 100 topics, 20 passes over the supplied corpus of 3199665 documets, updating model once every 3199665 documents + initializing workers + iteration 0, dispatching documents up to #10000/3199665 + iteration 0, dispatching documents up to #20000/3199665 + ... + +and then, some two days later:: + + iteration 19, dispatching documents up to #3190000/3199665 + iteration 19, dispatching documents up to #3199665/3199665 + reached the end of input; now waiting for all remaining jobs to finish + +:: + + >>> lda.print_topics(20) + topic #0: 0.007*disease + 0.006*medical + 0.005*treatment + 0.005*cells + 0.005*cell + 0.005*cancer + 0.005*health + 0.005*blood + 0.004*patients + 0.004*drug + topic #1: 0.024*king + 0.013*ii + 0.013*prince + 0.013*emperor + 0.008*duke + 0.008*empire + 0.007*son + 0.007*china + 0.007*dynasty + 0.007*iii + topic #2: 0.031*film + 0.017*films + 0.005*movie + 0.005*directed + 0.004*man + 0.004*episode + 0.003*character + 0.003*cast + 0.003*father + 0.003*mother + topic #3: 0.022*user + 0.012*edit + 0.009*wikipedia + 0.007*block + 0.007*my + 0.007*here + 0.007*edits + 0.007*blocked + 0.006*revert + 0.006*me + topic #4: 0.045*air + 0.026*aircraft + 0.021*force + 0.018*airport + 0.011*squadron + 0.010*flight + 0.010*military + 0.008*wing + 0.007*aviation + 0.007*f + topic #5: 0.025*sun + 0.022*star + 0.018*moon + 0.015*light + 0.013*stars + 0.012*planet + 0.011*camera + 0.010*mm + 0.009*earth + 0.008*lens + topic #6: 0.037*radio + 0.026*station + 0.022*fm + 0.014*news + 0.014*stations + 0.014*channel + 0.013*am + 0.013*racing + 0.011*tv + 0.010*broadcasting + topic #7: 0.122*image + 0.099*jpg + 0.046*file + 0.038*uploaded + 0.024*png + 0.014*contribs + 0.013*notify + 0.013*logs + 0.013*picture + 0.013*flag + topic #8: 0.036*russian + 0.030*soviet + 0.028*polish + 0.024*poland + 0.022*russia + 0.013*union + 0.012*czech + 0.011*republic + 0.011*moscow + 0.010*finland + topic #9: 0.031*language + 0.014*word + 0.013*languages + 0.009*term + 0.009*words + 0.008*example + 0.007*names + 0.007*meaning + 0.006*latin + 0.006*form + topic #10: 0.029*w + 0.029*toronto + 0.023*l + 0.020*hockey + 0.019*nhl + 0.014*ontario + 0.012*calgary + 0.011*edmonton + 0.011*hamilton + 0.010*season + topic #11: 0.110*wikipedia + 0.110*articles + 0.030*library + 0.029*wikiproject + 0.028*project + 0.019*data + 0.016*archives + 0.012*needing + 0.009*reference + 0.009*statements + topic #12: 0.032*http + 0.030*your + 0.022*request + 0.017*sources + 0.016*archived + 0.016*modify + 0.015*changes + 0.015*creation + 0.014*www + 0.013*try + topic #13: 0.011*your + 0.010*my + 0.009*we + 0.008*don + 0.008*get + 0.008*know + 0.007*me + 0.006*think + 0.006*question + 0.005*find + topic #14: 0.073*r + 0.066*japanese + 0.062*japan + 0.018*tokyo + 0.008*prefecture + 0.005*osaka + 0.004*j + 0.004*sf + 0.003*kyoto + 0.003*manga + topic #15: 0.045*da + 0.045*fr + 0.027*kategori + 0.026*pl + 0.024*nl + 0.021*pt + 0.017*en + 0.015*categoria + 0.014*es + 0.012*kategorie + topic #16: 0.010*death + 0.005*died + 0.005*father + 0.004*said + 0.004*himself + 0.004*took + 0.004*son + 0.004*killed + 0.003*murder + 0.003*wife + topic #17: 0.027*book + 0.021*published + 0.020*books + 0.014*isbn + 0.010*author + 0.010*magazine + 0.009*press + 0.009*novel + 0.009*writers + 0.008*story + topic #18: 0.027*football + 0.024*players + 0.023*cup + 0.019*club + 0.017*fc + 0.017*footballers + 0.017*league + 0.011*season + 0.007*teams + 0.007*goals + topic #19: 0.032*band + 0.024*album + 0.014*albums + 0.013*guitar + 0.013*rock + 0.011*records + 0.011*vocals + 0.009*live + 0.008*bass + 0.008*track + + + +If you used the distributed LDA implementation in `gensim`, please let me know (my +email is at the bottom of this page). I would like to hear about your application and +the possible (inevitable?) issues that you encountered, to improve `gensim` in the future. diff --git a/gensim-develop/docs/src/dist_lsi.rst b/gensim-develop/docs/src/dist_lsi.rst new file mode 100644 index 0000000000..439999493a --- /dev/null +++ b/gensim-develop/docs/src/dist_lsi.rst @@ -0,0 +1,159 @@ +.. _dist_lsi: + +Distributed Latent Semantic Analysis +============================================ + + +.. note:: +See :doc:`distributed` for an introduction to distributed computing in `gensim`. + + +Setting up the cluster +_______________________ + +We will show how to run distributed Latent Semantic Analysis by means of an example. +Let's say we have 5 computers at our disposal, all on the same network segment (=reachable +by network broadcast). To start with, install `gensim` and set up `Pyro` on each computer with:: + + $ sudo easy_install gensim[distributed] + $ export PYRO_SERIALIZERS_ACCEPTED=pickle + $ export PYRO_SERIALIZER=pickle + +Then run Pyro’s name server on exactly one of the machines (doesn’t matter which one):: + + $ python -m Pyro4.naming -n 0.0.0.0 & + +Let's say our example cluster consists of dual-core computers with loads of +memory. We will therefore run **two** worker scripts on four of the physical machines, +creating **eight** logical worker nodes:: + + $ python -m gensim.models.lsi_worker & + +This will execute `gensim`'s `lsi_worker.py` script (to be run twice on each of the +four computer). +This lets `gensim` know that it can run two jobs on each of the four computers in +parallel, so that the computation will be done faster, while also taking up twice +as much memory on each machine. + +Next, pick one computer that will be a job scheduler in charge of worker +synchronization, and on it, run `LSA dispatcher`. In our example, we will use the +fifth computer to act as the dispatcher and from there run:: + + $ python -m gensim.models.lsi_dispatcher & + +In general, the dispatcher can be run on the same machine as one of the worker nodes, or it +can be another, distinct computer (within the same broadcast domain). The dispatcher +won't be doing much with CPU most of the time, but pick a computer with ample memory. + +And that's it! The cluster is set up and running, ready to accept jobs. To remove +a worker later on, simply terminate its `lsi_worker` process. To add another worker, run another +`lsi_worker` (this will not affect a computation that is already running, the additions/deletions are not dynamic). +If you terminate `lsi_dispatcher`, you won't be able to run computations until you run it again +(surviving worker processes can be re-used though). + + +Running LSA +____________ + +So let's test our setup and run one computation of distributed LSA. Open a Python +shell on one of the five machines (again, this can be done on any computer +in the same `broadcast domain `_, +our choice is incidental) and try:: + + >>> from gensim import corpora, models, utils + >>> import logging + >>> logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) + + >>> corpus = corpora.MmCorpus('/tmp/deerwester.mm') # load a corpus of nine documents, from the Tutorials + >>> id2word = corpora.Dictionary.load('/tmp/deerwester.dict') + + >>> lsi = models.LsiModel(corpus, id2word=id2word, num_topics=200, chunksize=1, distributed=True) # run distributed LSA on nine documents + +This uses the corpus and feature-token mapping created in the :doc:`tut1` tutorial. +If you look at the log in your Python session, you should see a line similar to:: + + 2010-08-09 23:44:25,746 : INFO : using distributed version with 8 workers + +which means all went well. You can also check the logs coming from your worker and dispatcher +processes --- this is especially helpful in case of problems. +To check the LSA results, let's print the first two latent topics:: + + >>> lsi.print_topics(num_topics=2, num_words=5) + topic #0(3.341): 0.644*"system" + 0.404*"user" + 0.301*"eps" + 0.265*"time" + 0.265*"response" + topic #1(2.542): 0.623*"graph" + 0.490*"trees" + 0.451*"minors" + 0.274*"survey" + -0.167*"system" + +Success! But a corpus of nine documents is no challenge for our powerful cluster... +In fact, we had to lower the job size (`chunksize` parameter above) to a single document +at a time, otherwise all documents would be processed by a single worker all at once. + +So let's run LSA on **one million documents** instead:: + + >>> # inflate the corpus to 1M documents, by repeating its documents over&over + >>> corpus1m = utils.RepeatCorpus(corpus, 1000000) + >>> # run distributed LSA on 1 million documents + >>> lsi1m = models.LsiModel(corpus1m, id2word=id2word, num_topics=200, chunksize=10000, distributed=True) + + >>> lsi1m.print_topics(num_topics=2, num_words=5) + topic #0(1113.628): 0.644*"system" + 0.404*"user" + 0.301*"eps" + 0.265*"time" + 0.265*"response" + topic #1(847.233): 0.623*"graph" + 0.490*"trees" + 0.451*"minors" + 0.274*"survey" + -0.167*"system" + +The log from 1M LSA should look like:: + + 2010-08-10 02:46:35,087 : INFO : using distributed version with 8 workers + 2010-08-10 02:46:35,087 : INFO : updating SVD with new documents + 2010-08-10 02:46:35,202 : INFO : dispatched documents up to #10000 + 2010-08-10 02:46:35,296 : INFO : dispatched documents up to #20000 + ... + 2010-08-10 02:46:46,524 : INFO : dispatched documents up to #990000 + 2010-08-10 02:46:46,694 : INFO : dispatched documents up to #1000000 + 2010-08-10 02:46:46,694 : INFO : reached the end of input; now waiting for all remaining jobs to finish + 2010-08-10 02:46:47,195 : INFO : all jobs finished, downloading final projection + 2010-08-10 02:46:47,200 : INFO : decomposition complete + +Due to the small vocabulary size and trivial structure of our "one-million corpus", the computation +of LSA still takes only 12 seconds. To really stress-test our cluster, let's do +Latent Semantic Analysis on the English Wikipedia. + +Distributed LSA on Wikipedia +++++++++++++++++++++++++++++++ + +First, download and prepare the Wikipedia corpus as per :doc:`wiki`, then load +the corpus iterator with:: + + >>> import logging, gensim, bz2 + >>> logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) + + >>> # load id->word mapping (the dictionary) + >>> id2word = gensim.corpora.Dictionary.load_from_text('wiki_en_wordids.txt') + >>> # load corpus iterator + >>> mm = gensim.corpora.MmCorpus('wiki_en_tfidf.mm') + >>> # mm = gensim.corpora.MmCorpus(bz2.BZ2File('wiki_en_tfidf.mm.bz2')) # use this if you compressed the TFIDF output + + >>> print mm + MmCorpus(3199665 documents, 100000 features, 495547400 non-zero entries) + +Now we're ready to run distributed LSA on the English Wikipedia:: + + >>> # extract 400 LSI topics, using a cluster of nodes + >>> lsi = gensim.models.lsimodel.LsiModel(corpus=mm, id2word=id2word, num_topics=400, chunksize=20000, distributed=True) + + >>> # print the most contributing words (both positively and negatively) for each of the first ten topics + >>> lsi.print_topics(10) + 2010-11-03 16:08:27,602 : INFO : topic #0(200.990): -0.475*"delete" + -0.383*"deletion" + -0.275*"debate" + -0.223*"comments" + -0.220*"edits" + -0.213*"modify" + -0.208*"appropriate" + -0.194*"subsequent" + -0.155*"wp" + -0.117*"notability" + 2010-11-03 16:08:27,626 : INFO : topic #1(143.129): -0.320*"diff" + -0.305*"link" + -0.199*"image" + -0.171*"www" + -0.162*"user" + 0.149*"delete" + -0.147*"undo" + -0.144*"contribs" + -0.122*"album" + 0.113*"deletion" + 2010-11-03 16:08:27,651 : INFO : topic #2(135.665): -0.437*"diff" + -0.400*"link" + -0.202*"undo" + -0.192*"user" + -0.182*"www" + -0.176*"contribs" + 0.168*"image" + -0.109*"added" + 0.106*"album" + 0.097*"copyright" + 2010-11-03 16:08:27,677 : INFO : topic #3(125.027): -0.354*"image" + 0.239*"age" + 0.218*"median" + -0.213*"copyright" + 0.204*"population" + -0.195*"fair" + 0.195*"income" + 0.167*"census" + 0.165*"km" + 0.162*"households" + 2010-11-03 16:08:27,701 : INFO : topic #4(116.927): -0.307*"image" + 0.195*"players" + -0.184*"median" + -0.184*"copyright" + -0.181*"age" + -0.167*"fair" + -0.162*"income" + -0.151*"population" + -0.136*"households" + -0.134*"census" + 2010-11-03 16:08:27,728 : INFO : topic #5(100.326): 0.501*"players" + 0.318*"football" + 0.284*"league" + 0.193*"footballers" + 0.142*"image" + 0.133*"season" + 0.119*"cup" + 0.113*"club" + 0.110*"baseball" + 0.103*"f" + 2010-11-03 16:08:27,754 : INFO : topic #6(92.298): -0.411*"album" + -0.275*"albums" + -0.217*"band" + -0.214*"song" + -0.184*"chart" + -0.163*"songs" + -0.160*"singles" + -0.149*"vocals" + -0.139*"guitar" + -0.129*"track" + 2010-11-03 16:08:27,780 : INFO : topic #7(83.811): -0.248*"wikipedia" + -0.182*"keep" + 0.180*"delete" + -0.167*"articles" + -0.152*"your" + -0.150*"my" + 0.144*"film" + -0.130*"we" + -0.123*"think" + -0.120*"user" + 2010-11-03 16:08:27,807 : INFO : topic #8(78.981): 0.588*"film" + 0.460*"films" + -0.130*"album" + -0.127*"station" + 0.121*"television" + 0.115*"poster" + 0.112*"directed" + 0.110*"actors" + -0.096*"railway" + 0.086*"movie" + 2010-11-03 16:08:27,834 : INFO : topic #9(78.620): 0.502*"kategori" + 0.282*"categoria" + 0.248*"kategorija" + 0.234*"kategorie" + 0.172*"категория" + 0.165*"categoría" + 0.161*"kategoria" + 0.148*"categorie" + 0.126*"kategória" + 0.121*"catégorie" + +In serial mode, creating the LSI model of Wikipedia with this **one-pass algorithm** +takes about 5.25h on my laptop (OS X, C2D 2.53GHz, 4GB RAM with `libVec`). +In distributed mode with four workers (Linux, dual-core Xeons of 2Ghz, 4GB RAM +with `ATLAS`), the wallclock time taken drops to 1 hour and 41 minutes. You can +read more about various internal settings and experiments in my `research +paper `_. + diff --git a/gensim-develop/docs/src/distributed.rst b/gensim-develop/docs/src/distributed.rst new file mode 100644 index 0000000000..be25773742 --- /dev/null +++ b/gensim-develop/docs/src/distributed.rst @@ -0,0 +1,92 @@ +.. _distributed: + +Distributed Computing +=================================== + +Why distributed computing? +--------------------------- + +Need to build semantic representation of a corpus that is millions of documents large and it's +taking forever? Have several idle machines at your disposal that you could use? +`Distributed computing `_ tries +to accelerate computations by splitting a given task into several smaller subtasks, +passing them on to several computing nodes in parallel. + +In the context of `gensim`, computing nodes are computers identified by their IP address/port, +and communication happens over TCP/IP. The whole collection of available machines is called +a *cluster*. The distribution is very coarse grained (not +much communication going on), so the network is allowed to be of relatively high latency. + +.. warning:: +The primary reason for using distributed computing is making things run faster. In `gensim`, + most of the time consuming stuff is done inside low-level routines for linear algebra, inside + NumPy, independent of any `gensim` code. + **Installing a fast** `BLAS (Basic Linear Algebra) `_ **library + for NumPy can improve performance up to 15 times!** So before you start buying those extra computers, + consider installing a fast, threaded BLAS that is optimized for your particular machine + (as opposed to a generic, binary-distributed library). + Options include your vendor's BLAS library (Intel's MKL, + AMD's ACML, OS X's vecLib, Sun's Sunperf, ...) or some open-source alternative (GotoBLAS, ALTAS). + + To see what BLAS and LAPACK you are using, type into your shell:: + + python -c 'import numpy; numpy.show_config()' + +Prerequisites +----------------- + +For communication between nodes, `gensim` uses `Pyro (PYthon Remote Objects) +`_, version >= 4.8. This is a library for low-level socket communication +and remote procedure calls (RPC) in Python. `Pyro` is a pure-Python library, so its +installation is quite painless and only involves copying its `*.py` files somewhere onto your Python's import path:: + + sudo easy_install Pyro4 + +You don't have to install `Pyro` to run `gensim`, but if you don't, you won't be able +to access the distributed features (i.e., everything will always run in serial mode, +the examples on this page don't apply). + + +Core concepts +----------------------------------- + +As always, `gensim` strives for a clear and straightforward API (see :ref:`design`). +To this end, *you do not need to make any changes in your code at all* in order to +run it over a cluster of computers! + +What you need to do is run a :term:`worker` script (see below) on each of your cluster nodes prior +to starting your computation. Running this script tells `gensim` that it may use the node +as a slave to delegate some work to it. During initialization, the algorithms +inside `gensim` will try to look for and enslave all available worker nodes. + +.. glossary:: + + Node + A logical working unit. Can correspond to a single physical machine, but you + can also run multiple workers on one machine, resulting in multiple + logical nodes. + + Cluster + Several nodes which communicate over TCP/IP. Currently, network broadcasting + is used to discover and connect all communicating nodes, so the nodes must lie + within the same `broadcast domain `_. + + Worker + A process which is created on each node. To remove a node from your cluster, + simply kill its worker process. + + Dispatcher + The dispatcher will be in charge of negotiating all computations, queueing and + distributing ("dispatching") individual jobs to the workers. Computations never + "talk" to worker nodes directly, only through this dispatcher. Unlike workers, + there can only be one active dispatcher at a time in the cluster. + + +Available distributed algorithms +--------------------------------- + +.. toctree:: +:maxdepth: 1 + + dist_lsi + dist_lda diff --git a/gensim-develop/docs/src/gensim_theme/domainindex.html b/gensim-develop/docs/src/gensim_theme/domainindex.html new file mode 100644 index 0000000000..491bcee362 --- /dev/null +++ b/gensim-develop/docs/src/gensim_theme/domainindex.html @@ -0,0 +1,68 @@ +{# +basic/domainindex.html +~~~~~~~~~~~~~~~~~~~~~~ + +Template for domain indices (module index, ...). + +:copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. +:license: BSD, see LICENSE for details. +#} +{% extends "layout.html" %} +{% set title = indextitle %} +{% block extrahead %} +{{ super() }} +{% if not embedded and collapse_index %} + +{% endif %} +{% endblock %} +{% block body %} + +{%- set groupid = idgen() %} + +

{{ indextitle }}

+ +
+ {%- for (letter, entries) in content %} + {{ letter }} + {%- if not loop.last %} | {% endif %} + {%- endfor %} +
+ +
+ {%- for letter, entries in content %} + + + + + + + + + + + {%- for (name, grouptype, page, anchor, extra, qualifier, description) + in entries %} + + + + + + {%- endfor %} + {%- endfor %} +
 
+ {{ letter }}
{% if grouptype == 1 -%} + + {%- endif %} + {% if grouptype == 2 %}   {% endif %} + {% if page %}{% endif -%} + {{ name|e }} + {%- if page %}{% endif %} + {%- if extra %} ({{ extra|e }}){% endif -%} + {% if qualifier %}{{ qualifier|e }}:{% endif %} + {{ description|e }}
+ +{% endblock %} diff --git a/gensim-develop/docs/src/gensim_theme/genindex.html b/gensim-develop/docs/src/gensim_theme/genindex.html new file mode 100644 index 0000000000..653a79a2c7 --- /dev/null +++ b/gensim-develop/docs/src/gensim_theme/genindex.html @@ -0,0 +1,83 @@ +{# +basic/genindex.html +~~~~~~~~~~~~~~~~~~~ + +Template for an "all-in-one" index. + +:copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. +:license: BSD, see LICENSE for details. +#} +{% macro indexentries(firstname, links) %} +
+ {%- if links -%} + + {%- if links[0][0] %}{% endif -%} + {{ firstname|e }} + {%- if links[0][0] %}{% endif -%} + + + {%- for ismain, link in links[1:] -%} + , {% if ismain %}{% endif -%} + [{{ loop.index }}] + {%- if ismain %}{% endif -%} + + {%- endfor %} + {%- else %} + {{ firstname|e }} + {%- endif %} +
+{% endmacro %} + +{% extends "layout.html" %} +{% set title = _('Index') %} +{% block body %} + +

{{ _('Index') }}

+ +
+ {% for key, dummy in genindexentries -%} + {{ key }} + {% if not loop.last %}| {% endif %} + {%- endfor %} +
+ +{%- for key, entries in genindexentries %} +

{{ key }}

+ + + {%- for column in entries|slice(2) if column %} + + {%- endfor %} + +
+
+ {%- for entryname, (links, subitems) in column %} + {{ indexentries(entryname, links) }} + {%- if subitems %} +
+
+ {%- for subentryname, subentrylinks in subitems %} + {{ indexentries(subentryname, subentrylinks) }} + {%- endfor %} +
+
+ {%- endif -%} + {%- endfor %} +
+
+{% endfor %} + +{% endblock %} + +{% block sidebarrel %} +{% if split_index %} +

{{ _('Index') }}

+

{% for key, dummy in genindexentries -%} + {{ key }} + {% if not loop.last %}| {% endif %} + {%- endfor %}

+ +

{{ _('Full index on one page') }}

+{% endif %} +{{ super() }} +{% endblock %} diff --git a/gensim-develop/docs/src/gensim_theme/layout.html b/gensim-develop/docs/src/gensim_theme/layout.html new file mode 100644 index 0000000000..567a4e21bb --- /dev/null +++ b/gensim-develop/docs/src/gensim_theme/layout.html @@ -0,0 +1,230 @@ +{%- block doctype -%} +{%- endblock %} + +{% set script_files = ["_static/js/jquery-1.9.1.min.js", "_static/js/jquery.qtip.min.js", "_static/js/jquery-migrate-1.1.1.min.js", "_static/js/jquery.anythingslider.min.js"] %} +{% set css_files = css_files + ["_static/css/jquery.qtip.min.css", "_static/css/anythingslider.css"] %} +{%- set url_root = pathto('', 1) %} + +{%- macro script() %} + + +{%- for scriptfile in script_files %} + +{%- endfor %} +{%- endmacro %} + +{%- macro css() %} + +{%- for cssfile in css_files %} + +{%- endfor %} + +{%- endmacro %} + + + + + + + + + {{ metatags }} + {%- block htmltitle %} + gensim: {{ title|striptags|e }} + {%- endblock %} + + {{ css() }} + + + + + + + + +
+ {% block header %} +
+
+

+ gensim logo +

+
+ +
+
+
gensim
+
gensim tagline
+
+
+
+
+
+ {% endblock %} + + {% block navbar %} + + {% endblock %} + +
+
+ +{{ script() }} + +{% block content %} +
+ {% block document %} +
+
+ {{ title|striptags|e }} +
+
+
+
+ {% block body %} {% endblock %} +
+
+ {% endblock %} + +
+
+{% endblock %} + +{% block footer %} +
+{% endblock %} + + + + + diff --git a/gensim-develop/docs/src/gensim_theme/page.html b/gensim-develop/docs/src/gensim_theme/page.html new file mode 100644 index 0000000000..d8269e3a41 --- /dev/null +++ b/gensim-develop/docs/src/gensim_theme/page.html @@ -0,0 +1,4 @@ +{% extends "layout.html" %} +{% block body %} +{{ body }} +{% endblock %} diff --git a/gensim-develop/docs/src/gensim_theme/search.html b/gensim-develop/docs/src/gensim_theme/search.html new file mode 100644 index 0000000000..4396ad0f02 --- /dev/null +++ b/gensim-develop/docs/src/gensim_theme/search.html @@ -0,0 +1,59 @@ +{# +basic/search.html +~~~~~~~~~~~~~~~~~ + +Template for the search page. + +:copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. +:license: BSD, see LICENSE for details. +#} +{% extends "layout.html" %} +{% set title = _('Search') %} +{% set script_files = script_files + ['_static/searchtools.js'] %} +{% block extrahead %} + +{{ super() }} +{% endblock %} +{% block body %} +

{{ _('Search') }}

+
+ +

+ {% trans %}Please activate JavaScript to enable the search + functionality.{% endtrans %} +

+
+

+ {% trans %}From here you can search these documents. Enter your search + words into the box below and click "search". Note that the search + function will automatically search for all of the words. Pages + containing fewer words won't appear in the result list.{% endtrans %} +

+
+ + + +
+{% if search_performed %} +

{{ _('Search Results') }}

+{% if not search_results %} +

{{ _('Your search did not match any results.') }}

+{% endif %} +{% endif %} +
+ {% if search_results %} +
    + {% for href, caption, context in search_results %} +
  • {{ caption }} + +
    {{ context|e }}
    +
  • + {% endfor %} +
+ {% endif %} +
+{% endblock %} diff --git a/gensim-develop/docs/src/gensim_theme/static/doctools.js b/gensim-develop/docs/src/gensim_theme/static/doctools.js new file mode 100644 index 0000000000..c4f7856ae3 --- /dev/null +++ b/gensim-develop/docs/src/gensim_theme/static/doctools.js @@ -0,0 +1,250 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for all documentation. + * + * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/** + * select a different prefix for underscore + */ +$u = _.noConflict(); + +/** + * make the code below compatible with browsers without + * an installed firebug like debugger + if (!window.console || !console.firebug) { + var names = ["log", "debug", "info", "warn", "error", "assert", "dir", + "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", + "profile", "profileEnd"]; + window.console = {}; + for (var i = 0; i < names.length; ++i) + window.console[names[i]] = function() {}; +} + */ + +/** + * small helper function to urldecode strings + */ +jQuery.urldecode = function (x) { + return decodeURIComponent(x).replace(/\+/g, ' '); +}; + +/** + * small helper function to urlencode strings + */ +jQuery.urlencode = encodeURIComponent; + +/** + * This function returns the parsed url parameters of the + * current request. Multiple values per key are supported, + * it will always return arrays of strings for the value parts. + */ +jQuery.getQueryParameters = function (s) { + if (typeof s == 'undefined') + s = document.location.search; + var parts = s.substr(s.indexOf('?') + 1).split('&'); + var result = {}; + for (var i = 0; i < parts.length; i++) { + var tmp = parts[i].split('=', 2); + var key = jQuery.urldecode(tmp[0]); + var value = jQuery.urldecode(tmp[1]); + if (key in result) + result[key].push(value); + else + result[key] = [value]; + } + return result; +}; + +/** + * small function to check if an array contains + * a given item. + */ +jQuery.contains = function (arr, item) { + for (var i = 0; i < arr.length; i++) { + if (arr[i] == item) + return true; + } + return false; +}; + +/** + * highlight a given string on a jquery object by wrapping it in + * span elements with the given class name. + */ +jQuery.fn.highlightText = function (text, className) { + function highlight(node) { + if (node.nodeType == 3) { + var val = node.nodeValue; + var pos = val.toLowerCase().indexOf(text); + if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) { + var span = document.createElement("span"); + span.className = className; + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + node.parentNode.insertBefore(span, node.parentNode.insertBefore( + document.createTextNode(val.substr(pos + text.length)), + node.nextSibling)); + node.nodeValue = val.substr(0, pos); + } + } + else if (!jQuery(node).is("button, select, textarea")) { + jQuery.each(node.childNodes, function () { + highlight(this); + }, b); + } + } + + return this.each(function () { + highlight(this); + }, b); +}; + +/** + * Small JavaScript module for the documentation. + */ +var Documentation; +Documentation = { + + init: function () { + this.fixFirefoxAnchorBug(); + this.highlightSearchWords(); + this.initIndexTable(); + }, + + /** + * i18n support + */ + TRANSLATIONS: {}, + /** + * @return {number} + */ + PLURAL_EXPR: function (n) { + return n == 1 ? 0 : 1; + }, + LOCALE: 'unknown', + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext: function (string) { + var translated = Documentation.TRANSLATIONS[string]; + if (typeof translated == 'undefined') + return string; + return (typeof translated == 'string') ? translated : translated[0]; + }, + + ngettext: function (singular, plural, n) { + var translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated == 'undefined') + return (n == 1) ? singular : plural; + return translated[Documentation.PLURALEXPR(n)]; + }, + addTranslations: function (catalog) { + for (var key in catalog.messages) this.TRANSLATIONS[key] = catalog.messages[key]; + this.PLURAL_EXPR = new Function('n', "return +(" + catalog.plural_expr + ')'); + this.LOCALE = catalog.locale; + }, + + /** + * add context elements like header anchor links + */ + addContextElements: function () { + $('div[id] > :header:first').each(function () { + $('\u00B6'). + attr('href', '#' + this.id). + attr('title', _('Permalink to this headline')). + appendTo(this); + }, b); + $('dt[id]').each(function () { + $('\u00B6'). + attr('href', '#' + this.id). + attr('title', _('Permalink to this definition')). + appendTo(this); + }, b); + }, + + /** + * workaround a firefox stupidity + */ + fixFirefoxAnchorBug: function () { + if (document.location.hash && $.browser.mozilla) + window.setTimeout(function () { + document.location.href += ''; + }, 10); + }, + + /** + * highlight the search words provided in the url in the text + */ + highlightSearchWords: function () { + + + var params = $.getQueryParameters(); + if (!params.highlight) { + } else { + var terms = params.highlight[0].split(/\s+/); + } + if (terms.length) { + var body = $('div.body'); + window.setTimeout(function () { + $.each(terms, function () { + body.highlightText(this.toLowerCase(), 'highlighted'); + }, b); + }, 10); + $('') + .appendTo($('#searchbox')); + } + }, + + /** + * init the domain index toggle buttons + */ + initIndexTable: function () { + var togglers = $('img.toggler').click(function () { + var src = $(this).attr('src'); + var idnum = $(this).attr('id').substr(7); + $('tr.cg-' + idnum).toggle(); + if (src.substr(-9) == 'minus.png') + $(this).attr('src', src.substr(0, src.length - 9) + 'plus.png'); + else + $(this).attr('src', src.substr(0, src.length - 8) + 'minus.png'); + }).css('display', ''); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { + togglers.click(); + } + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords: function () { + $('#searchbo').find('.highlight-link').fadeOut(300); + $('span.highlighted').removeClass('highlighted'); + }, + + /** + * get the current relative url + */ + getCurrentURL: function () { + var path = document.location.pathname; + var parts = path.split(/\//); + $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function () { + if (this == '..') + parts.pop(); + }, b); + var url = parts.join('/'); + return path.substring(url.lastIndexOf('/') + 1, path.length - 1); + } +}; + +// quick alias for translations +_ = Documentation.gettext; + +$(document).ready(function () { + Documentation.init(); +}); diff --git a/gensim-develop/docs/src/gensim_theme/static/jquery.js b/gensim-develop/docs/src/gensim_theme/static/jquery.js new file mode 100644 index 0000000000..b2352a97a2 --- /dev/null +++ b/gensim-develop/docs/src/gensim_theme/static/jquery.js @@ -0,0 +1,2699 @@ +/*! jQuery v1.7.1 jquery.com | jquery.org/license */ +(function (a, b) { + function cy(a) { + return f.isWindow(a) ? a : a.nodeType !== 9 ? !1 : a.defaultView || a.parentWindow + } + + function cv(a) { + if (!ck[a]) { + var b = c.body, d = f("<" + a + ">").appendTo(b), e = d.css("display"); + d.remove(); + if (e === "none") { + (cl = c.createElement("iframe"), cl.frameBorder = cl.width = cl.height = 0) || cl, b.appendChild(cl); + if (!cm || !cl.createElement)cm = (cl.contentWindow || cl.contentDocument).document, cm.write((c.compatMode === "CSS1Compat" ? "" : "") + ""), cm.close(); + d = cm.createElement(a), cm.body.appendChild(d), e = f.css(d, "display"), b.removeChild(cl) + } else { + if (e === "") { + !(!(cl = c.createElement("iframe"), cl.frameBorder = cl.width = cl.height = 0) && !cl), b.appendChild(cl); + if (!cm || !cl.createElement)cm = (cl.contentWindow || cl.contentDocument).document, cm.write((c.compatMode === "CSS1Compat" ? "" : "") + ""), cm.close(); + d = cm.createElement(a), cm.body.appendChild(d), e = f.css(d, "display"), b.removeChild(cl) + } + } + ck[a] = e + } + return ck[a] + } + + function cu(a, b) { + var c = {}; + f.each(cq.concat.apply([], cq.slice(0, b)), function () { + c[this] = a + }, b); + return c + } + + function ct() { + cr = b + } + + function cs() { + setTimeout(ct, 0); + return cr = f.now() + } + + function cj() { + try { + return new a.ActiveXObject("Microsoft.XMLHTTP") + } catch (b) { + } + } + + function ci() { + try { + return new a.XMLHttpRequest + } catch (b) { + } + } + + function cc(a, c) { + a.dataFilter && (c = a.dataFilter(c, a.dataType)); + var d = a.dataTypes, e = {}, g, h, i = d.length, j, k = d[0], l, m, n, o, p; + for (g = 1; g < i; g++) { + if (g === 1)for (h in a.converters)!(typeof h != "string" || !(e[h.toLowerCase()] = a.converters[h])); + l = k, k = d[g]; + if (k === "*")k = l; else if (l !== "*" && l !== k) { + m = l + " " + k, n = e[m] || e["* " + k]; + if (!n) { + p = b; + for (o in e) { + j = o.split(" "); + if (!(j[0] !== l && j[0] !== "*")) { + p = e[j[1] + " " + k]; + if (p) { + o = e[o], o === !0 ? n = p : p === !0 && (n = o); + break + } + } + } + } + !n && !p && f.error("No conversion from " + m.replace(" ", " to ")), n !== !0 && (c = n ? n(c) : p(o(c))) + } + } + return c + } + + function cb(a, c, d) { + var e = a.contents, f = a.dataTypes, g = a.responseFields, h, i, j, k; + for (i in g) (c[g[i]] = d[i]) && i in d; + while (f[0] === "*")f.shift() && h === b && (h = a.mimeType || c.getResponseHeader("content-type")); + if (h) { + for (i in e) { + if (e[i].test(h) && e[i]) { + f.unshift(i); + break + } + } + } + if (f[0]in d)j = f[0]; else { + for (i in d) { + if (!f[0] || a.converters[i + " " + f[0]]) { + j = i; + break + } + k || (k = i) + } + j = j || k + } + if (j) { + j !== f[0] && f.unshift(j); + return d[j] + } + } + + function ca(a, b, c, d) { + if (f.isArray(b))f.each(b, function (b, e) { + c || bE.test(a) ? d(a, e) : ca(a + "[" + (typeof e == "object" || f.isArray(e) ? b : "") + "]", e, c, d) + }, b); else if (!c && b != null && typeof b == "object")for (var e in b)ca(a + "[" + e + "]", b[e], c, d); else d(a, b) + } + + function b_(a, c) { + var d, e, g = f.ajaxSettings.flatOptions || {}; + for (d in c)c[d] !== b && ((g[d] ? a : e || (e = {}))[d] = c[d]); + e && f.extend(!0, a, e) + } + + function b$(a, c, d, e, f, g) { + f = f || c.dataTypes[0], g = g || {}, g[f] = !0; + var h = a[f], i = 0, j = h ? h.length : 0, k = a === bT, l; + for (; i < j && (k || !l); i++)l = h[i](c, d, e), typeof l == "string" && (!k || g[l] ? l = b : (c.dataTypes.unshift(l), l = b$(a, c, d, e, l, g))); + (k || !l) && !g["*"] && (l = b$(a, c, d, e, "*", g)); + return l + } + + function bZ(a) { + return function (b, c) { + !(typeof b == "string" || !(c = b, b = "*")); + if (f.isFunction(c)) { + var d = b.toLowerCase().split(bP), e = 0, g = d.length, h, i, j; + for (; e < g; e++)h = d[e], j = /^\+/.test(h), j && (h = h.substr(1) || "*"), i = a[h] = a[h] || [], i[j ? "unshift" : "push"](c) + } + } + } + + function bC(a, b, c) { + var d = b === "width" ? a.offsetWidth : a.offsetHeight, e = b === "width" ? bx : by, g = 0, h = e.length; + if (d > 0) { + if (c !== "border")for (; g < h; g++)c || (d -= parseFloat(f.css(a, "padding" + e[g])) || 0), c === "margin" ? d += parseFloat(f.css(a, c + e[g])) || 0 : d -= parseFloat(f.css(a, "border" + e[g] + "Width")) || 0; + return d + "px" + } + d = bz(a, b, b); + if (d < 0 || d == null)d = a.style[b] || 0; + d = parseFloat(d) || 0; + if (c)for (; g < h; g++)d += parseFloat(f.css(a, "padding" + e[g])) || 0, c !== "padding" && (d += parseFloat(f.css(a, "border" + e[g] + "Width")) || 0), c === "margin" && (d += parseFloat(f.css(a, c + e[g])) || 0); + return d + "px" + } + + function bp(a, b) { + b.src ? f.ajax({url: b.src, async: !1, dataType: "script"}) : f.globalEval((b.text || b.textContent || b.innerHTML || "").replace(bf, "/*$0*/")), b.parentNode && b.parentNode.removeChild(b) + } + + function bo(a) { + var b = c.createElement("div"); + bh.appendChild(b), b.innerHTML = a.outerHTML; + return b.firstChild + } + + function bn(a) { + var b = (a.nodeName || "").toLowerCase(); + b === "input" ? bm(a) : b !== "script" && typeof a.getElementsByTagName != "undefined" && f.grep(a.getElementsByTagName("input"), bm) + } + + function bm(a) { + if (a.type === "checkbox" || a.type === "radio")a.defaultChecked = a.checked + } + + function bl(a) { + return typeof a.getElementsByTagName != "undefined" ? a.getElementsByTagName("*") : typeof a.querySelectorAll != "undefined" ? a.querySelectorAll("*") : [] + } + + function bk(a, b) { + var c; + if (b.nodeType === 1) { + b.clearAttributes && b.clearAttributes(), b.mergeAttributes && b.mergeAttributes(a), c = b.nodeName.toLowerCase(); + if (c === "object")b.outerHTML = a.outerHTML; else { + if (c !== "input" || a.type !== "checkbox" && a.type !== "radio") { + if (c === "option")b.selected = a.defaultSelected; else if (c === "input" || c === "textarea")b.defaultValue = a.defaultValue + } else { + a.checked && (b.defaultChecked = b.checked = a.checked), b.value !== a.value && (b.value = a.value); + } + } + b.removeAttribute(f.expando) + } + } + + function bj(a, b) { + if (b.nodeType === 1 && !!f.hasData(a)) { + var c, d, e, g = f._data(a), h = f._data(b, g), i = g.events; + if (i) { + delete h.handle, h.events = {}; + for (c in i)for (d = 0, e = i[c].length; d < e; d++)f.event.add(b, c + (i[c][d].namespace ? "." : "") + i[c][d].namespace, i[c][d], i[c][d].data) + } + h.data && (h.data = f.extend({}, h.data)) + } + } + + function bi(a, b) { + return f.nodeName(a, "table") ? a.getElementsByTagName("tbody")[0] || a.appendChild(a.ownerDocument.createElement("tbody")) : a + } + + function U(a) { + var b = V.split("|"), c = a.createDocumentFragment(); + if (c.createElement)while (b.length)c.createElement(b.pop()); + return c + } + + function T(a, b, c) { + b = b || 0; + if (f.isFunction(b))return f.grep(a, function (a, d) { + var e = !!b.call(a, d, a); + return e === c + }); + if (b.nodeType)return f.grep(a, function (a, d) { + return a === b === c + }); + if (typeof b == "string") { + var d = f.grep(a, function (a) { + return a.nodeType === 1 + }); + if (O.test(b))return f.filter(b, d, !c); + b = f.filter(b, d) + } + return f.grep(a, function (a, d) { + return f.inArray(a, b) >= 0 === c + }) + } + + /** + * @return {boolean} + */ + function S(a) { + return!(a && a.parentNode && a.parentNode.nodeType !== 11) + } + + /** + * @return {boolean} + */ + function K() { + return!0 + } + + /** + * @return {boolean} + */ + function J() { + return!1 + } + + function n(a, b, c) { + var d = b + "defer", e = b + "queue", g = b + "mark", h = f._data(a, d); + h && (c === "queue" || !f._data(a, e)) && (c === "mark" || !f._data(a, g)) && setTimeout(function () { + !f._data(a, e) && !f._data(a, g) && (f.removeData(a, d, !0), h.fire()) + }, 0) + } + + function m(a) { + for (var b in a) { + if (b === "data" && f.isEmptyObject(a[b]))continue; + if (b !== "toJSON")return!1 + } + return!0 + } + + function l(a, c, d) { + if (d === b && a.nodeType === 1) { + var e = "data-" + c.replace(k, "-$1").toLowerCase(); + d = a.getAttribute(e); + if (typeof d == "string") { + try { + d = d === "true" ? !0 : d === "false" ? !1 : d === "null" ? null : f.isNumeric(d) ? parseFloat(d) : j.test(d) ? f.parseJSON(d) : d + } catch (g) { + } + f.data(a, c, d) + } else d = b + } + return d + } + + function h(a) { + var b = g[a] = {}, c, d; + a = a.split(/\s+/); + for (c = 0, d = a.length; c < d; c++)b[a[c]] = !0; + return b + } + + var c, d, e, f, g; + c = a.document; + d = a.navigator; + e = a.location; + f = function () { + function J() { + if (!e.isReady) { + try { + c.documentElement.doScroll("left") + } catch (a) { + setTimeout(J, 1); + return + } + e.ready() + } + } + + var e = function (a, b) { + return new e.fn.init(a, b, h) + }, f = a.jQuery, g = a.$, h, i = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, j = /\S/, k = /^\s+/, l = /\s+$/, m = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, n = /^[\],:{}\s]*$/, o = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, p = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, q = /(?:^|:|,)(?:\s*\[)+/g, r = /(webkit)[ \/]([\w.]+)/, s = /(opera)(?:.*version)?[ \/]([\w.]+)/, t = /(msie) ([\w.]+)/, u = /(mozilla)(?:.*? rv:([\w.]+))?/, v = /-([a-z]|[0-9])/ig, w = /^-ms-/, x = function (a, b) { + return(b + "").toUpperCase() + }, y = d.userAgent, z, A, B, C = Object.prototype.toString, D = Object.prototype.hasOwnProperty, E = Array.prototype.push, F = Array.prototype.slice, G = String.prototype.trim, H = Array.prototype.indexOf, I = {}; + e.fn = e.prototype = {constructor: e, init: function (a, d, f) { + var g, h, j, k; + if (!a)return this; + if (a.nodeType) { + this.context = this[0] = a, this.length = 1; + return this + } + if (a === "body" && !d && c.body) { + this.context = c, this[0] = c.body, this.selector = a, this.length = 1; + return this + } + if (typeof a == "string") { + a.charAt(0) !== "<" || a.charAt(a.length - 1) !== ">" || a.length < 3 ? g = i.exec(a) : g = [null, a, null]; + if (g && (g[1] || !d)) { + if (g[1]) { + d = d instanceof e ? d[0] : d, k = d ? d.ownerDocument || d : c, j = m.exec(a), j ? e.isPlainObject(d) ? (a = [c.createElement(j[1])], e.fn.attr.call(a, d, !0)) : a = [k.createElement(j[1])] : (j = e.buildFragment([g[1]], [k]), a = (j.cacheable ? e.clone(j.fragment) : j.fragment).childNodes); + return e.merge(this, a) + } + h = c.getElementById(g[2]); + if (h && h.parentNode) { + if (h.id !== g[2])return f.find(a); + this.length = 1, this[0] = h + } + this.context = c, this.selector = a; + return this + } + return!d || d.jquery ? (d || f).find(a) : this.constructor(d).find(a) + } + if (e.isFunction(a))return f.ready(a); + a.selector !== b && (this.selector = a.selector, this.context = a.context); + return e.makeArray(a, this) + }, selector: "", jquery: "1.7.1", length: 0, size: function () { + return this.length + }, toArray: function () { + return F.call(this, 0) + }, get: function (a, b, c, s2) { + return a == null ? this.toArray() : a < 0 ? this[this.length + a] : this[a] + }, pushStack: function (a, b, c) { + var d = this.constructor(); + e.isArray(a) ? E.apply(d, a) : e.merge(d, a), d.prevObject = this, d.context = this.context, b === "find" ? d.selector = this.selector + (this.selector ? " " : "") + c : b && (d.selector = this.selector + "." + b + "(" + c + ")"); + return d + }, each: function (a, b, b2) { + return e.each(this, a, b) + }, ready: function (a) { + e.bindReady(), A.add(a); + return this + }, eq: function (a) { + a = +a; + return a === -1 ? this.slice(a) : this.slice(a, a + 1) + }, first: function () { + return this.eq(0) + }, last: function () { + return this.eq(-1) + }, slice: function () { + return this.pushStack(F.apply(this, arguments), "slice", F.call(arguments).join(",")) + }, map: function (a, f2, c) { + return this.pushStack(e.map(this, function (b, c) { + return a.call(b, c, b) + }, c)) + }, end: function () { + return this.prevObject || this.constructor(null) + }, push: E, sort: [].sort, splice: [].splice}, e.fn.init.prototype = e.fn, e.extend = e.fn.extend = function () { + var a, c, d, f, g, h, i = arguments[0] || {}, j = 1, k = arguments.length, l = !1; + typeof i == "boolean" && (l = i, i = arguments[1] || {}, j = 2), typeof i != "object" && !e.isFunction(i) && (i = {}), k === j && (i = this, --j); + for (; j < k; j++)if ((a = arguments[j]) != null)for (c in a) { + d = i[c], f = a[c]; + if (i === f)continue; + l && f && (e.isPlainObject(f) || (g = e.isArray(f))) ? (g ? (g = !1, h = d && e.isArray(d) ? d : []) : h = d && e.isPlainObject(d) ? d : {}, i[c] = e.extend(l, h, f)) : f !== b && (i[c] = f) + } + return i + }, e.extend({noConflict: function (b) { + a.$ === e && (a.$ = g), b && a.jQuery === e && (a.jQuery = f); + return e + }, isReady: !1, readyWait: 1, holdReady: function (a) { + a ? e.readyWait++ : e.ready(!0) + }, ready: function (a) { + if (a === !0 && !--e.readyWait || a !== !0 && !e.isReady) { + if (!c.body)return setTimeout(e.ready, 1); + e.isReady = !0; + if (a !== !0 && --e.readyWait > 0)return; + A.fireWith(c, [e]), e.fn.trigger && e(c).trigger("ready").off("ready") + } + }, bindReady: function () { + if (!A) { + A = e.Callbacks("once memory"); + if (c.readyState === "complete")return setTimeout(e.ready, 1); + if (c.addEventListener)c.addEventListener("DOMContentLoaded", B, !1), a.addEventListener("load", e.ready, !1); else if (c.attachEvent) { + c.attachEvent("onreadystatechange", B), a.attachEvent("onload", e.ready); + var b = !1; + try { + b = a.frameElement == null + } catch (d) { + } + c.documentElement.doScroll && b && J() + } + } + }, isFunction: function (a) { + return e.type(a) === "function" + }, isArray: Array.isArray || function (a) { + return e.type(a) === "array" + }, isWindow: function (a) { + return a && typeof a == "object" && "setInterval"in a + }, isNumeric: function (a) { + return!isNaN(parseFloat(a)) && isFinite(a) + }, type: function (a) { + return a == null ? String(a) : I[C.call(a)] || "object" + }, isPlainObject: function (a) { + if (!a || e.type(a) !== "object" || a.nodeType || e.isWindow(a))return!1; + try { + if (a.constructor && !D.call(a, "constructor") && !D.call(a.constructor.prototype, "isPrototypeOf"))return!1 + } catch (c) { + return!1 + } + var d; + return d === b || D.call(a, d) + }, isEmptyObject: function (a) { + if (typeof b != "string" || !b)return null; + b = e.trim(b); + if (a.JSON && a.JSON.parse)return a.JSON.parse(b); + if (n.test(b.replace(o, "@").replace(p, "]").replace(q, "")))return(new Function("return " + b))(); + e.error("Invalid JSON: " + b) + }, parseXML: function (c) { + var d, f; + try { + a.DOMParser ? (f = new DOMParser, d = f.parseFromString(c, "text/xml")) : (d = new ActiveXObject("Microsoft.XMLDOM"), d.async = "false", d.loadXML(c)) + } catch (g) { + d = b + } + (!d || !d.documentElement || d.getElementsByTagName("parsererror").length) && e.error("Invalid XML: " + c); + return d + }, noop: function () { + }, globalEval: function (b) { + b && j.test(b) && (a.execScript || function (b) { + a.eval.call(a, b) + })(b) + }, camelCase: function (a) { + return a.replace(w, "ms-").replace(v, x) + }, nodeName: function (a, b) { + return a.nodeName && a.nodeName.toUpperCase() === b.toUpperCase() + }, each: function (a, c, d) { + var f, g = 0, h = a.length, i = h === b || e.isFunction(a); + if (d) { + if (i) { + for (f in a)if (c.apply(a[f], d) === !1)break + } else for (; g < h;)if (c.apply(a[g++], d) === !1)break + } else if (i) { + for (f in a)if (c.call(a[f], f, a[f]) === !1)break + } else for (; g < h;)if (c.call(a[g], g, a[g++]) === !1)break; + return a + }, trim: G ? function (a) { + return a == null ? "" : G.call(a) + } : function (a) { + return a == null ? "" : (a + "").replace(k, "").replace(l, "") + }, makeArray: function (a, b) { + var c = b || []; + if (a != null) { + var d = e.type(a); + a.length == null || d === "string" || d === "function" || d === "regexp" || e.isWindow(a) ? E.call(c, a) : e.merge(c, a) + } + return c + }, inArray: function (a, b, c) { + var d; + if (b) { + if (H)return H.call(b, a, c); + d = b.length, c = c ? c < 0 ? Math.max(0, d + c) : c : 0; + for (; c < d; c++)if (c in b && b[c] === a)return c + } + return-1 + }, merge: function (a, c) { + var d = a.length, e = 0; + if (typeof c.length == "number")for (var f = c.length; e < f; e++)a[d++] = c[e]; else while (c[e] !== b)a[d++] = c[e++]; + a.length = d; + return a + }, grep: function (a, b, c) { + var d = [], e; + c = !!c; + for (var f = 0, g = a.length; f < g; f++)e = !!b(a[f], f), c !== e && d.push(a[f]); + return d + }, map: function (a, c, d) { + var f, g, h = [], i = 0, j = a.length, k = a instanceof e || j !== b && typeof j == "number" && (j > 0 && a[0] && a[j - 1] || j === 0 || e.isArray(a)); + if (k)for (; i < j; i++)f = c(a[i], i, d), f != null && (h[h.length] = f); else for (g in a)f = c(a[g], g, d), f != null && (h[h.length] = f); + return h.concat.apply([], h) + }, guid: 1, proxy: function (a, c) { + if (typeof c == "string") { + var d = a[c]; + c = a, a = d + } + if (!e.isFunction(a))return b; + var f = F.call(arguments, 2), g = function () { + return a.apply(c, f.concat(F.call(arguments))) + }; + g.guid = a.guid = a.guid || g.guid || e.guid++; + return g + }, access: function (a, c, d, f, g, h) { + var i = a.length; + if (typeof c == "object") { + for (var j in c)e.access(a, j, c[j], f, g, d); + return a + } + if (d !== b) { + f = !h && f && e.isFunction(d); + for (var k = 0; k < i; k++)g(a[k], c, f ? d.call(a[k], k, g(a[k], c)) : d, h); + return a + } + return i ? g(a[0], c) : b + }, now: function () { + return(new Date).getTime() + }, uaMatch: function (a) { + a = a.toLowerCase(); + var b = r.exec(a) || s.exec(a) || t.exec(a) || a.indexOf("compatible") < 0 && u.exec(a) || []; + return{browser: b[1] || "", version: b[2] || "0"} + }, sub: function () { + function a(b, c) { + return new a.fn.init(b, c) + } + + e.extend(!0, a, this), a.superclass = this, a.fn = a.prototype = this(), a.fn.constructor = a, a.sub = this.sub, a.fn.init = function (d, f) { + f && f instanceof e && !(f instanceof a) && (f = a(f)); + return e.fn.init.call(this, d, f, b) + }, a.fn.init.prototype = a.fn; + var b = a(c); + return a + }, browser: {}}), e.each("Boolean Number String Function Array Date RegExp Object".split(" "), function (a, b) { + I["[object " + b + "]"] = b.toLowerCase() + }, b), z = e.uaMatch(y), z.browser && (e.browser[z.browser] = !0, e.browser.version = z.version), e.browser.webkit && (e.browser.safari = !0), j.test(" ") && (k = /^[\s\xA0]+/, l = /[\s\xA0]+$/), h = e(c), c.addEventListener ? B = function () { + c.removeEventListener("DOMContentLoaded", B, !1), e.ready() + } : c.attachEvent && (B = function () { + c.readyState === "complete" && (c.detachEvent("onreadystatechange", B), e.ready()) + }); + return e + }(); + g = {}; + f.Callbacks = function (a) { + a = a ? g[a] || h(a) : {}; + var c = []; + var d = []; + var e; + var i; + var j; + var k; + var l; + var m = function (b) { + var d, e, g, h, i; + for (d = 0, e = b.length; d < e; d++)g = b[d], h = f.type(g), h === "array" ? m(g) : h === "function" && (!a.unique || !o.has(g)) && c.push(g) + }; + var n = function (b, f) { + f = f || [], e = !a.memory || [b, f], i = !0, l = j || 0, j = 0, k = c.length; + for (; c && l < k; l++)if (c[l].apply(b, f) === !1 && a.stopOnFalse) { + e = !0; + break + } + i = !1, c && (a.once ? e === !0 ? o.disable() : c = [] : d && d.length && (e = d.shift(), o.fireWith(e[0], e[1]))) + }; + var o = {add: function () { + if (c) { + var a = c.length; + m(arguments), i ? k = c.length : e && e !== !0 && (j = a, n(e[0], e[1])) + } + return this + }, remove: function () { + if (c) { + var d = 0, e = arguments.length; + for (; d < e; d++)for (var f = 0; f < c.length; f++)if (arguments[d] === c[f]) { + i && f <= k && (k--, f <= l && l--), c.splice(f--, 1); + if (a.unique)break + } + } + return this + }, has: function (a) { + if (c) { + var b = 0, d = c.length; + for (; b < d; b++)if (a === c[b])return!0 + } + return!1 + }, empty: function () { + c = []; + return this + }, disable: function () { + c = d = e = b; + return this + }, disabled: function () { + return!c + }, lock: function () { + d = b, (!e || e === !0) && o.disable(); + return this + }, locked: function () { + return!d + }, fireWith: function (b, c) { + d && (i ? a.once || d.push([b, c]) : (!a.once || !e) && n(b, c)); + return this + }, fire: function () { + o.fireWith(this, arguments); + return this + }, fired: function () { + return!!e + }}; + return o + }; + var i = [].slice; + f.extend({Deferred: function (a) { + var b = f.Callbacks("once memory"), c = f.Callbacks("once memory"), d = f.Callbacks("memory"), e = "pending", g = {resolve: b, reject: c, notify: d}, h = {done: b.add, fail: c.add, progress: d.add, state: function () { + return e + }, isResolved: b.fired, isRejected: c.fired, then: function (a, b, c) { + i.done(a).fail(b).progress(c); + return this + }, always: function () { + i.done.apply(i, arguments).fail.apply(i, arguments); + return this + }, pipe: function (a, b, c) { + return f.Deferred(function (d) { + f.each({done: [a, "resolve"], fail: [b, "reject"], progress: [c, "notify"]}, function (a, b) { + var c = b[0], e = b[1], g; + f.isFunction(c) ? i[a](function () { + g = c.apply(this, arguments), g && f.isFunction(g.promise) ? g.promise().then(d.resolve, d.reject, d.notify) : d[e + "With"](this === i ? d : this, [g]) + }) : i[a](d[e]) + }, b) + }).promise() + }, promise: function (a) { + if (a == null)a = h; else for (var b in h)a[b] = h[b]; + return a + }}, i = h.promise({}), j; + for (j in g)i[j] = g[j].fire, i[j + "With"] = g[j].fireWith; + i.done(function () { + e = "resolved" + }, c.disable, d.lock).fail(function () { + e = "rejected" + }, b.disable, d.lock), a && a.call(i, i); + return i + }, when: function (a) { + function m(a) { + return function (b) { + e[a] = arguments.length > 1 ? i.call(arguments, 0) : b, j.notifyWith(k, e) + } + } + + function l(a) { + return function (c) { + b[a] = arguments.length > 1 ? i.call(arguments, 0) : c, !(!--g && !j.resolveWith(j, b)) + } + } + + var b = i.call(arguments, 0), c = 0, d = b.length, e = new Array(d), g = d, h = d, j = d <= 1 && a && f.isFunction(a.promise) ? a : f.Deferred(), k = j.promise(); + if (d > 1) { + for (; c < d; c++)b[c] && b[c].promise && f.isFunction(b[c].promise) ? b[c].promise().then(l(c), j.reject, m(c)) : --g; + g || j.resolveWith(j, b) + } else !(j === a || !j.resolveWith(j, d ? [a] : [])); + return k + }}), f.support = function () { + var b, d, e, g, h, i, j, k, l, m, n, o, p, q = c.createElement("div"), r = c.documentElement; + q.setAttribute("className", "t"), q.innerHTML = "
a", d = q.getElementsByTagName("*"), e = q.getElementsByTagName("a")[0]; + if (!d || !d.length || !e)return{}; + g = c.createElement("select"), h = g.appendChild(c.createElement("option")), i = q.getElementsByTagName("input")[0], b = {leadingWhitespace: q.firstChild.nodeType === 3, tbody: !q.getElementsByTagName("tbody").length, htmlSerialize: !!q.getElementsByTagName("link").length, style: /top/.test(e.getAttribute("style")), hrefNormalized: e.getAttribute("href") === "/a", opacity: /^0.55/.test(e.style.opacity), cssFloat: !!e.style.cssFloat, checkOn: i.value === "on", optSelected: h.selected, getSetAttribute: q.className !== "t", enctype: !!c.createElement("form").enctype, html5Clone: c.createElement("nav").cloneNode(!0).outerHTML !== "<:nav>", submitBubbles: !0, changeBubbles: !0, focusinBubbles: !1, deleteExpando: !0, noCloneEvent: !0, inlineBlockNeedsLayout: !1, shrinkWrapBlocks: !1, reliableMarginRight: !0}, i.checked = !0, b.noCloneChecked = i.cloneNode(!0).checked, g.disabled = !0, b.optDisabled = !h.disabled; + try { + delete q.test + } catch (s) { + b.deleteExpando = !1 + } + !q.addEventListener && q.attachEvent && q.fireEvent && (q.attachEvent("onclick", function () { + b.noCloneEvent = !1 + }), q.cloneNode(!0).fireEvent("onclick")), i = c.createElement("input"), i.value = "t", i.setAttribute("type", "radio"), b.radioValue = i.value === "t", i.setAttribute("checked", "checked"), q.appendChild(i), k = c.createDocumentFragment(), k.appendChild(q.lastChild), b.checkClone = k.cloneNode(!0).cloneNode(!0).lastChild.checked, b.appendChecked = i.checked, k.removeChild(i), k.appendChild(q), q.innerHTML = "", a.getComputedStyle && (j = c.createElement("div"), j.style.width = "0", j.style.marginRight = "0", q.style.width = "2px", q.appendChild(j), b.reliableMarginRight = (parseInt((a.getComputedStyle(j, null) || {marginRight: 0}).marginRight, 10) || 0) === 0); + if (q.attachEvent)for (o in{submit: 1, change: 1, focusin: 1})n = "on" + o, p = n in q, p || (q.setAttribute(n, "return;"), p = typeof q[n] == "function"), b[o + "Bubbles"] = p; + k.removeChild(q), k = g = h = j = q = i = null, f(function () { + var a, d, e, g, h, i, j, k, m, n, o, r = c.getElementsByTagName("body")[0]; + !r || (j = 1, k = "position:absolute;top:0;left:0;width:1px;height:1px;margin:0;", m = "visibility:hidden;border:0;", n = "style='" + k + "border:5px solid #000;padding:0;'", o = "
" + "" + "
", a = c.createElement("div"), a.style.cssText = m + "width:0;height:0;position:static;top:0;margin-top:" + j + "px", r.insertBefore(a, r.firstChild), q = c.createElement("div"), a.appendChild(q), q.innerHTML = "
t
", l = q.getElementsByTagName("td"), p = l[0].offsetHeight === 0, l[0].style.display = "", l[1].style.display = "none", b.reliableHiddenOffsets = p && l[0].offsetHeight === 0, q.innerHTML = "", q.style.width = q.style.paddingLeft = "1px", f.boxModel = b.boxModel = q.offsetWidth === 2, typeof q.style.zoom != "undefined" && (q.style.display = "inline", q.style.zoom = 1, b.inlineBlockNeedsLayout = q.offsetWidth === 2, q.style.display = "", q.innerHTML = "
", b.shrinkWrapBlocks = q.offsetWidth !== 2), q.style.cssText = k + m, q.innerHTML = o, d = q.firstChild, e = d.firstChild, h = d.nextSibling.firstChild.firstChild, i = {doesNotAddBorder: e.offsetTop !== 5, doesAddBorderForTableAndCells: h.offsetTop === 5}, e.style.position = "fixed", e.style.top = "20px", i.fixedPosition = e.offsetTop === 20 || e.offsetTop === 15, e.style.position = e.style.top = "", d.style.overflow = "hidden", d.style.position = "relative", i.subtractsBorderForOverflowNotVisible = e.offsetTop === -5, i.doesNotIncludeMarginInBodyOffset = r.offsetTop !== j, r.removeChild(a), q = a = null, f.extend(b, i)) + }); + return b + }(); + var j = /^(?:\{.*\}|\[.*\])$/, k = /([A-Z])/g; + f.extend({cache: {}, uuid: 0, expando: "jQuery" + (f.fn.jquery + Math.random()).replace(/\D/g, ""), noData: {embed: !0, object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", applet: !0}, hasData: function (a) { + a = a.nodeType ? f.cache[a[f.expando]] : a[f.expando]; + return!!a && !m(a) + }, data: function (a, c, d, e) { + if (!!f.acceptData(a)) { + var g, h, i, j = f.expando, k = typeof c == "string", l = a.nodeType, m = l ? f.cache : a, n = l ? a[j] : a[j] && j, o = c === "events"; + if ((!n || !m[n] || !o && !e && !m[n].data) && k && d === b)return; + n || (l ? a[j] = n = ++f.uuid : n = j), m[n] || (m[n] = {}, l || (m[n].toJSON = f.noop)); + if (typeof c == "object" || typeof c == "function")e ? m[n] = f.extend(m[n], c) : m[n].data = f.extend(m[n].data, c); + g = h = m[n], e || (h.data || (h.data = {}), h = h.data), d !== b && (h[f.camelCase(c)] = d); + if (o && !h[c])return g.events; + k ? (i = h[c], i == null && (i = h[f.camelCase(c)])) : i = h; + return i + } + }, removeData: function (a, b, c) { + if (!!f.acceptData(a)) { + var d, e, g, h = f.expando, i = a.nodeType, j = i ? f.cache : a, k = i ? a[h] : h; + if (!j[k])return; + if (b) { + d = c ? j[k] : j[k].data; + if (d) { + f.isArray(b) || (b in d ? b = [b] : (b = f.camelCase(b), b in d ? b = [b] : b = b.split(" "))); + for (e = 0, g = b.length; e < g; e++)delete d[b[e]]; + if (!(c ? m : f.isEmptyObject)(d))return + } + } + if (!c) { + delete j[k].data; + if (!m(j[k]))return + } + !(!f.support.deleteExpando && j.setInterval) ? delete j[k] : j[k] = null, i && (f.support.deleteExpando ? delete a[h] : a.removeAttribute ? a.removeAttribute(h) : a[h] = null) + } + }, _data: function (a, b, c) { + return f.data(a, b, c, !0) + }, acceptData: function (a) { + if (a.nodeName) { + var b = f.noData[a.nodeName.toLowerCase()]; + if (b)return b !== !0 && a.getAttribute("classid") === b + } + return!0 + }}), f.fn.extend({data: function (a, c) { + var d, e, g, h = null; + if (typeof a == "undefined") { + if (this.length) { + h = f.data(this[0]); + if (this[0].nodeType === 1 && !f._data(this[0], "parsedAttrs")) { + e = this[0].attributes; + for (var i = 0, j = e.length; i < j; i++)g = e[i].name, g.indexOf("data-") === 0 && (g = f.camelCase(g.substring(5)), l(this[0], g, h[g])); + f._data(this[0], "parsedAttrs", !0) + } + } + return h + } + if (typeof a == "object")return this.each(function () { + f.data(this, a) + }, b); + d = a.split("."), d[1] = d[1] ? "." + d[1] : ""; + if (c === b) { + h = this.triggerHandler("getData" + d[1] + "!", [d[0]]), h === b && this.length && (h = f.data(this[0], a), h = l(this[0], a, h)); + return h === b && d[1] ? this.data(d[0]) : h + } + return this.each(function () { + var b = f(this), e = [d[0], c]; + b.triggerHandler("setData" + d[1] + "!", e), f.data(this, a, c), b.triggerHandler("changeData" + d[1] + "!", e) + }, b) + }, removeData: function (a) { + return this.each(function () { + f.removeData(this, a) + }, b) + }}), f.extend({_mark: function (a, b) { + a && (b = (b || "fx") + "mark", f._data(a, b, (f._data(a, b) || 0) + 1)) + }, _unmark: function (a, b, c) { + a !== !0 && (c = b, b = a, a = !1); + if (b) { + c = c || "fx"; + var d = c + "mark", e = a ? 0 : (f._data(b, d) || 1) - 1; + e ? f._data(b, d, e) : (f.removeData(b, d, !0), n(b, c, "mark")) + } + }, queue: function (a, b, c) { + var d; + if (a) { + b = (b || "fx") + "queue", d = f._data(a, b), c && (!d || f.isArray(c) ? d = f._data(a, b, f.makeArray(c)) : d.push(c)); + return d || [] + } + }, dequeue: function (a, b) { + b = b || "fx"; + var c = f.queue(a, b), d = c.shift(), e = {}; + d === "inprogress" && (d = c.shift()), d && (b === "fx" && c.unshift("inprogress"), f._data(a, b + ".run", e), d.call(a, function () { + f.dequeue(a, b) + }, e)), c.length || (f.removeData(a, b + "queue " + b + ".run", !0), n(a, b, "queue")) + }}), f.fn.extend({queue: function (a, c) { + typeof a != "string" && (c = a, a = "fx"); + if (c === b)return f.queue(this[0], a); + return this.each(function () { + var b = f.queue(this, a, c); + a === "fx" && b[0] !== "inprogress" && f.dequeue(this, a) + }, b) + }, dequeue: function (a) { + return this.each(function () { + f.dequeue(this, a) + }, b) + }, delay: function (a, b) { + a = f.fx ? f.fx.speeds[a] || a : a, b = b || "fx"; + return this.queue(b, function (b, c) { + var d = setTimeout(b, a); + c.stop = function () { + clearTimeout(d) + } + }) + }, clearQueue: function (a) { + return this.queue(a || "fx", []) + }, promise: function (a, c) { + function m() { + --h || d.resolveWith(e, [e]) + } + + typeof a != "string" && (c = a, a = b), a = a || "fx"; + var d = f.Deferred(), e = this, g = e.length, h = 1, i = a + "defer", j = a + "queue", k = a + "mark", l; + while (g--)if (l = f.data(e[g], i, b, !0) || (f.data(e[g], j, b, !0) || f.data(e[g], k, b, !0)) && f.data(e[g], i, f.Callbacks("once memory"), !0))h++, l.add(m); + m(); + return d.promise() + }}); + var o = /[\n\t\r]/g, p = /\s+/, q = /\r/g, r = /^(?:button|input)$/i, s = /^(?:button|input|object|select|textarea)$/i, t = /^a(?:rea)?$/i, u = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, v = f.support.getSetAttribute, w, x, y; + f.fn.extend({attr: function (a, b) { + return f.access(this, a, b, !0, f.attr) + }, removeAttr: function (a) { + return this.each(function () { + f.removeAttr(this, a) + }, b) + }, prop: function (a, b) { + return f.access(this, a, b, !0, f.prop) + }, removeProp: function (a) { + a = f.propFix[a] || a; + return this.each(function () { + try { + this[a] = b, delete this[a] + } catch (c) { + } + }, b) + }, addClass: function (a) { + var b, c, d, e, g, h, i; + if (f.isFunction(a))return this.each(function (b) { + f(this).addClass(a.call(this, b, this.className)) + }, b); + if (a && typeof a == "string") { + b = a.split(p); + for (c = 0, d = this.length; c < d; c++) { + e = this[c]; + if (e.nodeType === 1)if (!e.className && b.length === 1)e.className = a; else { + g = " " + e.className + " "; + for (h = 0, i = b.length; h < i; h++)~g.indexOf(" " + b[h] + " ") || (g += b[h] + " "); + e.className = f.trim(g) + } + } + } + return this + }, removeClass: function (a) { + var c, d, e, g, h, i, j; + if (f.isFunction(a))return this.each(function (b) { + f(this).removeClass(a.call(this, b, this.className)) + }, b); + if (a && typeof a == "string" || a === b) { + c = (a || "").split(p); + for (d = 0, e = this.length; d < e; d++) { + g = this[d]; + if (g.nodeType === 1 && g.className)if (a) { + h = (" " + g.className + " ").replace(o, " "); + for (i = 0, j = c.length; i < j; i++)h = h.replace(" " + c[i] + " ", " "); + g.className = f.trim(h) + } else g.className = "" + } + } + return this + }, toggleClass: function (a, b) { + var c = typeof a, d = typeof b == "boolean"; + if (f.isFunction(a))return this.each(function (c) { + f(this).toggleClass(a.call(this, c, this.className, b), b) + }, b); + return this.each(function () { + if (c === "string") { + var e, g = 0, h = f(this), i = b, j = a.split(p); + while (e = j[g++])i = d ? i : !h.hasClass(e), h[i ? "addClass" : "removeClass"](e) + } else if (c === "undefined" || c === "boolean")this.className && f._data(this, "__className__", this.className), this.className = this.className || a === !1 ? "" : f._data(this, "__className__") || "" + }, b) + }, hasClass: function (a) { + var b = " " + a + " ", c = 0, d = this.length; + for (; c < d; c++)if (this[c].nodeType === 1 && (" " + this[c].className + " ").replace(o, " ").indexOf(b) > -1)return!0; + return!1 + }, val: function (a) { + var c, d, e, g = this[0]; + { + if (!!arguments.length) { + e = f.isFunction(a); + return this.each(function (d) { + var g = f(this), h; + if (this.nodeType === 1) { + e ? h = a.call(this, d, g.val()) : h = a, h == null ? h = "" : typeof h == "number" ? h += "" : f.isArray(h) && (h = f.map(h, function (a) { + return a == null ? "" : a + "" + }, c)), c = f.valHooks[this.nodeName.toLowerCase()] || f.valHooks[this.type]; + if (!c || !("set"in c) || c.set(this, h, "value") === b)this.value = h + } + }, b) + } + if (g) { + c = f.valHooks[g.nodeName.toLowerCase()] || f.valHooks[g.type]; + if (c && "get"in c && (d = c.get(g, "value")) !== b)return d; + d = g.value; + return typeof d == "string" ? d.replace(q, "") : d == null ? "" : d + } + } + }}), f.extend({valHooks: {option: {get: function (a) { + var b = a.attributes.value; + return!b || b.specified ? a.value : a.text + }}, select: {get: function (a) { + var b, c, d, e, g = a.selectedIndex, h = [], i = a.options, j = a.type === "select-one"; + if (g < 0)return null; + c = j ? g : 0, d = j ? g + 1 : i.length; + for (; c < d; c++) { + e = i[c]; + if (e.selected && (f.support.optDisabled ? !e.disabled : e.getAttribute("disabled") === null) && (!e.parentNode.disabled || !f.nodeName(e.parentNode, "optgroup"))) { + b = f(e).val(); + if (j)return b; + h.push(b) + } + } + if (j && !h.length && i.length)return f(i[g]).val(); + return h + }, set: function (a, b) { + var c = f.makeArray(b); + f(a).find("option").each(function () { + this.selected = f.inArray(f(this).val(), c) >= 0 + }, b), c.length || (a.selectedIndex = -1); + return c + }}}, attrFn: {val: !0, css: !0, html: !0, text: !0, data: !0, width: !0, height: !0, offset: !0}, attr: function (a, c, d, e) { + var g, h, i, j = a.nodeType; + if (!!a && j !== 3 && j !== 8 && j !== 2) { + if (e && c in f.attrFn)return f(a)[c](d); + if (typeof a.getAttribute == "undefined")return f.prop(a, c, d); + i = j !== 1 || !f.isXMLDoc(a), i && (c = c.toLowerCase(), h = f.attrHooks[c] || (u.test(c) ? x : w)); + if (d !== b) { + if (d === null) { + f.removeAttr(a, c); + return + } + if (h && "set"in h && i && (g = h.set(a, d, c)) !== b)return g; + a.setAttribute(c, "" + d); + return d + } + if (h && "get"in h && i && (g = h.get(a, c)) !== null)return g; + g = a.getAttribute(c); + return g === null ? b : g + } + }, removeAttr: function (a, b) { + var c, d, e, g, h = 0; + if (b && a.nodeType === 1) { + d = b.toLowerCase().split(p), g = d.length; + for (; h < g; h++)e = d[h], e && (c = f.propFix[e] || e, f.attr(a, e, ""), a.removeAttribute(v ? e : c), u.test(e) && c in a && (a[c] = !1)) + } + }, attrHooks: {type: {set: function (a, b) { + if (r.test(a.nodeName) && a.parentNode)f.error("type property can't be changed"); else if (!f.support.radioValue && b === "radio" && f.nodeName(a, "input")) { + var c = a.value; + a.setAttribute("type", b), c && (a.value = c); + return b + } + }}, value: {get: function (a, b) { + if (w && f.nodeName(a, "button"))return w.get(a, b); + return b in a ? a.value : null + }, set: function (a, b, c) { + if (w && f.nodeName(a, "button"))return w.set(a, b, c); + a.value = b + }}}, propFix: {tabindex: "tabIndex", readonly: "readOnly", "for": "htmlFor", "class": "className", maxlength: "maxLength", cellspacing: "cellSpacing", cellpadding: "cellPadding", rowspan: "rowSpan", colspan: "colSpan", usemap: "useMap", frameborder: "frameBorder", contenteditable: "contentEditable"}, prop: function (a, c, d) { + var e, g, h, i = a.nodeType; + if (!!a && i !== 3 && i !== 8 && i !== 2) { + h = i !== 1 || !f.isXMLDoc(a), h && (c = f.propFix[c] || c, g = f.propHooks[c]); + return d !== b ? g && "set"in g && (e = g.set(a, d, c)) !== b ? e : a[c] = d : g && "get"in g && (e = g.get(a, c)) !== null ? e : a[c] + } + }, propHooks: {tabIndex: {get: function (a) { + var c = a.getAttributeNode("tabindex"); + return c && c.specified ? parseInt(c.value, 10) : s.test(a.nodeName) || t.test(a.nodeName) && a.href ? 0 : b + }}}}), f.attrHooks.tabindex = f.propHooks.tabIndex, x = {get: function (a, c) { + var d, e = f.prop(a, c); + return e === !0 || typeof e != "boolean" && (d = a.getAttributeNode(c)) && d.nodeValue !== !1 ? c.toLowerCase() : b + }, set: function (a, b, c) { + var d; + b === !1 ? f.removeAttr(a, c) : (d = f.propFix[c] || c, d in a && (a[d] = !0), a.setAttribute(c, c.toLowerCase())); + return c + }}, v || (y = {name: !0, id: !0}, w = f.valHooks.button = {get: function (a, c) { + var d; + d = a.getAttributeNode(c); + return d && (y[c] ? d.nodeValue !== "" : d.specified) ? d.nodeValue : b + }, set: function (a, b, d) { + var e = a.getAttributeNode(d); + e || (e = c.createAttribute(d), a.setAttributeNode(e)); + return e.nodeValue = b + "" + }}, f.attrHooks.tabindex.set = w.set, f.each(["width", "height"], function (a, b) { + f.attrHooks[b] = f.extend(f.attrHooks[b], {set: function (a, c) { + if (c === "") { + a.setAttribute(b, "auto"); + return c + } + }}) + }, b), f.attrHooks.contenteditable = {get: w.get, set: function (a, b, c) { + b === "" && (b = "false"), w.set(a, b, c) + }}), f.support.hrefNormalized || f.each(["href", "src", "width", "height"], function (a, c) { + f.attrHooks[c] = f.extend(f.attrHooks[c], {get: function (a) { + var d = a.getAttribute(c, 2); + return d === null ? b : d + }}) + }, b), f.support.style || (f.attrHooks.style = {get: function (a) { + return a.style.cssText.toLowerCase() || b + }, set: function (a, b) { + return a.style.cssText = "" + b + }}), f.support.optSelected || (f.propHooks.selected = f.extend(f.propHooks.selected, {get: function (a) { + var b = a.parentNode; + b && (b.selectedIndex, b.parentNode && b.parentNode.selectedIndex); + return null + }})), f.support.enctype || (f.propFix.enctype = "encoding"), f.support.checkOn || f.each(["radio", "checkbox"], function () { + f.valHooks[this] = {get: function (a) { + return a.getAttribute("value") === null ? "on" : a.value + }} + }, b), f.each(["radio", "checkbox"], function () { + f.valHooks[this] = f.extend(f.valHooks[this], {set: funct}) + function funct(a, b) { + if (f.isArray(b))return a.checked = f.inArray(f(a).val(), b) >= 0 + } + }, b); + var z = /^(?:textarea|input|select)$/i, A = /^([^\.]*)?(?:\.(.+))?$/, B = /\bhover(\.\S+)?\b/, C = /^key/, D = /^(?:mouse|contextmenu)|click/, E = /^(?:focusinfocus|focusoutblur)$/, F = /^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/, G = function (a) { + var b = F.exec(a); + b && (b[1] = (b[1] || "").toLowerCase(), b[3] = b[3] && new RegExp("(?:^|\\s)" + b[3] + "(?:\\s|$)")); + return b + }, /** + * @return {boolean} + */ + H = function (a, b) { + var c = a.attributes || {}; + return(!b[1] || a.nodeName.toLowerCase() === b[1]) && (!b[2] || (c.id || {}).value === b[2]) && (!b[3] || b[3].test((c["class"] || {}).value)) + }, I = function (a) { + return f.event.special.hover ? a : a.replace(B, "mouseenter$1 mouseleave$1") + }; + f.event = {add: function (a, c, d, e, g) { + var h, i, j, k, l, m, n, o, p, q, r, s; + if (!(a.nodeType === 3 || a.nodeType === 8 || !c || !d || !(h = f._data(a)))) { + d.handler && (p = d, d = p.handler), d.guid || (d.guid = f.guid++), j = h.events, j || (h.events = j = {}), i = h.handle, i || (h.handle = i = function (a) { + return typeof f != "undefined" && (!a || f.event.triggered !== a.type) ? f.event.dispatch.apply(i.elem, arguments) : b + }, i.elem = a), c = f.trim(I(c)).split(" "); + for (k = 0; k < c.length; k++) { + l = A.exec(c[k]) || [], m = l[1], n = (l[2] || "").split(".").sort(), s = f.event.special[m] || {}, m = (g ? s.delegateType : s.bindType) || m, s = f.event.special[m] || {}, o = f.extend({type: m, origType: l[1], data: e, handler: d, guid: d.guid, selector: g, quick: G(g), namespace: n.join(".")}, p), r = j[m]; + if (!r) { + r = j[m] = [], r.delegateCount = 0; + if (!s.setup || s.setup.call(a, e, n, i) === !1)a.addEventListener ? a.addEventListener(m, i, !1) : a.attachEvent && a.attachEvent("on" + m, i) + } + s.add && (s.add.call(a, o), o.handler.guid || (o.handler.guid = d.guid)), g ? r.splice(r.delegateCount++, 0, o) : r.push(o), f.event.global[m] = !0 + } + a = null + } + }, global: {}, remove: function (a, b, c, d, e) { + var g = f.hasData(a) && f._data(a), h, i, j, k, l, m, n, o, p, q, r, s; + if (!!g && !!(o = g.events)) { + b = f.trim(I(b || "")).split(" "); + for (h = 0; h < b.length; h++) { + i = A.exec(b[h]) || [], j = k = i[1], l = i[2]; + if (!j) { + for (j in o)f.event.remove(a, j + b[h], c, d, !0); + continue + } + p = f.event.special[j] || {}, j = (d ? p.delegateType : p.bindType) || j, r = o[j] || [], m = r.length, l = l ? new RegExp("(^|\\.)" + l.split(".").sort().join("\\.(?:.*\\.)?") + "(\\.|$)") : null; + for (n = 0; n < r.length; n++)s = r[n], (e || k === s.origType) && (!c || c.guid === s.guid) && (!l || l.test(s.namespace)) && (!d || d === s.selector || d === "**" && s.selector) && (r.splice(n--, 1), s.selector && r.delegateCount--, p.remove && p.remove.call(a, s)); + r.length === 0 && m !== r.length && ((!p.teardown || p.teardown.call(a, l) === !1) && f.removeEvent(a, j, g.handle), delete o[j]) + } + f.isEmptyObject(o) && (q = g.handle, q && (q.elem = null), f.removeData(a, ["events", "handle"], !0)) + } + }, customEvent: {getData: !0, setData: !0, changeData: !0}, trigger: function (c, d, e, g) { + if (!e || e.nodeType !== 3 && e.nodeType !== 8) { + var h = c.type || c, i = [], j, k, l, m, n, o, p, q, r, s; + if (E.test(h + f.event.triggered))return; + h.indexOf("!") >= 0 && (h = h.slice(0, -1), k = !0), h.indexOf(".") >= 0 && (i = h.split("."), h = i.shift(), i.sort()); + if ((!e || f.event.customEvent[h]) && !f.event.global[h])return; + c = typeof c == "object" ? c[f.expando] ? c : new f.Event(h, c) : new f.Event(h), c.type = h, c.isTrigger = !0, c.exclusive = k, c.namespace = i.join("."), c.namespace_re = c.namespace ? new RegExp("(^|\\.)" + i.join("\\.(?:.*\\.)?") + "(\\.|$)") : null, o = h.indexOf(":") < 0 ? "on" + h : ""; + if (!e) { + j = f.cache; + for (l in j)j[l].events && j[l].events[h] && f.event.trigger(c, d, j[l].handle.elem, !0); + return + } + c.result = b, c.target || (c.target = e), d = d != null ? f.makeArray(d) : [], d.unshift(c), p = f.event.special[h] || {}; + if (p.trigger && p.trigger.apply(e, d) === !1)return; + r = [ + [e, p.bindType || h] + ]; + if (!g && !p.noBubble && !f.isWindow(e)) { + s = p.delegateType || h, m = E.test(s + h) ? e : e.parentNode, n = null; + for (; m; m = m.parentNode)r.push([m, s]), n = m; + n && n === e.ownerDocument && r.push([n.defaultView || n.parentWindow || a, s]) + } + for (l = 0; l < r.length && !c.isPropagationStopped(); l++)m = r[l][0], c.type = r[l][1], q = (f._data(m, "events") || {})[c.type] && f._data(m, "handle"), q && q.apply(m, d), q = o && m[o], q && f.acceptData(m) && q.apply(m, d) === !1 && c.preventDefault(); + c.type = h, !g && !c.isDefaultPrevented() && (!p._default || p._default.apply(e.ownerDocument, d) === !1) && (h !== "click" || !f.nodeName(e, "a")) && f.acceptData(e) && o && e[h] && (h !== "focus" && h !== "blur" || c.target.offsetWidth !== 0) && !f.isWindow(e) && (n = e[o], n && (e[o] = null), f.event.triggered = h, e[h](), f.event.triggered = b, n && (e[o] = n)); + return c.result + } + }, dispatch: function (c) { + c = f.event.fix(c || a.event); + var d = (f._data(this, "events") || {})[c.type] || [], e = d.delegateCount, g = [].slice.call(arguments, 0), h = !c.exclusive && !c.namespace, i = [], j, k, l, m, n, o, p, q, r, s, t; + g[0] = c, c.delegateTarget = this; + if (e && !c.target.disabled && (!c.button || c.type !== "click")) { + m = f(this), m.context = this.ownerDocument || this; + for (l = c.target; l != this; l = l.parentNode || this) { + o = {}, q = [], m[0] = l; + for (j = 0; j < e; j++)r = d[j], s = r.selector, o[s] === b && (o[s] = r.quick ? H(l, r.quick) : m.is(s)), o[s] && q.push(r); + q.length && i.push({elem: l, matches: q}) + } + } + d.length > e && i.push({elem: this, matches: d.slice(e)}); + for (j = 0; j < i.length && !c.isPropagationStopped(); j++) { + p = i[j], c.currentTarget = p.elem; + for (k = 0; k < p.matches.length && !c.isImmediatePropagationStopped(); k++) { + r = p.matches[k]; + if (h || !c.namespace && !r.namespace || c.namespace_re && c.namespace_re.test(r.namespace))c.data = r.data, c.handleObj = r, n = ((f.event.special[r.origType] || {}).handle || r.handler).apply(p.elem, g), n !== b && (c.result = n, n === !1 && (c.preventDefault(), c.stopPropagation())) + } + } + return c.result + }, props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), fixHooks: {}, keyHooks: {props: "char charCode key keyCode".split(" "), filter: function (a, b) { + a.which == null && (a.which = b.charCode != null ? b.charCode : b.keyCode); + return a + }}, mouseHooks: {props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), filter: function (a, d) { + var e, f, g, h = d.button, i = d.fromElement; + a.pageX == null && d.clientX != null && (e = a.target.ownerDocument || c, f = e.documentElement, g = e.body, a.pageX = d.clientX + (f && f.scrollLeft || g && g.scrollLeft || 0) - (f && f.clientLeft || g && g.clientLeft || 0), a.pageY = d.clientY + (f && f.scrollTop || g && g.scrollTop || 0) - (f && f.clientTop || g && g.clientTop || 0)), !a.relatedTarget && i && (a.relatedTarget = i === a.target ? d.toElement : i), !a.which && h !== b && (a.which = h && 1 ? 1 : h && 2 ? 3 : h && 4 ? 2 : 0); + return a + }}, fix: function (a) { + if (a[f.expando])return a; + var d, e, g = a, h = f.event.fixHooks[a.type] || {}, i = h.props ? this.props.concat(h.props) : this.props; + a = f.Event(g); + for (d = i.length; d;)e = i[--d], a[e] = g[e]; + a.target || (a.target = g.srcElement || c), a.target.nodeType === 3 && (a.target = a.target.parentNode), a.metaKey === b && (a.metaKey = a.ctrlKey); + return h.filter ? h.filter(a, g) : a + }, special: {ready: {setup: f.bindReady}, load: {noBubble: !0}, focus: {delegateType: "focusin"}, blur: {delegateType: "focusout"}, beforeunload: {setup: function (a, b, c) { + f.isWindow(this) && (this.onbeforeunload = c) + }, teardown: function (a, b) { + this.onbeforeunload === b && (this.onbeforeunload = null) + }}}, simulate: function (a, b, c, d) { + var e = f.extend(new f.Event, c, {type: a, isSimulated: !0, originalEvent: {}}); + d ? f.event.trigger(e, null, b) : f.event.dispatch.call(b, e), e.isDefaultPrevented() && c.preventDefault() + }}, f.event.handle = f.event.dispatch, f.removeEvent = c.removeEventListener ? function (a, b, c) { + a.removeEventListener && a.removeEventListener(b, c, !1) + } : function (a, b, c) { + a.detachEvent && a.detachEvent("on" + b, c) + }, f.Event = function (a, b) { + if (!(this instanceof f.Event))return new f.Event(a, b); + a && a.type ? (this.originalEvent = a, this.type = a.type, this.isDefaultPrevented = a.defaultPrevented || a.returnValue === !1 || a.getPreventDefault && a.getPreventDefault() ? K : J) : this.type = a, b && f.extend(this, b), this.timeStamp = a && a.timeStamp || f.now(), this[f.expando] = !0 + }, f.Event.prototype = {preventDefault: function () { + this.isDefaultPrevented = K; + var a = this.originalEvent; + !a || (a.preventDefault ? a.preventDefault() : a.returnValue = !1) + }, stopPropagation: function () { + this.isPropagationStopped = K; + var a = this.originalEvent; + !a || (a.stopPropagation && a.stopPropagation(), a.cancelBubble = !0) + }, stopImmediatePropagation: function () { + this.isImmediatePropagationStopped = K, this.stopPropagation() + }, isDefaultPrevented: J, isPropagationStopped: J, isImmediatePropagationStopped: J}, f.each({mouseenter: "mouseover", mouseleave: "mouseout"}, function (a, b) { + f.event.special[a] = {delegateType: b, bindType: b, handle: function (a) { + var c = this, d = a.relatedTarget, e = a.handleObj, g = e.selector, h; + if (!d || d !== c && !f.contains(c, d))a.type = e.origType, h = e.handler.apply(this, arguments), a.type = b; + return h + }} + }, b), f.support.submitBubbles || (f.event.special.submit = {setup: function () { + if (f.nodeName(this, "form"))return!1; + f.event.add(this, "click._submit keypress._submit", function (a) { + var c = a.target, d = f.nodeName(c, "input") || f.nodeName(c, "button") ? c.form : b; + d && !d._submit_attached && (f.event.add(d, "submit._submit", function (a) { + this.parentNode && !a.isTrigger && f.event.simulate("submit", this.parentNode, a, !0) + }), d._submit_attached = !0) + }) + }, teardown: function () { + if (f.nodeName(this, "form"))return!1; + f.event.remove(this, "._submit") + }}), f.support.changeBubbles || (f.event.special.change = {setup: function () { + if (z.test(this.nodeName)) { + if (this.type === "checkbox")f.event.add(this, "propertychange._change", function (a) { + a.originalEvent.propertyName === "checked" && (this._just_changed = !0) + }), f.event.add(this, "click._change", function (a) { + this._just_changed && !a.isTrigger && (this._just_changed = !1, f.event.simulate("change", this, a, !0)) + }); else if (this.type === "radio")f.event.add(this, "propertychange._change", function (a) { + a.originalEvent.propertyName === "checked" && (this._just_changed = !0) + }), f.event.add(this, "click._change", function (a) { + this._just_changed && !a.isTrigger && (this._just_changed = !1, f.event.simulate("change", this, a, !0)) + }); + return!1 + } + f.event.add(this, "beforeactivate._change", function (a) { + var b = a.target; + z.test(b.nodeName) && !b._change_attached && (f.event.add(b, "change._change", function (a) { + this.parentNode && !a.isSimulated && !a.isTrigger && f.event.simulate("change", this.parentNode, a, !0) + }), b._change_attached = !0) + }) + }, handle: function (a) { + var b = a.target; + if (this !== b || a.isSimulated || a.isTrigger || b.type !== "radio" && b.type !== "checkbox")return a.handleObj.handler.apply(this, arguments) + }, teardown: function () { + f.event.remove(this, "._change"); + return z.test(this.nodeName) + }}), f.support.focusinBubbles || f.each({focus: "focusin", blur: "focusout"}, function (a, b) { + var d = 0, e = function (a) { + f.event.simulate(b, a.target, f.event.fix(a), !0) + }; + f.event.special[b] = {setup: function () { + d++ === 0 && c.addEventListener(a, e, !0) + }, teardown: function () { + --d === 0 && c.removeEventListener(a, e, !0) + }} + }, b), f.fn.extend({on: function (a, c, d, e, g) { + var h, i; + if (typeof a == "object") { + typeof c != "string" && (d = c, c = b); + for (i in a)this.on(i, c, d, a[i], g); + return this + } + if (d == null) { + if (e == null) { + e = c, d = c = b; + } else { + !(e != null || !(typeof c == "string" ? (e = d, d = b) : (e = d, d = c, c = b))); + } + } else { + !(e != null || !(typeof c == "string" ? (e = d, d = b) : (e = d, d = c, c = b))); + } + if (e === !1)e = J; else if (!e)return this; + !(g !== 1 || !(h = e, e = function (a) { + f().off(a); + return h.apply(this, arguments) + }, e.guid = h.guid || (h.guid = f.guid++))); + return this.each(function () { + f.event.add(this, a, e, d, c) + }, b) + }, one: function (a, b, c, d) { + return this.on.call(this, a, b, c, d, 1) + }, off: function (a, c, d) { + if (a && a.preventDefault && a.handleObj) { + var e = a.handleObj; + f(a.delegateTarget).off(e.namespace ? e.type + "." + e.namespace : e.type, e.selector, e.handler); + return this + } + if (typeof a == "object") { + for (var g in a)this.off(g, c, a[g]); + return this + } + if (c === !1 || typeof c == "function")d = c, c = b; + d === !1 && (d = J); + return this.each(function () { + f.event.remove(this, a, d, c) + }, b) + }, bind: function (a, b, c) { + return this.on(a, null, b, c) + }, unbind: function (a, b) { + return this.off(a, null, b) + }, live: function (a, b, c) { + f(this.context).on(a, this.selector, b, c); + return this + }, die: function (a, b) { + f(this.context).off(a, this.selector || "**", b); + return this + }, delegate: function (a, b, c, d) { + return this.on(b, a, c, d) + }, undelegate: function (a, b, c) { + return arguments.length == 1 ? this.off(a, "**") : this.off(b, a, c) + }, trigger: function (a, b) { + return this.each(function () { + f.event.trigger(a, b, this) + }, b) + }, triggerHandler: function (a, b) { + if (this[0])return f.event.trigger(a, b, this[0], !0) + }, toggle: function (a) { + var b = arguments, c = a.guid || f.guid++, d = 0, e = function (c) { + var e = (f._data(this, "lastToggle" + a.guid) || 0) % d; + f._data(this, "lastToggle" + a.guid, e + 1), c.preventDefault(); + return b[e].apply(this, arguments) || !1 + }; + e.guid = c; + while (d < b.length)b[d++].guid = c; + return this.click(e) + }, hover: function (a, b) { + return this.mouseenter(a).mouseleave(b || a) + }}), f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function (a, b) { + f.fn[b] = function (a, c) { + c == null && (c = a, a = null); + return arguments.length > 0 ? this.on(b, null, a, c) : this.trigger(b) + }, f.attrFn && (f.attrFn[b] = !0), C.test(b) && (f.event.fixHooks[b] = f.event.keyHooks), D.test(b) && (f.event.fixHooks[b] = f.event.mouseHooks) + }, b), function () { + function x(a, b, c, e, f, g) { + for (var h = 0, i = e.length; h < i; h++) { + var j = e[h]; + if (j) { + var k = !1; + j = j[a]; + while (j) { + if (j[d] === c) { + k = e[j.sizset]; + break + } + if (j.nodeType === 1) { + g || (j[d] = c, j.sizset = h); + if (typeof b != "string") { + if (j === b) { + k = !0; + break + } + } else if (m.filter(b, [j]).length > 0) { + k = j; + break + } + } + j = j[a] + } + e[h] = k + } + } + } + + function w(a, b, c, e, f, g) { + for (var h = 0, i = e.length; h < i; h++) { + var j = e[h]; + if (!j) { + } else { + var k = !1; + j = j[a]; + while (j) { + if (j[d] === c) { + k = e[j.sizset]; + break + } + j.nodeType === 1 && !g && (j[d] = c, j.sizset = h); + if (j.nodeName.toLowerCase() === b) { + k = j; + break + } + j = j[a] + } + e[h] = k + } + } + } + + var a = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, d = "sizcache" + (Math.random() + "").replace(".", ""), e = 0, g = Object.prototype.toString, h = !1, i = !0, j = /\\/g, k = /\r\n/g, l = /\W/; + [0, 0].sort(function () { + i = !1; + return 0 + }); + var m = function (b, d, e, f) { + e = e || [], d = d || c; + var h = d; + if (d.nodeType !== 1 && d.nodeType !== 9)return[]; + if (!b || typeof b != "string")return e; + var i, j, k, l, n, q, r, t, u = !0, v = m.isXML(d), w = [], x = b; + do { + a.exec(""), i = a.exec(x); + if (i) { + x = i[3], w.push(i[1]); + if (i[2]) { + l = i[3]; + break + } + } + } while (i); + if (w.length > 1 && p.exec(b))if (w.length === 2 && o.relative[w[0]])j = y(w[0] + w[1], d, f); else { + j = o.relative[w[0]] ? [d] : m(w.shift(), d); + while (w.length)b = w.shift(), o.relative[b] && (b += w.shift()), j = y(b, j, f) + } else { + !f && w.length > 1 && d.nodeType === 9 && !v && o.match.ID.test(w[0]) && !o.match.ID.test(w[w.length - 1]) && (n = m.find(w.shift(), d, v), d = n.expr ? m.filter(n.expr, n.set)[0] : n.set[0]); + if (d) { + n = f ? {expr: w.pop(), set: s(f)} : m.find(w.pop(), w.length === 1 && (w[0] === "~" || w[0] === "+") && d.parentNode ? d.parentNode : d, v), j = n.expr ? m.filter(n.expr, n.set) : n.set, w.length > 0 ? k = s(j) : u = !1; + while (w.length)q = w.pop(), r = q, o.relative[q] ? r = w.pop() : q = "", r == null && (r = d), o.relative[q](k, r, v) + } else k = w = [] + } + k || (k = j), k || m.error(q || b); + if (g.call(k) === "[object Array]")if (!u)e.push.apply(e, k); else if (d && d.nodeType === 1)for (t = 0; k[t] != null; t++)k[t] && (k[t] === !0 || k[t].nodeType === 1 && m.contains(d, k[t])) && e.push(j[t]); else for (t = 0; k[t] != null; t++)k[t] && k[t].nodeType === 1 && e.push(j[t]); else s(k, e); + l && (m(l, h, e, f), m.uniqueSort(e)); + return e + }; + m.uniqueSort = function (a) { + if (u) { + h = i, a.sort(u); + if (h)for (var b = 1; b < a.length; b++)a[b] === a[b - 1] && a.splice(b--, 1) + } + return a + }, m.matches = function (a, b) { + return m(a, null, null, b) + }, m.matchesSelector = function (a, b) { + return m(b, null, null, [a]).length > 0 + }, m.find = function (a, b, c) { + var d, e, f, g, h, i; + if (!a)return[]; + for (e = 0, f = o.order.length; e < f; e++) { + h = o.order[e]; + if (g = o.leftMatch[h].exec(a)) { + i = g[1], g.splice(1, 1); + if (i.substr(i.length - 1) !== "\\") { + g[1] = (g[1] || "").replace(j, ""), d = o.find[h](g, b, c); + if (d != null) { + a = a.replace(o.match[h], ""); + break + } + } + } + } + d || (d = typeof b.getElementsByTagName != "undefined" ? b.getElementsByTagName("*") : []); + return{set: d, expr: a} + }, m.filter = function (a, c, d, e) { + var f, g, h, i, j, k, l, n, p, q = a, r = [], s = c, t = c && c[0] && m.isXML(c[0]); + while (a && c.length) { + for (h in o.filter)if ((f = o.leftMatch[h].exec(a)) != null && f[2]) { + k = o.filter[h], l = f[1], g = !1, f.splice(1, 1); + if (l.substr(l.length - 1) === "\\")continue; + s === r && (r = []); + if (o.preFilter[h]) { + f = o.preFilter[h](f, s, d, r, e, t); + if (!f)g = i = !0; else if (f === !0)continue + } + if (f)for (n = 0; (j = s[n]) != null; n++)j && (i = k(j, f, n, s), p = e ^ i, d && i != null ? p ? g = !0 : s[n] = !1 : p && (r.push(j), g = !0)); + if (i !== b) { + d || (s = r), a = a.replace(o.match[h], ""); + if (!g)return[]; + break + } + } + if (a === q)if (g == null)m.error(a); else break; + q = a + } + return s + }, m.error = function (a) { + throw new Error("Syntax error, unrecognized expression: " + a) + }; + var n, o, p, q; + n = m.getText = function (a) { + var b, c, d = a.nodeType, e = ""; + if (d) { + if (d === 1 || d === 9) { + if (typeof a.textContent == "string")return a.textContent; + if (typeof a.innerText == "string")return a.innerText.replace(k, ""); + for (a = a.firstChild; a; a = a.nextSibling)e += n(a) + } else if (d === 3 || d === 4)return a.nodeValue + } else for (b = 0; c = a[b]; b++)c.nodeType !== 8 && (e += n(c)); + return e + }; + o = m.selectors = {order: ["ID", "NAME", "TAG"], match: {ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/, ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/, TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/, CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/, POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/, PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/}, leftMatch: {}, attrMap: {"class": "className", "for": "htmlFor"}, attrHandle: {href: function (a) { + return a.getAttribute("href") + }, type: function (a) { + return a.getAttribute("type") + }}, relative: {"+": function (a, b) { + var c = typeof b == "string", d = c && !l.test(b), e = c && !d; + d && (b = b.toLowerCase()); + for (var f = 0, g = a.length, h; f < g; f++)if (h = a[f]) { + while ((h = h.previousSibling) && h.nodeType !== 1){ + a[f] = e || h && h.nodeName.toLowerCase() === b ? h || !1 : h === b + } + } + e && m.filter(b, a, !0) + }, ">": function (a, b) { + var c, d = typeof b == "string", e = 0, f = a.length; + if (d && !l.test(b)) { + b = b.toLowerCase(); + for (; e < f; e++) { + c = a[e]; + if (c) { + var g = c.parentNode; + a[e] = g.nodeName.toLowerCase() === b ? g : !1 + } + } + } else { + for (; e < f; e++)c = a[e], c && (a[e] = d ? c.parentNode : c.parentNode === b); + d && m.filter(b, a, !0) + } + }, "": function (a, b, c) { + var d, f = e++, g = x; + typeof b == "string" && !l.test(b) && (b = b.toLowerCase(), d = b, g = w), g("parentNode", b, f, a, d, c) + }, "~": function (a, b, c) { + var d, f = e++, g = x; + typeof b == "string" && !l.test(b) && (b = b.toLowerCase(), d = b, g = w), g("previousSibling", b, f, a, d, c) + }}, find: {ID: function (a, b, c) { + if (typeof b.getElementById != "undefined" && !c) { + var d = b.getElementById(a[1]); + return d && d.parentNode ? [d] : [] + } + }, /** + * @return {null} + */ + NAME: function (a, b) { + if (typeof b.getElementsByName != "undefined") { + var c = [], d = b.getElementsByName(a[1]); + for (var e = 0, f = d.length; e < f; e++)d[e].getAttribute("name") === a[1] && c.push(d[e]); + return c.length === 0 ? null : c + } + }, TAG: function (a, b) { + if (typeof b.getElementsByTagName != "undefined")return b.getElementsByTagName(a[1]) + }}, preFilter: {/** + * @return {boolean} + * @return {string} + */ + CLASS: function (a, b, c, d, e, f) { + a = " " + a[1].replace(j, "") + " "; + if (f)return a; + for (var g = 0, h; (h = b[g]) != null; g++)h && (e ^ (h.className && (" " + h.className + " ").replace(/[\t\n\r]/g, " ").indexOf(a) >= 0) ? c || d.push(h) : c && (b[g] = !1)); + return!1 + }, ID: function (a) { + return a[1].replace(j, "") + }, /** + * @return {string} + */ + TAG: function (a, b) { + return a[1].replace(j, "").toLowerCase() + }, CHILD: function (a) { + if (a[1] === "nth") { + a[2] || m.error(a[0]), a[2] = a[2].replace(/^\+|\s*/g, ""); + var b = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2] === "even" && "2n" || a[2] === "odd" && "2n+1" || !/\D/.test(a[2]) && "0n+" + a[2] || a[2]); + a[2] = b[1] + (b[2] || 1) - 0, a[3] = b[3] - 0 + } else a[2] && m.error(a[0]); + a[0] = e++; + return a + }, ATTR: function (a, b, c, d, e, f) { + var g = a[1] = a[1].replace(j, ""); + !f && o.attrMap[g] && (a[1] = o.attrMap[g]), a[4] = (a[4] || a[5] || "").replace(j, ""), a[2] === "~=" && (a[4] = " " + a[4] + " "); + return a + }, /** + * @return {boolean} + * @return {boolean} + */ + PSEUDO: function (b, c, d, e, f) { + if (b[1] === "not")if ((a.exec(b[3]) || "").length > 1 || /^\w/.test(b[3]))b[3] = m(b[3], null, null, c); else { + var g = m.filter(b[3], c, d, !0 ^ f); + d || e.push.apply(e, g); + return!1 + } else if (o.match.POS.test(b[0]) || o.match.CHILD.test(b[0]))return!0; + return b + }, POS: function (a) { + a.unshift(!0); + return a + }}, filters: {enabled: function (a) { + return a.disabled === !1 && a.type !== "hidden" + }, disabled: function (a) { + return a.disabled === !0 + }, checked: function (a) { + return a.checked === !0 + }, selected: function (a) { + a.parentNode && a.parentNode.selectedIndex; + return a.selected === !0 + }, parent: function (a) { + return!!a.firstChild + }, empty: function (a) { + return!a.firstChild + }, has: function (a, b, c) { + return!!m(c[3], a).length + }, header: function (a) { + return/h\d/i.test(a.nodeName) + }, text: function (a) { + var b = a.getAttribute("type"), c = a.type; + return a.nodeName.toLowerCase() === "input" && "text" === c && (b === c || b === null) + }, radio: function (a) { + return a.nodeName.toLowerCase() === "input" && "radio" === a.type + }, checkbox: function (a) { + return a.nodeName.toLowerCase() === "input" && "checkbox" === a.type + }, file: function (a) { + return a.nodeName.toLowerCase() === "input" && "file" === a.type + }, password: function (a) { + return a.nodeName.toLowerCase() === "input" && "password" === a.type + }, submit: function (a) { + var b = a.nodeName.toLowerCase(); + return(b === "input" || b === "button") && "submit" === a.type + }, image: function (a) { + return a.nodeName.toLowerCase() === "input" && "image" === a.type + }, reset: function (a) { + var b = a.nodeName.toLowerCase(); + return(b === "input" || b === "button") && "reset" === a.type + }, button: function (a) { + var b = a.nodeName.toLowerCase(); + return b === "input" && "button" === a.type || b === "button" + }, input: function (a) { + return/input|select|textarea|button/i.test(a.nodeName) + }, focus: function (a) { + return a === a.ownerDocument.activeElement + }}, setFilters: {first: function (a, b) { + return b === 0 + }, last: function (a, b, c, d) { + return b === d.length - 1 + }, even: function (a, b) { + return b % 2 === 0 + }, odd: function (a, b) { + return b % 2 === 1 + }, lt: function (a, b, c) { + return b < c[3] - 0 + }, gt: function (a, b, c) { + return b > c[3] - 0 + }, nth: function (a, b, c) { + return c[3] - 0 === b + }, eq: function (a, b, c) { + return c[3] - 0 === b + }}, filter: {/** + * @return {boolean} + * @return {boolean} + * @return {boolean} + */ + PSEUDO: function (a, b, c, d) { + var e = b[1], f = o.filters[e]; + if (f)return f(a, c, b, d); + if (e === "contains")return(a.textContent || a.innerText || n([a]) || "").indexOf(b[3]) >= 0; + if (e === "not") { + var g = b[3]; + for (var h = 0, i = g.length; h < i; h++)if (g[h] === a)return!1; + return!0 + } + m.error(e) + }, /** + * @return {boolean} + */ + CHILD: function (a, b) { + var c, e, f, g, h, i, j, k = b[1], l = a; + if (k == "only" || k == "first") { + while (l = l.previousSibling)if (l.nodeType === 1)return!1; + if (k === "first")return!0; + l = a; + while (l = l.nextSibling)if (l.nodeType === 1)return!1; + return!0; + } else if (k == "last") { + while (l = l.nextSibling)if (l.nodeType === 1)return!1; + return!0; + } else + k == "nth"; + { + c = b[2], e = b[3]; + if (c === 1 && e === 0)return!0; + f = b[0], g = a.parentNode; + if (g && (g[d] !== f || !a.nodeIndex)) { + i = 0; + for (l = g.firstChild; l; l = l.nextSibling)l.nodeType === 1 && (l.nodeIndex = ++i); + g[d] = f + } + j = a.nodeIndex - e; + return c === 0 ? j === 0 : j % c === 0 && j / c >= 0 + } + }, /** + * @return {boolean} + */ + ID: function (a, b) { + return a.nodeType === 1 && a.getAttribute("id") === b + }, /** + * @return {boolean} + */ + TAG: function (a, b) { + return b === "*" && a.nodeType === 1 || !!a.nodeName && a.nodeName.toLowerCase() === b + }, /** + * @return {boolean} + */ + CLASS: function (a, b) { + return(" " + (a.className || a.getAttribute("class")) + " ").indexOf(b) > -1 + }, /** + * @return {boolean} + */ + ATTR: function (a, b) { + var c = b[1], d = m.attr ? m.attr(a, c) : o.attrHandle[c] ? o.attrHandle[c](a) : a[c] != null ? a[c] : a.getAttribute(c), e = d + "", f = b[2], g = b[4]; + return d == null ? f === "!=" : !f && m.attr ? d != null : f === "=" ? e === g : f === "*=" ? e.indexOf(g) >= 0 : f === "~=" ? (" " + e + " ").indexOf(g) >= 0 : g ? f === "!=" ? e !== g : f === "^=" ? e.indexOf(g) === 0 : f === "$=" ? e.substr(e.length - g.length) === g : f === "|=" ? e === g || e.substr(0, g.length + 1) === g + "-" : !1 : e && d !== !1 + }, POS: function (a, b, c, d) { + var e = b[2], f = o.setFilters[e]; + if (f)return f(a, c, b, d) + }}}; + p = o.match.POS; + q = function (a, b) { + return"\\" + (b - 0 + 1) + }; + for (var r in o.match)o.match[r] = new RegExp(o.match[r].source + /(?![^\[]*\])(?![^\(]*\))/.source), o.leftMatch[r] = new RegExp(/(^(?:.|\r|\n)*?)/.source + o.match[r].source.replace(/\\(\d+)/g, q)); + var s = function (a, b) { + a = Array.prototype.slice.call(a, 0); + if (b) { + b.push.apply(b, a); + return b + } + return a + }; + try { + Array.prototype.slice.call(c.documentElement.childNodes, 0)[0].nodeType + } catch (t) { + s = function (a, b) { + var c = 0, d = b || []; + if (g.call(a) === "[object Array]")Array.prototype.push.apply(d, a); else if (typeof a.length == "number")for (var e = a.length; c < e; c++)d.push(a[c]); else for (; a[c]; c++)d.push(a[c]); + return d + } + } + var u, v; + c.documentElement.compareDocumentPosition ? u = function (a, b) { + if (a === b) { + h = !0; + return 0 + } + if (!a.compareDocumentPosition || !b.compareDocumentPosition)return a.compareDocumentPosition ? -1 : 1; + return a.compareDocumentPosition(b) && 4 ? -1 : 1 + } : (u = function (a, b) { + if (a === b) { + h = !0; + return 0 + } + if (a.sourceIndex && b.sourceIndex)return a.sourceIndex - b.sourceIndex; + var c, d, e = [], f = [], g = a.parentNode, i = b.parentNode, j = g; + if (g === i)return v(a, b); + if (!g)return-1; + if (!i)return 1; + while (j)e.unshift(j), j = j.parentNode; + j = i; + while (j)f.unshift(j), j = j.parentNode; + c = e.length, d = f.length; + for (var k = 0; k < c && k < d; k++)if (e[k] !== f[k])return v(e[k], f[k]); + return k === c ? v(a, f[k], -1) : v(e[k], b, 1) + }, v = function (a, b, c) { + if (a === b)return c; + var d = a.nextSibling; + while (d) { + if (d === b)return-1; + d = d.nextSibling + } + return 1 + }), function () { + var a = c.createElement("div"), d = "script" + (new Date).getTime(), e = c.documentElement; + a.innerHTML = "", e.insertBefore(a, e.firstChild), c.getElementById(d) && (o.find.ID = function (a, c, d) { + if (typeof c.getElementById != "undefined" && !d) { + var e = c.getElementById(a[1]); + return e ? e.id === a[1] || typeof e.getAttributeNode != "undefined" && e.getAttributeNode("id").nodeValue === a[1] ? [e] : b : [] + } + }, o.filter.ID = function (a, b) { + var c = typeof a.getAttributeNode != "undefined" && a.getAttributeNode("id"); + return a.nodeType === 1 && c && c.nodeValue === b + }), e.removeChild(a), e = a = null + }(), function () { + var a = c.createElement("div"); + a.appendChild(c.createComment("")), a.getElementsByTagName("*").length > 0 && (o.find.TAG = function (a, b) { + var c = b.getElementsByTagName(a[1]); + if (a[1] === "*") { + var d = []; + for (var e = 0; c[e]; e++)c[e].nodeType === 1 && d.push(c[e]); + c = d + } + return c + }), a.innerHTML = "", a.firstChild && typeof a.firstChild.getAttribute != "undefined" && a.firstChild.getAttribute("href") !== "#" && (o.attrHandle.href = function (a) { + return a.getAttribute("href", 2) + }), a = null + }(), c.querySelectorAll && function () { + var a = m, b = c.createElement("div"), d = "__sizzle__"; + b.innerHTML = "

"; + if (!b.querySelectorAll || b.querySelectorAll(".TEST").length !== 0) { + m = function (b, e, f, g) { + e = e || c; + if (!g && !m.isXML(e)) { + var h = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b); + if (h && (e.nodeType === 1 || e.nodeType === 9)) { + if (h[1])return s(e.getElementsByTagName(b), f); + if (h[2] && o.find.CLASS && e.getElementsByClassName)return s(e.getElementsByClassName(h[2]), f) + } + if (e.nodeType === 9) { + if (b === "body" && e.body)return s([e.body], f); + if (h && h[3]) { + var i = e.getElementById(h[3]); + if (!i || !i.parentNode)return s([], f); + if (i.id === h[3])return s([i], f) + } + try { + return s(e.querySelectorAll(b), f) + } catch (j) { + } + } else if (e.nodeType === 1 && e.nodeName.toLowerCase() !== "object") { + var k = e, l = e.getAttribute("id"), n = l || d, p = e.parentNode, q = /^\s*[+~]/.test(b); + l ? n = n.replace(/'/g, "\\$&") : e.setAttribute("id", n), q && p && (e = e.parentNode); + try { + if (!q || p)return s(e.querySelectorAll("[id='" + n + "'] " + b), f) + } catch (r) { + } finally { + l || k.removeAttribute("id") + } + } + } + return a(b, e, f, g) + }; + for (var e in a)m[e] = a[e]; + b = null + } + }(), function () { + var a = c.documentElement, b = a.matchesSelector || a.mozMatchesSelector || a.webkitMatchesSelector || a.msMatchesSelector; + if (b) { + var d = !b.call(c.createElement("div"), "div"), e = !1; + try { + b.call(c.documentElement, "[test!='']:sizzle") + } catch (f) { + e = !0 + } + m.matchesSelector = function (a, c) { + c = c.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"); + if (!m.isXML(a))try { + if (e || !o.match.PSEUDO.test(c) && !/!=/.test(c)) { + var f = b.call(a, c); + if (f || !d || a.document && a.document.nodeType !== 11)return f + } + } catch (g) { + } + return m(c, null, null, [a]).length > 0 + } + } + }(), function () { + var a = c.createElement("div"); + a.innerHTML = "
"; + if (!!a.getElementsByClassName && a.getElementsByClassName("e").length !== 0) { + a.lastChild.className = "e"; + if (a.getElementsByClassName("e").length === 1)return; + o.order.splice(1, 0, "CLASS"), o.find.CLASS = function (a, b, c) { + if (typeof b.getElementsByClassName != "undefined" && !c)return b.getElementsByClassName(a[1]) + }, a = null + } + }(), c.documentElement.contains ? m.contains = function (a, b) { + return a !== b && (a.contains ? a.contains(b) : !0) + } : c.documentElement.compareDocumentPosition ? m.contains = function (a, b) { + return!!(a.compareDocumentPosition(b) & 16) + } : m.contains = function () { + return!1 + }, m.isXML = function (a) { + var b = (a ? a.ownerDocument || a : 0).documentElement; + return b ? b.nodeName !== "HTML" : !1 + }; + var y = function (a, b, c) { + var d, e = [], f = "", g = b.nodeType ? [b] : b; + while (d = o.match.PSEUDO.exec(a))f += d[0], a = a.replace(o.match.PSEUDO, ""); + a = o.relative[a] ? a + "*" : a; + for (var h = 0, i = g.length; h < i; h++)m(a, g[h], e, c); + return m.filter(f, e) + }; + m.attr = f.attr, m.selectors.attrMap = {}, f.find = m, f.expr = m.selectors, f.expr[":"] = f.expr.filters, f.unique = m.uniqueSort, f.text = m.getText, f.isXMLDoc = m.isXML, f.contains = m.contains + }(); + var L = /Until$/, M = /^(?:parents|prevUntil|prevAll)/, N = /,/, O = /^.[^:#\[\.,]*$/, P = Array.prototype.slice, Q = f.expr.match.POS, R = {children: !0, contents: !0, next: !0, prev: !0}; + f.fn.extend({find: function (a) { + var b = this, c, d; + if (typeof a != "string")return f(a).filter(function () { + for (c = 0, d = b.length; c < d; c++)if (f.contains(b[c], this))return!0 + }); + var e = this.pushStack("", "find", a), g, h, i; + for (c = 0, d = this.length; c < d; c++) { + g = e.length, f.find(a, this[c], e); + if (c > 0)for (h = g; h < e.length; h++)for (i = 0; i < g; i++)if (e[i] === e[h]) { + e.splice(h--, 1); + break + } + } + return e + }, has: function (a) { + var b = f(a); + return this.filter(function () { + for (var a = 0, c = b.length; a < c; a++)if (f.contains(this, b[a]))return!0 + }) + }, not: function (a) { + return this.pushStack(T(this, a, !1), "not", a) + }, filter: function (a) { + return this.pushStack(T(this, a, !0), "filter", a) + }, is: function (a) { + return!!a && (typeof a == "string" ? Q.test(a) ? f(a, this.context).index(this[0]) >= 0 : f.filter(a, this).length > 0 : this.filter(a).length > 0) + }, closest: function (a, b) { + var c = [], d, e, g = this[0]; + if (f.isArray(a)) { + var h = 1; + while (g && g.ownerDocument && g !== b) { + for (d = 0; d < a.length; d++)f(g).is(a[d]) && c.push({selector: a[d], elem: g, level: h}); + g = g.parentNode, h++ + } + return c + } + var i = Q.test(a) || typeof a != "string" ? f(a, b || this.context) : 0; + for (d = 0, e = this.length; d < e; d++) { + g = this[d]; + while (g) { + if (i ? i.index(g) > -1 : f.find.matchesSelector(g, a)) { + c.push(g); + break + } + g = g.parentNode; + if (!g || !g.ownerDocument || g === b || g.nodeType === 11)break + } + } + c = c.length > 1 ? f.unique(c) : c; + return this.pushStack(c, "closest", a) + }, index: function (a) { + if (!a)return this[0] && this[0].parentNode ? this.prevAll().length : -1; + if (typeof a == "string")return f.inArray(this[0], f(a)); + return f.inArray(a.jquery ? a[0] : a, this) + }, add: function (a, b) { + var c = typeof a == "string" ? f(a, b) : f.makeArray(a && a.nodeType ? [a] : a), d = f.merge(this.get(), c); + return this.pushStack(S(c[0]) || S(d[0]) ? d : f.unique(d)) + }, andSelf: function () { + return this.add(this.prevObject) + }}), f.each({parent: function (a) { + var b = a.parentNode; + return b && b.nodeType !== 11 ? b : null + }, parents: function (a) { + return f.dir(a, "parentNode") + }, parentsUntil: function (a, b, c) { + return f.dir(a, "parentNode", c) + }, next: function (a) { + return f.nth(a, 2, "nextSibling") + }, prev: function (a) { + return f.nth(a, 2, "previousSibling") + }, nextAll: function (a) { + return f.dir(a, "nextSibling") + }, prevAll: function (a) { + return f.dir(a, "previousSibling") + }, nextUntil: function (a, b, c) { + return f.dir(a, "nextSibling", c) + }, prevUntil: function (a, b, c) { + return f.dir(a, "previousSibling", c) + }, siblings: function (a) { + return f.sibling(a.parentNode.firstChild, a) + }, children: function (a) { + return f.sibling(a.firstChild) + }, contents: function (a) { + return f.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document : f.makeArray(a.childNodes) + }}, function (a, b) { + f.fn[a] = function (c, d) { + var e = f.map(this, b, c); + L.test(a) || (d = c), d && typeof d == "string" && (e = f.filter(d, e)), e = this.length > 1 && !R[a] ? f.unique(e) : e, (this.length > 1 || N.test(d)) && M.test(a) && (e = e.reverse()); + return this.pushStack(e, a, P.call(arguments).join(",")) + } + }, b), f.extend({filter: function (a, b, c) { + c && (a = ":not(" + a + ")"); + return b.length === 1 ? f.find.matchesSelector(b[0], a) ? [b[0]] : [] : f.find.matches(a, b) + }, dir: function (a, c, d) { + var e = [], g = a[c]; + while (g && g.nodeType !== 9 && (d === b || g.nodeType !== 1 || !f(g).is(d)))g.nodeType === 1 && e.push(g), g = g[c]; + return e + }, nth: function (a, b, c, d) { + b = b || 1; + var e = 0; + for (; a; a = a[c])if (a.nodeType === 1 && ++e === b)break; + return a + }, sibling: function (a, b) { + var c = []; + for (; a; a = a.nextSibling)a.nodeType === 1 && a !== b && c.push(a); + return c + }}); + var V = "abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", W = / jQuery\d+="(?:\d+|null)"/g, X = /^\s+/, Y = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig, Z = /<([\w:]+)/, $ = /", ""], legend: [1, "
", "
"], thead: [1, "", "
"], tr: [2, "", "
"], td: [3, "", "
"], col: [2, "", "
"], area: [1, "", ""], _default: [0, "", ""]}, bh = U(c); + bg.optgroup = bg.option, bg.tbody = bg.tfoot = bg.colgroup = bg.caption = bg.thead, bg.th = bg.td, f.support.htmlSerialize || (bg._default = [1, "div
", "
"]), f.fn.extend({text: function (a) { + if (f.isFunction(a))return this.each(function (b) { + var c = f(this); + c.text(a.call(this, b, c.text())) + }, b); + if (typeof a != "object" && a !== b)return this.empty().append((this[0] && this[0].ownerDocument || c).createTextNode(a)); + return f.text(this) + }, wrapAll: function (a) { + if (f.isFunction(a))return this.each(function (b) { + f(this).wrapAll(a.call(this, b)) + }, b); + if (this[0]) { + var b = f(a, this[0].ownerDocument).eq(0).clone(!0); + this[0].parentNode && b.insertBefore(this[0]), b.map(function () { + var a = this; + while (a.firstChild && a.firstChild.nodeType === 1)a = a.firstChild; + return a + },function (a, c) { + return{name: b.name, value: a.replace(bF, "\r\n")} + }, c).append(this) + } + return this + }, wrapInner: function (a) { + if (f.isFunction(a))return this.each(function (b) { + f(this).wrapInner(a.call(this, b)) + }, b); + return this.each(function () { + var b = f(this), c = b.contents(); + c.length ? c.wrapAll(a) : b.append(a) + }, b) + }, wrap: function (a) { + var b = f.isFunction(a); + return this.each(function (c) { + f(this).wrapAll(b ? a.call(this, c) : a) + }, b) + }, unwrap: function () { + return this.parent().each(function () { + f.nodeName(this, "body") || f(this).replaceWith(this.childNodes) + }, b).end() + }, append: function () { + return this.domManip(arguments, !0, function (a) { + this.nodeType === 1 && this.appendChild(a) + }) + }, prepend: function () { + return this.domManip(arguments, !0, function (a) { + this.nodeType === 1 && this.insertBefore(a, this.firstChild) + }) + }, before: function () { + if (this[0] && this[0].parentNode)return this.domManip(arguments, !1, function (a) { + this.parentNode.insertBefore(a, this) + }); + if (arguments.length) { + var a = f.clean(arguments); + a.push.apply(a, this.toArray()); + return this.pushStack(a, "before", arguments) + } + }, after: function () { + if (this[0] && this[0].parentNode)return this.domManip(arguments, !1, function (a) { + this.parentNode.insertBefore(a, this.nextSibling) + }); + if (arguments.length) { + var a = this.pushStack(this, "after", arguments); + a.push.apply(a, f.clean(arguments)); + return a + } + }, remove: function (a, b) { + for (var c = 0, d; (d = this[c]) != null; c++)if (!a || f.filter(a, [d]).length)!b && d.nodeType === 1 && (f.cleanData(d.getElementsByTagName("*")), f.cleanData([d])), d.parentNode && d.parentNode.removeChild(d); + return this + }, empty: function () { + for (var a = 0, b; (b = this[a]) != null; a++) { + b.nodeType === 1 && f.cleanData(b.getElementsByTagName("*")); + while (b.firstChild)b.removeChild(b.firstChild) + } + return this + }, clone: function (a, b) { + if (a == null) { + a = !1, b = b == null ? a : b; + } else { + a = a, b = b == null ? a : b; + } + return this.map(function () { + return f.clone(this, a, b) + }, function (a, c) { + return{name: b.name, value: a.replace(bF, "\r\n")} + }, c) + }, html: function (a) { + if (a === b)return this[0] && this[0].nodeType === 1 ? this[0].innerHTML.replace(W, "") : null; + if (typeof a == "string" && !ba.test(a) && (f.support.leadingWhitespace || !X.test(a)) && !bg[(Z.exec(a) || ["", ""])[1].toLowerCase()]) { + a = a.replace(Y, "<$1>"); + try { + for (var c = 0, d = this.length; c < d; c++)this[c].nodeType === 1 && (f.cleanData(this[c].getElementsByTagName("*")), this[c].innerHTML = a) + } catch (e) { + this.empty().append(a) + } + } else f.isFunction(a) ? this.each(function (b) { + var c = f(this); + c.html(a.call(this, b, c.html())) + }, b) : this.empty().append(a); + return this + }, replaceWith: function (a) { + if (this[0] && this[0].parentNode) { + if (f.isFunction(a))return this.each(function (b) { + var c = f(this), d = c.html(); + c.replaceWith(a.call(this, b, d)) + }, b); + typeof a != "string" && (a = f(a).detach()); + return this.each(function () { + var b = this.nextSibling, c = this.parentNode; + f(this).remove(), b ? f(b).before(a) : f(c).append(a) + }, b) + } + return this.length ? this.pushStack(f(f.isFunction(a) ? a() : a), "replaceWith", a) : this + }, detach: function (a) { + return this.remove(a, !0) + }, domManip: function (a, c, d) { + var e, g, h, i, j = a[0], k = []; + if (!f.support.checkClone && arguments.length === 3 && typeof j == "string" && bd.test(j))return this.each(function () { + f(this).domManip(a, c, d, !0) + }, b); + if (f.isFunction(j))return this.each(function (e) { + var g = f(this); + a[0] = j.call(this, e, c ? g.html() : b), g.domManip(a, c, d) + }, b); + if (this[0]) { + i = j && j.parentNode, f.support.parentNode && i && i.nodeType === 11 && i.childNodes.length === this.length ? e = {fragment: i} : e = f.buildFragment(a, this, k), h = e.fragment, h.childNodes.length === 1 ? g = h = h.firstChild : g = h.firstChild; + if (g) { + c = c && f.nodeName(g, "tr"); + for (var l = 0, m = this.length, n = m - 1; l < m; l++)d.call(c ? bi(this[l], g) : this[l], e.cacheable || m > 1 && l < n ? f.clone(h, !0, !0) : h) + } + k.length && f.each(k, bp, b) + } + return this + }}), f.buildFragment = function (a, b, d) { + var e, g, h, i, j = a[0]; + b && b[0] && (i = b[0].ownerDocument || b[0]), i.createDocumentFragment || (i = c), a.length === 1 && typeof j == "string" && j.length < 512 && i === c && j.charAt(0) === "<" && !bb.test(j) && (f.support.checkClone || !bd.test(j)) && (f.support.html5Clone || !bc.test(j)) && (g = !0, h = f.fragments[j], h && h !== 1 && (e = h)), e || (e = i.createDocumentFragment(), f.clean(a, i, e, d)), g && (f.fragments[j] = h ? e : 1); + return{fragment: e, cacheable: g} + }, f.fragments = {}, f.each({appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith"}, function (a, b) { + f.fn[a] = function (c) { + var d = [], e = f(c), g = this.length === 1 && this[0].parentNode; + if (g && g.nodeType === 11 && g.childNodes.length === 1 && e.length === 1) { + e[b](this[0]); + return this + } + for (var h = 0, i = e.length; h < i; h++) { + var j = (h > 0 ? this.clone(!0) : this).get(); + f(e[h])[b](j), d = d.concat(j) + } + return this.pushStack(d, a, e.selector) + } + }, b), f.extend({clone: function (a, b, c) { + var d, e, g, h = f.support.html5Clone || !bc.test("<" + a.nodeName) ? a.cloneNode(!0) : bo(a); + if ((!f.support.noCloneEvent || !f.support.noCloneChecked) && (a.nodeType === 1 || a.nodeType === 11) && !f.isXMLDoc(a)) { + bk(a, h), d = bl(a), e = bl(h); + for (g = 0; d[g]; ++g)e[g] && bk(d[g], e[g]) + } + if (b) { + bj(a, h); + if (c) { + d = bl(a), e = bl(h); + for (g = 0; d[g]; ++g)bj(d[g], e[g]) + } + } + d = e = null; + return h + }, clean: function (a, b, d, e) { + var g; + b = b || c, typeof b.createElement == "undefined" && (b = b.ownerDocument || b[0] && b[0].ownerDocument || c); + var h = [], i; + for (var j = 0, k; (k = a[j]) != null; j++) { + typeof k == "number" && (k += ""); + if (!k)continue; + if (typeof k == "string")if (_.test(k)) { + k = k.replace(Y, "<$1>"); + var l = (Z.exec(k) || ["", ""])[1].toLowerCase(), m = bg[l] || bg._default, n = m[0], o = b.createElement("div"); + b === c ? bh.appendChild(o) : U(b).appendChild(o), o.innerHTML = m[1] + k + m[2]; + while (n--)o = o.lastChild; + if (!f.support.tbody) { + var p = $.test(k), q = l === "table" && !p ? o.firstChild && o.firstChild.childNodes : m[1] === "" && !p ? o.childNodes : []; + for (i = q.length - 1; i >= 0; --i)f.nodeName(q[i], "tbody") && !q[i].childNodes.length && q[i].parentNode.removeChild(q[i]) + } + !f.support.leadingWhitespace && X.test(k) && o.insertBefore(b.createTextNode(X.exec(k)[0]), o.firstChild), k = o.childNodes + } else k = b.createTextNode(k); + var r; + if (!f.support.appendChecked)if (k[0] && typeof (r = k.length) == "number")for (i = 0; i < r; i++)bn(k[i]); else bn(k); + k.nodeType ? h.push(k) : h = f.merge(h, k) + } + if (d) { + g = function (a) { + return!a.type || be.test(a.type) + }; + for (j = 0; h[j]; j++)if (e && f.nodeName(h[j], "script") && (!h[j].type || h[j].type.toLowerCase() === "text/javascript"))e.push(h[j].parentNode ? h[j].parentNode.removeChild(h[j]) : h[j]); else { + if (h[j].nodeType === 1) { + var s = f.grep(h[j].getElementsByTagName("script"), g); + h.splice.apply(h, [j + 1, 0].concat(s)) + } + d.appendChild(h[j]) + } + } + return h + }, cleanData: function (a) { + var b, c, d = f.cache, e = f.event.special, g = f.support.deleteExpando; + for (var h = 0, i; (i = a[h]) != null; h++) { + if (i.nodeName && f.noData[i.nodeName.toLowerCase()])continue; + c = i[f.expando]; + if (c) { + b = d[c]; + if (b && b.events) { + for (var j in b.events)e[j] ? f.event.remove(i, j) : f.removeEvent(i, j, b.handle); + b.handle && (b.handle.elem = null) + } + g ? delete i[f.expando] : i.removeAttribute && i.removeAttribute(f.expando), delete d[c] + } + } + }}); + var bq = /alpha\([^)]*\)/i, br = /opacity=([^)]*)/, bs = /([A-Z]|^ms)/g, bt = /^-?\d+(?:px)?$/i, bu = /^-?\d/, bv = /^([\-+])=([\-+.\de]+)/, bw = {position: "absolute", visibility: "hidden", display: "block"}, bx = ["Left", "Right"], by = ["Top", "Bottom"], bz, bA, bB; + f.fn.css = function (a, c) { + if (arguments.length === 2 && c === b)return this; + return f.access(this, a, c, !0, function (a, c, d) { + return d !== b ? f.style(a, c, d) : f.css(a, c) + }) + }, f.extend({cssHooks: {opacity: {get: function (a, b) { + if (b) { + var c = bz(a, "opacity", "opacity"); + return c === "" ? "1" : c + } + return a.style.opacity + }}}, cssNumber: {fillOpacity: !0, fontWeight: !0, lineHeight: !0, opacity: !0, orphans: !0, widows: !0, zIndex: !0, zoom: !0}, cssProps: {"float": f.support.cssFloat ? "cssFloat" : "styleFloat"}, style: function (a, c, d, e) { + if (!!a && a.nodeType !== 3 && a.nodeType !== 8 && !!a.style) { + var g, h, i = f.camelCase(c), j = a.style, k = f.cssHooks[i]; + c = f.cssProps[i] || i; + if (d === b) { + if (k && "get"in k && (g = k.get(a, !1, e)) !== b)return g; + return j[c] + } + h = typeof d, h === "string" && (g = bv.exec(d)) && (d = +(g[1] + 1) * +g[2] + parseFloat(f.css(a, c)), h = "number"); + if (d == null || h === "number" && isNaN(d))return; + h === "number" && !f.cssNumber[i] && (d += "px"); + if (!k || !("set"in k) || (d = k.set(a, d)) !== b)try { + j[c] = d + } catch (l) { + } + } + }, css: function (a, c, d) { + var e, g; + c = f.camelCase(c), g = f.cssHooks[c], c = f.cssProps[c] || c, c === "cssFloat" && (c = "float"); + if (g && "get"in g && (e = g.get(a, !0, d)) !== b)return e; + if (bz)return bz(a, c) + }, swap: function (a, b, c) { + var d = {}; + for (var e in b)d[e] = a.style[e], a.style[e] = b[e]; + c.call(a); + for (e in b)a.style[e] = d[e] + }}), f.curCSS = f.css, f.each(["height", "width"], function (a, b) { + f.cssHooks[b] = {get: function (a, c, d) { + var e; + if (c) { + if (a.offsetWidth !== 0)return bC(a, b, d); + f.swap(a, bw, function () { + e = bC(a, b, d) + }); + return e + } + }, set: function (a, b) { + if (!bt.test(b))return b; + b = parseFloat(b); + if (b >= 0)return b + "px" + }} + }, b), f.support.opacity || (f.cssHooks.opacity = {get: function (a, b) { + return br.test((b && a.currentStyle ? a.currentStyle.filter : a.style.filter) || "") ? parseFloat(RegExp.$1) / 100 + "" : b ? "1" : "" + }, set: function (a, b) { + var c = a.style, d = a.currentStyle, e = f.isNumeric(b) ? "alpha(opacity=" + b * 100 + ")" : "", g = d && d.filter || c.filter || ""; + c.zoom = 1; + if (b >= 1 && f.trim(g.replace(bq, "")) === "") { + c.removeAttribute("filter"); + if (d && !d.filter)return + } + c.filter = bq.test(g) ? g.replace(bq, e) : g + " " + e + }}), f(function () { + f.support.reliableMarginRight || (f.cssHooks.marginRight = {get: function (a, b) { + var c; + f.swap(a, {display: "inline-block"}, function () { + b ? c = bz(a, "margin-right", "marginRight") : c = a.style.marginRight + }); + return c + }}) + }), c.defaultView && c.defaultView.getComputedStyle && (bA = function (a, b) { + var c, d, e; + b = b.replace(bs, "-$1").toLowerCase(), (d = a.ownerDocument.defaultView) && (e = d.getComputedStyle(a, null)) && (c = e.getPropertyValue(b), c === "" && !f.contains(a.ownerDocument.documentElement, a) && (c = f.style(a, b))); + return c + }), c.documentElement.currentStyle && (bB = function (a, b) { + var c, d, e, f = a.currentStyle && a.currentStyle[b], g = a.style; + f === null && g && (e = g[b]) && (f = e), !bt.test(f) && bu.test(f) && (c = g.left, d = a.runtimeStyle && a.runtimeStyle.left, d && (a.runtimeStyle.left = a.currentStyle.left), g.left = b === "fontSize" ? "1em" : f || 0, f = g.pixelLeft + "px", g.left = c, d && (a.runtimeStyle.left = d)); + return f === "" ? "auto" : f + }), bz = bA || bB, f.expr && f.expr.filters && (f.expr.filters.hidden = function (a) { + var b = a.offsetWidth, c = a.offsetHeight; + return b === 0 && c === 0 || !f.support.reliableHiddenOffsets && (a.style && a.style.display || f.css(a, "display")) === "none" + }, f.expr.filters.visible = function (a) { + return!f.expr.filters.hidden(a) + }); + var bD = /%20/g, bE = /\[\]$/, bF = /\r?\n/g, bG = /#.*$/, bH = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, bI = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i, bJ = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/, bK = /^(?:GET|HEAD)$/, bL = /^\/\//, bM = /\?/, bN = /)<[^<]*)*<\/script>/gi, bO = /^(?:select|textarea)/i, bP = /\s+/, bQ = /([?&])_=[^&]*/, bR = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/, bS = f.fn.load, bT = {}, bU = {}, bV, bW, bX = ["*/"] + ["*"]; + try { + bV = e.href + } catch (bY) { + bV = c.createElement("a"), bV.href = "", bV = bV.href + } + bW = bR.exec(bV.toLowerCase()) || [], f.fn.extend({load: function (a, c, d) { + if (typeof a != "string" && bS)return bS.apply(this, arguments); + if (!this.length)return this; + var e = a.indexOf(" "); + if (e >= 0) { + var g = a.slice(e, a.length); + a = a.slice(0, e) + } + var h = "GET"; + c && (f.isFunction(c) ? (d = c, c = b) : typeof c == "object" && (c = f.param(c, f.ajaxSettings.traditional), h = "POST")); + var i = this; + f.ajax({url: a, type: h, dataType: "html", data: c, complete: function (a, b, c) { + c = a.responseText, a.isResolved() && (a.done(function (a) { + c = a + }), i.html(g ? f("
").append(c.replace(bN, "")).find(g) : c)), d && i.each(d, [c, b, a], b) + }}); + return this + }, serialize: function () { + return f.param(this.serializeArray()) + }, serializeArray: function () { + return this.map(function () { + return this.elements ? f.makeArray(this.elements) : this + },function (a, c) { + return{name: b.name, value: a.replace(bF, "\r\n")} + }, c).filter(function () { + return this.name && !this.disabled && (this.checked || bO.test(this.nodeName) || bI.test(this.type)) + }).map(function (a, b) { + var c = f(this).val(); + return c == null ? null : !f.isArray(c) ? {name: b.name, value: c.replace(bF, "\r\n")} : f.map(c, function (a, c) { + return{name: b.name, value: a.replace(bF, "\r\n")} + }, c) + },function (a, c) { + return{name: b.name, value: a.replace(bF, "\r\n")} + }, c).get() + }}), f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function (a, b) { + f.fn[b] = function (a) { + return this.on(b, a) + } + }, b), f.each(["get", "post"], function (a, c) { + f[c] = function (a, d, e, g) { + f.isFunction(d) && (g = g || e, e = d, d = b); + return f.ajax({type: c, url: a, data: d, success: e, dataType: g}) + } + }, b), f.extend({getScript: function (a, c) { + return f.get(a, b, c, "script") + }, getJSON: function (a, b, c) { + return f.get(a, b, c, "json") + }, ajaxSetup: function (a, b) { + b ? b_(a, f.ajaxSettings) : (b = a, a = f.ajaxSettings), b_(a, b); + return a + }, ajaxSettings: {url: bV, isLocal: bJ.test(bW[1]), global: !0, type: "GET", contentType: "application/x-www-form-urlencoded", processData: !0, async: !0, accepts: {xml: "application/xml, text/xml", html: "text/html", text: "text/plain", json: "application/json, text/javascript", "*": bX}, contents: {xml: /xml/, html: /html/, json: /json/}, responseFields: {xml: "responseXML", text: "responseText"}, converters: {"* text": a.String, "text html": !0, "text json": f.parseJSON, "text xml": f.parseXML}, flatOptions: {context: !0, url: !0}}, ajaxPrefilter: bZ(bT), ajaxTransport: bZ(bU), ajax: function (a, c) { + function w(a, c, l, m) { + if (s === 2) { + } + s = 2, q && clearTimeout(q), p = b, n = m || "", v.readyState = a > 0 ? 4 : 0; + var o, r, u, w = c, x = l ? cb(d, v, l) : b, y, z; + if (a >= 200 && a < 300 || a === 304) { + if (d.ifModified) { + if (y = v.getResponseHeader("Last-Modified"))f.lastModified[k] = y; + if (z = v.getResponseHeader("Etag"))f.etag[k] = z + } + if (a === 304)w = "notmodified", o = !0; else try { + r = cc(d, x), w = "success", o = !0 + } catch (A) { + w = "parsererror", u = A + } + } else { + u = w; + if (!w || a)w = "error", a < 0 && (a = 0) + } + v.status = a, v.statusText = "" + (c || w), o ? h.resolveWith(e, [r, w, v]) : h.rejectWith(e, [v, w, u]), v.statusCode(j), j = b, t && g.trigger("ajax" + (o ? "Success" : "Error"), [v, d, o ? r : u]), i.fireWith(e, [v, w]), t && (g.trigger("ajaxComplete", [v, d]), --f.active || f.event.trigger("ajaxStop")) + } + + typeof a == "object" && (c = a, a = b), c = c || {}; + var d, e, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v; + d = f.ajaxSetup({}, c); + e = d.context || d; + g = e !== d && (e.nodeType || e instanceof f) ? f(e) : f.event; + h = f.Deferred(); + i = f.Callbacks("once memory"); + j = d.statusCode || {}; + l = {}; + m = {}; + s = 0; + v = {readyState: 0, setRequestHeader: function (a, b) { + if (!s) { + var c = a.toLowerCase(); + a = m[c] = m[c] || a, l[a] = b + } + return this + }, getAllResponseHeaders: function () { + return s === 2 ? n : null + }, getResponseHeader: function (a) { + var c; + if (s === 2) { + if (!o) { + o = {}; + while (c = bH.exec(n))o[c[1].toLowerCase()] = c[2] + } + c = o[a.toLowerCase()] + } + return c === b ? null : c + }, overrideMimeType: function (a) { + s || (d.mimeType = a); + return this + }, abort: function (a) { + a = a || "abort", p && p.abort(a), w(0, a); + return this + }}; + h.promise(v), v.success = v.done, v.error = v.fail, v.complete = i.add, v.statusCode = function (a) { + if (a) { + var b; + if (s < 2)for (b in a)j[b] = [j[b], a[b]]; else b = a[v.status], v.then(b, b) + } + return this + }, d.url = ((a || d.url) + "").replace(bG, "").replace(bL, bW[1] + "//"), d.dataTypes = f.trim(d.dataType || "*").toLowerCase().split(bP), d.crossDomain == null && (r = bR.exec(d.url.toLowerCase()), d.crossDomain = !(!r || r[1] == bW[1] && r[2] == bW[2] && (r[3] || (r[1] === "http:" ? 80 : 443)) == (bW[3] || (bW[1] === "http:" ? 80 : 443)))), !(!d.data || !d.processData || typeof d.data == "string" || !(d.data = f.param(d.data, d.traditional))), b$(bT, d, c, v); + if (s === 2)return!1; + t = d.global, d.type = d.type.toUpperCase(), d.hasContent = !bK.test(d.type), t && f.active++ === 0 && f.event.trigger("ajaxStart"); + if (!d.hasContent) { + d.data && (d.url += (bM.test(d.url) ? "&" : "?") + d.data, delete d.data), k = d.url; + if (d.cache === !1) { + var x = f.now(), y = d.url.replace(bQ, "$1_=" + x); + d.url = y + (y === d.url ? (bM.test(d.url) ? "&" : "?") + "_=" + x : "") + } + } + (d.data && d.hasContent && d.contentType !== !1 || c.contentType) && v.setRequestHeader("Content-Type", d.contentType), !(!d.ifModified || !(k = k || d.url, f.lastModified[k] && v.setRequestHeader("If-Modified-Since", f.lastModified[k]), f.etag[k] && v.setRequestHeader("If-None-Match", f.etag[k]))), v.setRequestHeader("Accept", d.dataTypes[0] && d.accepts[d.dataTypes[0]] ? d.accepts[d.dataTypes[0]] + (d.dataTypes[0] !== "*" ? ", " + bX + "; q=0.01" : "") : d.accepts["*"]); + for (u in d.headers)v.setRequestHeader(u, d.headers[u]); + if (d.beforeSend) { + if ((d.beforeSend.call(e, v, d) === !1 || s === 2)) { + v.abort(); + return!1 + } + } + for (u in{success: 1, error: 1, complete: 1})v[u](d[u]); + p = b$(bU, d, c, v); + if (p) { + v.readyState = 1, t && g.trigger("ajaxSend", [v, d]), d.async && d.timeout > 0 && (q = setTimeout(function () { + v.abort("timeout") + }, d.timeout)); + try { + s = 1, p.send(l, w) + } catch (z) { + if (s < 2)w(-1, z); else throw z + } + } else w(-1, "No Transport"); + return v + }, param: function (a, c) { + var d, e; + d = []; + e = function (a, b) { + b = f.isFunction(b) ? b() : b, d[d.length] = encodeURIComponent(a) + "=" + encodeURIComponent(b) + }; + !(c !== b || !(c = f.ajaxSettings.traditional)); + if (f.isArray(a) || a.jquery && !f.isPlainObject(a))f.each(a, function () { + e(this.name, this.value) + }, b); else for (var g in a)ca(g, a[g], c, e); + return d.join("&").replace(bD, "+") + }}), f.extend({active: 0, lastModified: {}, etag: {}}); + var cd = f.now(), ce = /(\=)\?(&|$)|\?\?/i; + f.ajaxSetup({jsonp: "callback", jsonpCallback: function () { + return f.expando + "_" + cd++ + }}), f.ajaxPrefilter("json jsonp", function (b, c, d) { + var e = b.contentType === "application/x-www-form-urlencoded" && typeof b.data == "string"; + if (b.dataTypes[0] === "jsonp" || b.jsonp !== !1 && (ce.test(b.url) || e && ce.test(b.data))) { + var g, h = b.jsonpCallback = f.isFunction(b.jsonpCallback) ? b.jsonpCallback() : b.jsonpCallback, i = a[h], j = b.url, k = b.data, l = "$1" + h + "$2"; + b.jsonp !== !1 && (j = j.replace(ce, l), b.url === j && (e && (k = k.replace(ce, l)), b.data === k && (j += (/\?/.test(j) ? "&" : "?") + b.jsonp + "=" + h))), b.url = j, b.data = k, a[h] = function (a) { + g = [a] + }, d.always(function () { + a[h] = i, g && f.isFunction(i) && a[h](g[0]) + }), b.converters["script json"] = function () { + g || f.error(h + " was not called"); + return g[0] + }, b.dataTypes[0] = "json"; + return"script" + } + }), f.ajaxSetup({accepts: {script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"}, contents: {script: /javascript|ecmascript/}, converters: {"text script": function (a) { + f.globalEval(a); + return a + }}}), f.ajaxPrefilter("script", function (a) { + a.cache === b && (a.cache = !1), a.crossDomain && (a.type = "GET", a.global = !1) + }), f.ajaxTransport("script", function (a) { + if (a.crossDomain) { + var d, e = c.head || c.getElementsByTagName("head")[0] || c.documentElement; + return{send: function (f, g) { + d = c.createElement("script"), d.async = "async", !(!a.scriptCharset || !(d.charset = a.scriptCharset)), d.src = a.url, d.onload = d.onreadystatechange = function (a, c) { + if (c || !d.readyState)d.onload = d.onreadystatechange = null, e && d.parentNode && e.removeChild(d), d = b, c || g(200, "success"); else if (/loaded|complete/.test(d.readyState))d.onload = d.onreadystatechange = null, e && d.parentNode && e.removeChild(d), d = b, c || g(200, "success") + }, e.insertBefore(d, e.firstChild) + }, abort: function () { + d && d.onload(0, 1) + }} + } + }); + var cf = a.ActiveXObject ? function () { + for (var a in ch)ch[a](0, 1) + } : !1, cg = 0, ch; + f.ajaxSettings.xhr = a.ActiveXObject ? function () { + return!this.isLocal && ci() || cj() + } : ci, function (a) { + f.extend(f.support, {ajax: !!a, cors: !!a && "withCredentials"in a}) + }(f.ajaxSettings.xhr()), f.support.ajax && f.ajaxTransport(ajax); + function ajax(c) { + if (!c.crossDomain || f.support.cors) { + var d; + return{send: function (e, g) { + var h = c.xhr(), i, j; + if (c.username) { + h.open(c.type, c.url, c.async, c.username, c.password); + } else { + h.open(c.type, c.url, c.async); + } + if (c.xhrFields)for (j in c.xhrFields)h[j] = c.xhrFields[j]; + c.mimeType && h.overrideMimeType && h.overrideMimeType(c.mimeType), !c.crossDomain && !e["X-Requested-With"] && (e["X-Requested-With"] = "XMLHttpRequest"); + try { + for (j in e)h.setRequestHeader(j, e[j]) + } catch (k) { + } + h.send(c.hasContent && c.data || null), d = function (a, e) { + var j, k, l, m, n; + try { + if (d && (e || h.readyState === 4)) { + d = b, i && (h.onreadystatechange = f.noop, cf && delete ch[i]); + if (e)h.readyState !== 4 && h.abort(); else { + j = h.status, l = h.getAllResponseHeaders(), m = {}, n = h.responseXML, n && n.documentElement && (m.xml = n), m.text = h.responseText; + try { + k = h.statusText + } catch (o) { + k = "" + } + !j && c.isLocal && !c.crossDomain ? j = m.text ? 200 : 404 : j === 1223 && (j = 204) + } + } + } catch (p) { + e || g(-1, p) + } + m && g(j, k, m, l) + }, !c.async || h.readyState === 4 ? d() : (i = ++cg, cf && (ch || (ch = {}, f(a).unload(cf)), ch[i] = d), h.onreadystatechange = d) + }, abort: function () { + d && d(0, 1) + }} + } + } + + var ck = {}, cl, cm, cn = /^(?:toggle|show|hide)$/, co = /^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i, cp, cq = [ + ["height", "marginTop", "marginBottom", "paddingTop", "paddingBottom"], + ["width", "marginLeft", "marginRight", "paddingLeft", "paddingRight"], + ["opacity"] + ], cr; + f.fn.extend({show: function (a, b, c) { + var d, e; + if (a || a === 0)return this.animate(cu("show", 3), a, b, c); + for (var g = 0, h = this.length; g < h; g++)d = this[g], d.style && (e = d.style.display, !f._data(d, "olddisplay") && e === "none" && (e = d.style.display = ""), e === "" && f.css(d, "display") === "none" && f._data(d, "olddisplay", cv(d.nodeName))); + for (g = 0; g < h; g++) { + d = this[g]; + if (d.style) { + e = d.style.display; + if (e === "" || e === "none")d.style.display = f._data(d, "olddisplay") || "" + } + } + return this + }, hide: function (a, b, c) { + if (a || a === 0)return this.animate(cu("hide", 3), a, b, c); + var d, e, g = 0, h = this.length; + for (; g < h; g++)d = this[g], d.style && (e = f.css(d, "display"), e !== "none" && !f._data(d, "olddisplay") && f._data(d, "olddisplay", e)); + for (g = 0; g < h; g++)this[g].style && (this[g].style.display = "none"); + return this + }, _toggle: f.fn.toggle, toggle: function (a, b, c) { + var d = typeof a == "boolean"; + f.isFunction(a) && f.isFunction(b) ? this._toggle.apply(this, arguments) : a == null || d ? this.each(function () { + var b = d ? a : f(this).is(":hidden"); + f(this)[b ? "show" : "hide"]() + }, b) : this.animate(cu("toggle", 3), a, b, c); + return this + }, fadeTo: function (a, b, c, d) { + return this.filter(":hidden").css("opacity", 0).show().end().animate({opacity: b}, a, c, d) + }, animate: function (a, b, c, d) { + function g() { + e.queue === !1 && f._mark(this); + var b = f.extend({}, e), c = this.nodeType === 1, d = c && f(this).is(":hidden"), g, h, i, j, k, l, m, n, o; + b.animatedProperties = {}; + for (i in a) { + g = f.camelCase(i), i !== g && (a[g] = a[i], delete a[i]), h = a[g], f.isArray(h) ? (b.animatedProperties[g] = h[1], h = a[g] = h[0]) : b.animatedProperties[g] = b.specialEasing && b.specialEasing[g] || b.easing || "swing"; + if (h === "hide" && d || h === "show" && !d)return b.complete.call(this); + c && (g === "height" || g === "width") && (b.overflow = [this.style.overflow, this.style.overflowX, this.style.overflowY], f.css(this, "display") === "inline" && f.css(this, "float") === "none" && (!f.support.inlineBlockNeedsLayout || cv(this.nodeName) === "inline" ? this.style.display = "inline-block" : this.style.zoom = 1)) + } + b.overflow != null && (this.style.overflow = "hidden"); + for (i in a)j = new f.fx(this, b, i), h = a[i], cn.test(h) ? (o = f._data(this, "toggle" + i) || (h === "toggle" ? d ? "show" : "hide" : 0), o ? (f._data(this, "toggle" + i, o === "show" ? "hide" : "show"), j[o]()) : j[h]()) : (k = co.exec(h), l = j.cur(), k ? (m = parseFloat(k[2]), n = k[3] || (f.cssNumber[i] ? "" : "px"), n !== "px" && (f.style(this, i, (m || 1) + n), l = (m || 1) / j.cur() * l, f.style(this, i, l + n)), k[1] && (m = (k[1] === "-=" ? -1 : 1) * m + l), j.custom(l, m, n)) : j.custom(l, h, "")); + return!0 + } + + var e = f.speed(b, c, d); + if (f.isEmptyObject(a))return this.each(e.complete, [!1], b); + a = f.extend({}, a); + return e.queue === !1 ? this.each(g, b) : this.queue(e.queue, g) + }, stop: function (a, c, d) { + typeof a != "string" && (d = c, c = a, a = b), c && a !== !1 && this.queue(a || "fx", []); + return this.each(function () { + function h(a, b, c) { + var e = b[c]; + f.removeData(a, c, !0), e.stop(d) + } + + var b, c = !1, e = f.timers, g = f._data(this); + d || f._unmark(!0, this); + if (a == null)for (b in g)g[b] && g[b].stop && b.indexOf(".run") === b.length - 4 && h(this, g, b); else g[b = a + ".run"] && g[b].stop && h(this, g, b); + for (b = e.length; b--;)e[b].elem === this && (a == null || e[b].queue === a) && (d ? e[b](!0) : e[b].saveState(), c = !0, e.splice(b, 1)); + (!d || !c) && f.dequeue(this, a) + }, b) + }}), f.each({slideDown: cu("show", 1), slideUp: cu("hide", 1), slideToggle: cu("toggle", 1), fadeIn: {opacity: "show"}, fadeOut: {opacity: "hide"}, fadeToggle: {opacity: "toggle"}}, function (a, b) { + f.fn[a] = function (a, c, d) { + return this.animate(b, a, c, d) + } + }, b), f.extend({speed: function (a, b, c) { + var d = a && typeof a == "object" ? f.extend({}, a) : {complete: c || !c && b || f.isFunction(a) && a, duration: a, easing: c && b || b && !f.isFunction(b) && b}; + d.duration = f.fx.off ? 0 : typeof d.duration == "number" ? d.duration : d.duration in f.fx.speeds ? f.fx.speeds[d.duration] : f.fx.speeds._default; + if (d.queue == null || d.queue === !0)d.queue = "fx"; + d.old = d.complete, d.complete = function (a) { + f.isFunction(d.old) && d.old.call(this), d.queue ? f.dequeue(this, d.queue) : a !== !1 && f._unmark(this) + }; + return d + }, easing: {linear: function (a, b, c, d) { + return c + d * a + }, swing: function (a, b, c, d) { + return(-Math.cos(a * Math.PI) / 2 + .5) * d + c + }}, timers: [], fx: function (a, b, c) { + this.options = b, this.elem = a, this.prop = c, b.orig = b.orig || {} + }}), f.fx.prototype = {update: function () { + this.options.step && this.options.step.call(this.elem, this.now, this), (f.fx.step[this.prop] || f.fx.step._default)(this) + }, cur: function () { + if (this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null))return this.elem[this.prop]; + var a, b = f.css(this.elem, this.prop); + return isNaN(a = parseFloat(b)) ? !b || b === "auto" ? 0 : b : a + }, custom: function (a, c, d) { + function h(a) { + return e.step(a) + } + + var e = this, g = f.fx; + this.startTime = cr || cs(), this.end = c, this.now = this.start = a, this.pos = this.state = 0, this.unit = d || this.unit || (f.cssNumber[this.prop] ? "" : "px"), h.queue = this.options.queue, h.elem = this.elem, h.saveState = function () { + e.options.hide && f._data(e.elem, "fxshow" + e.prop) === b && f._data(e.elem, "fxshow" + e.prop, e.start) + }, h() && f.timers.push(h) && !cp && (cp = setInterval(g.tick, g.interval)) + }, show: function () { + var a = f._data(this.elem, "fxshow" + this.prop); + this.options.orig[this.prop] = a || f.style(this.elem, this.prop), this.options.show = !0, a !== b ? this.custom(this.cur(), a) : this.custom(this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur()), f(this.elem).show() + }, hide: function () { + this.options.orig[this.prop] = f._data(this.elem, "fxshow" + this.prop) || f.style(this.elem, this.prop), this.options.hide = !0, this.custom(this.cur(), 0) + }, step: function (a) { + var b, c, d, e = cr || cs(), g = !0, h = this.elem, i = this.options; + if (a || e >= i.duration + this.startTime) { + this.now = this.end, this.pos = this.state = 1, this.update(), i.animatedProperties[this.prop] = !0; + for (b in i.animatedProperties)i.animatedProperties[b] !== !0 && (g = !1); + if (g) { + i.overflow != null && !f.support.shrinkWrapBlocks && f.each(["", "X", "Y"], function (a, b) { + h.style["overflow" + b] = i.overflow[a] + }, b), i.hide && f(h).hide(); + if (i.hide || i.show)for (b in i.animatedProperties)f.style(h, b, i.orig[b]), f.removeData(h, "fxshow" + b, !0), f.removeData(h, "toggle" + b, !0); + d = i.complete, d && (i.complete = !1, d.call(h)) + } + return!1 + } + i.duration == Infinity ? this.now = e : (c = e - this.startTime, this.state = c / i.duration, this.pos = f.easing[i.animatedProperties[this.prop]](this.state, c, 0, 1, i.duration), this.now = this.start + (this.end - this.start) * this.pos), this.update(); + return!0 + }}, f.extend(f.fx, {tick: function () { + var a, b = f.timers, c = 0; + for (; c < b.length; c++)a = b[c], !a() && b[c] === a && b.splice(c--, 1); + b.length || f.fx.stop() + }, interval: 13, stop: function () { + clearInterval(cp), cp = null + }, speeds: {slow: 600, fast: 200, _default: 400}, step: {opacity: function (a) { + f.style(a.elem, "opacity", a.now) + }, _default: function (a) { + a.elem.style && a.elem.style[a.prop] != null ? a.elem.style[a.prop] = a.now + a.unit : a.elem[a.prop] = a.now + }}}), f.each(["width", "height"], function (a, b) { + f.fx.step[b] = function (a) { + f.style(a.elem, b, Math.max(0, a.now) + a.unit) + } + }, b), f.expr && f.expr.filters && (f.expr.filters.animated = function (a) { + return f.grep(f.timers,function (b) { + return a === b.elem + }).length + }); + var cw = /^t(?:able|d|h)$/i, cx = /^(?:body|html)$/i; + "getBoundingClientRect"in c.documentElement ? f.fn.offset = function (a) { + var b = this[0], c; + if (a)return this.each(function (b) { + f.offset.setOffset(this, a, b) + }, b); + if (!b || !b.ownerDocument)return null; + if (b === b.ownerDocument.body)return f.offset.bodyOffset(b); + try { + c = b.getBoundingClientRect() + } catch (d) { + } + var e = b.ownerDocument, g = e.documentElement; + if (!c || !f.contains(g, b))return c ? {top: c.top, left: c.left} : {top: 0, left: 0}; + var h = e.body, i = cy(e), j = g.clientTop || h.clientTop || 0, k = g.clientLeft || h.clientLeft || 0, l = i.pageYOffset || f.support.boxModel && g.scrollTop || h.scrollTop, m = i.pageXOffset || f.support.boxModel && g.scrollLeft || h.scrollLeft, n = c.top + l - j, o = c.left + m - k; + return{top: n, left: o} + } : f.fn.offset = function (a) { + var b = this[0]; + if (a)return this.each(function (b) { + f.offset.setOffset(this, a, b) + }, b); + if (!b || !b.ownerDocument)return null; + if (b === b.ownerDocument.body)return f.offset.bodyOffset(b); + var c, d = b.offsetParent, e = b, g = b.ownerDocument, h = g.documentElement, i = g.body, j = g.defaultView, k = j ? j.getComputedStyle(b, null) : b.currentStyle, l = b.offsetTop, m = b.offsetLeft; + while ((b = b.parentNode) && b !== i && b !== h) { + if (f.support.fixedPosition && k.position === "fixed")break; + c = j ? j.getComputedStyle(b, null) : b.currentStyle, l -= b.scrollTop, m -= b.scrollLeft, b === d && (l += b.offsetTop, m += b.offsetLeft, f.support.doesNotAddBorder && (!f.support.doesAddBorderForTableAndCells || !cw.test(b.nodeName)) && (l += parseFloat(c.borderTopWidth) || 0, m += parseFloat(c.borderLeftWidth) || 0), e = d, d = b.offsetParent), f.support.subtractsBorderForOverflowNotVisible && c.overflow !== "visible" && (l += parseFloat(c.borderTopWidth) || 0, m += parseFloat(c.borderLeftWidth) || 0), k = c + } + if (k.position === "relative" || k.position === "static")l += i.offsetTop, m += i.offsetLeft; + f.support.fixedPosition && k.position === "fixed" && (l += Math.max(h.scrollTop, i.scrollTop), m += Math.max(h.scrollLeft, i.scrollLeft)); + return{top: l, left: m} + }, f.offset = {bodyOffset: function (a) { + var b = a.offsetTop, c = a.offsetLeft; + f.support.doesNotIncludeMarginInBodyOffset && (b += parseFloat(f.css(a, "marginTop")) || 0, c += parseFloat(f.css(a, "marginLeft")) || 0); + return{top: b, left: c} + }, setOffset: function (a, b, c) { + var d = f.css(a, "position"); + d === "static" && (a.style.position = "relative"); + var e = f(a), g = e.offset(), h = f.css(a, "top"), i = f.css(a, "left"), j = (d === "absolute" || d === "fixed") && f.inArray("auto", [h, i]) > -1, k = {}, l = {}, m, n; + j ? (l = e.position(), m = l.top, n = l.left) : (m = parseFloat(h) || 0, n = parseFloat(i) || 0), f.isFunction(b) && (b = b.call(a, c, g)), b.top != null && (k.top = b.top - g.top + m), b.left != null && (k.left = b.left - g.left + n), "using"in b ? b.using.call(a, k) : e.css(k) + }}, f.fn.extend({position: function () { + if (!this[0])return null; + var a = this[0], b = this.offsetParent(), c = this.offset(), d = !cx.test(b[0].nodeName) ? b.offset() : {top: 0, left: 0}; + c.top -= parseFloat(f.css(a, "marginTop")) || 0, c.left -= parseFloat(f.css(a, "marginLeft")) || 0, d.top += parseFloat(f.css(b[0], "borderTopWidth")) || 0, d.left += parseFloat(f.css(b[0], "borderLeftWidth")) || 0; + return{top: c.top - d.top, left: c.left - d.left} + }, offsetParent: function () { + return this.map(function () { + var a = this.offsetParent || c.body; + while (a && !cx.test(a.nodeName) && f.css(a, "position") === "static")a = a.offsetParent; + return a + }, function (a, c) { + return{name: b.name, value: a.replace(bF, "\r\n")} + }, c) + }}), f.each(["Left", "Top"], function (a, c) { + var d = "scroll" + c; + f.fn[d] = function (c) { + var e, g; + if (c === b) { + e = this[0]; + if (!e)return null; + g = cy(e); + return g ? "pageXOffset"in g ? g[a ? "pageYOffset" : "pageXOffset"] : f.support.boxModel && g.document.documentElement[d] || g.document.body[d] : e[d] + } + return this.each(function () { + g = cy(this), g ? g.scrollTo(a ? f(g).scrollLeft() : c, a ? c : f(g).scrollTop()) : this[d] = c + }, b) + } + }, b), f.each(["Height", "Width"], function (a, c) { + var d = c.toLowerCase(); + f.fn["inner" + c] = function () { + var a = this[0]; + return a ? a.style ? parseFloat(f.css(a, d, "padding")) : this[d]() : null + }, f.fn["outer" + c] = function (a) { + var b = this[0]; + return b ? b.style ? parseFloat(f.css(b, d, a ? "margin" : "border")) : this[d]() : null + }, f.fn[d] = function (a) { + var e = this[0]; + if (!e)return a == null ? null : this; + if (f.isFunction(a))return this.each(function (b) { + var c = f(this); + c[d](a.call(this, b, c[d]())) + }, b); + if (f.isWindow(e)) { + var g = e.document.documentElement["client" + c], h = e.document.body; + return e.document.compatMode === "CSS1Compat" && g || h && h["client" + c] || g + } + if (e.nodeType === 9)return Math.max(e.documentElement["client" + c], e.body["scroll" + c], e.documentElement["scroll" + c], e.body["offset" + c], e.documentElement["offset" + c]); + if (a === b) { + var i = f.css(e, d), j = parseFloat(i); + return f.isNumeric(j) ? j : i + } + return this.css(d, typeof a == "string" ? a : a + "px") + } + }, b), a.jQuery = a.$ = f, define("jquery", [], function () { + return f + }) && define.amd.jQuery && define.amd && typeof define == "function" +})(window); \ No newline at end of file diff --git a/gensim-develop/docs/src/gensim_theme/static/underscore.js b/gensim-develop/docs/src/gensim_theme/static/underscore.js new file mode 100644 index 0000000000..33f0b0d8f7 --- /dev/null +++ b/gensim-develop/docs/src/gensim_theme/static/underscore.js @@ -0,0 +1,417 @@ +// Underscore.js 0.5.5 +// (c) 2009 Jeremy Ashkenas, DocumentCloud Inc. +// Underscore is freely distributable under the terms of the MIT license. +// Portions of Underscore are inspired by or borrowed from Prototype.js, +// Oliver Steele's Functional, and John Resig's Micro-Templating. +// For all details and documentation: +// http://documentcloud.github.com/underscore/ +(function () { + var j = this; + var n = j._; + var i = function (a) { + this._wrapped = a + }; + var m = typeof StopIteration !== "undefined" ? StopIteration : "__break__"; + var b = j._ = function (a) { + return new i(a) + }; + if (typeof exports === "undefined") { + } else exports._ = b; + var k = Array.prototype.slice, o = Array.prototype.unshift, p = Object.prototype.toString, q = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable; + b.VERSION = "0.5.5"; + b.each = function (a, c, d) { + try { + if (a.forEach)a.forEach(c, d); else if (b.isArray(a) || b.isArguments(a))for (var e = 0, f = a.length; e < f; e++)c.call(d, + a[e], e, a); else { + var g = b.keys(a); + f = g.length; + for (e = 0; e < f; e++)c.call(d, a[g[e]], g[e], a) + } + } catch (h) { + if (h != m)throw h; + } + return a + }; + b.map = function (a, c, d) { + if (a && b.isFunction(a.map))return a.map(c, d, c); + var e = []; + b.each(a, function (f, g, h) { + e.push(c.call(d, f, g, h)) + }, b); + return e + }; + b.reduce = function (a, c, d, e) { + if (a && b.isFunction(a.reduce))return a.reduce(b.bind(d, e), c); + b.each(a, function (f, g, h) { + c = d.call(e, c, f, g, h) + }, b); + return c + }; + b.reduceRight = function (a, c, d, e) { + if (a && b.isFunction(a.reduceRight))return a.reduceRight(b.bind(d, e), c); + var f = b.clone(b.toArray(a)).reverse(); + b.each(f, function (g, h) { + c = d.call(e, c, g, h, a) + }, b); + return c + }; + b.detect = function (a, c, d) { + var e; + b.each(a, function (f, g, h) { + if (c.call(d, f, g, h)) { + e = f; + b.breakLoop() + } + }, b); + return e + }; + b.select = function (a, c, d) { + if (a && b.isFunction(a.filter))return a.filter(c, d); + var e = []; + b.each(a, function (f, g, h) { + c.call(d, f, g, h) && e.push(f) + }, b); + return e + }; + b.reject = function (a, c, d) { + var e = []; + b.each(a, function (f, g, h) { + !c.call(d, f, g, h) && e.push(f) + }, b); + return e + }; + b.all = function (a, c, d) { + c = c || b.identity; + if (a && b.isFunction(a.every))return a.every(c, + d); + var e = true; + b.each(a, function (f, g, h) { + (e = e && c.call(d, f, g, h)) || b.breakLoop() + }, b); + return e + }; + b.any = function (a, c, d) { + c = c || b.identity; + if (a && b.isFunction(a.some))return a.some(c, d); + var e = false; + b.each(a, function (f, g, h) { + if (e = c.call(d, f, g, h))b.breakLoop() + }, b); + return e + }; + b.include = function (a, c) { + if (b.isArray(a))return b.indexOf(a, c) != -1; + var d = false; + b.each(a, function (e) { + if (d = e === c)b.breakLoop() + }, b); + return d + }; + b.invoke = function (a, c) { + var d = b.rest(arguments, 2); + return b.map(a, function (e) { + return(c ? e[c] : e).apply(e, d) + }, c) + }; + b.pluck = + function (a, c) { + return b.map(a, function (d) { + return d[c] + }, c) + }; + b.max = function (a, c, d) { + if (!c && b.isArray(a))return Math.max.apply(Math, a); + var e = {computed: -Infinity}; + b.each(a, function (f, g, h) { + g = c ? c.call(d, f, g, h) : f; + g >= e.computed && (e = {value: f, computed: g}) + }, b); + return e.value + }; + b.min = function (a, c, d) { + if (!c && b.isArray(a))return Math.min.apply(Math, a); + var e = {computed: Infinity}; + b.each(a, function (f, g, h) { + g = c ? c.call(d, f, g, h) : f; + g < e.computed && (e = {value: f, computed: g}) + }, b); + return e.value + }; + b.sortBy = function (a, c, d) { + return b.pluck(b.map(a,function (e, f, g) { + return{value: e, criteria: c.call(d, e, f, g)} + }, c).sort(function (e, f) { + e = e.criteria; + f = f.criteria; + return e < f ? -1 : e > f ? 1 : 0 + }), "value") + }; + b.sortedIndex = function (a, c, d) { + d = d || b.identity; + for (var e = 0, f = a.length; e < f;) { + var g = e + f >> 1; + d(a[g]) < d(c) ? (e = g + 1) : (f = g) + } + return e + }; + b.toArray = function (a) { + if (!a)return[]; + if (a.toArray)return a.toArray(); + if (b.isArray(a))return a; + if (b.isArguments(a))return k.call(a); + return b.values(a) + }; + b.size = function (a) { + return b.toArray(a).length + }; + b.first = function (a, c, d) { + return c && !d ? k.call(a, + 0, c) : a[0] + }; + b.rest = function (a, c, d) { + return k.call(a, b.isUndefined(c) || d ? 1 : c) + }; + b.last = function (a) { + return a[a.length - 1] + }; + b.compact = function (a) { + return b.select(a, function (c) { + return!!c + }) + }; + b.flatten = function (a) { + return b.reduce(a, [], function (c, d) { + if (b.isArray(d))return c.concat(b.flatten(d)); + c.push(d); + return c + }) + }; + b.without = function (a) { + var c = b.rest(arguments); + return b.select(a, function (d) { + return!b.include(c, d) + }) + }; + b.uniq = function (a, c) { + return b.reduce(a, [], function (d, e, f) { + if (0 == f || (c === true ? b.last(d) != e : !b.include(d, + e)))d.push(e); + return d + }) + }; + b.intersect = function (a) { + var c = b.rest(arguments); + return b.select(b.uniq(a), function (d) { + return b.all(c, function (e) { + return b.indexOf(e, d) >= 0 + }) + }) + }; + b.zip = function () { + for (var a = b.toArray(arguments), c = b.max(b.pluck(a, "length")), d = new Array(c), e = 0; e < c; e++)d[e] = b.pluck(a, String(e)); + return d + }; + b.indexOf = function (a, c) { + if (a.indexOf)return a.indexOf(c); + for (var d = 0, e = a.length; d < e; d++)if (a[d] === c)return d; + return-1 + }; + b.lastIndexOf = function (a, c) { + if (a.lastIndexOf)return a.lastIndexOf(c); + for (var d = + a.length; d--;)if (a[d] === c)return d; + return-1 + }; + b.range = function (a, c, d) { + var e = b.toArray(arguments), f = e.length <= 1; + a = f ? 0 : e[0]; + c = f ? e[0] : e[1]; + d = e[2] || 1; + e = Math.ceil((c - a) / d); + if (e <= 0)return[]; + e = new Array(e); + f = a; + for (var g = 0; 1; f += d) { + if ((d > 0 ? f - c : c - f) >= 0)return e; + e[g++] = f + } + }; + b.bind = function (a, c) { + var d = b.rest(arguments, 2); + return function () { + return a.apply(c || j, d.concat(b.toArray(arguments))) + } + }; + b.bindAll = function (a) { + var c = b.rest(arguments); + if (c.length == 0)c = b.functions(a); + b.each(c, function (d) { + a[d] = b.bind(a[d], a) + }, b); + return a + }; + b.delay = function (a, c) { + var d = b.rest(arguments, 2); + return setTimeout(function () { + return a.apply(a, d) + }, c) + }; + b.defer = function (a) { + return b.delay.apply(b, [a, 1].concat(b.rest(arguments))) + }; + b.wrap = function (a, c) { + return function () { + var d = [a].concat(b.toArray(arguments)); + return c.apply(c, d) + } + }; + b.compose = function () { + var a = b.toArray(arguments); + return function () { + for (var c = b.toArray(arguments), d = a.length - 1; d >= 0; d--)c = [a[d].apply(this, c)]; + return c[0] + } + }; + b.keys = function (a) { + if (b.isArray(a))return b.range(0, a.length); + var c = []; + for (var d in a) q.call(a, d) && c.push(d); + return c + }; + b.values = function (a) { + return b.map(a, b.identity) + }; + b.functions = function (a) { + return b.select(b.keys(a),function (c) { + return b.isFunction(a[c]) + }).sort() + }; + b.extend = function (a, c) { + for (var d in c)a[d] = c[d]; + return a + }; + b.clone = function (a) { + if (b.isArray(a))return a.slice(0); + return b.extend({}, a) + }; + b.tap = function (a, c) { + c(a); + return a + }; + b.isEqual = function (a, c) { + if (a === c)return true; + var d = typeof a; + if (d != typeof c)return false; + if (a == c)return true; + if (!a && c || a && !c)return false; + if (a.isEqual)return a.isEqual(c); + if (b.isDate(a) && b.isDate(c))return a.getTime() === c.getTime(); + if (b.isNaN(a) && b.isNaN(c))return true; + if (b.isRegExp(a) && b.isRegExp(c))return a.source === c.source && a.global === c.global && a.ignoreCase === c.ignoreCase && a.multiline === c.multiline; + if (d !== "object")return false; + if (a.length && a.length !== c.length)return false; + d = b.keys(a); + var e = b.keys(c); + if (d.length != e.length)return false; + for (var f in a)if (!b.isEqual(a[f], c[f]))return false; + return true + }; + b.isEmpty = function (a) { + return b.keys(a).length == + 0 + }; + b.isElement = function (a) { + return!!(a && a.nodeType == 1) + }; + b.isArray = function (a) { + return!!(a && a.concat && a.unshift) + }; + b.isArguments = function (a) { + return a && b.isNumber(a.length) && !b.isArray(a) && !r.call(a, "length") + }; + b.isFunction = function (a) { + return!!(a && a.constructor && a.call && a.apply) + }; + b.isString = function (a) { + return!!(a === "" || a && a.charCodeAt && a.substr) + }; + b.isNumber = function (a) { + return p.call(a) === "[object Number]" + }; + b.isDate = function (a) { + return!!(a && a.getTimezoneOffset && a.setUTCFullYear) + }; + b.isRegExp = function (a) { + return!!(a && + a.test && a.exec && (a.ignoreCase || a.ignoreCase === false)) + }; + b.isNaN = function (a) { + return b.isNumber(a) && isNaN(a) + }; + b.isNull = function (a) { + return a === null + }; + b.isUndefined = function (a) { + return typeof a == "undefined" + }; + b.noConflict = function () { + j._ = n; + return this + }; + b.identity = function (a) { + return a + }; + b.breakLoop = function () { + throw m; + }; + var s = 0; + b.uniqueId = function (a) { + var c = s++; + return a ? a + c : c + }; + b.template = function (a, c) { + a = new Function("obj", "var p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push('" + a.replace(/[\r\t\n]/g, + " ").replace(/'(?=[^%]*%>)/g, "\t").split("'").join("\\'").split("\t").join("'").replace(/<%=(.+?)%>/g, "',$1,'").split("<%").join("');").split("%>").join("p.push('") + "');}return p.join('');"); + return c ? a(c) : a + }; + b.forEach = b.each; + b.foldl = b.inject = b.reduce; + b.foldr = b.reduceRight; + b.filter = b.select; + b.every = b.all; + b.some = b.any; + b.head = b.first; + b.tail = b.rest; + b.methods = b.functions; + var l = function (a, c) { + return c ? b(a).chain() : a + }; + b.each(b.functions(b), function (a) { + var c = b[a]; + i.prototype[a] = function () { + var d = b.toArray(arguments); + o.call(d, this._wrapped); + return l(c.apply(b, d), this._chain) + } + }, b); + b.each(["pop", "push", "reverse", "shift", "sort", "splice", "unshift"], function (a) { + var c = Array.prototype[a]; + i.prototype[a] = function () { + c.apply(this._wrapped, arguments); + return l(this._wrapped, this._chain) + } + }, b); + b.each(["concat", "join", "slice"], function (a) { + var c = Array.prototype[a]; + i.prototype[a] = function () { + return l(c.apply(this._wrapped, arguments), this._chain) + } + }, b); + i.prototype.chain = function () { + this._chain = true; + return this + }; + i.prototype.value = function () { + return this._wrapped + } +})(); diff --git a/gensim-develop/docs/src/gensim_theme/theme.conf b/gensim-develop/docs/src/gensim_theme/theme.conf new file mode 100644 index 0000000000..e7815713cb --- /dev/null +++ b/gensim-develop/docs/src/gensim_theme/theme.conf @@ -0,0 +1,6 @@ +[theme] +inherit = none +stylesheet = css/style.css +pygments_style = sphinx + +[options] diff --git a/gensim-develop/docs/src/indextoc.rst b/gensim-develop/docs/src/indextoc.rst new file mode 100644 index 0000000000..05f75b9cbe --- /dev/null +++ b/gensim-develop/docs/src/indextoc.rst @@ -0,0 +1,11 @@ +.. toctree:: +:hidden: + :maxdepth: 1 + + intro + install + tutorial + distributed + support + wiki + apiref diff --git a/gensim-develop/docs/src/install.rst b/gensim-develop/docs/src/install.rst new file mode 100644 index 0000000000..86a0f48b76 --- /dev/null +++ b/gensim-develop/docs/src/install.rst @@ -0,0 +1,121 @@ +.. _install: + +============= +Installation +============= + +Quick install +-------------- + +Run in your terminal:: + + easy_install -U gensim + +or, alternatively:: + + pip install --upgrade gensim + +In case that fails, make sure you're installing into a writeable location (or use `sudo`), or read on. + +----- + +Dependencies +------------- +Gensim is known to run on Linux, Windows and Mac OS X and should run on any other +platform that supports Python 2.5 and NumPy. Gensim depends on the following software: + +* 3.0 > `Python `_ >= 2.5. Tested with versions 2.5, 2.6 and 2.7. +* `NumPy `_ >= 1.3. Tested with version 1.7.1, 1.7.0, 1.6.2, 1.6.1rc2, 1.5.0rc1, 1.4.0, 1.3.0, 1.3.0rc2. +* `SciPy `_ >= 0.7. Tested with version 0.12.0, 0.11.0, 0.10.1, 0.9.0, 0.8.0, 0.8.0b1, 0.7.1, 0.7.0. + +**Windows users** are well advised to try the `Enthought distribution `_, +which conveniently includes Python & NumPy & SciPy in a single bundle, and is free for academic use. + + +Install Python and `easy_install` +--------------------------------- + +Check what version of Python you have with:: + + python --version + +You can download Python from http://python.org/download. + +.. note:: Gensim requires Python 2.5 or greater and will not run under earlier versions. + +Next, install the `easy_install utility `_, +which will make installing other Python programs easier. + +Install SciPy & NumPy +---------------------- + +These are quite popular Python packages, so chances are there are pre-built binary +distributions available for your platform. You can try installing from source using easy_install:: + + easy_install numpy + easy_install scipy + +If that doesn't work or if you'd rather install using a binary package, consult +http://www.scipy.org/Download. + +Install `gensim` +----------------- + +You can now install (or upgrade) `gensim` with:: + + easy_install --upgrade gensim + +That's it! Congratulations, you can proceed to the :doc:`tutorials `. + +----- + +If you also want to run the algorithms over a cluster +of computers, in :doc:`distributed`, you should install with:: + + easy_install gensim[distributed] + +The optional `distributed` feature installs `Pyro (PYthon Remote Objects) `_. +If you don't know what distributed computing means, you can ignore it: +`gensim` will work fine for you anyway. +This optional extension can also be installed separately later with:: + + easy_install Pyro4 + +----- + +There are also alternative routes to install: + +1. If you have downloaded and unzipped the `tar.gz source `_ + for `gensim` (or you're installing `gensim` from `github `_), + you can run:: + + python setup.py install + + to install `gensim` into your ``site-packages`` folder. +2. If you wish to make local changes to the `gensim` code (`gensim` is, after all, a + package which targets research prototyping and modifications), a preferred + way may be installing with:: + + python setup.py develop + + This will only place a symlink into your ``site-packages`` directory. The actual + files will stay wherever you unpacked them. +3. If you don't have root priviledges (or just don't want to put the package into + your ``site-packages``), simply unpack the source package somewhere and that's it! No + compilation or installation needed. Just don't forget to set your PYTHONPATH + (or modify ``sys.path``), so that Python can find the unpacked package when importing. + + +Testing `gensim` +---------------- + +To test the package, unzip the `tar.gz source `_ and run:: + + python setup.py test + + +Problems? +--------- + +Use the `gensim discussion group `_ for +questions and troubleshooting. See the :doc:`support page `. diff --git a/gensim-develop/docs/src/interfaces.rst b/gensim-develop/docs/src/interfaces.rst new file mode 100644 index 0000000000..2277ede20c --- /dev/null +++ b/gensim-develop/docs/src/interfaces.rst @@ -0,0 +1,8 @@ +:mod:`interfaces` -- Core gensim interfaces +============================================ + +.. automodule:: gensim.interfaces +:synopsis: Core gensim interfaces + :members: + :inherited-members: + diff --git a/gensim-develop/docs/src/intro.rst b/gensim-develop/docs/src/intro.rst new file mode 100644 index 0000000000..f19547c587 --- /dev/null +++ b/gensim-develop/docs/src/intro.rst @@ -0,0 +1,138 @@ +.. _intro: + +============ +Introduction +============ + +Gensim is a :ref:`free ` Python framework designed to automatically extract semantic +topics from documents, as efficiently (computer-wise) and painlessly (human-wise) as possible. + + +Gensim aims at processing raw, unstructured digital texts ("*plain text*"). +The algorithms in `gensim`, such as **Latent Semantic Analysis**, **Latent Dirichlet Allocation** or **Random Projections**, +discover semantic structure of documents, by examining word statistical co-occurrence patterns within a corpus of training documents. +These algorithms are unsupervised, which means no human input is necessary -- you only need a corpus of plain text documents. + +Once these statistical patterns are found, any plain text documents can be succinctly +expressed in the new, semantic representation, and queried for topical similarity +against other documents. + +.. note:: +If the previous paragraphs left you confused, you can read more about the `Vector + Space Model `_ and `unsupervised + document analysis `_ on Wikipedia. + + +.. _design: + +Features +------------------ + +* **Memory independence** -- there is no need for the whole training corpus to + reside fully in RAM at any one time (can process large, web-scale corpora). +* Efficient implementations for several popular vector space algorithms, + including **Tf-Idf**, distributed incremental **Latent Semantic Analysis**, + distributed incremental **Latent Dirichlet Allocation (LDA)** or **Random Projection**; adding new ones is easy (really!). +* I/O wrappers and converters around **several popular data formats**. +* **Similarity queries** for documents in their semantic representation. + +Creation of `gensim` was motivated by a perceived lack of available, scalable software +frameworks that realize topic modelling, and/or their overwhelming internal complexity (hail java!). +You can read more about the motivation in our `LREC 2010 workshop paper `_. +If you want to cite `gensim` in your own work, please refer to that article (`BibTeX `_). + +You're welcome to share your results and experiments on the `mailing list `_. + +The **principal design objectives** behind `gensim` are: + +1. Straightforward interfaces and low API learning curve for developers. Good for prototyping. +2. Memory independence with respect to the size of the input corpus; all intermediate + steps and algorithms operate in a streaming fashion, accessing one document + at a time. + +.. seealso:: + + If you're interested in document indexing/similarity retrieval, I also maintain a higher-level package + of `document similarity server `_. It uses gensim internally. + +.. _availability: + +Availability +------------ + +Gensim is licensed under the OSI-approved `GNU LPGL license `_ +and can be downloaded either from its `github repository `_ +or from the `Python Package Index `_. + +.. seealso:: + + See the :doc:`install ` page for more info on `gensim` deployment. + + +Core concepts +------------- + +The whole gensim package revolves around the concepts of :term:`corpus`, :term:`vector` and +:term:`model`. + +.. glossary:: + + Corpus + A collection of digital documents. This collection is used to automatically + infer structure of the documents, their topics etc. For + this reason, the collection is also called a *training corpus*. The inferred + latent structure can be later used to assign topics to new documents, which did + not appear in the training corpus. + No human intervention (such as tagging the documents by hand, or creating + other metadata) is required. + + Vector + In the Vector Space Model (VSM), each document is represented by an + array of features. For example, a single feature may be thought of as a + question-answer pair: + + 1. How many times does the word *splonge* appear in the document? Zero. + 2. How many paragraphs does the document consist of? Two. + 3. How many fonts does the document use? Five. + + The question is usually represented only by its integer id (such as `1`, `2` and `3` here), + so that the + representation of this document becomes a series of pairs like ``(1, 0.0), (2, 2.0), (3, 5.0)``. + If we know all the questions in advance, we may leave them implicit + and simply write ``(0.0, 2.0, 5.0)``. + This sequence of answers can be thought of as a high-dimensional (in this case 3-dimensional) + *vector*. For practical purposes, only questions to which the answer is (or + can be converted to) a single real number are allowed. + + The questions are the same for each document, so that looking at two + vectors (representing two documents), we will hopefully be able to make + conclusions such as "The numbers in these two vectors are very similar, and + therefore the original documents must be similar, too". Of course, whether + such conclusions correspond to reality depends on how well we picked our questions. + + Sparse vector + Typically, the answer to most questions will be ``0.0``. To save space, + we omit them from the document's representation, and write only ``(2, 2.0), + (3, 5.0)`` (note the missing ``(1, 0.0)``). + Since the set of all questions is known in advance, all the missing features + in a sparse representation of a document can be unambiguously resolved to zero, ``0.0``. + + Gensim is specific in that it doesn't prescribe any specific corpus format; + a corpus is anything that, when iterated over, successively yields these sparse vectors. + For example, `set([(2, 2.0), (3, 5.0)], ([0, -1.0], [3, -1.0]))` is a trivial + corpus of two documents, each with two non-zero `feature-answer` pairs. + + + + Model + For our purposes, a model is a transformation from one document representation + to another (or, in other words, from one vector space to another). + Both the initial and target representations are + still vectors -- they only differ in what the questions and answers are. + The transformation is automatically learned from the traning :term:`corpus`, without human + supervision, and in hopes that the final document representation will be more compact + and more useful: with similar documents having similar representations. + +.. seealso:: + + For some examples on how this works out in code, go to :doc:`tutorials `. diff --git a/gensim-develop/docs/src/matutils.rst b/gensim-develop/docs/src/matutils.rst new file mode 100644 index 0000000000..21c0ffaad3 --- /dev/null +++ b/gensim-develop/docs/src/matutils.rst @@ -0,0 +1,8 @@ +:mod:`matutils` -- Math utils +============================== + +.. automodule:: gensim.matutils +:synopsis: Math utils + :members: + :inherited-members: + diff --git a/gensim-develop/docs/src/models/hdpmodel.rst b/gensim-develop/docs/src/models/hdpmodel.rst new file mode 100644 index 0000000000..b8e60e3c2b --- /dev/null +++ b/gensim-develop/docs/src/models/hdpmodel.rst @@ -0,0 +1,8 @@ +:mod:`models.hdpmodel` -- Hierarchical Dirichlet Process +======================================================== + +.. automodule:: gensim.models.hdpmodel +:synopsis: Hierarchical Dirichlet Process + :members: + :inherited-members: + diff --git a/gensim-develop/docs/src/models/lda_dispatcher.rst b/gensim-develop/docs/src/models/lda_dispatcher.rst new file mode 100644 index 0000000000..cc37cb6bcf --- /dev/null +++ b/gensim-develop/docs/src/models/lda_dispatcher.rst @@ -0,0 +1,8 @@ +:mod:`models.lda_dispatcher` -- Dispatcher for distributed LDA +================================================================ + +.. automodule:: gensim.models.lda_dispatcher +:synopsis: Dispatcher for distributed LDA + :members: + :inherited-members: + diff --git a/gensim-develop/docs/src/models/lda_worker.rst b/gensim-develop/docs/src/models/lda_worker.rst new file mode 100644 index 0000000000..50347c1f93 --- /dev/null +++ b/gensim-develop/docs/src/models/lda_worker.rst @@ -0,0 +1,8 @@ +:mod:`models.lda_worker` -- Worker for distributed LDA +====================================================== + +.. automodule:: gensim.models.lda_worker +:synopsis: Worker for distributed LDA + :members: + :inherited-members: + diff --git a/gensim-develop/docs/src/models/ldamodel.rst b/gensim-develop/docs/src/models/ldamodel.rst new file mode 100644 index 0000000000..94e880d71b --- /dev/null +++ b/gensim-develop/docs/src/models/ldamodel.rst @@ -0,0 +1,8 @@ +:mod:`models.ldamodel` -- Latent Dirichlet Allocation +====================================================== + +.. automodule:: gensim.models.ldamodel +:synopsis: Latent Dirichlet Allocation + :members: + :inherited-members: + diff --git a/gensim-develop/docs/src/models/logentropy_model.rst b/gensim-develop/docs/src/models/logentropy_model.rst new file mode 100644 index 0000000000..353e850695 --- /dev/null +++ b/gensim-develop/docs/src/models/logentropy_model.rst @@ -0,0 +1,8 @@ +:mod:`models.logentropy_model` -- LogEntropy model +====================================================== + +.. automodule:: gensim.models.logentropy_model +:synopsis: LogEntropy model + :members: + :inherited-members: + diff --git a/gensim-develop/docs/src/models/lsi_dispatcher.rst b/gensim-develop/docs/src/models/lsi_dispatcher.rst new file mode 100644 index 0000000000..81987a0d02 --- /dev/null +++ b/gensim-develop/docs/src/models/lsi_dispatcher.rst @@ -0,0 +1,8 @@ +:mod:`models.lsi_dispatcher` -- Dispatcher for distributed LSI +=============================================================== + +.. automodule:: gensim.models.lsi_dispatcher +:synopsis: Dispatcher for distributed LSI + :members: + :inherited-members: + diff --git a/gensim-develop/docs/src/models/lsi_worker.rst b/gensim-develop/docs/src/models/lsi_worker.rst new file mode 100644 index 0000000000..7bf4d98a6a --- /dev/null +++ b/gensim-develop/docs/src/models/lsi_worker.rst @@ -0,0 +1,8 @@ +:mod:`models.lsi_worker` -- Worker for distributed LSI +====================================================== + +.. automodule:: gensim.models.lsi_worker +:synopsis: Worker for distributed LSI + :members: + :inherited-members: + diff --git a/gensim-develop/docs/src/models/lsimodel.rst b/gensim-develop/docs/src/models/lsimodel.rst new file mode 100644 index 0000000000..3e616df736 --- /dev/null +++ b/gensim-develop/docs/src/models/lsimodel.rst @@ -0,0 +1,8 @@ +:mod:`models.lsimodel` -- Latent Semantic Indexing +====================================================== + +.. automodule:: gensim.models.lsimodel +:synopsis: Latent Semantic Indexing + :members: + :inherited-members: + diff --git a/gensim-develop/docs/src/models/models.rst b/gensim-develop/docs/src/models/models.rst new file mode 100644 index 0000000000..c6afdcc0a4 --- /dev/null +++ b/gensim-develop/docs/src/models/models.rst @@ -0,0 +1,8 @@ +:mod:`models` -- Package for transformation models +====================================================== + +.. automodule:: gensim.models +:synopsis: Package for transformation models + :members: + :inherited-members: + diff --git a/gensim-develop/docs/src/models/rpmodel.rst b/gensim-develop/docs/src/models/rpmodel.rst new file mode 100644 index 0000000000..18c33e5e24 --- /dev/null +++ b/gensim-develop/docs/src/models/rpmodel.rst @@ -0,0 +1,8 @@ +:mod:`models.rpmodel` -- Random Projections +====================================================== + +.. automodule:: gensim.models.rpmodel +:synopsis: Random Projections + :members: + :inherited-members: + diff --git a/gensim-develop/docs/src/models/tfidfmodel.rst b/gensim-develop/docs/src/models/tfidfmodel.rst new file mode 100644 index 0000000000..75ac406977 --- /dev/null +++ b/gensim-develop/docs/src/models/tfidfmodel.rst @@ -0,0 +1,8 @@ +:mod:`models.tfidfmodel` -- TF-IDF model +====================================================== + +.. automodule:: gensim.models.tfidfmodel +:synopsis: TF-IDF model + :members: + :inherited-members: + diff --git a/gensim-develop/docs/src/similarities/docsim.rst b/gensim-develop/docs/src/similarities/docsim.rst new file mode 100644 index 0000000000..4c7cc4d8cd --- /dev/null +++ b/gensim-develop/docs/src/similarities/docsim.rst @@ -0,0 +1,8 @@ +:mod:`similarities.docsim` -- Document similarity queries +======================================================================== + +.. automodule:: gensim.similarities.docsim +:synopsis: Document similarity queries + :members: + :inherited-members: + diff --git a/gensim-develop/docs/src/similarities/simserver.rst b/gensim-develop/docs/src/similarities/simserver.rst new file mode 100644 index 0000000000..0d306ba4fa --- /dev/null +++ b/gensim-develop/docs/src/similarities/simserver.rst @@ -0,0 +1,8 @@ +:mod:`simserver` -- Document similarity server +====================================================== + +.. automodule:: simserver.simserver +:synopsis: Document similarity server + :members: + :inherited-members: + diff --git a/gensim-develop/docs/src/simserver.rst b/gensim-develop/docs/src/simserver.rst new file mode 100644 index 0000000000..1133bfbc5d --- /dev/null +++ b/gensim-develop/docs/src/simserver.rst @@ -0,0 +1,339 @@ +.. _simserver: + +Document Similarity Server +============================= + +The 0.7.x series of `gensim `_ was about improving performance and consolidating API. +0.8.x will be about new features --- 0.8.1, first of the series, is a **document similarity service**. + +The source code itself has been moved from gensim to its own, dedicated package, named `simserver`. +Get it from `PyPI `_ or clone it on `Github `_. + +What is a document similarity service? +--------------------------------------- + +Conceptually, a service that lets you : + +1. train a semantic model from a corpus of plain texts (no manual annotation and mark-up needed) +2. index arbitrary documents using this semantic model +3. query the index for similar documents (the query can be either an id of a document already in the index, or an arbitrary text) + + +>>> from simserver import SessionServer +>>> server = SessionServer('/tmp/my_server') # resume server (or create a new one) + +>>> server.train(training_corpus, method='lsi') # create a semantic model +>>> server.index(some_documents) # convert plain text to semantic representation and index it +>>> server.find_similar(query) # convert query to semantic representation and compare against index +>>> ... +>>> server.index(more_documents) # add to index: incremental indexing works +>>> server.find_similar(query) +>>> ... +>>> server.delete(ids_to_delete) # incremental deleting also works +>>> server.find_similar(query) +>>> ... + +.. note:: +"Semantic" here refers to semantics of the crude, statistical type -- + `Latent Semantic Analysis `_, + `Latent Dirichlet Allocation `_ etc. + Nothing to do with the semantic web, manual resource tagging or detailed linguistic inference. + + +What is it good for? +--------------------- + +Digital libraries of (mostly) text documents. More generally, it helps you annotate, +organize and navigate documents in a more abstract way, compared to plain keyword search. + +How is it unique? +----------------- + +1. **Memory independent**. Gensim has unique algorithms for statistical analysis that allow + you to create semantic models of arbitrarily large training corpora (larger than RAM) very quickly + and in constant RAM. +2. **Memory independent (again)**. Indexing shards are stored as files to disk/mmapped back as needed, + so you can index very large corpora. So again, constant RAM, this time independent of the number of indexed documents. +3. **Efficient**. Gensim makes heavy use of Python's NumPy and SciPy libraries to make indexing and + querying efficient. +4. **Robust**. Modifications of the index are transactional, so you can commit/rollback an + entire indexing session. Also, during the session, the service is still available + for querying (using its state from when the session started). Power failures leave + service in a consistent state (implicit rollback). +5. **Pure Python**. Well, technically, NumPy and SciPy are mostly wrapped C and Fortran, but + `gensim `_ itself is pure Python. No compiling, installing or root priviledges needed. +6. **Concurrency support**. The underlying service object is thread-safe and can + therefore be used as a daemon server: clients connect to it via RPC and issue train/index/query requests remotely. +7. **Cross-network, cross-platform and cross-language**. While the Python server runs + over TCP using `Pyro `_, + clients in Java/.NET are trivial thanks to `Pyrolite `_. + +The rest of this document serves as a tutorial explaining the features in more detail. + +----- + +Prerequisites +---------------------- + +It is assumed you have `gensim` properly :doc:`installed `. You'll also +need the `sqlitedict `_ package that wraps +Python's sqlite3 module in a thread-safe manner:: + + $ sudo easy_install -U sqlitedict + +To test the remote server capabilities, install Pyro4 (Python Remote Objects, at +version 4.8 as of this writing):: + + $ sudo easy_install Pyro4 + +.. note:: +Don't forget to initialize logging to see logging messages:: + + >>> import logging + >>> logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) + +What is a document? +------------------- + +In case of text documents, the service expects:: + +>>> document = {'id': 'some_unique_string', + +>>> 'tokens': ['content', 'of', 'the', 'document', '...'], + +>>> 'other_fields_are_allowed_but_ignored': None} + +This format was chosen because it coincides with plain JSON and is therefore easy to serialize and send over the wire, in almost any language. +All strings involved must be utf8-encoded. + + +What is a corpus? +----------------- + +A sequence of documents. Anything that supports the `for document in corpus: ...` +iterator protocol. Generators are ok. Plain lists are also ok (but consume more memory). + +>>> from gensim import utils +>>> texts = ["Human machine interface for lab abc computer applications", +>>> "A survey of user opinion of computer system response time", +>>> "The EPS user interface management system", +>>> "System and human system engineering testing of EPS", +>>> "Relation of user perceived response time to error measurement", +>>> "The generation of random binary unordered trees", +>>> "The intersection graph of paths in trees", +>>> "Graph minors IV Widths of trees and well quasi ordering", +>>> "Graph minors A survey"] +>>> corpus = [{'id': 'doc_%i' % num, 'tokens': utils.simple_preprocess(text)} +>>> for num, text in enumerate(texts)] + +Since corpora are allowed to be arbitrarily large, it is +recommended client splits them into smaller chunks before uploading them to the server: + +>>> utils.upload_chunked(server, corpus, chunksize=1000) # send 1k docs at a time + +Wait, upload what, where? +------------------------- + +If you use the similarity service object (instance of :class:`simserver.SessionServer`) in +your code directly---no remote access---that's perfectly fine. Using the service remotely, from a different process/machine, is an +option, not a necessity. + +Document similarity can also act as a long-running service, a daemon process on a separate machine. In that +case, I'll call the service object a *server*. + +But let's start with a local object. Open your `favourite shell `_ and:: + +>>> from gensim import utils + +>>> from simserver import SessionServer + +>>> service = SessionServer('/tmp/my_server/') # or wherever + +That initialized a new service, located in `/tmp/my_server` (you need write access rights to that directory). + +.. note:: +The service is fully defined by the content of its location directory ("`/tmp/my_server/`"). + If you use an existing location, the service object will resume + from the index found there. Also, to "clone" a service, just copy that + directory somewhere else. The copy will be a fully working duplicate of the + original service. + + +Model training +--------------- + +We can start indexing right away: + +>>> service.index(corpus) +AttributeError: must initialize model for /tmp/my_server/b before indexing documents + +Oops, we can not. The service indexes documents in a semantic representation, which +is different to the plain text we give it. We must teach the service how to convert +between plain text and semantics first:: + +>>> service.train(corpus, method='lsi') + + +That was easy. The `method='lsi'` parameter meant that we trained a model for +`Latent Semantic Indexing `_ +and default dimensionality (400) over a `tf-idf `_ +representation of our little `corpus`, all automatically. More on that later. + +Note that for the semantic model to make sense, it should be trained +on a corpus that is: + +* Reasonably similar to the documents you want to index later. Training on a corpus + of recipes in French when all indexed documents will be about programming in English + will not help. +* Reasonably large (at least thousands of documents), so that the statistical analysis has + a chance to kick in. Don't use my example corpus here of 9 documents in production O_o + +Indexing documents +------------------ + +>>> service.index(corpus) # index the same documents that we trained on... + +Indexing can happen over any documents, but I'm too lazy to create another example corpus, so we index the same 9 docs used for training. + +Delete documents with:: + + >>> service.delete(['doc_5', 'doc_8']) # supply a list of document ids to be removed from the index + +When you pass documents that have the same id as some already indexed document, +the indexed document is overwritten by the new input (=only the latest counts; +document ids are always unique per service):: + + >>> service.index(corpus[:3]) # overall index size unchanged (just 3 docs overwritten) + +The index/delete/overwrite calls can be arbitrarily interspersed with queries. +You don't have to index **all** documents first to start querying, indexing can be incremental. + +Querying +--------- + +There are two types of queries: + +1. by id: + + .. code-block:: python + + >>> print service.find_similar('doc_0') + [('doc_0', 1.0, None), ('doc_2', 0.30426699, None), ('doc_1', 0.25648531, None), ('doc_3', 0.25480536, None)] + + >>> print service.find_similar('doc_5') # we deleted doc_5 and doc_8, remember? + ValueError: document 'doc_5' not in index + + In the resulting 3-tuples, `doc_n` is the document id we supplied during indexing, + `0.30426699` is the similarity of `doc_n` to the query, but what's up with that `None`, you ask? + Well, you can associate each document with a "payload", during indexing. + This payload object (anything pickle-able) is later returned during querying. + If you don't specify `doc['payload']` during indexing, queries simply return `None` in the result tuple, as in our example here. + +2. or by document (using `document['tokens']`; id is ignored in this case): + + .. code-block:: python + + >>> doc = {'tokens': utils.simple_preprocess('Graph and minors and humans and trees.')} + >>> print service.find_similar(doc, min_score=0.4, max_results=50) + [('doc_7', 0.93350589, None), ('doc_3', 0.42718196, None)] + +Remote access +------------- + +So far, we did everything in our Python shell, locally. I very much like `Pyro `_, +a pure Python package for Remote Procedure Calls (RPC), so I'll illustrate remote +service access via Pyro. Pyro takes care of all the socket listening/request routing/data marshalling/thread +spawning, so it saves us a lot of trouble. + +To create a similarity server, we just create a :class:`simserver.SessionServer` object and register it +with a Pyro daemon for remote access. There is a small `example script `_ +included with simserver, run it with:: + + $ python -m simserver.run_simserver /tmp/testserver + +You can just `ctrl+c` to terminate the server, but leave it running for now. + +Now open your Python shell again, in another terminal window or possibly on another machine, and:: + +>>> import Pyro4 + + +>>> service = Pyro4.Proxy(Pyro4.locateNS().lookup('gensim.testserver')) + +Now `service` is only a proxy object: every call is physically executed wherever +you ran the `run_server.py` script, which can be a totally different computer +(within a network broadcast domain), but you don't even know:: + +>>> print service.status() + +>>> service.train(corpus) + +>>> service.index(other_corpus) + +>>> service.find_similar(query) + +It is worth mentioning that Irmen, the author of Pyro, also released +`Pyrolite `_ recently. That is a package +which allows you to create Pyro proxies also from Java and .NET, in addition to Python. +That way you can call remote methods from there too---the client doesn't have to be in Python. + +Concurrency +----------- + +Ok, now it's getting interesting. Since we can access the service remotely, what +happens if multiple clients create proxies to it at the same time? What if they +want to modify the server index at the same time? + +Answer: the `SessionServer` object is thread-safe, so that when each client spawns a request +thread via Pyro, they don't step on each other's toes. + +This means that: + +1. There can be multiple simultaneous `service.find_similar` queries (or, in + general, multiple simultaneus calls that are "read-only"). +2. When two clients issue modification calls (`index`/`train`/`delete`/`drop_index`/...) + at the same time, an internal lock serializes them -- the later call has to wait. +3. While one client is modifying the index, all other clients' queries still see + the original index. Only once the modifications are committed do they become + "visible". + +What do you mean, visible? +-------------------------- + +The service uses transactions internally. This means that each modification is +done over a clone of the service. If the modification session fails for whatever +reason (exception in code; power failure that turns off the server; client unhappy +with how the session went), it can be rolled back. It also means other clients can +continue querying the original index during index updates. + +The mechanism is hidden from users by default through auto-committing (it was already happening +in the examples above too), but auto-committing can be turned off explicitly:: + + >>> service.set_autosession(False) + >>> service.train(corpus) + RuntimeError: must open a session before modifying SessionServer + >>> service.open_session() + >>> service.train(corpus) + >>> service.index(corpus) + >>> service.delete(doc_ids) + >>> ... + +None of these changes are visible to other clients, yet. Also, other clients' +calls to index/train/etc will block until this session is committed/rolled back---there +cannot be two open sessions at the same time. + +To end a session:: + + >>> service.rollback() # discard all changes since open_session() + +or:: + + >>> service.commit() # make changes public; now other clients can see changes/acquire the modification lock + + +Other stuff +------------ + +TODO Custom document parsing (in lieu of `utils.simple_preprocess`). Different models (not just `lsi`). Optimizing the index with `service.optimize()`. +TODO add some hard numbers; example tutorial for some bigger collection, e.g. for `arxiv.org `_ or wikipedia. + diff --git a/gensim-develop/docs/src/support.rst b/gensim-develop/docs/src/support.rst new file mode 100644 index 0000000000..f190422740 --- /dev/null +++ b/gensim-develop/docs/src/support.rst @@ -0,0 +1,30 @@ +.. _support: + +============= +Support +============= + +Open source support +-------------------- + +The main communication channel is the `gensim mailing list `_. +This is the preferred way to **ask for help**, **report problems** and **share insights** with the community. Newbie questions are perfectly fine, just make sure you've read the :doc:`tutorials `. + +I discourage sending private emails, because the mailing list serves as a knowledge base for all gensim users, cutting maintenance efforts needed for support. If you feel your problem is too special, data too sensitive, or you're just too shy, see the "commercial" section below. + +When posting on the mailing list, please try to include all relevant information, such as what it is you are trying to achieve, what went wrong, relevant gensim logs etc. + +**FAQ** and some useful **snippets of code** are maintained on GitHub: https://github.com/piskvorky/gensim/wiki/Recipes-&-FAQ. + +You can also try asking on StackOverflow, using the `gensim tag `_. + +Developer issues +---------------- + +Developers who `tweak gensim internals `_ are encouraged to report issues at the `GitHub issue tracker `_. +Note that this is not a medium for discussions or asking open-ended questions; please use the mailing list for that. + +Commercial support +------------------ + +In case you need deterministic response times or have extra support/development needs, `contact me `_ for a quote on commercial support and contracting. diff --git a/gensim-develop/docs/src/tut1.rst b/gensim-develop/docs/src/tut1.rst new file mode 100644 index 0000000000..bad43df41c --- /dev/null +++ b/gensim-develop/docs/src/tut1.rst @@ -0,0 +1,286 @@ +.. _tut1: + +Corpora and Vector Spaces +=================================== + +Don't forget to set + +>>> import logging +>>> logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) + +if you want to see logging events. + + +.. _second example: + +From Strings to Vectors +------------------------ + +This time, let's start from documents represented as strings: + +>>> from gensim import corpora, models, similarities +>>> +>>> documents = ["Human machine interface for lab abc computer applications", +>>> "A survey of user opinion of computer system response time", +>>> "The EPS user interface management system", +>>> "System and human system engineering testing of EPS", +>>> "Relation of user perceived response time to error measurement", +>>> "The generation of random binary unordered trees", +>>> "The intersection graph of paths in trees", +>>> "Graph minors IV Widths of trees and well quasi ordering", +>>> "Graph minors A survey"] + + +This is a tiny corpus of nine documents, each consisting of only a single sentence. + +First, let's tokenize the documents, remove common words (using a toy stoplist) +as well as words that only appear once in the corpus: + +>>> # remove common words and tokenize +>>> stoplist = set('for a of the and to in'.split()) +>>> texts = [[word for word in document.lower().split() if word not in stoplist] +>>> for document in documents] +>>> +>>> # remove words that appear only once +>>> all_tokens = sum(texts, []) +>>> tokens_once = set(word for word in set(all_tokens) if all_tokens.count(word) == 1) +>>> texts = [[word for word in text if word not in tokens_once] +>>> for text in texts] +>>> +>>> print texts +[['human', 'interface', 'computer'], + ['survey', 'user', 'computer', 'system', 'response', 'time'], + ['eps', 'user', 'interface', 'system'], + ['system', 'human', 'system', 'eps'], + ['user', 'response', 'time'], + ['trees'], + ['graph', 'trees'], + ['graph', 'minors', 'trees'], + ['graph', 'minors', 'survey']] + +Your way of processing the documents will likely vary; here, I only split on whitespace +to tokenize, followed by lowercasing each word. In fact, I use this particular +(simplistic and inefficient) setup to mimick the experiment done in Deerwester et al.'s +original LSA article [1]_. + +The ways to process documents are so varied and application- and language-dependent that I +decided to *not* constrain them by any interface. Instead, a document is represented +by the features extracted from it, not by its "surface" string form: how you get to +the features is up to you. Below I describe one common, general-purpose approach (called +:dfn:`bag-of-words`), but keep in mind that different application domains call for +different features, and, as always, it's `garbage in, garbage out `_... + +To convert documents to vectors, we'll use a document representation called +`bag-of-words `_. In this representation, +each document is represented by one vector where each vector element represents +a question-answer pair, in the style of: + + "How many times does the word `system` appear in the document? Once." + +It is advantageous to represent the questions only by their (integer) ids. The mapping +between the questions and ids is called a dictionary: + +>>> dictionary = corpora.Dictionary(texts) +>>> dictionary.save('/tmp/deerwester.dict') # store the dictionary, for future reference +>>> print dictionary +Dictionary(12 unique tokens) + +Here we assigned a unique integer id to all words appearing in the corpus with the +:class:`gensim.corpora.dictionary.Dictionary` class. This sweeps across the texts, collecting word counts +and relevant statistics. In the end, we see there are twelve distinct words in the +processed corpus, which means each document will be represented by twelve numbers (ie., by a 12-D vector). +To see the mapping between words and their ids: + +>>> print dictionary.token2id +{'minors': 11, 'graph': 10, 'system': 5, 'trees': 9, 'eps': 8, 'computer': 0, +'survey': 4, 'user': 7, 'human': 1, 'time': 6, 'interface': 2, 'response': 3} + +To actually convert tokenized documents to vectors: + +>>> new_doc = "Human computer interaction" +>>> new_vec = dictionary.doc2bow(new_doc.lower().split()) +>>> print new_vec # the word "interaction" does not appear in the dictionary and is ignored +[(0, 1), (1, 1)] + +The function :func:`doc2bow` simply counts the number of occurences of +each distinct word, converts the word to its integer word id +and returns the result as a sparse vector. The sparse vector ``[(0, 1), (1, 1)]`` +therefore reads: in the document `"Human computer interaction"`, the words `computer` +(id 0) and `human` (id 1) appear once; the other ten dictionary words appear (implicitly) zero times. + + >>> corpus = [dictionary.doc2bow(text) for text in texts] + >>> corpora.MmCorpus.serialize('/tmp/deerwester.mm', corpus) # store to disk, for later use + >>> print corpus + [(0, 1), (1, 1), (2, 1)] + [(0, 1), (3, 1), (4, 1), (5, 1), (6, 1), (7, 1)] + [(2, 1), (5, 1), (7, 1), (8, 1)] + [(1, 1), (5, 2), (8, 1)] + [(3, 1), (6, 1), (7, 1)] + [(9, 1)] + [(9, 1), (10, 1)] + [(9, 1), (10, 1), (11, 1)] + [(4, 1), (10, 1), (11, 1)] + +By now it should be clear that the vector feature with ``id=10`` stands for the question "How many +times does the word `graph` appear in the document?" and that the answer is "zero" for +the first six documents and "one" for the remaining three. As a matter of fact, +we have arrived at exactly the same corpus of vectors as in the :ref:`first-example`. + +Corpus Streaming -- One Document at a Time +------------------------------------------- + +Note that `corpus` above resides fully in memory, as a plain Python list. +In this simple example, it doesn't matter much, but just to make things clear, +let's assume there are millions of documents in the corpus. Storing all of them in RAM won't do. +Instead, let's assume the documents are stored in a file on disk, one document per line. Gensim +only requires that a corpus must be able to return one document vector at a time:: + +>>> class MyCorpus(object): +>>> def __iter__(self): +>>> for line in open('mycorpus.txt'): +>>> # assume there's one document per line, tokens separated by whitespace +>>> yield dictionary.doc2bow(line.lower().split()) + +Download the sample `mycorpus.txt file here <./mycorpus.txt>`_. The assumption that +each document occupies one line in a single file is not important; you can mold +the `__iter__` function to fit your input format, whatever it is. +Walking directories, parsing XML, accessing network... +Just parse your input to retrieve a clean list of tokens in each document, +then convert the tokens via a dictionary to their ids and yield the resulting sparse vector inside `__iter__`. + +>>> corpus_memory_friendly = MyCorpus() # doesn't load the corpus into memory! +>>> print corpus_memory_friendly +<__main__.MyCorpus object at 0x10d5690> + +Corpus is now an object. We didn't define any way to print it, so `print` just outputs address +of the object in memory. Not very useful. To see the constituent vectors, let's +iterate over the corpus and print each document vector (one at a time):: + + >>> for vector in corpus_memory_friendly: # load one vector into memory at a time + >>> print vector + [(0, 1), (1, 1), (2, 1)] + [(0, 1), (3, 1), (4, 1), (5, 1), (6, 1), (7, 1)] + [(2, 1), (5, 1), (7, 1), (8, 1)] + [(1, 1), (5, 2), (8, 1)] + [(3, 1), (6, 1), (7, 1)] + [(9, 1)] + [(9, 1), (10, 1)] + [(9, 1), (10, 1), (11, 1)] + [(4, 1), (10, 1), (11, 1)] + +Although the output is the same as for the plain Python list, the corpus is now much +more memory friendly, because at most one vector resides in RAM at a time. Your +corpus can now be as large as you want. + +Similarly, to construct the dictionary without loading all texts into memory:: + + >>> # collect statistics about all tokens + >>> dictionary = corpora.Dictionary(line.lower().split() for line in open('mycorpus.txt')) + >>> # remove stop words and words that appear only once + >>> stop_ids = [dictionary.token2id[stopword] for stopword in stoplist + >>> if stopword in dictionary.token2id] + >>> once_ids = [tokenid for tokenid, docfreq in dictionary.dfs.iteritems() if docfreq == 1] + >>> dictionary.filter_tokens(stop_ids + once_ids) # remove stop words and words that appear only once + >>> dictionary.compactify() # remove gaps in id sequence after words that were removed + >>> print dictionary + Dictionary(12 unique tokens) + +And that is all there is to it! At least as far as bag-of-words representation is concerned. +Of course, what we do with such corpus is another question; it is not at all clear +how counting the frequency of distinct words could be useful. As it turns out, it isn't, and +we will need to apply a transformation on this simple representation first, before +we can use it to compute any meaningful document vs. document similarities. +Transformations are covered in the :doc:`next tutorial `, but before that, let's +briefly turn our attention to *corpus persistency*. + + +.. _corpus-formats: + +Corpus Formats +--------------- + +There exist several file formats for serializing a Vector Space corpus (~sequence of vectors) to disk. +`Gensim` implements them via the *streaming corpus interface* mentioned earlier: +documents are read from (resp. stored to) disk in a lazy fashion, one document at +a time, without the whole corpus being read into main memory at once. + +One of the more notable file formats is the `Market Matrix format `_. +To save a corpus in the Matrix Market format: + +>>> from gensim import corpora +>>> # create a toy corpus of 2 documents, as a plain Python list +>>> corpus = [[(1, 0.5)], []] # make one document empty, for the heck of it +>>> +>>> corpora.MmCorpus.serialize('/tmp/corpus.mm', corpus) + +Other formats include `Joachim's SVMlight format `_, +`Blei's LDA-C format `_ and +`GibbsLDA++ format `_. + +>>> corpora.SvmLightCorpus.serialize('/tmp/corpus.svmlight', corpus) +>>> corpora.BleiCorpus.serialize('/tmp/corpus.lda-c', corpus) +>>> corpora.LowCorpus.serialize('/tmp/corpus.low', corpus) + + +Conversely, to load a corpus iterator from a Matrix Market file: + +>>> corpus = corpora.MmCorpus('/tmp/corpus.mm') + +Corpus objects are streams, so typically you won't be able to print them directly: + +>>> print corpus +MmCorpus(2 documents, 2 features, 1 non-zero entries) + +Instead, to view the contents of a corpus: + +>>> # one way of printing a corpus: load it entirely into memory +>>> print list(corpus) # calling list() will convert any sequence to a plain Python list +[[(1, 0.5)], []] + +or + +>>> # another way of doing it: print one document at a time, making use of the streaming interface +>>> for doc in corpus: +>>> print doc +[(1, 0.5)] +[] + +The second way is obviously more memory-friendly, but for testing and development +purposes, nothing beats the simplicity of calling ``list(corpus)``. + +To save the same Matrix Market document stream in Blei's LDA-C format, + +>>> corpora.BleiCorpus.serialize('/tmp/corpus.lda-c', corpus) + +In this way, `gensim` can also be used as a memory-efficient **I/O format conversion tool**: +just load a document stream using one format and immediately save it in another format. +Adding new formats is dead easy, check out the `code for the SVMlight corpus +`_ for an example. + +Compatibility with NumPy and SciPy +---------------------------------- + +Gensim also contains `efficient utility functions `_ +to help converting from/to numpy matrices:: + +>>> corpus = gensim.matutils.Dense2Corpus(numpy_matrix) + + +>>> numpy_matrix = gensim.matutils.corpus2dense(corpus) + +and from/to `scipy.sparse` matrices:: + +>>> corpus = gensim.matutils.Sparse2Corpus(scipy_sparse_matrix) + +>>> scipy_csc_matrix = gensim.matutils.corpus2csc(corpus) + +------------- + +For a complete reference (Want to prune the dictionary to a smaller size? +Optimize converting between corpora and NumPy/SciPy arrays?), see the :doc:`API documentation `. +Or continue to the next tutorial on :doc:`tut2`. + + +.. [1] This is the same corpus as used in + `Deerwester et al. (1990): Indexing by Latent Semantic Analysis `_, Table 2. + diff --git a/gensim-develop/docs/src/tut2.rst b/gensim-develop/docs/src/tut2.rst new file mode 100644 index 0000000000..0669f64c3c --- /dev/null +++ b/gensim-develop/docs/src/tut2.rst @@ -0,0 +1,249 @@ +.. _tut2: + +Topics and Transformations +=========================== + + +Don't forget to set + +>>> import logging +>>> logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) + +if you want to see logging events. + +Transformation interface +-------------------------- + +In the previous tutorial on :doc:`tut1`, we created a corpus of documents represented +as a stream of vectors. To continue, let's fire up gensim and use that corpus: + +>>> from gensim import corpora, models, similarities +>>> dictionary = corpora.Dictionary.load('/tmp/deerwester.dict') +>>> corpus = corpora.MmCorpus('/tmp/deerwester.mm') +>>> print corpus +MmCorpus(9 documents, 12 features, 28 non-zero entries) + +In this tutorial, I will show how to transform documents from one vector representation +into another. This process serves two goals: + +1. To bring out hidden structure in the corpus, discover relationships between + words and use them to describe the documents in a new and + (hopefully) more semantic way. +2. To make the document representation more compact. This both improves efficiency + (new representation consumes less resources) and efficacy (marginal data + trends are ignored, noise-reduction). + +Creating a transformation +++++++++++++++++++++++++++ + +The transformations are standard Python objects, typically initialized by means of +a :dfn:`training corpus`: + +>>> tfidf = models.TfidfModel(corpus) # step 1 -- initialize a model + +We used our old corpus from tutorial 1 to initialize (train) the transformation model. Different +transformations may require different initialization parameters; in case of TfIdf, the +"training" consists simply of going through the supplied corpus once and computing document frequencies +of all its features. Training other models, such as Latent Semantic Analysis or Latent Dirichlet +Allocation, is much more involved and, consequently, takes much more time. + +.. note:: + + Transformations always convert between two specific vector + spaces. The same vector space (= the same set of feature ids) must be used for training + as well as for subsequent vector transformations. Failure to use the same input + feature space, such as applying a different string preprocessing, using different + feature ids, or using bag-of-words input vectors where TfIdf vectors are expected, will + result in feature mismatch during transformation calls and consequently in either + garbage output and/or runtime exceptions. + + +Transforming vectors ++++++++++++++++++++++ + +From now on, ``tfidf`` is treated as a read-only object that can be used to convert +any vector from the old representation (bag-of-words integer counts) to the new representation +(TfIdf real-valued weights): + +>>> doc_bow = [(0, 1), (1, 1)] +>>> print tfidf[doc_bow] # step 2 -- use the model to transform vectors +[(0, 0.70710678), (1, 0.70710678)] + +Or to apply a transformation to a whole corpus: + +>>> corpus_tfidf = tfidf[corpus] +>>> for doc in corpus_tfidf: +>>> print doc +[(0, 0.57735026918962573), (1, 0.57735026918962573), (2, 0.57735026918962573)] +[(0, 0.44424552527467476), (3, 0.44424552527467476), (4, 0.44424552527467476), (5, 0.32448702061385548), (6, 0.44424552527467476), (7, 0.32448702061385548)] +[(2, 0.5710059809418182), (5, 0.41707573620227772), (7, 0.41707573620227772), (8, 0.5710059809418182)] +[(1, 0.49182558987264147), (5, 0.71848116070837686), (8, 0.49182558987264147)] +[(3, 0.62825804686700459), (6, 0.62825804686700459), (7, 0.45889394536615247)] +[(9, 1.0)] +[(9, 0.70710678118654746), (10, 0.70710678118654746)] +[(9, 0.50804290089167492), (10, 0.50804290089167492), (11, 0.69554641952003704)] +[(4, 0.62825804686700459), (10, 0.45889394536615247), (11, 0.62825804686700459)] + +In this particular case, we are transforming the same corpus that we used +for training, but this is only incidental. Once the transformation model has been initialized, +it can be used on any vectors (provided they come from the same vector space, of course), +even if they were not used in the training corpus at all. This is achieved by a process called +folding-in for LSA, by topic inference for LDA etc. + +.. note:: +Calling ``model[corpus]`` only creates a wrapper around the old ``corpus`` + document stream -- actual conversions are done on-the-fly, during document iteration. + We cannot convert the entire corpus at the time of calling ``corpus_transformed = model[corpus]``, + because that would mean storing the result in main memory, and that contradicts gensim's objective of memory-indepedence. + If you will be iterating over the transformed ``corpus_transformed`` multiple times, and the + transformation is costly, :ref:`serialize the resulting corpus to disk first ` and continue + using that. + +Transformations can also be serialized, one on top of another, in a sort of chain: + +>>> lsi = models.LsiModel(corpus_tfidf, id2word=dictionary, num_topics=2) # initialize an LSI transformation +>>> corpus_lsi = lsi[corpus_tfidf] # create a double wrapper over the original corpus: bow->tfidf->fold-in-lsi + +Here we transformed our Tf-Idf corpus via `Latent Semantic Indexing `_ +into a latent 2-D space (2-D because we set ``num_topics=2``). Now you're probably wondering: what do these two latent +dimensions stand for? Let's inspect with :func:`models.LsiModel.print_topics`: + + >>> lsi.print_topics(2) + topic #0(1.594): -0.703*"trees" + -0.538*"graph" + -0.402*"minors" + -0.187*"survey" + -0.061*"system" + -0.060*"response" + -0.060*"time" + -0.058*"user" + -0.049*"computer" + -0.035*"interface" + topic #1(1.476): -0.460*"system" + -0.373*"user" + -0.332*"eps" + -0.328*"interface" + -0.320*"response" + -0.320*"time" + -0.293*"computer" + -0.280*"human" + -0.171*"survey" + 0.161*"trees" + +(the topics are printed to log -- see the note at the top of this page about activating +logging) + +It appears that according to LSI, "trees", "graph" and "minors" are all related +words (and contribute the most to the direction of the first topic), while the +second topic practically concerns itself with all the other words. As expected, +the first five documents are more strongly related to the second topic while the +remaining four documents to the first topic: + +>>> for doc in corpus_lsi: # both bow->tfidf and tfidf->lsi transformations are actually executed here, on the fly +>>> print doc +[(0, -0.066), (1, 0.520)] # "Human machine interface for lab abc computer applications" +[(0, -0.197), (1, 0.761)] # "A survey of user opinion of computer system response time" +[(0, -0.090), (1, 0.724)] # "The EPS user interface management system" +[(0, -0.076), (1, 0.632)] # "System and human system engineering testing of EPS" +[(0, -0.102), (1, 0.574)] # "Relation of user perceived response time to error measurement" +[(0, -0.703), (1, -0.161)] # "The generation of random binary unordered trees" +[(0, -0.877), (1, -0.168)] # "The intersection graph of paths in trees" +[(0, -0.910), (1, -0.141)] # "Graph minors IV Widths of trees and well quasi ordering" +[(0, -0.617), (1, 0.054)] # "Graph minors A survey" + + +Model persistency is achieved with the :func:`save` and :func:`load` functions: + +>>> lsi.save('/tmp/model.lsi') # same for tfidf, lda, ... +>>> lsi = models.LsiModel.load('/tmp/model.lsi') + + +The next question might be: just how exactly similar are those documents to each other? +Is there a way to formalize the similarity, so that for a given input document, we can +order some other set of documents according to their similarity? Similarity queries +are covered in the :doc:`next tutorial `. + +.. _transformations: + +Available transformations +-------------------------- + +Gensim implements several popular Vector Space Model algorithms: + +* `Term Frequency * Inverse Document Frequency, Tf-Idf `_ + expects a bag-of-words (integer values) training corpus during initialization. + During transformation, it will take a vector and return another vector of the + same dimensionality, except that features which were rare in the training corpus + will have their value increased. + It therefore converts integer-valued vectors into real-valued ones, while leaving + the number of dimensions intact. It can also optionally normalize the resulting + vectors to (Euclidean) unit length. + + >>> model = tfidfmodel.TfidfModel(bow_corpus, normalize=True) + +* `Latent Semantic Indexing, LSI (or sometimes LSA) `_ + transforms documents from either bag-of-words or (preferrably) TfIdf-weighted space into + a latent space of a lower dimensionality. For the toy corpus above we used only + 2 latent dimensions, but on real corpora, target dimensionality of 200--500 is recommended + as a "golden standard" [1]_. + + >>> model = lsimodel.LsiModel(tfidf_corpus, id2word=dictionary, num_topics=300) + + LSI training is unique in that we can continue "training" at any point, simply + by providing more training documents. This is done by incremental updates to + the underlying model, in a process called `online training`. Because of this feature, the + input document stream may even be infinite -- just keep feeding LSI new documents + as they arrive, while using the computed transformation model as read-only in the meanwhile! + + >>> model.add_documents(another_tfidf_corpus) # now LSI has been trained on tfidf_corpus + another_tfidf_corpus + >>> lsi_vec = model[tfidf_vec] # convert some new document into the LSI space, without affecting the model + >>> ... + >>> model.add_documents(more_documents) # tfidf_corpus + another_tfidf_corpus + more_documents + >>> lsi_vec = model[tfidf_vec] + >>> ... + + See the :mod:`gensim.models.lsimodel` documentation for details on how to make + LSI gradually "forget" old observations in infinite streams. If you want to get dirty, + there are also parameters you can tweak that affect speed vs. memory footprint vs. numerical + precision of the LSI algorithm. + + `gensim` uses a novel online incremental streamed distributed training algorithm (quite a mouthful!), + which I published in [5]_. `gensim` also executes a stochastic multi-pass algorithm + from Halko et al. [4]_ internally, to accelerate in-core part + of the computations. + See also :doc:`wiki` for further speed-ups by distributing the computation across + a cluster of computers. + +* `Random Projections, RP `_ aim to + reduce vector space dimensionality. This is a very efficient (both memory- and + CPU-friendly) approach to approximating TfIdf distances between documents, by throwing in a little randomness. + Recommended target dimensionality is again in the hundreds/thousands, depending on your dataset. + + >>> model = rpmodel.RpModel(tfidf_corpus, num_topics=500) + +* `Latent Dirichlet Allocation, LDA `_ + is yet another transformation from bag-of-words counts into a topic space of lower + dimensionality. LDA is a probabilistic extension of LSA (also called multinomial PCA), + so LDA's topics can be interpreted as probability distributions over words. These distributions are, + just like with LSA, inferred automatically from a training corpus. Documents + are in turn interpreted as a (soft) mixture of these topics (again, just like with LSA). + + >>> model = ldamodel.LdaModel(bow_corpus, id2word=dictionary, num_topics=100) + + `gensim` uses a fast implementation of online LDA parameter estimation based on [2]_, + modified to run in :doc:`distributed mode ` on a cluster of computers. + +* `Hierarchical Dirichlet Process, HDP `_ + is a non-parametric bayesian method (note the missing number of requested topics): + + >>> model = hdpmodel.HdpModel(bow_corpus, id2word=dictionary) + + `gensim` uses a fast, online implementation based on [3]_. + The HDP model is a new addition to `gensim`, and still rough around its academic edges -- use with care. + +Adding new :abbr:`VSM (Vector Space Model)` transformations (such as different weighting schemes) is rather trivial; +see the :doc:`API reference ` or directly the `Python code `_ +for more info and examples. + +It is worth repeating that these are all unique, **incremental** implementations, +which do not require the whole training corpus to be present in main memory all at once. +With memory taken care of, I am now improving :doc:`distributed`, +to improve CPU efficiency, too. +If you feel you could contribute (by testing, providing use-cases or code), +please `let me know `_. + +Continue on to the next tutorial on :doc:`tut3`. + +------ + +.. [1] Bradford. 2008. An empirical study of required dimensionality for large-scale latent semantic indexing applications. + +.. [2] Hoffman, Blei, Bach. 2010. Online learning for Latent Dirichlet Allocation. + +.. [3] Wang, Paisley, Blei. 2011. Online variational inference for the hierarchical Dirichlet process. + +.. [4] Halko, Martinsson, Tropp. 2009. Finding structure with randomness. + +.. [5] Řehůřek. 2011. Subspace tracking for Latent Semantic Analysis. diff --git a/gensim-develop/docs/src/tut3.rst b/gensim-develop/docs/src/tut3.rst new file mode 100644 index 0000000000..5564ea4e9e --- /dev/null +++ b/gensim-develop/docs/src/tut3.rst @@ -0,0 +1,149 @@ +.. _tut3: + +Similarity Queries +=========================== + + +Don't forget to set + +>>> import logging +>>> logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) + +if you want to see logging events. + +Similarity interface +-------------------------- + +In the previous tutorials on :doc:`tut1` and :doc:`tut2`, we covered what it means +to create a corpus in the Vector Space Model and how to transform it between different +vector spaces. A common reason for such a charade is that we want to determine +**similarity between pairs of documents**, or the **similarity between a specific document +and a set of other documents** (such as a user query vs. indexed documents). + +To show how this can be done in gensim, let us consider the same corpus as in the +previous examples (which really originally comes from Deerwester et al.'s +`"Indexing by Latent Semantic Analysis" `_ +seminal 1990 article): + +>>> from gensim import corpora, models, similarities +>>> dictionary = corpora.Dictionary.load('/tmp/deerwester.dict') +>>> corpus = corpora.MmCorpus('/tmp/deerwester.mm') # comes from the first tutorial, "From strings to vectors" +>>> print corpus +MmCorpus(9 documents, 12 features, 28 non-zero entries) + +To follow Deerwester's example, we first use this tiny corpus to define a 2-dimensional +LSI space: + +>>> lsi = models.LsiModel(corpus, id2word=dictionary, num_topics=2) + +Now suppose a user typed in the query `"Human computer interaction"`. We would +like to sort our nine corpus documents in decreasing order of relevance to this query. +Unlike modern search engines, here we only concentrate on a single aspect of possible +similarities---on apparent semantic relatedness of their texts (words). No hyperlinks, +no random-walk static ranks, just a semantic extension over the boolean keyword match: + +>>> doc = "Human computer interaction" +>>> vec_bow = dictionary.doc2bow(doc.lower().split()) +>>> vec_lsi = lsi[vec_bow] # convert the query to LSI space +>>> print vec_lsi +[(0, -0.461821), (1, 0.070028)] + +In addition, we will be considering `cosine similarity `_ +to determine the similarity of two vectors. Cosine similarity is a standard measure +in Vector Space Modeling, but wherever the vectors represent probability distributions, +`different similarity measures `_ +may be more appropriate. + +Initializing query structures +++++++++++++++++++++++++++++++++ + +To prepare for similarity queries, we need to enter all documents which we want +to compare against subsequent queries. In our case, they are the same nine documents +used for training LSI, converted to 2-D LSA space. But that's only incidental, we +might also be indexing a different corpus altogether. + +>>> index = similarities.MatrixSimilarity(lsi[corpus]) # transform corpus to LSI space and index it + +.. warning:: +The class :class:`similarities.MatrixSimilarity` is only appropriate when the whole + set of vectors fits into memory. For example, a corpus of one million documents + would require 2GB of RAM in a 256-dimensional LSI space, when used with this class. + + Without 2GB of free RAM, you would need to use the :class:`similarities.Similarity` class. + This class operates in fixed memory, by splitting the index across multiple files on disk, called shards. + It uses :class:`similarities.MatrixSimilarity` and :class:`similarities.SparseMatrixSimilarity` internally, + so it is still fast, although slightly more complex. + +Index persistency is handled via the standard :func:`save` and :func:`load` functions: + +>>> index.save('/tmp/deerwester.index') +>>> index = similarities.MatrixSimilarity.load('/tmp/deerwester.index') + +This is true for all similarity indexing classes (:class:`similarities.Similarity`, +:class:`similarities.MatrixSimilarity` and :class:`similarities.SparseMatrixSimilarity`). +Also in the following, `index` can be an object of any of these. When in doubt, +use :class:`similarities.Similarity`, as it is the most scalable version, and it also +supports adding more documents to the index later. + +Performing queries ++++++++++++++++++++++ + +To obtain similarities of our query document against the nine indexed documents: + +>>> sims = index[vec_lsi] # perform a similarity query against the corpus +>>> print list(enumerate(sims)) # print (document_number, document_similarity) 2-tuples +[(0, 0.99809301), (1, 0.93748635), (2, 0.99844527), (3, 0.9865886), (4, 0.90755945), +(5, -0.12416792), (6, -0.1063926), (7, -0.098794639), (8, 0.05004178)] + +Cosine measure returns similarities in the range `<-1, 1>` (the greater, the more similar), +so that the first document has a score of 0.99809301 etc. + +With some standard Python magic we sort these similarities into descending +order, and obtain the final answer to the query `"Human computer interaction"`: + +>>> sims = sorted(enumerate(sims), key=lambda item: -item[1]) +>>> print sims # print sorted (document number, similarity score) 2-tuples +[(2, 0.99844527), # The EPS user interface management system +(0, 0.99809301), # Human machine interface for lab abc computer applications +(3, 0.9865886), # System and human system engineering testing of EPS +(1, 0.93748635), # A survey of user opinion of computer system response time +(4, 0.90755945), # Relation of user perceived response time to error measurement +(8, 0.050041795), # Graph minors A survey +(7, -0.098794639), # Graph minors IV Widths of trees and well quasi ordering +(6, -0.1063926), # The intersection graph of paths in trees +(5, -0.12416792)] # The generation of random binary unordered trees + +(I added the original documents in their "string form" to the output comments, to +improve clarity.) + +The thing to note here is that documents no. 2 (``"The EPS user interface management system"``) +and 4 (``"Relation of user perceived response time to error measurement"``) would never be returned by +a standard boolean fulltext search, because they do not share any common words with ``"Human +computer interaction"``. However, after applying LSI, we can observe that both of +them received quite high similarity scores (no. 2 is actually the most similar!), +which corresponds better to our intuition of +them sharing a "computer-human" related topic with the query. In fact, this semantic +generalization is the reason why we apply transformations and do topic modelling +in the first place. + + +Where next? +------------ + +Congratulations, you have finished the tutorials -- now you know how gensim works :-) +To delve into more details, you can browse through the :doc:`API documentation `, +see the :doc:`Wikipedia experiments ` or perhaps check out :doc:`distributed computing ` in `gensim`. + +Gensim is a fairly mature package that has been used successfully by many individuals and companies, both for rapid prototyping and in production. +That doesn't mean it's perfect though: + +* there are parts that could be implemented more efficiently (in C, for example), or make better use of parallelism (multiple machines cores) +* new algorithms are published all the time; help gensim keep up by `discussing them `_ and `contributing code `_ +* your **feedback is most welcome** and appreciated (and it's not just the code!): + `idea contributions `_, + `bug reports `_ or just consider contributing + `user stories and general questions `_. + +Gensim has no ambition to become an all-encompassing framework, across all NLP (or even Machine Learning) subfields. +Its mission is to help NLP practicioners try out popular topic modelling algorithms +on large datasets easily, and to facilitate prototyping of new algorithms for researchers. diff --git a/gensim-develop/docs/src/tutorial.rst b/gensim-develop/docs/src/tutorial.rst new file mode 100644 index 0000000000..f711c71de3 --- /dev/null +++ b/gensim-develop/docs/src/tutorial.rst @@ -0,0 +1,108 @@ +.. _tutorial: + +Tutorials +========= + + +The tutorials are organized as a series of examples that highlight various features +of `gensim`. It is assumed that the reader is familiar with the `Python language `_, has :doc:`installed gensim ` +and read the :doc:`introduction `. + +The examples are divided into parts on: + +.. toctree:: +:maxdepth: 2 + + tut1 + tut2 + tut3 + wiki + distributed + +Preliminaries +-------------- + +All the examples can be directly copied to your Python interpreter shell. `IPython `_'s ``cpaste`` command is especially handy for copypasting code fragments, including the leading ``>>>`` characters. + +Gensim uses Python's standard :mod:`logging` module to log various stuff at various +priority levels; to activate logging (this is optional), run + +>>> import logging +>>> logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) + + +.. _first-example: + +Quick Example +------------- + +First, let's import gensim and create a small corpus of nine documents and twelve features [1]_: + +>>> from gensim import corpora, models, similarities +>>> +>>> corpus = [[(0, 1.0), (1, 1.0), (2, 1.0)], +>>> [(2, 1.0), (3, 1.0), (4, 1.0), (5, 1.0), (6, 1.0), (8, 1.0)], +>>> [(1, 1.0), (3, 1.0), (4, 1.0), (7, 1.0)], +>>> [(0, 1.0), (4, 2.0), (7, 1.0)], +>>> [(3, 1.0), (5, 1.0), (6, 1.0)], +>>> [(9, 1.0)], +>>> [(9, 1.0), (10, 1.0)], +>>> [(9, 1.0), (10, 1.0), (11, 1.0)], +>>> [(8, 1.0), (10, 1.0), (11, 1.0)]] + +:dfn:`Corpus` is simply an object which, when iterated over, returns its documents represented +as sparse vectors. If you're not familiar with the `vector space model `_, we'll bridge the gap between **raw strings**, **corpora** and **sparse vectors** in the next tutorial on :doc:`tut1`. + +If you're familiar with the vector space model, you'll probably know that the way you parse your documents and convert them to vectors +has major impact on the quality of any subsequent applications. + +.. note:: +In this example, the whole corpus is stored in memory, as a Python list. However, + the corpus interface only dictates that a corpus must support iteration over its + constituent documents. For very large corpora, it is advantageous to keep the + corpus on disk, and access its documents sequentially, one at a time. All the + operations and transformations are implemented in such a way that makes + them independent of the size of the corpus, memory-wise. + + +Next, let's initialize a :dfn:`transformation`: + +>>> tfidf = models.TfidfModel(corpus) + +A transformation is used to convert documents from one vector representation into another: + +>>> vec = [(0, 1), (4, 1)] +>>> print tfidf[vec] +[(0, 0.8075244), (4, 0.5898342)] + +Here, we used `Tf-Idf `_, a simple +transformation which takes documents represented as bag-of-words counts and applies +a weighting which discounts common terms (or, equivalently, promotes rare terms). +It also scales the resulting vector to unit length (in the `Euclidean norm `_). + +Transformations are covered in detail in the tutorial on :doc:`tut2`. + +To transform the whole corpus via TfIdf and index it, in preparation for similarity queries: + +>>> index = similarities.SparseMatrixSimilarity(tfidf[corpus], num_features=12) + +and to query the similarity of our query vector ``vec`` against every document in the corpus: + +>>> sims = index[tfidf[vec]] +>>> print list(enumerate(sims)) +[(0, 0.4662244), (1, 0.19139354), (2, 0.24600551), (3, 0.82094586), (4, 0.0), (5, 0.0), (6, 0.0), (7, 0.0), (8, 0.0)] + +How to read this output? Document number zero (the first document) has a similarity score of 0.466=46.6\%, +the second document has a similarity score of 19.1\% etc. + +Thus, according to TfIdf document representation and cosine similarity measure, +the most similar to our query document `vec` is document no. 3, with a similarity score of 82.1%. +Note that in the TfIdf representation, any documents which do not share any common features +with ``vec`` at all (documents no. 4--8) get a similarity score of 0.0. See the :doc:`tut3` tutorial for more detail. + +------ + +.. [1] This is the same corpus as used in + `Deerwester et al. (1990): Indexing by Latent Semantic Analysis `_, Table 2. + + diff --git a/gensim-develop/docs/src/utils.rst b/gensim-develop/docs/src/utils.rst new file mode 100644 index 0000000000..0b1ae7438d --- /dev/null +++ b/gensim-develop/docs/src/utils.rst @@ -0,0 +1,7 @@ +:mod:`utils` -- Various utility functions +========================================== + +.. automodule:: gensim.utils +:synopsis: Various utility functions + :members: + :inherited-members: diff --git a/gensim-develop/docs/src/wiki.rst b/gensim-develop/docs/src/wiki.rst new file mode 100644 index 0000000000..150759be6e --- /dev/null +++ b/gensim-develop/docs/src/wiki.rst @@ -0,0 +1,206 @@ +.. _wiki: + +Experiments on the English Wikipedia +============================================ + +To test `gensim` performance, we run it against the English version of Wikipedia. + +This page describes the process of obtaining and processing Wikipedia, so that +anyone can reproduce the results. It is assumed you have `gensim` properly :doc:`installed `. + + + +Preparing the corpus +---------------------- + +1. First, download the dump of all Wikipedia articles from http://download.wikimedia.org/enwiki/ + (you want a file like `enwiki-latest-pages-articles.xml.bz2`). This file is about 8GB in size + and contains (a compressed version of) all articles from the English Wikipedia. + +2. Convert the articles to plain text (process Wiki markup) and store the result as + sparse TF-IDF vectors. In Python, this is easy to do on-the-fly and we don't + even need to uncompress the whole archive to disk. There is a script included in + `gensim` that does just that, run:: + + $ python -m gensim.scripts.make_wiki + +.. note:: +This pre-processing step makes two passes over the 8.2GB compressed wiki dump (one to extract + the dictionary, one to create and store the sparse vectors) and takes about + 9 hours on my laptop, so you may want to go have a coffee or two. + + Also, you will need about 35GB of free disk space to store the sparse output vectors. + I recommend compressing these files immediately, e.g. with bzip2 (down to ~13GB). Gensim + can work with compressed files directly, so this lets you save disk space. + +Latent Sematic Analysis +-------------------------- + +First let's load the corpus iterator and dictionary, created in the second step above:: + + >>> import logging, gensim, bz2 + >>> logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) + + >>> # load id->word mapping (the dictionary), one of the results of step 2 above + >>> id2word = gensim.corpora.Dictionary.load_from_text('wiki_en_wordids.txt') + >>> # load corpus iterator + >>> mm = gensim.corpora.MmCorpus('wiki_en_tfidf.mm') + >>> # mm = gensim.corpora.MmCorpus(bz2.BZ2File('wiki_en_tfidf.mm.bz2')) # use this if you compressed the TFIDF output (recommended) + + >>> print mm + MmCorpus(3931787 documents, 100000 features, 756379027 non-zero entries) + +We see that our corpus contains 3.9M documents, 100K features (distinct +tokens) and 0.76G non-zero entries in the sparse TF-IDF matrix. The Wikipedia corpus +contains about 2.24 billion tokens in total. + +Now we're ready to compute LSA of the English Wikipedia:: + + >>> # extract 400 LSI topics; use the default one-pass algorithm + >>> lsi = gensim.models.lsimodel.LsiModel(corpus=mm, id2word=id2word, num_topics=400) + + >>> # print the most contributing words (both positively and negatively) for each of the first ten topics + >>> lsi.print_topics(10) + topic #0(332.762): 0.425*"utc" + 0.299*"talk" + 0.293*"page" + 0.226*"article" + 0.224*"delete" + 0.216*"discussion" + 0.205*"deletion" + 0.198*"should" + 0.146*"debate" + 0.132*"be" + topic #1(201.852): 0.282*"link" + 0.209*"he" + 0.145*"com" + 0.139*"his" + -0.137*"page" + -0.118*"delete" + 0.114*"blacklist" + -0.108*"deletion" + -0.105*"discussion" + 0.100*"diff" + topic #2(191.991): -0.565*"link" + -0.241*"com" + -0.238*"blacklist" + -0.202*"diff" + -0.193*"additions" + -0.182*"users" + -0.158*"coibot" + -0.136*"user" + 0.133*"he" + -0.130*"resolves" + topic #3(141.284): -0.476*"image" + -0.255*"copyright" + -0.245*"fair" + -0.225*"use" + -0.173*"album" + -0.163*"cover" + -0.155*"resolution" + -0.141*"licensing" + 0.137*"he" + -0.121*"copies" + topic #4(130.909): 0.264*"population" + 0.246*"age" + 0.243*"median" + 0.213*"income" + 0.195*"census" + -0.189*"he" + 0.184*"households" + 0.175*"were" + 0.167*"females" + 0.166*"males" + topic #5(120.397): 0.304*"diff" + 0.278*"utc" + 0.213*"you" + -0.171*"additions" + 0.165*"talk" + -0.159*"image" + 0.159*"undo" + 0.155*"www" + -0.152*"page" + 0.148*"contribs" + topic #6(115.414): -0.362*"diff" + -0.203*"www" + 0.197*"you" + -0.180*"undo" + -0.180*"kategori" + 0.164*"users" + 0.157*"additions" + -0.150*"contribs" + -0.139*"he" + -0.136*"image" + topic #7(111.440): 0.429*"kategori" + 0.276*"categoria" + 0.251*"category" + 0.207*"kategorija" + 0.198*"kategorie" + -0.188*"diff" + 0.163*"категория" + 0.153*"categoría" + 0.139*"kategoria" + 0.133*"categorie" + topic #8(109.907): 0.385*"album" + 0.224*"song" + 0.209*"chart" + 0.204*"band" + 0.169*"released" + 0.151*"music" + 0.142*"diff" + 0.141*"vocals" + 0.138*"she" + 0.132*"guitar" + topic #9(102.599): -0.237*"league" + -0.214*"he" + -0.180*"season" + -0.174*"football" + -0.166*"team" + 0.159*"station" + -0.137*"played" + -0.131*"cup" + 0.131*"she" + -0.128*"utc" + +Creating the LSI model of Wikipedia takes about 4 hours and 9 minutes on my laptop [1]_. +That's about **16,000 documents per minute, including all I/O**. + +.. note:: +If you need your results even faster, see the tutorial on :doc:`distributed`. Note + that the BLAS libraries inside `gensim` make use of multiple cores transparently, so the same data + will be processed faster on a multicore machine "for free", without any distributed setup. + +We see that the total processing time is dominated by the preprocessing step of +preparing the TF-IDF corpus from a raw Wikipedia XML dump, which took 9h. [2]_ + +The algorithm used in `gensim` only needs to see each input document once, so it +is suitable for environments where the documents come as a non-repeatable stream, +or where the cost of storing/iterating over the corpus multiple times is too high. + + +Latent Dirichlet Allocation +---------------------------- + +As with Latent Semantic Analysis above, first load the corpus iterator and dictionary:: + + >>> import logging, gensim, bz2 + >>> logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) + + >>> # load id->word mapping (the dictionary), one of the results of step 2 above + >>> id2word = gensim.corpora.Dictionary.load_from_text('wiki_en_wordids.txt') + >>> # load corpus iterator + >>> mm = gensim.corpora.MmCorpus('wiki_en_tfidf.mm') + >>> # mm = gensim.corpora.MmCorpus(bz2.BZ2File('wiki_en_tfidf.mm.bz2')) # use this if you compressed the TFIDF output + + >>> print mm + MmCorpus(3931787 documents, 100000 features, 756379027 non-zero entries) + +We will run online LDA (see Hoffman et al. [3]_), which is an algorithm that takes a chunk of documents, +updates the LDA model, takes another chunk, updates the model etc. Online LDA can be contrasted +with batch LDA, which processes the whole corpus (one full pass), then updates +the model, then another pass, another update... The difference is that given a +reasonably stationary document stream (not much topic drift), the online updates +over the smaller chunks (subcorpora) are pretty good in themselves, so that the +model estimation converges faster. As a result, we will perhaps only need a single full +pass over the corpus: if the corpus has 3 million articles, and we update once after +every 10,000 articles, this means we will have done 300 updates in one pass, quite likely +enough to have a very accurate topics estimate:: + + >>> # extract 100 LDA topics, using 1 pass and updating once every 1 chunk (10,000 documents) + >>> lda = gensim.models.ldamodel.LdaModel(corpus=mm, id2word=id2word, num_topics=100, update_every=1, chunksize=10000, passes=1) + using serial LDA version on this node + running online LDA training, 100 topics, 1 passes over the supplied corpus of 3931787 documents, updating model once every 10000 documents + ... + +Unlike LSA, the topics coming from LDA are easier to interpret:: + + >>> # print the most contributing words for 20 randomly selected topics + >>> lda.print_topics(20) + topic #0: 0.009*river + 0.008*lake + 0.006*island + 0.005*mountain + 0.004*area + 0.004*park + 0.004*antarctic + 0.004*south + 0.004*mountains + 0.004*dam + topic #1: 0.026*relay + 0.026*athletics + 0.025*metres + 0.023*freestyle + 0.022*hurdles + 0.020*ret + 0.017*divisão + 0.017*athletes + 0.016*bundesliga + 0.014*medals + topic #2: 0.002*were + 0.002*he + 0.002*court + 0.002*his + 0.002*had + 0.002*law + 0.002*government + 0.002*police + 0.002*patrolling + 0.002*their + topic #3: 0.040*courcelles + 0.035*centimeters + 0.023*mattythewhite + 0.021*wine + 0.019*stamps + 0.018*oko + 0.017*perennial + 0.014*stubs + 0.012*ovate + 0.011*greyish + topic #4: 0.039*al + 0.029*sysop + 0.019*iran + 0.015*pakistan + 0.014*ali + 0.013*arab + 0.010*islamic + 0.010*arabic + 0.010*saudi + 0.010*muhammad + topic #5: 0.020*copyrighted + 0.020*northamerica + 0.014*uncopyrighted + 0.007*rihanna + 0.005*cloudz + 0.005*knowles + 0.004*gaga + 0.004*zombie + 0.004*wigan + 0.003*maccabi + topic #6: 0.061*israel + 0.056*israeli + 0.030*sockpuppet + 0.025*jerusalem + 0.025*tel + 0.023*aviv + 0.022*palestinian + 0.019*ifk + 0.016*palestine + 0.014*hebrew + topic #7: 0.015*melbourne + 0.014*rovers + 0.013*vfl + 0.012*australian + 0.012*wanderers + 0.011*afl + 0.008*dinamo + 0.008*queensland + 0.008*tracklist + 0.008*brisbane + topic #8: 0.011*film + 0.007*her + 0.007*she + 0.004*he + 0.004*series + 0.004*his + 0.004*episode + 0.003*films + 0.003*television + 0.003*best + topic #9: 0.019*wrestling + 0.013*château + 0.013*ligue + 0.012*discus + 0.012*estonian + 0.009*uci + 0.008*hockeyarchives + 0.008*wwe + 0.008*estonia + 0.007*reign + topic #10: 0.078*edits + 0.059*notability + 0.035*archived + 0.025*clearer + 0.022*speedy + 0.021*deleted + 0.016*hook + 0.015*checkuser + 0.014*ron + 0.011*nominator + topic #11: 0.013*admins + 0.009*acid + 0.009*molniya + 0.009*chemical + 0.007*ch + 0.007*chemistry + 0.007*compound + 0.007*anemone + 0.006*mg + 0.006*reaction + topic #12: 0.018*india + 0.013*indian + 0.010*tamil + 0.009*singh + 0.008*film + 0.008*temple + 0.006*kumar + 0.006*hindi + 0.006*delhi + 0.005*bengal + topic #13: 0.047*bwebs + 0.024*malta + 0.020*hobart + 0.019*basa + 0.019*columella + 0.019*huon + 0.018*tasmania + 0.016*popups + 0.014*tasmanian + 0.014*modèle + topic #14: 0.014*jewish + 0.011*rabbi + 0.008*bgwhite + 0.008*lebanese + 0.007*lebanon + 0.006*homs + 0.005*beirut + 0.004*jews + 0.004*hebrew + 0.004*caligari + topic #15: 0.025*german + 0.020*der + 0.017*von + 0.015*und + 0.014*berlin + 0.012*germany + 0.012*die + 0.010*des + 0.008*kategorie + 0.007*cross + topic #16: 0.003*can + 0.003*system + 0.003*power + 0.003*are + 0.003*energy + 0.002*data + 0.002*be + 0.002*used + 0.002*or + 0.002*using + topic #17: 0.049*indonesia + 0.042*indonesian + 0.031*malaysia + 0.024*singapore + 0.022*greek + 0.021*jakarta + 0.016*greece + 0.015*dord + 0.014*athens + 0.011*malaysian + topic #18: 0.031*stakes + 0.029*webs + 0.018*futsal + 0.014*whitish + 0.013*hyun + 0.012*thoroughbred + 0.012*dnf + 0.012*jockey + 0.011*medalists + 0.011*racehorse + topic #19: 0.119*oblast + 0.034*uploaded + 0.034*uploads + 0.033*nordland + 0.025*selsoviet + 0.023*raion + 0.022*krai + 0.018*okrug + 0.015*hålogaland + 0.015*russiae + 0.020*manga + 0.017*dragon + 0.012*theme + 0.011*dvd + 0.011*super + 0.011*hunter + 0.009*ash + 0.009*dream + 0.009*angel + +Creating this LDA model of Wikipedia takes about 6 hours and 20 minutes on my laptop [1]_. +If you need your results faster, consider running :doc:`dist_lda` on a cluster of +computers. + +Note two differences between the LDA and LSA runs: we asked LSA +to extract 400 topics, LDA only 100 topics (so the difference in speed is in fact +even greater). Secondly, the LSA implementation in `gensim` is truly online: if the nature of the input +stream changes in time, LSA will re-orient itself to reflect these changes, in a reasonably +small amount of updates. In contrast, LDA is not truly online (the name of the [3]_ +article notwithstanding), as the impact of later updates on the model gradually +diminishes. If there is topic drift in the input document stream, LDA will get +confused and be increasingly slower at adjusting itself to the new state of affairs. + +In short, be careful if using LDA to incrementally add new documents to the model +over time. **Batch usage of LDA**, where the entire training corpus is either known beforehand or does +not exhibit topic drift, **is ok and not affected**. + +To run batch LDA (not online), train `LdaModel` with:: + + >>> # extract 100 LDA topics, using 20 full passes, no online updates + >>> lda = gensim.models.ldamodel.LdaModel(corpus=mm, id2word=id2word, num_topics=100, update_every=0, passes=20) + +As usual, a trained model can used be to transform new, unseen documents (plain bag-of-words count vectors) +into LDA topic distributions: + + >>> doc_lda = lda[doc_bow] + +-------------------- + +.. [1] My laptop = MacBook Pro, Intel Core i7 2.3GHz, 16GB DDR3 RAM, OS X with `libVec`. + +.. [2] + Here we're mostly interested in performance, but it is interesting to look at the + retrieved LSA concepts, too. I am no Wikipedia expert and don't see into Wiki's bowels, + but Brian Mingus had this to say about the result:: + + There appears to be a lot of noise in your dataset. The first three topics + in your list appear to be meta topics, concerning the administration and + cleanup of Wikipedia. These show up because you didn't exclude templates + such as these, some of which are included in most articles for quality + control: http://en.wikipedia.org/wiki/Wikipedia:Template_messages/Cleanup + + The fourth and fifth topics clearly shows the influence of bots that import + massive databases of cities, countries, etc. and their statistics such as + population, capita, etc. + + The sixth shows the influence of sports bots, and the seventh of music bots. + + So the top ten concepts are apparently dominated by Wikipedia robots and expanded + templates; this is a good reminder that LSA is a powerful tool for data analysis, + but no silver bullet. As always, it's `garbage in, garbage out + `_... + By the way, improvements to the Wiki markup parsing code are welcome :-) + +.. [3] Hoffman, Blei, Bach. 2010. Online learning for Latent Dirichlet Allocation + [`pdf `_] [`code `_] + diff --git a/gensim-develop/ez_setup.py b/gensim-develop/ez_setup.py new file mode 100644 index 0000000000..f0d519edd9 --- /dev/null +++ b/gensim-develop/ez_setup.py @@ -0,0 +1,275 @@ +#!python +"""Bootstrap setuptools installation + +If you want to use setuptools in your package's setup.py, just include this +file in the same directory with it, and add this to the top of your setup.py:: + + from ez_setup import use_setuptools + use_setuptools() + +If you want to require a specific version of setuptools, set a download +mirror, or use an alternate download directory, you can do so by supplying +the appropriate options to ``use_setuptools()``. + +This file can also be run as a script to install or upgrade setuptools. +""" +import sys + +DEFAULT_VERSION = "0.6c11" +DEFAULT_URL = "http://pypi.python.org/packages/%s/s/setuptools/" % sys.version[:3] + +md5_data = { + 'setuptools-0.6b1-py2.3.egg': '8822caf901250d848b996b7f25c6e6ca', + 'setuptools-0.6b1-py2.4.egg': 'b79a8a403e4502fbb85ee3f1941735cb', + 'setuptools-0.6b2-py2.3.egg': '5657759d8a6d8fc44070a9d07272d99b', + 'setuptools-0.6b2-py2.4.egg': '4996a8d169d2be661fa32a6e52e4f82a', + 'setuptools-0.6b3-py2.3.egg': 'bb31c0fc7399a63579975cad9f5a0618', + 'setuptools-0.6b3-py2.4.egg': '38a8c6b3d6ecd22247f179f7da669fac', + 'setuptools-0.6b4-py2.3.egg': '62045a24ed4e1ebc77fe039aa4e6f7e5', + 'setuptools-0.6b4-py2.4.egg': '4cb2a185d228dacffb2d17f103b3b1c4', + 'setuptools-0.6c1-py2.3.egg': 'b3f2b5539d65cb7f74ad79127f1a908c', + 'setuptools-0.6c1-py2.4.egg': 'b45adeda0667d2d2ffe14009364f2a4b', + 'setuptools-0.6c10-py2.3.egg': 'ce1e2ab5d3a0256456d9fc13800a7090', + 'setuptools-0.6c10-py2.4.egg': '57d6d9d6e9b80772c59a53a8433a5dd4', + 'setuptools-0.6c10-py2.5.egg': 'de46ac8b1c97c895572e5e8596aeb8c7', + 'setuptools-0.6c10-py2.6.egg': '58ea40aef06da02ce641495523a0b7f5', + 'setuptools-0.6c11-py2.3.egg': '2baeac6e13d414a9d28e7ba5b5a596de', + 'setuptools-0.6c11-py2.4.egg': 'bd639f9b0eac4c42497034dec2ec0c2b', + 'setuptools-0.6c11-py2.5.egg': '64c94f3bf7a72a13ec83e0b24f2749b2', + 'setuptools-0.6c11-py2.6.egg': 'bfa92100bd772d5a213eedd356d64086', + 'setuptools-0.6c2-py2.3.egg': 'f0064bf6aa2b7d0f3ba0b43f20817c27', + 'setuptools-0.6c2-py2.4.egg': '616192eec35f47e8ea16cd6a122b7277', + 'setuptools-0.6c3-py2.3.egg': 'f181fa125dfe85a259c9cd6f1d7b78fa', + 'setuptools-0.6c3-py2.4.egg': 'e0ed74682c998bfb73bf803a50e7b71e', + 'setuptools-0.6c3-py2.5.egg': 'abef16fdd61955514841c7c6bd98965e', + 'setuptools-0.6c4-py2.3.egg': 'b0b9131acab32022bfac7f44c5d7971f', + 'setuptools-0.6c4-py2.4.egg': '2a1f9656d4fbf3c97bf946c0a124e6e2', + 'setuptools-0.6c4-py2.5.egg': '8f5a052e32cdb9c72bcf4b5526f28afc', + 'setuptools-0.6c5-py2.3.egg': 'ee9fd80965da04f2f3e6b3576e9d8167', + 'setuptools-0.6c5-py2.4.egg': 'afe2adf1c01701ee841761f5bcd8aa64', + 'setuptools-0.6c5-py2.5.egg': 'a8d3f61494ccaa8714dfed37bccd3d5d', + 'setuptools-0.6c6-py2.3.egg': '35686b78116a668847237b69d549ec20', + 'setuptools-0.6c6-py2.4.egg': '3c56af57be3225019260a644430065ab', + 'setuptools-0.6c6-py2.5.egg': 'b2f8a7520709a5b34f80946de5f02f53', + 'setuptools-0.6c7-py2.3.egg': '209fdf9adc3a615e5115b725658e13e2', + 'setuptools-0.6c7-py2.4.egg': '5a8f954807d46a0fb67cf1f26c55a82e', + 'setuptools-0.6c7-py2.5.egg': '45d2ad28f9750e7434111fde831e8372', + 'setuptools-0.6c8-py2.3.egg': '50759d29b349db8cfd807ba8303f1902', + 'setuptools-0.6c8-py2.4.egg': 'cba38d74f7d483c06e9daa6070cce6de', + 'setuptools-0.6c8-py2.5.egg': '1721747ee329dc150590a58b3e1ac95b', + 'setuptools-0.6c9-py2.3.egg': 'a83c4020414807b496e4cfbe08507c03', + 'setuptools-0.6c9-py2.4.egg': '260a2be2e5388d66bdaee06abec6342a', + 'setuptools-0.6c9-py2.5.egg': 'fe67c3e5a17b12c0e7c541b7ea43a8e6', + 'setuptools-0.6c9-py2.6.egg': 'ca37b1ff16fa2ede6e19383e7b59245a', +} + +import sys, os + +try: + from hashlib import md5 +except ImportError: + from md5 import md5 + + +def _validate_md5(egg_name, data): + if egg_name in md5_data: + digest = md5(data).hexdigest() + if digest != md5_data[egg_name]: + print(( + "md5 validation of %s failed! (Possible download problem?)" + % egg_name + ), file=sys.stderr) + sys.exit(2) + return data + + +def use_setuptools( + version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir, + download_delay=15 +): + """Automatically find/download setuptools and make it available on sys.path + + `version` should be a valid setuptools version number that is available + as an egg for download under the `download_base` URL (which should end with + a '/'). `to_dir` is the directory where setuptools will be downloaded, if + it is not already available. If `download_delay` is specified, it should + be the number of seconds that will be paused before initiating a download, + should one be required. If an older version of setuptools is installed, + this routine will print a message to ``sys.stderr`` and raise SystemExit in + an attempt to abort the calling script. + """ + was_imported = 'pkg_resources' in sys.modules or 'setuptools' in sys.modules + + def do_download(): + egg = download_setuptools(version, download_base, to_dir, download_delay) + sys.path.insert(0, egg) + import setuptools + + setuptools.bootstrap_install_from = egg + + try: + import pkg_resources + except ImportError: + return do_download() + try: + pkg_resources.require("setuptools>=" + version) + return + except pkg_resources.VersionConflict as e: + if was_imported: + print(( + "The required version of setuptools (>=%s) is not available, and\n" + "can't be installed while this script is running. Please install\n" + " a more recent version first, using 'easy_install -U setuptools'." + "\n\n(Currently using %r)" + ) % (version, e.args[0]), file=sys.stderr) + sys.exit(2) + else: + del pkg_resources, sys.modules['pkg_resources'] # reload ok + return do_download() + except pkg_resources.DistributionNotFound: + return do_download() + + +def download_setuptools( + version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir, + delay=15 +): + """Download setuptools from a specified location and return its filename + + `version` should be a valid setuptools version number that is available + as an egg for download under the `download_base` URL (which should end + with a '/'). `to_dir` is the directory where the egg will be downloaded. + `delay` is the number of seconds to pause before an actual download attempt. + """ + import urllib.request, urllib.error, urllib.parse, shutil + + egg_name = "setuptools-%s-py%s.egg" % (version, sys.version[:3]) + url = download_base + egg_name + saveto = os.path.join(to_dir, egg_name) + src = dst = None + if not os.path.exists(saveto): # Avoid repeated downloads + try: + from distutils import log + + if delay: + log.warn(""" +--------------------------------------------------------------------------- +This script requires setuptools version %s to run (even to display +help). I will attempt to download it for you (from +%s), but +you may need to enable firewall access for this script first. +I will start the download in %d seconds. + +(Note: if this machine does not have network access, please obtain the file + + %s + +and place it in this directory before rerunning this script.) +---------------------------------------------------------------------------""", + version, download_base, delay, url + ) + from time import sleep + + sleep(delay) + log.warn("Downloading %s", url) + src = urllib.request.urlopen(url) + # Read/write all in one block, so we don't create a corrupt file + # if the download is interrupted. + data = _validate_md5(egg_name, src.read()) + dst = open(saveto, "wb") + dst.write(data) + finally: + if src: src.close() + if dst: dst.close() + return os.path.realpath(saveto) + + +def main(argv, version=DEFAULT_VERSION): + """Install or upgrade setuptools and EasyInstall""" + try: + import setuptools + except ImportError: + egg = None + try: + egg = download_setuptools(version, delay=0) + sys.path.insert(0, egg) + from setuptools.command.easy_install import main + + return main(list(argv) + [egg]) # we're done here + finally: + if egg and os.path.exists(egg): + os.unlink(egg) + else: + if setuptools.__version__ == '0.0.1': + print(( + "You have an obsolete version of setuptools installed. Please\n" + "remove it from your system entirely before rerunning this script." + ), file=sys.stderr) + sys.exit(2) + + req = "setuptools>=" + version + import pkg_resources + + try: + pkg_resources.require(req) + except pkg_resources.VersionConflict: + try: + from setuptools.command.easy_install import main + except ImportError: + from easy_install import main + main(list(argv) + [download_setuptools(delay=0)]) + sys.exit(0) # try to force an exit + else: + if argv: + from setuptools.command.easy_install import main + + main(argv) + else: + print("Setuptools version", version, "or greater has been installed.") + print('(Run "ez_setup.py -U setuptools" to reinstall or upgrade.)') + + +def update_md5(filenames): + """Update our built-in md5 registry""" + + import re + + for name in filenames: + base = os.path.basename(name) + f = open(name, 'rb') + md5_data[base] = md5(f.read()).hexdigest() + f.close() + + data = [" %r: %r,\n" % it for it in list(md5_data.items())] + data.sort() + repl = "".join(data) + + import inspect + + srcfile = inspect.getsourcefile(sys.modules[__name__]) + f = open(srcfile, 'rb') + src = f.read() + f.close() + + match = re.search("\nmd5_data = {\n([^}]+)}", src) + if not match: + print("Internal error!", file=sys.stderr) + sys.exit(2) + + src = src[:match.start(1)] + repl + src[match.end(1):] + f = open(srcfile, 'w') + f.write(src) + f.close() + + +if __name__ == '__main__': + if len(sys.argv) > 2 and sys.argv[1] == '--md5update': + update_md5(sys.argv[2:]) + else: + main(sys.argv[1:]) + + + + + + diff --git a/gensim-develop/gensim/__init__.py b/gensim-develop/gensim/__init__.py new file mode 100644 index 0000000000..232957ca43 --- /dev/null +++ b/gensim-develop/gensim/__init__.py @@ -0,0 +1,25 @@ +""" +This package contains interfaces and functionality to compute pair-wise document +similarities within a corpus of documents. +""" + +# for IPython tab-completion +import logging + + +try: + __version__ = __import__('pkg_resources').get_distribution('gensim').version +except: + __version__ = '?' + + +class NullHandler(logging.Handler): + """For python versions <= 2.6; same as `logging.NullHandler` in 2.7.""" + + def emit(self, record): + pass + + +logger = logging.getLogger('gensim') +if len(logger.handlers) == 0: # To ensure reload() doesn't add another one + logger.addHandler(NullHandler()) diff --git a/gensim-develop/gensim/corpora/__init__.py b/gensim-develop/gensim/corpora/__init__.py new file mode 100644 index 0000000000..aa5319b1f1 --- /dev/null +++ b/gensim-develop/gensim/corpora/__init__.py @@ -0,0 +1,6 @@ +""" +This package contains implementations of various streaming corpus I/O format. +""" + +# bring corpus classes directly into package namespace, to save some typing + diff --git a/gensim-develop/gensim/corpora/bleicorpus.py b/gensim-develop/gensim/corpora/bleicorpus.py new file mode 100644 index 0000000000..3c1cc8315b --- /dev/null +++ b/gensim-develop/gensim/corpora/bleicorpus.py @@ -0,0 +1,133 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2010 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + + +""" +Blei's LDA-C format. +""" + +from os import path +import logging + +from gensim import interfaces, utils +from gensim.corpora import IndexedCorpus + + +logger = logging.getLogger('gensim.corpora.bleicorpus') + + +class BleiCorpus(IndexedCorpus): + """ + Corpus in Blei's LDA-C format. + + The corpus is represented as two files: one describing the documents, and another + describing the mapping between words and their ids. + + Each document is one line:: + + N fieldId1:fieldValue1 fieldId2:fieldValue2 ... fieldIdN:fieldValueN + + The vocabulary is a file with words, one word per line; word at line K has an + implicit ``id=K``. + """ + + def __init__(self, fname, fname_vocab=None): + """ + Initialize the corpus from a file. + + `fname_vocab` is the file with vocabulary; if not specified, it defaults to + `fname.vocab`. + """ + IndexedCorpus.__init__(self, fname) + logger.info("loading corpus from %s" % fname) + + if fname_vocab is None: + fname_base, _ = path.splitext(fname) + fname_dir = path.dirname(fname) + for fname_vocab in [ + fname + '.vocab', + fname + '/vocab.txt', + fname_base + '.vocab', + fname_dir + '/vocab.txt', + ]: + if path.exists(fname_vocab): + break + else: + raise IOError('BleiCorpus: could not find vocabulary file') + + self.fname = fname + words = [word.rstrip() for word in open(fname_vocab)] + self.id2word = dict(enumerate(words)) + self.length = None + + + def __iter__(self): + """ + Iterate over the corpus, returning one sparse vector at a time. + """ + length = 0 + for lineNo, line in enumerate(open(self.fname)): + length += 1 + yield self.line2doc(line) + self.length = length + + + def line2doc(self, line): + parts = line.split() + if int(parts[0]) != len(parts) - 1: + raise ValueError("invalid format in %s: %s" % + (self.fname, repr(line))) + doc = [part.rsplit(':', 1) for part in parts[1:]] + doc = [(int(p1), float(p2)) for p1, p2 in doc] + return doc + + + @staticmethod + def save_corpus(fname, corpus, id2word=None): + """ + Save a corpus in the LDA-C format. + + There are actually two files saved: `fname` and `fname.vocab`, where + `fname.vocab` is the vocabulary file. + + This function is automatically called by `BleiCorpus.serialize`; don't + call it directly, call `serialize` instead. + """ + if id2word is None: + logger.info("no word id mapping provided; initializing from corpus") + id2word = utils.dict_from_corpus(corpus) + num_terms = len(id2word) + else: + num_terms = 1 + max([-1] + list(id2word.keys())) + + logger.info("storing corpus in Blei's LDA-C format: %s" % fname) + with open(fname, 'w') as fout: + offsets = [] + for doc in corpus: + doc = list(doc) + offsets.append(fout.tell()) + fout.write("%i %s\n" % (len(doc), + ' '.join("%i:%s" % p for p in doc if abs(p[1]) > 1e-12))) + + # write out vocabulary, in a format compatible with Blei's topics.py script + fname_vocab = fname + '.vocab' + logger.info("saving vocabulary of %i words to %s" % (num_terms, fname_vocab)) + with open(fname_vocab, 'w') as fout: + for featureid in range(num_terms): + fout.write("%s\n" % id2word.get(featureid, '---')) + + return offsets + + def docbyoffset(self, offset): + """ + Return the document stored at file position `offset`. + """ + with open(self.fname) as f: + f.seek(offset) + return self.line2doc(f.readline()) + +#endclass BleiCorpus + diff --git a/gensim-develop/gensim/corpora/dictionary.py b/gensim-develop/gensim/corpora/dictionary.py new file mode 100644 index 0000000000..22500d7cb8 --- /dev/null +++ b/gensim-develop/gensim/corpora/dictionary.py @@ -0,0 +1,353 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2010 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + + +""" +This module implements the concept of Dictionary -- a mapping between words and +their integer ids. + +Dictionaries can be created from a corpus and can later be pruned according to +document frequency (removing (un)common words via the :func:`Dictionary.filter_extremes` method), +save/loaded from disk (via :func:`Dictionary.save` and :func:`Dictionary.load` methods), merged +with other dictionary (:func:`Dictionary.merge_with`) etc. +""" + +import logging +import itertools +import collections + +from gensim import utils + + +logger = logging.getLogger('gensim.corpora.dictionary') + + +class Dictionary(utils.SaveLoad, collections.MutableMapping): + """ + Dictionary encapsulates the mapping between normalized words and their integer ids. + + The main function is `doc2bow`, which converts a collection of words to its + bag-of-words representation: a list of (word_id, word_frequency) 2-tuples. + """ + + def __init__(self, documents=None): + self.token2id = {} # token -> tokenId + self.id2token = {} # reverse mapping for token2id; only formed on request, to save memory + self.dfs = {} # document frequencies: tokenId -> in how many documents this token appeared + + self.num_docs = 0 # number of documents processed + self.num_pos = 0 # total number of corpus positions + self.num_nnz = 0 # total number of non-zeroes in the BOW matrix + + if documents is not None: + self.add_documents(documents) + + + def __getitem__(self, tokenid): + if len(self.id2token) != len(self.token2id): + # the word->id mapping has changed (presumably via add_documents); + # recompute id->word accordingly + self.id2token = dict((v, k) for k, v in self.token2id.items()) + return self.id2token[tokenid] # will throw for non-existent ids + + + def __setitem__(self, key, value): + try: + i = self.keylist.index(key) + self.valuelist[i] = value + except ValueError: + self.keylist.append(key) + self.valuelist.append(value) + + + def __delitem__(self, key): + try: + i = self.keylist.index(key) + except ValueError: + raise KeyError + self.keylist.pop(i) + self.valuelist.pop(i) + + + def __iter__(self): + return iter(self.store) + + + def keys(self): + """Return a list of all token ids.""" + return list(self.token2id.values()) + + + def __len__(self): + """ + Return the number of token->id mappings in the dictionary. + """ + return len(self.token2id) + + + def __str__(self): + return "Dictionary(%i unique tokens)" % len(self) + + + @staticmethod + def from_documents(documents): + return Dictionary(documents=documents) + + + def add_documents(self, documents): + """ + Build dictionary from a collection of documents. Each document is a list + of tokens = **tokenized and normalized** utf-8 encoded strings. + + This is only a convenience wrapper for calling `doc2bow` on each document + with `allow_update=True`. + + >>> print Dictionary(["máma mele maso".split(), "ema má máma".split()]) + Dictionary(5 unique tokens) + """ + for docno, document in enumerate(documents): + if docno % 10000 == 0: + logger.info("adding document #%i to %s" % (docno, self)) + _ = self.doc2bow(document, + allow_update=True) # ignore the result, here we only care about updating token ids + logger.info("built %s from %i documents (total %i corpus positions)" % + (self, self.num_docs, self.num_pos)) + + + def doc2bow(self, document, allow_update=False, return_missing=False): + """ + Convert `document` (a list of words) into the bag-of-words format = list + of `(token_id, token_count)` 2-tuples. Each word is assumed to be a + **tokenized and normalized** utf-8 encoded string. No further preprocessing + is done on the words in `document`; apply tokenization, stemming etc. before + calling this method. + + If `allow_update` is set, then also update dictionary in the process: create + ids for new words. At the same time, update document frequencies -- for + each word appearing in this document, increase its document frequency (`self.dfs`) + by one. + + If `allow_update` is **not** set, this function is `const`, aka read-only. + """ + result = {} + missing = {} + if isinstance(document, str): + raise TypeError("doc2bow expects an array of utf8 tokens on input, not a string") + document = sorted(token for token in document) + # construct (word, frequency) mapping. in python3 this is done simply + # using Counter(), but here i use itertools.groupby() for the job + for word_norm, group in itertools.groupby(document): + frequency = len(list(group)) # how many times does this word appear in the input document + tokenid = self.token2id.get(word_norm, None) + if tokenid is None: + # first time we see this token (~normalized form) + if return_missing: + missing[word_norm] = frequency + if not allow_update: # if we aren't allowed to create new tokens, continue with the next unique token + continue + tokenid = len(self.token2id) + self.token2id[ + word_norm] = tokenid # new id = number of ids made so far; NOTE this assumes there are no gaps in the id sequence! + + # update how many times a token appeared in the document + result[tokenid] = frequency + + if allow_update: + self.num_docs += 1 + self.num_pos += len(document) + self.num_nnz += len(result) + # increase document count for each unique token that appeared in the document + for tokenid in result.keys(): + self.dfs[tokenid] = self.dfs.get(tokenid, 0) + 1 + + # return tokenids, in ascending id order + result = sorted(result.items()) + if return_missing: + return result, missing + else: + return result + + + def filter_extremes(self, no_below=5, no_above=0.5, keep_n=100000): + """ + Filter out tokens that appear in + + 1. less than `no_below` documents (absolute number) or + 2. more than `no_above` documents (fraction of total corpus size, *not* + absolute number). + 3. after (1) and (2), keep only the first `keep_n` most frequent tokens (or + keep all if `None`). + + After the pruning, shrink resulting gaps in word ids. + + **Note**: Due to the gap shrinking, the same word may have a different + word id before and after the call to this function! + """ + no_above_abs = int(no_above * self.num_docs) # convert fractional threshold to absolute threshold + + # determine which tokens to keep + good_ids = (v for v in self.token2id.values() if no_below <= self.dfs[v] <= no_above_abs) + good_ids = sorted(good_ids, key=self.dfs.get, reverse=True) + if keep_n is not None: + good_ids = good_ids[:keep_n] + logger.info("keeping %i tokens which were in no less than %i and no more than %i (=%.1f%%) documents" % + (len(good_ids), no_below, no_above_abs, 100.0 * no_above)) + + # do the actual filtering, then rebuild dictionary to remove gaps in ids + self.filter_tokens(good_ids=good_ids) + self.compactify() + logger.info("resulting dictionary: %s" % self) + + + def filter_tokens(self, bad_ids=None, good_ids=None): + """ + Remove the selected `bad_ids` tokens from all dictionary mappings, or, keep + selected `good_ids` in the mapping and remove the rest. + + `bad_ids` and `good_ids` are collections of word ids to be removed. + """ + if bad_ids is not None: + bad_ids = set(bad_ids) + self.token2id = dict((token, tokenid) for token, tokenid in self.token2id.items() if tokenid not in bad_ids) + self.dfs = dict((tokenid, freq) for tokenid, freq in self.dfs.items() if tokenid not in bad_ids) + if good_ids is not None: + good_ids = set(good_ids) + self.token2id = dict((token, tokenid) for token, tokenid in self.token2id.items() if tokenid in good_ids) + self.dfs = dict((tokenid, freq) for tokenid, freq in self.dfs.items() if tokenid in good_ids) + + + def compactify(self): + """ + Assign new word ids to all words. + + This is done to make the ids more compact, e.g. after some tokens have + been removed via :func:`filter_tokens` and there are gaps in the id series. + Calling this method will remove the gaps. + """ + logger.debug("rebuilding dictionary, shrinking gaps") + + # build mapping from old id -> new id + idmap = dict(zip(iter(self.token2id.values()), range(len(self.token2id)))) + + # reassign mappings to new ids + self.token2id = dict((token, idmap[tokenid]) for token, tokenid in self.token2id.items()) + self.id2token = {} + self.dfs = dict((idmap[tokenid], freq) for tokenid, freq in self.dfs.items()) + + + def save_as_text(self, fname): + """ + Save this Dictionary to a text file, in format: + `id[TAB]word_utf8[TAB]document frequency[NEWLINE]`. + + Note: use `save`/`load` to store in binary format instead (pickle). + """ + logger.info("saving dictionary mapping to %s" % fname) + with utils.smart_open(fname, 'wb') as fout: + for token, tokenid in sorted(self.token2id.items()): + fout.write(("%i\t%s\t%i\n" % (tokenid, token, self.dfs.get(tokenid, 0))).encode()) + + + def merge_with(self, other): + """ + Merge another dictionary into this dictionary, mapping same tokens to the + same ids and new tokens to new ids. The purpose is to merge two corpora + created using two different dictionaries, one from `self` and one from `other`. + + `other` can be any id=>word mapping (a dict, a Dictionary object, ...). + + Return a transformation object which, when accessed as `result[doc_from_other_corpus]`, + will convert documents from a corpus built using the `other` dictionary + into a document using the new, merged dictionary (see :class:`gensim.interfaces.TransformationABC`). + + Example: + + >>> dict1 = Dictionary(some_documents) + >>> dict2 = Dictionary(other_documents) # ids not compatible with dict1! + >>> dict2_to_dict1 = dict1.merge_with(dict2) + >>> # now we can merge corpora from the two incompatible dictionaries into one + >>> merged_corpus = itertools.chain(some_corpus_from_dict1, dict2_to_dict1[some_corpus_from_dict2]) + + """ + old2new = {} + for other_id, other_token in other.items(): + if other_token in self.token2id: + new_id = self.token2id[other_token] + else: + new_id = len(self.token2id) + self.token2id[other_token] = new_id + self.dfs[new_id] = 0 + old2new[other_id] = new_id + try: + self.dfs[new_id] += other.dfs[other_id] + except: + # `other` isn't a Dictionary (probably just a dict) => ignore dfs, keep going + pass + try: + self.num_docs += other.num_docs + self.num_nnz += other.num_nnz + self.num_pos += other.num_pos + except: + pass + + import gensim.models + + return gensim.models.VocabTransform(old2new) + + + @staticmethod + def load_from_text(fname): + """ + Load a previously stored Dictionary from a text file. + Mirror function to `save_as_text`. + """ + result = Dictionary() + with utils.smart_open(fname, 'rb') as f: + for lineno, line in enumerate(f): + try: + wordid, word, docfreq = (line.decode())[:-1].split('\t') + except Exception: + raise ValueError("invalid line in dictionary file %s: %s" + % (fname, line.strip())) + wordid = int(wordid) + if word in result.token2id: + raise KeyError('token %s is defined as ID %d and as ID %d' % (word, wordid, result.token2id[word])) + result.token2id[word] = wordid + result.dfs[wordid] = int(docfreq) + return result + + + @staticmethod + def from_corpus(corpus): + """ + Create Dictionary from an existing corpus. This can be useful if you only + have a term-document BOW matrix (represented by `corpus`), but not the + original text corpus. + + This will scan the term-document count matrix for all word ids that + appear in it, then construct and return Dictionary which maps each + `word_id -> str(word_id)`. + """ + result = Dictionary() + max_id = -1 + for docno, document in enumerate(corpus): + if docno % 10000 == 0: + logger.info("adding document #%i to %s" % (docno, result)) + result.num_docs += 1 + result.num_nnz += len(document) + for wordid, word_freq in document: + max_id = max(wordid, max_id) + result.num_pos += word_freq + result.dfs[wordid] = result.dfs.get(wordid, 0) + 1 + # now make sure length(result) == get_max_id(corpus) + 1 + for i in range(max_id + 1): + result.token2id[str(i)] = i + + logger.info("built %s from %i documents (total %i corpus positions)" % + (result, result.num_docs, result.num_pos)) + return result + + #endclass Dictionary diff --git a/gensim-develop/gensim/corpora/hashdictionary.py b/gensim-develop/gensim/corpora/hashdictionary.py new file mode 100644 index 0000000000..024d2a950a --- /dev/null +++ b/gensim-develop/gensim/corpora/hashdictionary.py @@ -0,0 +1,241 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012 Homer Strong, Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + + +""" +This module implements the concept of HashDictionary -- a mapping between words +and their integer ids. The ids are computed as `hash(word) % id_range`, the idea +being that new words can be represented immediately, without an extra pass through +the corpus to collect all the ids first. See http://en.wikipedia.org/wiki/Hashing-Trick . + +This means that, unline plain Dictionary, several words may map to the same id +(~hash collisions). The word<->id mapping is no longer a bijection. + +""" + +import logging +import itertools +import collections +import zlib + +from gensim import utils + + +logger = logging.getLogger('gensim.corpora.hashdictionary') + + +class HashDictionary(utils.SaveLoad, collections.MutableMapping): + """ + HashDictionary encapsulates the mapping between normalized words and their + integer ids. + + Unlike `Dictionary`, building a `HashDictionary` before using it is not a necessary + step. The documents can be computed immediately, from an uninitialized `HashDictionary`, + without seeing the rest of the corpus first. + + The main function is `doc2bow`, which converts a collection of words to its + bag-of-words representation: a list of (word_id, word_frequency) 2-tuples. + + """ + + def __init__(self, documents=None, id_range=32000, myhash=zlib.adler32, debug=True): + """ + By default, keep track of debug statistics and mappings. If you find yourself + running out of memory (or are sure you don't need the debug info), set + `debug=False`. + """ + self.myhash = myhash # hash fnc: string->integer + self.id_range = id_range # hash range: id = myhash(key) % id_range + self.debug = debug + + # the following (potentially massive!) dictionaries are only formed if `debug` is True + self.token2id = {} + self.id2token = {} # reverse mapping int->set(words) + self.dfs = {} # token_id -> how many documents this token_id appeared in + self.dfs_debug = {} # token_string->how many documents this word appeared in + + self.num_docs = 0 # number of documents processed + self.num_pos = 0 # total number of corpus positions + self.num_nnz = 0 # total number of non-zeroes in the BOW matrix + self.allow_update = True + + if documents is not None: + self.add_documents(documents) + + + def __getitem__(self, tokenid): + """ + Return all words that have mapped to the given id so far, as a set. + + Only works if `self.debug` was enabled. + """ + return self.id2token.get(tokenid, set()) + + + def __setitem__(self, key, value): + try: + i = self.keylist.index(key) + self.valuelist[i] = value + except ValueError: + self.keylist.append(key) + self.valuelist.append(value) + + + def __delitem__(self, key): + try: + i = self.keylist.index(key) + except ValueError: + raise KeyError + self.keylist.pop(i) + self.valuelist.pop(i) + + + def __iter__(self): + return iter(self.store) + + + def restricted_hash(self, token): + """ + Calculate id of the given token. Also keep track of what words were mapped + to what ids, for debugging reasons. + """ + h = self.myhash(token.encode()) % self.id_range + if self.debug: + self.token2id[token] = h + self.id2token.setdefault(h, set()).add(token) + return h + + + def __len__(self): + """ + Return the number of distinct ids = the entire dictionary size. + """ + return self.id_range + + + def keys(self): + """Return a list of all token ids.""" + return list(range(len(self))) + + + def __str__(self): + return "HashDictionary(%i id range)" % len(self) + + + @staticmethod + def from_documents(*args, **kwargs): + return HashDictionary(*args, **kwargs) + + + def add_documents(self, documents): + """ + Build dictionary from a collection of documents. Each document is a list + of tokens = **tokenized and normalized** utf-8 encoded strings. + + This is only a convenience wrapper for calling `doc2bow` on each document + with `allow_update=True`. + """ + for docno, document in enumerate(documents): + if docno % 10000 == 0: + logger.info("adding document #%i to %s" % (docno, self)) + _ = self.doc2bow(document, + allow_update=True) # ignore the result, here we only care about updating token ids + logger.info("built %s from %i documents (total %i corpus positions)" % + (self, self.num_docs, self.num_pos)) + + + def doc2bow(self, document, allow_update=False, return_missing=False): + """ + Convert `document` (a list of words) into the bag-of-words format = list + of `(token_id, token_count)` 2-tuples. Each word is assumed to be a + **tokenized and normalized** utf-8 encoded string. No further preprocessing + is done on the words in `document`; apply tokenization, stemming etc. before + calling this method. + + If `allow_update` or `self.allow_update` is set, then also update dictionary + in the process: update overall corpus statistics and document frequencies. + For each id appearing in this document, increase its document frequency + (`self.dfs`) by one. + + """ + result = {} + missing = {} + document = sorted(document) # convert the input to plain list (needed below) + for word_norm, group in itertools.groupby(document): + frequency = len(list(group)) # how many times does this word appear in the input document + tokenid = self.restricted_hash(word_norm) + result[tokenid] = result.get(tokenid, 0) + frequency + if self.debug: + # increment document count for each unique token that appeared in the document + self.dfs_debug[word_norm] = self.dfs_debug.get(word_norm, 0) + 1 + + if allow_update or self.allow_update: + self.num_docs += 1 + self.num_pos += len(document) + self.num_nnz += len(result) + if self.debug: + # increment document count for each unique tokenid that appeared in the document + # done here, because several words may map to the same tokenid + for tokenid in result.keys(): + self.dfs[tokenid] = self.dfs.get(tokenid, 0) + 1 + + # return tokenids, in ascending id order + result = sorted(result.items()) + if return_missing: + return result, missing + else: + return result + + + def filter_extremes(self, no_below=5, no_above=0.5, keep_n=100000): + """ + Remove document frequency statistics for tokens that appear in + + 1. less than `no_below` documents (absolute number) or + 2. more than `no_above` documents (fraction of total corpus size, *not* + absolute number). + 3. after (1) and (2), keep only the first `keep_n` most frequent tokens (or + keep all if `None`). + + **Note:** since HashDictionary's id range is fixed and doesn't depend on + the number of tokens seen, this doesn't really "remove" anything. It only + clears some supplementary statistics, for easier debugging and smaller RAM + footprint. + """ + no_above_abs = int(no_above * self.num_docs) # convert fractional threshold to absolute threshold + ok = [item for item in self.dfs_debug.items() if no_below <= item[1] <= no_above_abs] + ok = frozenset(word for word, freq in sorted(ok, key=lambda item: -item[1])[:keep_n]) + + self.dfs_debug = dict((word, freq) for word, freq in self.dfs_debug.items() if word in ok) + self.token2id = dict((token, tokenid) for token, tokenid in self.token2id.items() if token in self.dfs_debug) + self.id2token = dict((tokenid, set(token for token in tokens if token in self.dfs_debug)) for tokenid, tokens in + self.id2token.items()) + self.dfs = dict((tokenid, freq) for tokenid, freq in self.dfs.items() if self.id2token.get(tokenid, set())) + + # for word->document frequency + logger.info("kept statistics for which were in no less than %i and no more than %i (=%.1f%%) documents" % + (no_below, no_above_abs, 100.0 * no_above)) + + + def save_as_text(self, fname): + """ + Save this HashDictionary to a text file, for easier debugging. + + The format is: + `id[TAB]document frequency of this id[TAB]tab-separated set of words in UTF8 that map to this id[NEWLINE]`. + + Note: use `save`/`load` to store in binary format instead (pickle). + """ + logger.info("saving HashDictionary mapping to %s" % fname) + with utils.smart_open(fname, 'wb') as fout: + for tokenid in list(self.keys()): + words = sorted(self[tokenid]) + if words: + words_df = [(word, self.dfs_debug.get(word, 0)) for word in words] + words_df = ["%s(%i)" % item for item in sorted(words_df, key=lambda item: -item[1])] + fout.write(("%i\t%i\t%s\n" % (tokenid, self.dfs.get(tokenid, 0), '\t'.join(words_df))).encode()) + +#endclass HashDictionary diff --git a/gensim-develop/gensim/corpora/indexedcorpus.py b/gensim-develop/gensim/corpora/indexedcorpus.py new file mode 100644 index 0000000000..410ce6967b --- /dev/null +++ b/gensim-develop/gensim/corpora/indexedcorpus.py @@ -0,0 +1,123 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2010 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + + +""" +Indexed corpus is a mechanism for random-accessing corpora. + +While the standard corpus interface in gensim allows iterating over corpus with +`for doc in corpus: pass`, indexed corpus allows accessing the documents with +`corpus[docno]` (in O(1) look-up time). + +This functionality is achieved by storing an extra file (by default named the same +as the corpus file plus '.index' suffix) that stores the byte offset of the beginning +of each document. +""" + +import logging +import shelve + +from gensim import interfaces, utils + +logger = logging.getLogger('gensim.corpora.indexedcorpus') + + +class IndexedCorpus(interfaces.CorpusABC): + def __init__(self, fname, index_fname=None): + """ + Initialize this abstract base class, by loading a previously saved index + from `index_fname` (or `fname.index` if `index_fname` is not set). + This index will allow subclasses to support the `corpus[docno]` syntax + (random access to document #`docno` in O(1)). + + >>> # save corpus in SvmLightCorpus format with an index + >>> corpus = [[(1, 0.5)], [(0, 1.0), (1, 2.0)]] + >>> gensim.corpora.SvmLightCorpus.serialize('testfile.svmlight', corpus) + >>> # load back as a document stream (*not* plain Python list) + >>> corpus_with_random_access = gensim.corpora.SvmLightCorpus('tstfile.svmlight') + >>> print corpus_with_random_access[1] + [(0, 1.0), (1, 2.0)] + + :param fname: + :param index_fname: + """ + if not(self.index == None): + if index_fname is None: + index_fname = fname + '.index' + self.index = utils.unpickle(index_fname) + logger.info("loaded corpus index from %s" % index_fname) + self.length = None + + + @classmethod + def serialize(cls, fname, corpus, id2word=None, index_fname=None, progress_cnt=None, labels=None): + """ + Iterate through the document stream `corpus`, saving the documents to `fname` + and recording byte offset of each document. Save the resulting index + structure to file `index_fname` (or `fname`.index is not set). + + This relies on the underlying corpus class `serializer` providing (in + :param fname: + :param corpus: + :param id2word: + :param index_fname: + :param progress_cnt: + :param labels: + addition to standard iteration): + + * `save_corpus` method that returns a sequence of byte offsets, one for + each saved document, + * the `docbyoffset(offset)` method, which returns a document + positioned at `offset` bytes within the persistent storage (file). + + Example: + + >>> MmCorpus.serialize('test.mm', corpus) + >>> mm = MmCorpus('test.mm') # `mm` document stream now has random access + >>> print mm[42] # retrieve document no. 42, etc. + """ + if index_fname is None: + index_fname = fname + '.index' + + if progress_cnt is not None: + if labels is not None: + offsets = cls.save_corpus(fname, corpus, id2word, labels=labels, progress_cnt=progress_cnt) + else: + offsets = cls.save_corpus(fname, corpus, id2word, progress_cnt=progress_cnt) + else: + if labels is not None: + offsets = cls.save_corpus(fname, corpus, id2word, labels=labels) + else: + offsets = cls.save_corpus(fname, corpus, id2word) + + if offsets is None: + raise NotImplementedError("called serialize on class %s which doesn't support indexing!" % + cls.__name__) + + # store offsets persistently, using pickle + logger.info("saving %s index to %s" % (cls.__name__, index_fname)) + utils.pickle(offsets, index_fname) + + + def __len__(self): + """ + Return cached corpus length if the corpus is indexed. Otherwise delegate + `len()` call to base class. + """ + if self.index is not None: + return len(self.index) + if self.length is None: + logger.info("caching corpus length") + self.length = sum(1 for doc in self) + return self.length + + + def __getitem__(self, docno): + if self.index is None: + raise RuntimeError("cannot call corpus[docid] without an index") + return self.docbyoffset(self.index[docno]) + + #endclass IndexedCorpus diff --git a/gensim-develop/gensim/corpora/lowcorpus.py b/gensim-develop/gensim/corpora/lowcorpus.py new file mode 100644 index 0000000000..2ae05cc079 --- /dev/null +++ b/gensim-develop/gensim/corpora/lowcorpus.py @@ -0,0 +1,177 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2010 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + + +""" +Corpus in GibbsLda++ format of List-Of-Words. +""" + +import logging + +from gensim import interfaces, utils +from gensim.corpora import IndexedCorpus + + +logger = logging.getLogger('gensim.corpora.lowcorpus') + + +def split_on_space(s): + return [word for word in s.strip().split(' ') if word] + + +class LowCorpus(IndexedCorpus): + """ + List_Of_Words corpus handles input in GibbsLda++ format. + + Quoting http://gibbslda.sourceforge.net/#3.2_Input_Data_Format:: + + Both data for training/estimating the model and new data (i.e., previously + unseen data) have the same format as follows: + + [M] + [document1] + [document2] + ... + [documentM] + + in which the first line is the total number for documents [M]. Each line + after that is one document. [documenti] is the ith document of the dataset + that consists of a list of Ni words/terms. + + [documenti] = [wordi1] [wordi2] ... [wordiNi] + + in which all [wordij] (i=1..M, j=1..Ni) are text strings and they are separated + by the blank character. + """ + + def __init__(self, fname, id2word=None, line2words=split_on_space): + """ + Initialize the corpus from a file. + + `id2word` and `line2words` are optional parameters. + If provided, `id2word` is a dictionary mapping between word_ids (integers) + and words (strings). If not provided, the mapping is constructed from + the documents. + + `line2words` is a function which converts lines into tokens. Defaults to + simple splitting on spaces. + """ + IndexedCorpus.__init__(self, fname) + logger.info("loading corpus from %s" % fname) + + self.fname = fname # input file, see class doc for format + self.line2words = line2words # how to translate lines into words (simply split on space by default) + self.num_docs = int(open( + fname).readline()) # the first line in input data is the number of documents (integer). throws exception on bad input. + + if not id2word: + # build a list of all word types in the corpus (distinct words) + logger.info("extracting vocabulary from the corpus") + all_terms = set() + self.use_wordids = False # return documents as (word, wordCount) 2-tuples + for doc in self: + all_terms.update(word for word, wordCnt in doc) + all_terms = sorted(all_terms) # sort the list of all words; rank in that list = word's integer id + self.id2word = dict( + zip(range(len(all_terms)), all_terms)) # build a mapping of word id(int) -> word (string) + else: + logger.info("using provided word mapping (%i ids)" % len(id2word)) + self.id2word = id2word + self.word2id = dict((v, k) for k, v in self.id2word.items()) + self.num_terms = len(self.word2id) + self.use_wordids = True # return documents as (wordIndex, wordCount) 2-tuples + + logger.info("loaded corpus with %i documents and %i terms from %s" % + (self.num_docs, self.num_terms, fname)) + + + def __len__(self): + return self.num_docs + + + def line2doc(self, line): + words = self.line2words(line) + + if self.use_wordids: + # get all distinct terms in this document, ignore unknown words + uniq_words = set(words).intersection(iter(self.word2id.keys())) + + # the following creates a unique list of words *in the same order* + # as they were in the input. when iterating over the documents, + # the (word, count) pairs will appear in the same order as they + # were in the input (bar duplicates), which looks better. + # if this was not needed, we might as well have used useWords = set(words) + use_words, marker = [], set() + for word in words: + if (word in uniq_words) and (word not in marker): + use_words.append(word) + marker.add(word) + # construct a list of (wordIndex, wordFrequency) 2-tuples + doc = list(zip(list(map(self.word2id.get, use_words)), list(map(words.count, + use_words)))) # using list.count is suboptimal but speed of this whole function is irrelevant + else: + uniq_words = set(words) + # construct a list of (word, wordFrequency) 2-tuples + doc = list(zip(uniq_words, list( + map(words.count, uniq_words)))) # using list.count is suboptimal but that's irrelevant at this point + + # return the document, then forget it and move on to the next one + # note that this way, only one doc is stored in memory at a time, not the whole corpus + return doc + + + def __iter__(self): + """ + Iterate over the corpus, returning one bag-of-words vector at a time. + """ + for lineno, line in enumerate(open(self.fname)): + if lineno > 0: # ignore the first line = number of documents + yield self.line2doc(line) + + + @staticmethod + def save_corpus(fname, corpus, id2word=None): + """ + Save a corpus in the List-of-words format. + + This function is automatically called by `LowCorpus.serialize`; don't + call it directly, call `serialize` instead. + """ + if id2word is None: + logger.info("no word id mapping provided; initializing from corpus") + id2word = utils.dict_from_corpus(corpus) + + logger.info("storing corpus in List-Of-Words format: %s" % fname) + truncated = 0 + offsets = [] + with open(fname, 'w') as fout: + fout.write('%i\n' % len(corpus)) + for doc in corpus: + words = [] + for wordid, value in doc: + if abs(int(value) - value) > 1e-6: + truncated += 1 + words.extend([str(id2word[wordid])] * int(value)) + offsets.append(fout.tell()) + fout.write('%s\n' % ' '.join(words)) + + if truncated: + logger.warning("List-of-words format can only save vectors with " + "integer elements; %i float entries were truncated to integer value" % + truncated) + return offsets + + + def docbyoffset(self, offset): + """ + Return the document stored at file position `offset`. + """ + with open(self.fname) as f: + f.seek(offset) + return self.line2doc(f.readline()) + +#endclass LowCorpus + diff --git a/gensim-develop/gensim/corpora/mmcorpus.py b/gensim-develop/gensim/corpora/mmcorpus.py new file mode 100644 index 0000000000..bd1bab57c7 --- /dev/null +++ b/gensim-develop/gensim/corpora/mmcorpus.py @@ -0,0 +1,51 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2010 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + + +""" +Corpus in the Matrix Market format. +""" + +import logging + +from gensim import interfaces, matutils +from gensim.corpora import IndexedCorpus + + +logger = logging.getLogger('gensim.corpora.mmcorpus') + + +class MmCorpus(matutils.MmReader, IndexedCorpus): + """ + Corpus in the Matrix Market format. + """ + + def __init__(self, fname): + # avoid calling super(), too confusing + IndexedCorpus.__init__(self, fname) + matutils.MmReader.__init__(self, fname) + + def __iter__(self): + """ + Interpret a matrix in Matrix Market format as a streamed gensim corpus + (yielding one document at a time). + """ + for docId, doc in super(MmCorpus, self).__iter__(): + yield doc # get rid of docId, return the sparse vector only + + @staticmethod + def save_corpus(fname, corpus, id2word=None, progress_cnt=1000): + """ + Save a corpus in the Matrix Market format to disk. + + This function is automatically called by `MmCorpus.serialize`; don't + call it directly, call `serialize` instead. + """ + logger.info("storing corpus in Matrix Market format to %s" % fname) + num_terms = len(id2word) if id2word is not None else None + return matutils.MmWriter.write_corpus(fname, corpus, num_terms=num_terms, index=True, progress_cnt=progress_cnt) + + #endclass MmCorpus diff --git a/gensim-develop/gensim/corpora/svmlightcorpus.py b/gensim-develop/gensim/corpora/svmlightcorpus.py new file mode 100644 index 0000000000..74fdd02211 --- /dev/null +++ b/gensim-develop/gensim/corpora/svmlightcorpus.py @@ -0,0 +1,123 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2010 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + + +""" +Corpus in SVMlight format. +""" + +import logging + +from gensim.corpora import IndexedCorpus + + +logger = logging.getLogger('gensim.corpora.svmlightcorpus') + + +class SvmLightCorpus(IndexedCorpus): + """ + Corpus in SVMlight format. + + Quoting http://svmlight.joachims.org/: + The input file contains the training examples. The first lines + may contain comments and are ignored if they start with #. Each of the following + lines represents one training example and is of the following format:: + + .=. : : ... : # + .=. +1 | -1 | 0 | + .=. | "qid" + .=. + .=. + + The "qid" feature (used for SVMlight ranking), if present, is ignored. + + Although not mentioned in the specification above, SVMlight also expect its + feature ids to be 1-based (counting starts at 1). We convert features to 0-base + internally by decrementing all ids when loading a SVMlight input file, and + increment them again when saving as SVMlight. + """ + + def __init__(self, fname): + """ + Initialize the corpus from a file. + """ + IndexedCorpus.__init__(self, fname) + logger.info("loading corpus from %s" % fname) + + self.fname = fname # input file, see class doc for format + self.length = None + + + def __iter__(self): + """ + Iterate over the corpus, returning one sparse vector at a time. + """ + length = 0 + with open(self.fname) as fin: + for lineNo, line in enumerate(fin): + doc = self.line2doc(line) + if doc is not None: + length += 1 + yield doc + self.length = length + + + @staticmethod + def save_corpus(fname, corpus, labels=False): + """ + Save a corpus in the SVMlight format. + + The SVMlight `` class tag is taken from the `labels` array, or set + to 0 for all documents if `labels` is not supplied. + + This function is automatically called by `SvmLightCorpus.serialize`; don't + call it directly, call `serialize` instead. + """ + logger.info("converting corpus to SVMlight format: %s" % fname) + + offsets = [] + with open(fname, 'w') as fout: + for docno, doc in enumerate(corpus): + label = labels[docno] if labels else 0 # target class is 0 by default + offsets.append(fout.tell()) + fout.write(SvmLightCorpus.doc2line(doc, label)) + return offsets + + + def docbyoffset(self, offset): + """ + Return the document stored at file position `offset`. + """ + with open(self.fname) as f: + f.seek(offset) + return self.line2doc(f.readline()) + + + def line2doc(self, line): + """ + Create a document from a single line (string) in SVMlight format + """ + line = line[: line.find('#')].strip() + if not line: + return None # ignore comments and empty lines + parts = line.split() + if not parts: + raise ValueError('invalid line format in %s' % self.fname) + target, fields = parts[0], [part.rsplit(':', 1) for part in parts[1:]] + doc = [(int(p1) - 1, float(p2)) for p1, p2 in fields if + p1 != 'qid'] # ignore 'qid' features, convert 1-based feature ids to 0-based + return doc + + + @staticmethod + def doc2line(doc, label=0): + """ + Output the document in SVMlight format, as a string. Inverse function to `line2doc`. + """ + pairs = ' '.join("%i:%s" % (termid + 1, termval) for termid, termval in doc) # +1 to convert 0-base to 1-base + return str(label) + " %s\n" % pairs + + #endclass SvmLightCorpus diff --git a/gensim-develop/gensim/corpora/textcorpus.py b/gensim-develop/gensim/corpora/textcorpus.py new file mode 100644 index 0000000000..9a56a0efc8 --- /dev/null +++ b/gensim-develop/gensim/corpora/textcorpus.py @@ -0,0 +1,113 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + +""" +Text corpora usually reside on disk, as text files in one format or another +In a common scenario, we need to build a dictionary (a `word->integer id` +mapping), which is then used to construct sparse bag-of-word vectors +(= sequences of `(word_id, word_weight)` 2-tuples). + +This module provides some code scaffolding to simplify this pipeline. For +example, given a corpus where each document is a separate line in file on disk, +you would override the `TextCorpus.get_texts` method to read one line=document +at a time, process it (lowercase, tokenize, whatever) and yield it as a sequence +of words. + +Overriding `get_texts` is enough; you can then initialize the corpus with e.g. +`MyTextCorpus(bz2.BZ2File('mycorpus.txt.bz2'))` and it will behave correctly like a +corpus of sparse vectors. The `__iter__` methods is automatically set up, and +dictionary is automatically populated with all `word->id` mappings. + +The resulting object can be used as input to all gensim models (TFIDF, LSI, ...), +serialized with any format (Matrix Market, SvmLight, Blei's LDA-C format etc). + +See the `gensim.test.test_miislita.CorpusMiislita` class for a simple example. +""" + +import logging + +from gensim import interfaces, utils +from .dictionary import Dictionary + +logger = logging.getLogger('gensim.corpora.textcorpus') + + +def getstream(input): + """ + If input is a filename (string), return `open(input)`. + If input is a file-like object, reset it to the beginning with `input.seek(0)`. + """ + assert input is not None + if isinstance(input, str): + # input was a filename: open as text file + result = open(input) + else: + # input was a file-like object (BZ2, Gzip etc.); reset the stream to its beginning + result = input + result.seek(0) + return result + + +class TextCorpus(interfaces.CorpusABC): + """ + Helper class to simplify the pipeline of getting bag-of-words vectors (= a + gensim corpus) from plain text. + + This is an abstract base class: override the `get_texts()` method to match + your particular input. + + Given a filename (or a file-like object) in constructor, the corpus object + will be automatically initialized with a dictionary in `self.dictionary` and + will support the `iter` corpus method. You must only provide a correct `get_texts` + implementation. + + """ + + def __init__(self, input=None): + super(TextCorpus, self).__init__() + self.input = input + self.dictionary = Dictionary() + if input is not None: + self.dictionary.add_documents(self.get_texts()) + else: + logger.warning("No input document stream provided; assuming " + "dictionary will be initialized some other way.") + + + def __iter__(self): + """ + The function that defines a corpus. + + Iterating over the corpus must yield sparse vectors, one for each document. + """ + for text in self.get_texts(): + yield self.dictionary.doc2bow(text, allow_update=False) + + + def getstream(self): + return getstream(self.input) + + + def get_texts(self): + """ + Iterate over the collection, yielding one document at a time. A document + is a sequence of words (strings) that can be fed into `Dictionary.doc2bow`. + + Override this function to match your input (parse input files, do any + text preprocessing, lowercasing, tokenizing etc.). There will be no further + preprocessing of the words coming out of this function. + """ + # Instead of raising NotImplementedError, let's provide a sample implementation: + # assume documents are lines in a single file (one document per line). + # Yield each document as a list of lowercase tokens, via `utils.tokenize`. + length = 0 + for lineno, line in enumerate(getstream(self.input)): + length += 1 + yield utils.tokenize(line, lowercase=True) + self.length = length + + + def __len__(self): + return self.length # will throw if corpus not initialized diff --git a/gensim-develop/gensim/corpora/ucicorpus.py b/gensim-develop/gensim/corpora/ucicorpus.py new file mode 100644 index 0000000000..5a5c7779a2 --- /dev/null +++ b/gensim-develop/gensim/corpora/ucicorpus.py @@ -0,0 +1,221 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012 Jonathan Esterhazy +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + + +""" +University of California, Irvine (UCI) Bag-of-Words format. + +http://archive.ics.uci.edu/ml/datasets/Bag+of+Words +""" + +import logging +from collections import defaultdict + +from gensim import utils +from gensim.corpora import Dictionary +from gensim.corpora import IndexedCorpus +from gensim.matutils import MmReader +from gensim.matutils import MmWriter + + +logger = logging.getLogger('gensim.corpora.ucicorpus') + + +class UciReader(MmReader): + def __init__(self, input): + """ + Initialize the reader. + + The `input` parameter refers to a file on the local filesystem, + which is expected to be in the UCI Bag-of-Words format. + """ + + logger.info('Initializing corpus reader from %s' % input) + + self.input = input + + if isinstance(input, str): + input = open(input) + + self.num_docs = self.num_terms = self.num_nnz = 0 + self.num_docs = int(next(input).strip()) + self.num_terms = int(next(input).strip()) + self.num_nnz = int(next(input).strip()) + + logger.info('accepted corpus with %i documents, %i features, %i non-zero entries' % + (self.num_docs, self.num_terms, self.num_nnz)) + + def skip_headers(self, input_file): + for lineno, _ in enumerate(input_file): + if lineno == 2: + break + +#endclass UciReader + + +class UciWriter(MmWriter): + """ + Store a corpus in UCI Bag-of-Words format. + + This corpus format is identical to MM format, except for + different file headers. There is no format line, and the first + three lines of the file contain number_docs, num_terms, and num_nnz, + one value per line. + + This implementation is based on matutils.MmWriter, and works the same way. + + """ + MAX_HEADER_LENGTH = 20 + + def write_headers(self): + """ + Write blank header lines. Will be updated later, once corpus stats are known. + """ + for _ in range(3): + self.fout.write((' ' * UciWriter.MAX_HEADER_LENGTH + '\n').encode()) # 20 digits per value + + self.last_docno = -1 + self.headers_written = True + + def update_headers(self, num_docs, num_terms, num_nnz): + """ + Update headers with actual values. + """ + offset = 0 + values = [str(n) for n in [num_docs, num_terms, num_nnz]] + + for value in values: + if len(value) > UciWriter.MAX_HEADER_LENGTH: + raise ValueError('Invalid header: value too large!') + self.fout.seek(offset) + self.fout.write(value.encode()) + offset += UciWriter.MAX_HEADER_LENGTH + len('\n') + + @staticmethod + def write_corpus(fname, corpus, progress_cnt=1000, index=False): + writer = UciWriter(fname) + writer.write_headers() + + num_terms, num_nnz = 0, 0 + docno, poslast = -1, -1 + offsets = [] + for docno, bow in enumerate(corpus): + + if docno % progress_cnt == 0: + logger.info("PROGRESS: saving document #%i" % docno) + if index: + posnow = writer.fout.tell() + if posnow == poslast: + offsets[-1] = -1 + offsets.append(posnow) + poslast = posnow + + vector = [(x, int(y)) for (x, y) in bow if int(y) != 0] # integer count, not floating weights + max_id, veclen = writer.write_vector(docno, vector) + num_terms = max(num_terms, 1 + max_id) + num_nnz += veclen + num_docs = docno + 1 + + if num_docs * num_terms != 0: + logger.info("saved %ix%i matrix, density=%.3f%% (%i/%i)" % + (num_docs, num_terms, + 100.0 * num_nnz / (num_docs * num_terms), + num_nnz, + num_docs * num_terms)) + + # now write proper headers, by seeking and overwriting the spaces written earlier + writer.update_headers(num_docs, num_terms, num_nnz) + + writer.close() + if index: + return offsets + +#endclass UciWriter + + +class UciCorpus(UciReader, IndexedCorpus): + """ + Corpus in the UCI bag-of-words format. + """ + + def __init__(self, fname, fname_vocab=None): + IndexedCorpus.__init__(self, fname) + UciReader.__init__(self, fname) + + if fname_vocab is None: + fname_vocab = fname + '.vocab' + + self.fname = fname + words = [word.strip() for word in open(fname_vocab)] + self.id2word = dict(enumerate(words)) + + self.transposed = True + + def __iter__(self): + """ + Interpret a matrix in UCI bag-of-words format as a streamed gensim corpus + (yielding one document at a time). + """ + for docId, doc in super(UciCorpus, self).__iter__(): + yield doc # get rid of docId, return the sparse vector only + + def create_dictionary(self): + """ + Utility method to generate gensim-style Dictionary directly from + the corpus and vocabulary data. + """ + dictionary = Dictionary() + + # replace dfs with defaultdict to avoid downstream KeyErrors + # uci vocabularies may contain terms that are not used in the document data + dictionary.dfs = defaultdict(int) + + dictionary.id2token = self.id2word + dictionary.token2id = dict((v, k) for k, v in self.id2word.items()) + + dictionary.num_docs = self.num_docs + dictionary.num_nnz = self.num_nnz + + for docno, doc in enumerate(self): + if docno % 10000 == 0: + logger.info('PROGRESS: processing document %i of %i' % (docno, self.num_docs)) + + for word, count in doc: + dictionary.dfs[word] += 1 + dictionary.num_pos += count + + return dictionary + + @staticmethod + def save_corpus(fname, corpus, id2word=None, progress_cnt=10000): + """ + Save a corpus in the UCI Bag-of-Words format. + + There are actually two files saved: `fname` and `fname.vocab`, where + `fname.vocab` is the vocabulary file. + + This function is automatically called by `UciCorpus.serialize`; don't + call it directly, call `serialize` instead. + """ + if id2word is None: + logger.info("no word id mapping provided; initializing from corpus") + id2word = utils.dict_from_corpus(corpus) + num_terms = len(id2word) + else: + num_terms = 1 + max([-1] + list(id2word.keys())) + + # write out vocabulary + fname_vocab = fname + '.vocab' + logger.info("saving vocabulary of %i words to %s" % (num_terms, fname_vocab)) + with open(fname_vocab, 'w') as fout: + for featureid in range(num_terms): + fout.write(("%s\n" % id2word.get(featureid, '---').encode())) + + logger.info("storing corpus in UCI Bag-of-Words format: %s" % fname) + + return UciWriter.write_corpus(fname, corpus, index=True, progress_cnt=progress_cnt) + + #endclass UciCorpus diff --git a/gensim-develop/gensim/corpora/wikicorpus.py b/gensim-develop/gensim/corpora/wikicorpus.py new file mode 100644 index 0000000000..a7bd881c87 --- /dev/null +++ b/gensim-develop/gensim/corpora/wikicorpus.py @@ -0,0 +1,301 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2010 Radim Rehurek +# Copyright (C) 2012 Lars Buitinck +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + + +""" +Construct a corpus from a Wikipedia (or other MediaWiki-based) database dump. + +If you have the `pattern` package installed, this module will use a fancy +lemmatization to get a lemma of each token (instead of plain alphabetic +tokenizer). The package is available at https://github.com/clips/pattern . + +See scripts/process_wiki.py for a canned (example) script based on this +module. +""" + +import bz2 +import logging +import re +from xml.etree.cElementTree import iterparse # LXML isn't faster, so let's go with the built-in solution +import multiprocessing + +from gensim import utils + +# cannot import whole gensim.corpora, because that imports wikicorpus... +from gensim.corpora.dictionary import Dictionary +from gensim.corpora.textcorpus import TextCorpus + +logger = logging.getLogger('gensim.corpora.wikicorpus') + +# ignore articles shorter than ARTICLE_MIN_WORDS characters (after full preprocessing) +ARTICLE_MIN_WORDS = 50 + +RE_P0 = re.compile('', re.DOTALL | re.UNICODE) # comments +RE_P1 = re.compile(' ].*?)(|/>)', re.DOTALL | re.UNICODE) # footnotes +RE_P2 = re.compile("(\n\[\[[a-z][a-z][\w-]*:[^:\]]+\]\])+$", re.UNICODE) # links to languages +RE_P3 = re.compile("{{([^}{]*)}}", re.DOTALL | re.UNICODE) # template +RE_P4 = re.compile("{{([^}]*)}}", re.DOTALL | re.UNICODE) # template +RE_P5 = re.compile('\[(\w+):\/\/(.*?)(( (.*?))|())\]', re.UNICODE) # remove URL, keep description +RE_P6 = re.compile("\[([^][]*)\|([^][]*)\]", re.DOTALL | re.UNICODE) # simplify links, keep description +RE_P7 = re.compile('\n\[\[[iI]mage(.*?)(\|.*?)*\|(.*?)\]\]', re.UNICODE) # keep description of images +RE_P8 = re.compile('\n\[\[[fF]ile(.*?)(\|.*?)*\|(.*?)\]\]', re.UNICODE) # keep description of files +RE_P9 = re.compile(' ].*?)(|/>)', re.DOTALL | re.UNICODE) # outside links +RE_P10 = re.compile(' ].*?)(|/>)', re.DOTALL | re.UNICODE) # math content +RE_P11 = re.compile('<(.*?)>', re.DOTALL | re.UNICODE) # all other tags +RE_P12 = re.compile('\n(({\|)|(\|-)|(\|}))(.*?)(?=\n)', re.UNICODE) # table formatting +RE_P13 = re.compile('\n(\||\!)(.*?\|)*([^|]*?)', re.UNICODE) # table cell formatting +RE_P14 = re.compile('\[\[Category:[^][]*\]\]', re.UNICODE) # categories +# Remove File and Image template +RE_P15 = re.compile('\[\[([fF]ile:|[iI]mage)[^]]*(\]\])', re.UNICODE) + + +def filter_wiki(raw): + """ + Filter out wiki mark-up from `raw`, leaving only text. `raw` is either unicode + or utf-8 encoded string. + """ + # parsing of the wiki markup is not perfect, but sufficient for our purposes + # contributions to improving this code are welcome :) + text = utils.to_unicode(raw, 'utf8', errors='ignore') + text = utils.decode_htmlentities(text) # '&nbsp;' --> '\xa0' + return remove_markup(text) + + +def remove_markup(text): + text = re.sub(RE_P2, "", text) # remove the last list (=languages) + # the wiki markup is recursive (markup inside markup etc) + # instead of writing a recursive grammar, here we deal with that by removing + # markup in a loop, starting with inner-most expressions and working outwards, + # for as long as something changes. + text = remove_template(text) + text = remove_file(text) + iters = 0 + while True: + old, iters = text, iters + 1 + text = re.sub(RE_P0, "", text) # remove comments + text = re.sub(RE_P1, '', text) # remove footnotes + text = re.sub(RE_P9, "", text) # remove outside links + text = re.sub(RE_P10, "", text) # remove math content + text = re.sub(RE_P11, "", text) # remove all remaining tags + text = re.sub(RE_P14, '', text) # remove categories + text = re.sub(RE_P5, '\\3', text) # remove urls, keep description + text = re.sub(RE_P6, '\\2', text) # simplify links, keep description only + # remove table markup + text = text.replace('||', '\n|') # each table cell on a separate line + text = re.sub(RE_P12, '\n', text) # remove formatting lines + text = re.sub(RE_P13, '\n\\3', text) # leave only cell content + # remove empty mark-up + text = text.replace('[]', '') + if old == text or iters > 2: # stop if nothing changed between two iterations or after a fixed number of iterations + break + + # the following is needed to make the tokenizer see '[[socialist]]s' as a single word 'socialists' + # TODO is this really desirable? + text = text.replace('[', '').replace(']', '') # promote all remaining markup to plain text + return text + + +def remove_template(s): + """Remove template wikimedia markup. + + Return a copy of `s` with all the wikimedia markup template removed. See + http://meta.wikimedia.org/wiki/Help:Template for wikimedia templates + details. + + Note: Since template can be nested, it is difficult remove them using + regular expresssions. + """ + + # Find the start and end position of each template by finding the opening + # '{{' and closing '}}' + n_open, n_close = 0, 0 + starts, ends = [], [] + in_template = False + prev_c = None + for i, c in enumerate(iter(s)): + if not in_template: + if c == '{' and c == prev_c: + starts.append(i - 1) + in_template = True + n_open = 1 + if in_template: + if c == '{': + n_open += 1 + elif c == '}': + n_close += 1 + if n_open == n_close: + ends.append(i) + in_template = False + n_open, n_close = 0, 0 + prev_c = c + + # Remove all the templates + s = ''.join([s[end + 1:start] for start, end in + zip(starts + [None], [-1] + ends)]) + + return s + + +def remove_file(s): + """Remove the 'File:' and 'Image:' markup, keeping the file caption. + + Return a copy of `s` with all the 'File:' and 'Image:' markup replaced by + their corresponding captions. See http://www.mediawiki.org/wiki/Help:Images + for the markup details. + """ + # The regex RE_P15 match a File: or Image: markup + for match in re.finditer(RE_P15, s): + m = match.group(0) + caption = m[:-2].split('|')[-1] + s = s.replace(m, caption, 1) + return s + + +def tokenize(content): + """ + Tokenize a piece of text from wikipedia. The input string `content` is assumed + to be mark-up free (see `filter_wiki()`). + + Return list of tokens as utf8 bytestrings. Ignore words shorted than 2 or longer + that 15 characters (not bytes!). + """ + # TODO maybe ignore tokens with non-latin characters? (no chinese, arabic, russian etc.) + return [token.encode('utf8') for token in utils.tokenize(content, lower=True, errors='ignore') + if 2 <= len(token) <= 15 and not token.startswith('_')] + + +def _get_namespace(tag): + """Returns the namespace of tag.""" + m = re.match("^{(.*?)}", tag) + namespace = m.group(1) if m else "" + if not namespace.startswith("http://www.mediawiki.org/xml/export-"): + raise ValueError("%s not recognized as MediaWiki dump namespace" + % namespace) + return namespace + + +def _extract_pages(f): + """ + Extract pages from MediaWiki database dump. + + Returns + ------- + pages : iterable over (str, str) + Generates (title, content) pairs. + """ + elems = (elem for _, elem in iterparse(f, events=("end",))) + + # We can't rely on the namespace for database dumps, since it's changed + # it every time a small modification to the format is made. So, determine + # those from the first element we find, which will be part of the metadata, + # and construct element paths. + elem = next(elems) + namespace = _get_namespace(elem.tag) + ns_mapping = {"ns": namespace} + page_tag = "{%(ns)s}page" % ns_mapping + text_path = "./{%(ns)s}revision/{%(ns)s}text" % ns_mapping + title_path = "./{%(ns)s}title" % ns_mapping + + for elem in elems: + if elem.tag == page_tag: + title = elem.find(title_path).text + text = elem.find(text_path).text + yield title, text or "" # empty page will yield None + + # Prune the element tree, as per + # http://www.ibm.com/developerworks/xml/library/x-hiperfparse/ + # except that we don't need to prune backlinks from the parent + # because we don't use LXML. + # We do this only for s, since we need to inspect the + # ./revision/text element. The pages comprise the bulk of the + # file, so in practice we prune away enough. + elem.clear() + + +def process_article(args): + """ + Parse a wikipedia article, returning its content as a list of tokens + (utf8-encoded strings). + """ + text, lemmatize = args + text = filter_wiki(text) + if lemmatize: + result = utils.lemmatize(text) + else: + result = tokenize(text) + return result + + +class WikiCorpus(TextCorpus): + """ + Treat a wikipedia articles dump (*articles.xml.bz2) as a (read-only) corpus. + + The documents are extracted on-the-fly, so that the whole (massive) dump + can stay compressed on disk. + + >>> wiki = WikiCorpus('enwiki-20100622-pages-articles.xml.bz2') # create word->word_id mapping, takes almost 8h + >>> wiki.saveAsText('wiki_en_vocab200k') # another 8h, creates a file in MatrixMarket format plus file with id->word + + """ + + def __init__(self, fname, processes=None, lemmatize=utils.HAS_PATTERN, dictionary=None): + """ + Initialize the corpus. Unless a dictionary is provided, this scans the + corpus once, to determine its vocabulary. + + If `pattern` package is installed, use fancier shallow parsing to get + token lemmas. Otherwise, use simple regexp tokenization. You can override + this automatic logic by forcing the `lemmatize` parameter explicitly. + + """ + self.fname = fname + if processes is None: + processes = max(1, multiprocessing.cpu_count() - 1) + self.processes = processes + self.lemmatize = lemmatize + if dictionary is None: + self.dictionary = Dictionary(self.get_texts()) + else: + self.dictionary = dictionary + + + def get_texts(self): + """ + Iterate over the dump, returning text version of each article as a list + of tokens. + + Only articles of sufficient length are returned (short articles & redirects + etc are ignored). + + Note that this iterates over the **texts**; if you want vectors, just use + the standard corpus interface instead of this function:: + + >>> for vec in wiki_corpus: + >>> print vec + """ + articles, articles_all = 0, 0 + positions, positions_all = 0, 0 + texts = ((text, self.lemmatize) for _, text in _extract_pages(bz2.BZ2File(self.fname))) + pool = multiprocessing.Pool(self.processes) + # process the corpus in smaller chunks of docs, because multiprocessing.Pool + # is dumb and would load the entire input into RAM at once... + for group in utils.chunkize(texts, chunksize=10 * self.processes, maxsize=1): + for tokens in pool.imap(process_article, group): # chunksize=10): + articles_all += 1 + positions_all += len(tokens) + if len(tokens) > ARTICLE_MIN_WORDS: # article redirects are pruned here + articles += 1 + positions += len(tokens) + yield tokens + pool.terminate() + + logger.info("finished iterating over Wikipedia corpus of %i documents with %i positions" + " (total %i articles, %i positions before pruning articles shorter than %i words)" % + (articles, positions, articles_all, positions_all, ARTICLE_MIN_WORDS)) + self.length = articles # cache corpus length + + #endclass WikiCorpus diff --git a/gensim-develop/gensim/examples/dmlcz/__init__.py b/gensim-develop/gensim/examples/dmlcz/__init__.py new file mode 100644 index 0000000000..d3f5a12faa --- /dev/null +++ b/gensim-develop/gensim/examples/dmlcz/__init__.py @@ -0,0 +1 @@ + diff --git a/gensim-develop/gensim/examples/dmlcz/dmlcorpus.py b/gensim-develop/gensim/examples/dmlcz/dmlcorpus.py new file mode 100644 index 0000000000..78591eb8cb --- /dev/null +++ b/gensim-develop/gensim/examples/dmlcz/dmlcorpus.py @@ -0,0 +1,237 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2010 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + + +""" +Corpus for the DML-CZ project. +""" + +import logging +import itertools +import os.path + +from gensim import interfaces, matutils +import dictionary # for constructing word->id mappings + + +logger = logging.getLogger('gensim.corpora.dmlcorpus') + + +class DmlConfig(object): + """ + DmlConfig contains parameters necessary for the abstraction of a 'corpus of + articles' (see the `DmlCorpus` class). + + Articles may come from different sources (=different locations on disk/network, + different file formats etc.), so the main purpose of DmlConfig is to keep all + sources in one place. + + Apart from glueing sources together, DmlConfig also decides where to store + output files and which articles to accept for the corpus (= an additional filter + over the sources). + """ + + def __init__(self, configId, resultDir, acceptLangs=None): + self.resultDir = resultDir # output files will be stored in this directory + self.configId = configId # configId is a string that is used as filename prefix for all files, so keep it simple + self.sources = {} # all article sources; see sources.DmlSource class for an example of source + + if acceptLangs is None: # which languages to accept + acceptLangs = {'any'} # if not specified, accept all languages (including unknown/unspecified) + self.acceptLangs = set(acceptLangs) + logger.info('initialized %s' % self) + + + def resultFile(self, fname): + return os.path.join(self.resultDir, self.configId + '_' + fname) + + + def acceptArticle(self, metadata): + lang = metadata.get('language', + 'unk') # if there was no language field in the article metadata, set language to 'unk' = unknown + if 'any' not in self.acceptLangs and lang not in self.acceptLangs: + return False + return True + + + def addSource(self, source): + sourceId = str(source) + assert sourceId not in self.sources, "source %s already present in the config!" % sourceId + self.sources[sourceId] = source + + + def __str__(self): + return ("DmlConfig(id=%s, sources=[%s], acceptLangs=[%s])" % + (self.configId, ', '.join(iter(self.sources.keys())), ', '.join(self.acceptLangs))) + + #endclass DmlConfig + + + +class DmlCorpus(interfaces.CorpusABC): + """ + DmlCorpus implements a collection of articles. It is initialized via a DmlConfig + object, which holds information about where to look for the articles and how + to process them. + + Apart from being a regular corpus (bag-of-words iterable with a `len()` method), + DmlCorpus has methods for building a dictionary (mapping between words and + their ids). + """ + + def __init__(self): + self.documents = [] + self.config = None + self.dictionary = dictionary.Dictionary() + + + def __len__(self): + return len(self.documents) + + + def __iter__(self): + """ + The function that defines a corpus -- iterating over the corpus yields + bag-of-words vectors, one for each document. + + A bag-of-words vector is simply a list of ``(tokenId, tokenCount)`` 2-tuples. + """ + for docNo, (sourceId, docUri) in enumerate(self.documents): + source = self.config.sources[sourceId] + + contents = source.getContent(docUri) + words = [source.normalizeWord(word) for word in source.tokenize(contents)] + yield self.dictionary.doc2bow(words, allowUpdate=False) + + + def buildDictionary(self): + """ + Populate dictionary mapping and statistics. + + This is done by sequentially retrieving the article fulltexts, splitting + them into tokens and converting tokens to their ids (creating new ids as + necessary). + """ + logger.info("creating dictionary from %i articles" % len(self.documents)) + self.dictionary = dictionary.Dictionary() + numPositions = 0 + for docNo, (sourceId, docUri) in enumerate(self.documents): + if docNo % 1000 == 0: + logger.info("PROGRESS: at document #%i/%i (%s, %s)" % + (docNo, len(self.documents), sourceId, docUri)) + source = self.config.sources[sourceId] + contents = source.getContent(docUri) + words = [source.normalizeWord(word) for word in source.tokenize(contents)] + numPositions += len(words) + + # convert to bag-of-words, but ignore the result -- here we only care about updating token ids + _ = self.dictionary.doc2bow(words, allowUpdate=True) + logger.info("built %s from %i documents (total %i corpus positions)" % + (self.dictionary, len(self.documents), numPositions)) + + + def processConfig(self, config, shuffle=False): + """ + Parse the directories specified in the config, looking for suitable articles. + + This updates the self.documents var, which keeps a list of (source id, + article uri) 2-tuples. Each tuple is a unique identifier of one article. + + Note that some articles are ignored based on config settings (for example + if the article's language doesn't match any language specified in the + config etc.). + """ + self.config = config + self.documents = [] + logger.info("processing config %s" % config) + for sourceId, source in config.sources.items(): + logger.info("processing source '%s'" % sourceId) + accepted = [] + for articleUri in source.findArticles(): + meta = source.getMeta(articleUri) # retrieve metadata (= dictionary of key->value) + if config.acceptArticle(meta): # do additional filtering on articles, based on the article's metadata + accepted.append((sourceId, articleUri)) + logger.info("accepted %i articles for source '%s'" % + (len(accepted), sourceId)) + self.documents.extend(accepted) + + if not self.documents: + logger.warning('no articles at all found from the config; something went wrong!') + + if shuffle: + logger.info("shuffling %i documents for random order" % len(self.documents)) + import random + + random.shuffle(self.documents) + + logger.info("accepted total of %i articles for %s" % + (len(self.documents), str(config))) + + + def saveDictionary(self, fname): + logger.info("saving dictionary mapping to %s" % fname) + fout = open(fname, 'w') + for tokenId, token in self.dictionary.id2token.items(): + fout.write("%i\t%s\n" % (tokenId, token)) + fout.close() + + @staticmethod + def loadDictionary(fname): + result = {} + for lineNo, line in enumerate(open(fname)): + pair = line[:-1].split('\t') + if len(pair) != 2: + continue + wordId, word = pair + result[int(wordId)] = word + return result + + def saveDocuments(self, fname): + logger.info("saving documents mapping to %s" % fname) + fout = open(fname, 'w') + for docNo, docId in enumerate(self.documents): + sourceId, docUri = docId + intId, pathId = docUri + fout.write("%i\t%s\n" % (docNo, repr(docId))) + fout.close() + + + def saveAsText(self): + """ + Store the corpus to disk, in a human-readable text format. + + This actually saves multiple files: + + 1. Pure document-term co-occurence frequency counts, as a Matrix Market file. + 2. Token to integer mapping, as a text file. + 3. Document to document URI mapping, as a text file. + + The exact filesystem paths and filenames are determined from the config. + """ + self.saveDictionary(self.config.resultFile('wordids.txt')) + self.saveDocuments(self.config.resultFile('docids.txt')) + matutils.MmWriter.writeCorpus(self.config.resultFile('bow.mm'), self) + + + def articleDir(self, docNo): + """ + Return absolute normalized path on filesystem to article no. `docNo`. + """ + sourceId, (_, outPath) = self.documents[docNo] + source = self.config.sources[sourceId] + return os.path.join(source.baseDir, outPath) + + + def getMeta(self, docNo): + """ + Return metadata for article no. `docNo`. + """ + sourceId, uri = self.documents[docNo] + source = self.config.sources[sourceId] + return source.getMeta(uri) + + #endclass DmlCorpus + diff --git a/gensim-develop/gensim/examples/dmlcz/gensim_build.py b/gensim-develop/gensim/examples/dmlcz/gensim_build.py new file mode 100644 index 0000000000..8258c62466 --- /dev/null +++ b/gensim-develop/gensim/examples/dmlcz/gensim_build.py @@ -0,0 +1,81 @@ +#!/usr/bin/env python +# +# Copyright (C) 2010 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + +""" +USAGE: %(program)s LANGUAGE + Process the repository, accepting articles in LANGUAGE (or 'any'). + Store the word co-occurence matrix and id mappings, which are needed for subsequent processing. + +Example: ./gensim_build.py eng +""" + +import logging +import sys +import os.path +import re + +from gensim.corpora import sources, dmlcorpus + + +PREFIX = 'dmlcz' + +AT_HOME = False + +if AT_HOME: + SOURCE_LIST = [ + sources.DmlCzSource('dmlcz', '/Users/kofola/workspace/dml/data/dmlcz/'), + sources.DmlSource('numdam', '/Users/kofola/workspace/dml/data/numdam/'), + sources.ArxmlivSource('arxmliv', '/Users/kofola/workspace/dml/data/arxmliv/'), + ] + + # SOURCE_LIST = [ + # sources.DmlCzSource('dmlcz', '/Users/kofola/workspace/dml/data/dmlcz/CzechMathJ'), + # ] + + RESULT_DIR = '/Users/kofola/workspace/dml/data/results' + +else: + + SOURCE_LIST = [ + sources.DmlCzSource('dmlcz', '/data/dmlcz/data/share'), + sources.DmlSource('numdam', '/data/dmlcz/data/numdam'), + sources.ArxmlivSource('arxmliv', '/data/dmlcz/data/arxmliv'), + ] + + RESULT_DIR = '/data/dmlcz/xrehurek/results' + + +def buildDmlCorpus(config): + dml = dmlcorpus.DmlCorpus() + dml.processConfig(config, shuffle=True) + dml.buildDictionary() + dml.dictionary.filterExtremes(noBelow=5, noAbove=0.3) # ignore too (in)frequent words + + dml.save( + config.resultFile('.pkl')) # save the mappings as binary data (actual documents are not saved, only their URIs) + dml.saveAsText() # save id mappings and documents as text data (matrix market format) + return dml + + +if __name__ == '__main__': + logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s') + logging.root.setLevel(level=logging.INFO) + logging.info("running %s" % ' '.join(sys.argv)) + + program = os.path.basename(sys.argv[0]) + + # check and process input arguments + if len(sys.argv) < 2: + print(globals()['__doc__'] % locals()) + sys.exit(1) + language = sys.argv[1] + + # construct the config, which holds information about sources, data file filenames etc. + config = dmlcorpus.DmlConfig('%s_%s' % (PREFIX, language), resultDir=RESULT_DIR, acceptLangs=[language]) + for source in SOURCE_LIST: + config.addSource(source) + buildDmlCorpus(config) + + logging.info("finished running %s" % program) diff --git a/gensim-develop/gensim/examples/dmlcz/gensim_genmodel.py b/gensim-develop/gensim/examples/dmlcz/gensim_genmodel.py new file mode 100644 index 0000000000..2e44b13480 --- /dev/null +++ b/gensim-develop/gensim/examples/dmlcz/gensim_genmodel.py @@ -0,0 +1,78 @@ +#!/usr/bin/env python +# +# Copyright (C) 2010 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + +""" +USAGE: %(program)s LANGUAGE METHOD + Generate topic models for the specified subcorpus. METHOD is currently one \ +of 'tfidf', 'lsi', 'lda', 'rp'. + +Example: ./gensim_genmodel.py any lsi +""" + +import logging +import sys +import os.path +import re + +from gensim.corpora import sources, dmlcorpus, MmCorpus +from gensim.models import lsimodel, ldamodel, tfidfmodel, rpmodel + +from . import gensim_build + + +# internal method parameters +DIM_RP = 300 # dimensionality for random projections +DIM_LSI = 200 # for lantent semantic indexing +DIM_LDA = 100 # for latent dirichlet allocation + +if __name__ == '__main__': + logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s') + logging.root.setLevel(level=logging.INFO) + logging.info("running %s" % ' '.join(sys.argv)) + + program = os.path.basename(sys.argv[0]) + + # check and process input arguments + if len(sys.argv) < 3: + print(globals()['__doc__'] % locals()) + sys.exit(1) + language = sys.argv[1] + method = sys.argv[2].strip().lower() + + logging.info("loading corpus mappings") + config = dmlcorpus.DmlConfig('%s_%s' % (gensim_build.PREFIX, language), + resultDir=gensim_build.RESULT_DIR, acceptLangs=[language]) + + logging.info("loading word id mapping from %s" % config.resultFile('wordids.txt')) + id2word = dmlcorpus.DmlCorpus.loadDictionary(config.resultFile('wordids.txt')) + logging.info("loaded %i word ids" % len(id2word)) + + corpus = MmCorpus(config.resultFile('bow.mm')) + + if method == 'tfidf': + model = tfidfmodel.TfidfModel(corpus, id2word=id2word, normalize=True) + model.save(config.resultFile('model_tfidf.pkl')) + elif method == 'lda': + model = ldamodel.LdaModel(corpus, id2word=id2word, numTopics=DIM_LDA) + model.save(config.resultFile('model_lda.pkl')) + elif method == 'lsi': + # first, transform word counts to tf-idf weights + tfidf = tfidfmodel.TfidfModel(corpus, id2word=id2word, normalize=True) + # then find the transformation from tf-idf to latent space + model = lsimodel.LsiModel(tfidf[corpus], id2word=id2word, numTopics=DIM_LSI) + model.save(config.resultFile('model_lsi.pkl')) + elif method == 'rp': + # first, transform word counts to tf-idf weights + tfidf = tfidfmodel.TfidfModel(corpus, id2word=id2word, normalize=True) + # then find the transformation from tf-idf to latent space + model = rpmodel.RpModel(tfidf[corpus], id2word=id2word, numTopics=DIM_RP) + model.save(config.resultFile('model_rp.pkl')) + else: + raise ValueError('unknown topic extraction method: %s' % repr(method)) + + MmCorpus.saveCorpus(config.resultFile('%s.mm' % method), model[corpus]) + + logging.info("finished running %s" % program) + diff --git a/gensim-develop/gensim/examples/dmlcz/gensim_xml.py b/gensim-develop/gensim/examples/dmlcz/gensim_xml.py new file mode 100644 index 0000000000..9349fb1917 --- /dev/null +++ b/gensim-develop/gensim/examples/dmlcz/gensim_xml.py @@ -0,0 +1,123 @@ +#!/usr/bin/env python +# +# Copyright (C) 2010 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + +""" +USAGE: %(program)s LANGUAGE METHOD + Generate similar.xml files, using a previously built model for METHOD. + +Example: ./gensim_xml.py eng lsi +""" + +import logging +import sys +import os.path +import re + +from gensim.corpora import sources, dmlcorpus, MmCorpus +from gensim.similarities import MatrixSimilarity, SparseMatrixSimilarity + +from . import gensim_build + + +# set to True to do everything EXCEPT actually writing out similar.xml files to disk. +# similar.xml files are NOT written if DRY_RUN is true. +DRY_RUN = False + +# how many 'most similar' documents to store in each similar.xml? +MIN_SCORE = 0.0 # prune based on similarity score (all below MIN_SCORE are ignored) +MAX_SIMILAR = 10 # prune based on rank (at most MAX_SIMILAR are stored). set to 0 to store all of them (no limit). + +# if there are no similar articles (after the pruning), do we still want to generate similar.xml? +SAVE_EMPTY = True + +# xml template for similar articles +ARTICLE = """ +
+ + %(author)s + + %(title)s + %(suffix)s + + + +
""" + +# template for the whole similar.xml file (will be filled with multiple ARTICLE instances) +SIMILAR = """\ + +%s + +""" + + +def generateSimilar(corpus, index, method): + for docNo, topSims in enumerate(index): # for each document + # store similarities to the following file + outfile = os.path.join(corpus.articleDir(docNo), 'similar_%s.xml' % method) + + articles = [] # collect similars in this list + for docNo2, score in topSims: # for each most similar article + if score > MIN_SCORE and docNo != docNo2: # if similarity is above MIN_SCORE and not identity (=always maximum similarity, boring) + source, (intId, pathId) = corpus.documents[docNo2] + meta = corpus.getMeta(docNo2) + suffix, author, title = '', meta.get('author', ''), meta.get('title', '') + articles.append(ARTICLE % locals()) # add the similar article to output + if len(articles) >= MAX_SIMILAR: + break + + # now `articles` holds multiple strings in similar_*.xml format + if SAVE_EMPTY or articles: + output = ''.join(articles) # concat all similars to one string + if not DRY_RUN: # only open output files for writing if DRY_RUN is false + logging.info("generating %s (%i similars)" % (outfile, len(articles))) + outfile = open(outfile, 'w') + outfile.write(SIMILAR % output) # add xml headers and print to file + outfile.close() + else: + logging.info("would be generating %s (%i similars):%s\n" % (outfile, len(articles), output)) + else: + logging.debug("skipping %s (no similar found)" % outfile) + + +if __name__ == '__main__': + logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s') + logging.root.setLevel(level=logging.INFO) + logging.info("running %s" % ' '.join(sys.argv)) + + program = os.path.basename(sys.argv[0]) + + # check and process input arguments + if len(sys.argv) < 3: + print(globals()['__doc__'] % locals()) + sys.exit(1) + language = sys.argv[1] + method = sys.argv[2].strip().lower() + + logging.info("loading corpus mappings") + config = dmlcorpus.DmlConfig('%s_%s' % (gensim_build.PREFIX, language), + resultDir=gensim_build.RESULT_DIR, acceptLangs=[language]) + + logging.info("loading word id mapping from %s" % config.resultFile('wordids.txt')) + id2word = dmlcorpus.DmlCorpus.loadDictionary(config.resultFile('wordids.txt')) + logging.info("loaded %i word ids" % len(id2word)) + + corpus = dmlcorpus.DmlCorpus.load(config.resultFile('.pkl')) + input = MmCorpus(config.resultFile('_%s.mm' % method)) + assert len(input) == len(corpus), "corpus size mismatch (%i vs %i): run ./gensim_genmodel.py again" % ( + len(input), len(corpus)) + + # initialize structure for similarity queries + if method == 'lsi' or method == 'rp': # for these methods, use dense vectors + index = MatrixSimilarity(input, numBest=MAX_SIMILAR + 1, numFeatures=input.numTerms) + else: + index = SparseMatrixSimilarity(input, numBest=MAX_SIMILAR + 1) + + index.normalize = False # do not normalize query vectors during similarity queries (the index is already built normalized, so it would be a no-op) + generateSimilar(corpus, index, + method) # for each document, print MAX_SIMILAR nearest documents to a xml file, in dml-cz specific format + + logging.info("finished running %s" % program) + diff --git a/gensim-develop/gensim/examples/dmlcz/runall.sh b/gensim-develop/gensim/examples/dmlcz/runall.sh new file mode 100644 index 0000000000..aaeb8749c1 --- /dev/null +++ b/gensim-develop/gensim/examples/dmlcz/runall.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +# full path to gensim executables +BIN_PATH=~/xrehurek/gensim/dmlcz + +# intermediate data will be stored to this dir +RESULT_PATH=~/xrehurek/results + +# set python path, so that python can find and import gensim modules +export PYTHONPATH=~/xrehurek:$PYTHONPATH + +# Language is set to 'any', meaning all articles are processed for similarity in +# one go, regardless of their language. +# Set language to 'eng', 'fre', 'rus' etc. to only process a specific subset of +# articles (an article's language is determined from its metadata). +language=any + + +# ========== parse all article sources, build article co-occurence matrix ====== +${BIN_PATH}/gensim_build.py $language 2>&1 | tee ${RESULT_PATH}/gensim_build.log + + +# ========== build transformation models ======================================= +for method in tfidf rp; +do + ( ${BIN_PATH}/gensim_genmodel.py $language $method 2>&1 | tee ${RESULT_PATH}/gensim_genmodel_${method}.log ) & +done +wait + +method=lsi +${BIN_PATH}/gensim_genmodel.py $language $method 2>&1 | tee ${RESULT_PATH}/gensim_genmodel_${method}.log + + +# =========== generate output xml files ======================================== +# generate xml files for all methods at once, in parallel, to save time. +# NOTE if out of memory, move tfidf out of the loop (tfidf uses a lot of memory here) +for method in tfidf lsi rp; +do + ( ${BIN_PATH}/gensim_xml.py $language $method 2>&1 | tee ${RESULT_PATH}/gensim_xml_${method}.log ) & +done +wait diff --git a/gensim-develop/gensim/examples/dmlcz/sources.py b/gensim-develop/gensim/examples/dmlcz/sources.py new file mode 100644 index 0000000000..28998f4592 --- /dev/null +++ b/gensim-develop/gensim/examples/dmlcz/sources.py @@ -0,0 +1,388 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2010 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + +""" +This module contains implementations (= different classes) which encapsulate the +idea of a Digital Library document source. + +A document source is basically a collection of articles sharing the same format, +same location (type of access), same way of parsing them etc. + +Different sources can be aggregated into a single corpus, which is what the +`DmlCorpus` class does (see the `dmlcorpus` module). +""" + +import logging +import os +import os.path +import re + +import xml.sax # for parsing arxmliv articles + +from gensim import utils + + +PAT_TAG = re.compile('<(.*?)>(.*)') +logger = logging.getLogger('gensim.corpora.sources') + + +class ArticleSource(object): + """ + Objects of this class describe a single source of articles. + + A source is an abstraction over where the documents reside (the findArticles() + method), how to retrieve their fulltexts, their metadata, how to tokenize the + articles and how to normalize the tokens. + + What is NOT abstracted away (ie. must hold for all sources) is the idea of + article identifiers (URIs), which uniquely identify each article within + one source. + + This class is just an ABC interface; see eg. DmlSource or ArxmlivSource classes + for concrete instances. + """ + + def __init__(self, sourceId): + self.sourceId = sourceId + + def __str__(self): + return self.sourceId + + def findArticles(self): + raise NotImplementedError('Abstract Base Class') + + def getContent(self, uri): + raise NotImplementedError('Abstract Base Class') + + def getMeta(self, uri): + raise NotImplementedError('Abstract Base Class') + + def tokenize(self, content): + raise NotImplementedError('Abstract Base Class') + + def normalizeWord(self, word): + raise NotImplementedError('Abstract Base Class') + + #endclass ArticleSource + + + +class DmlSource(ArticleSource): + """ + Article source for articles in DML format (DML-CZ, Numdam): + 1) articles = directories starting with '#' + 2) content is stored in fulltext.txt + 3) metadata are stored in meta.xml + + Article URI is currently (a part of) the article's path on filesystem. + + See the ArticleSource class for general info on sources. + """ + + def __init__(self, sourceId, baseDir): + super().__init__(sourceId) + self.sourceId = sourceId + self.baseDir = os.path.normpath(baseDir) + + def __str__(self): + return self.sourceId + + @classmethod + def parseDmlMeta(cls, xmlfile): + """ + Parse out all fields from meta.xml, return them as a dictionary. + """ + result = {} + xml = open(xmlfile) + for line in xml: + if line.find('
') >= 0: # skip until the beginning of
tag + break + for line in xml: + if line.find('
') >= 0: # end of
, we're done + break + p = re.search(PAT_TAG, + line) # HAX assumes one element = one line; proper xml parsing probably better... but who cares + if p: + name, cont = p.groups() + name = name.split()[0] + name, cont = name.strip(), cont.strip() + if name == 'msc': + if len(cont) != 5: + logger.warning('invalid MSC=%s in %s' % (cont, xmlfile)) + result.setdefault('msc', []).append(cont) + continue + if name == 'idMR': + cont = cont[2:] # omit MR from MR123456 + if name and cont: + result[name] = cont + xml.close() + return result + + + def idFromDir(self, path): + assert len(path) > len(self.baseDir) + intId = path[1 + path.rfind('#'):] + pathId = path[len(self.baseDir) + 1:] + return intId, pathId + + + def isArticle(self, path): + # in order to be valid, the article directory must start with '#' + if not os.path.basename(path).startswith('#'): + return False + # and contain the fulltext.txt file + if not os.path.exists(os.path.join(path, 'fulltext.txt')): + logger.info('missing fulltext in %s' % path) + return False + # and also the meta.xml file + if not os.path.exists(os.path.join(path, 'meta.xml')): + logger.info('missing meta.xml in %s' % path) + return False + return True + + + def findArticles(self): + dirTotal = artAccepted = 0 + logger.info("looking for '%s' articles inside %s" % (self.sourceId, self.baseDir)) + for root, dirs, files in os.walk(self.baseDir): + dirTotal += 1 + root = os.path.normpath(root) + if self.isArticle(root): + artAccepted += 1 + yield self.idFromDir(root) + logger.info('%i directories processed, found %i articles' % + (dirTotal, artAccepted)) + + + def getContent(self, uri): + """ + Return article content as a single large string. + """ + intId, pathId = uri + filename = os.path.join(self.baseDir, pathId, 'fulltext.txt') + return open(filename).read() + + + def getMeta(self, uri): + """ + Return article metadata as a attribute->value dictionary. + """ + intId, pathId = uri + filename = os.path.join(self.baseDir, pathId, 'meta.xml') + return DmlSource.parseDmlMeta(filename) + + + def tokenize(self, content): + return [token.encode('utf8') for token in utils.tokenize(content, errors='ignore') if not token.isdigit()] + + + def normalizeWord(self, word): + wordU = str(word, 'utf8') + return wordU.lower().encode('utf8') # lowercase and then convert back to bytestring + + #endclass DmlSource + + +class DmlCzSource(DmlSource): + """ + Article source for articles in DML-CZ format: + 1) articles = directories starting with '#' + 2) content is stored in fulltext.txt or fulltext_dspace.txt + 3) there exists a dspace_id file, containing internal dmlcz id + 3) metadata are stored in meta.xml + + See the ArticleSource class for general info on sources. + """ + + def idFromDir(self, path): + assert len(path) > len(self.baseDir) + dmlczId = open(os.path.join(path, 'dspace_id')).read().strip() + pathId = path[len(self.baseDir) + 1:] + return dmlczId, pathId + + + def isArticle(self, path): + # in order to be valid, the article directory must start with '#' + if not os.path.basename(path).startswith('#'): + return False + # and contain a dspace_id file + if not (os.path.exists(os.path.join(path, 'dspace_id'))): + logger.info('missing dspace_id in %s' % path) + return False + # and contain either fulltext.txt or fulltext_dspace.txt file + if not (os.path.exists(os.path.join(path, 'fulltext.txt')) or os.path.exists( + os.path.join(path, 'fulltext-dspace.txt'))): + logger.info('missing fulltext in %s' % path) + return False + # and contain the meta.xml file + if not os.path.exists(os.path.join(path, 'meta.xml')): + logger.info('missing meta.xml in %s' % path) + return False + return True + + + def getContent(self, uri): + """ + Return article content as a single large string. + """ + intId, pathId = uri + filename1 = os.path.join(self.baseDir, pathId, 'fulltext.txt') + filename2 = os.path.join(self.baseDir, pathId, 'fulltext-dspace.txt') + + if os.path.exists(filename1) and os.path.exists(filename2): + # if both fulltext and dspace files exist, pick the larger one + if os.path.getsize(filename1) < os.path.getsize(filename2): + filename = filename2 + else: + filename = filename1 + elif os.path.exists(filename1): + filename = filename1 + else: + assert os.path.exists(filename2) + filename = filename2 + return open(filename).read() + + #endclass DmlCzSource + + + +class ArxmlivSource(ArticleSource): + """ + Article source for articles in arxmliv format: + 1) articles = directories starting with '#' + 2) content is stored in tex.xml + 3) metadata in special tags within tex.xml + + Article URI is currently (a part of) the article's path on filesystem. + + See the ArticleSource class for general info on sources. + """ + + class ArxmlivContentHandler(xml.sax.handler.ContentHandler): + def __init__(self): + self.path = [''] # help structure for sax event parsing + self.tokens = [] # will contain tokens once parsing is finished + + def startElement(self, name, attr): + # for math tokens, we only care about Math elements directly below

+ if name == 'Math' and self.path[-1] == 'p' and attr.get('mode', '') == 'inline': + tex = attr.get('tex', '') + if tex and not tex.isdigit(): + self.tokens.append('$%s$' % tex.encode('utf8')) + self.path.append(name) + + def endElement(self): + self.path.pop() + + def characters(self, text): + # for text, we only care about tokens directly within the

tag + if self.path[-1] == 'p': + tokens = [token.encode('utf8') for token in utils.tokenize(text, errors='ignore') if + not token.isdigit()] + self.tokens.extend(tokens) + + #endclass ArxmlivHandler + + + class ArxmlivErrorHandler(xml.sax.handler.ErrorHandler): + # Python2.5 implementation of xml.sax is broken -- character streams and + # byte encodings of InputSource are ignored, bad things sometimes happen + # in buffering of multi-byte files (such as utf8), characters get cut in + # the middle, resulting in invalid tokens... + # This is not really a problem with arxmliv xml files themselves, so ignore + # these errors silently. + def error(self, exception): + pass + + # logger.debug("SAX error parsing xml: %s" % exception) + + warning = fatalError = error + + #endclass ArxmlivErrorHandler + + + def __init__(self, sourceId, baseDir): + super().__init__(sourceId) + self.sourceId = sourceId + self.baseDir = os.path.normpath(baseDir) + + + def __str__(self): + return self.sourceId + + + def idFromDir(self, path): + assert len(path) > len(self.baseDir) + intId = path[1 + path.rfind('#'):] + pathId = path[len(self.baseDir) + 1:] + return intId, pathId + + + def isArticle(self, path): + # in order to be valid, the article directory must start with '#' + if not os.path.basename(path).startswith('#'): + return False + # and contain the tex.xml file + if not os.path.exists(os.path.join(path, 'tex.xml')): + logger.warning('missing tex.xml in %s' % path) + return False + return True + + + def findArticles(self): + dirTotal = artAccepted = 0 + logger.info("looking for '%s' articles inside %s" % (self.sourceId, self.baseDir)) + for root, dirs, files in os.walk(self.baseDir): + dirTotal += 1 + root = os.path.normpath(root) + if self.isArticle(root): + artAccepted += 1 + yield self.idFromDir(root) + logger.info('%i directories processed, found %i articles' % + (dirTotal, artAccepted)) + + + def getContent(self, uri): + """ + Return article content as a single large string. + """ + intId, pathId = uri + filename = os.path.join(self.baseDir, pathId, 'tex.xml') + return open(filename).read() + + + def getMeta(self, uri): + """ + Return article metadata as an attribute->value dictionary. + """ + # intId, pathId = uri + # filename = os.path.join(self.baseDir, pathId, 'tex.xml') + return {'language': 'eng'} # TODO maybe parse out some meta; but currently not needed for anything... + + + def tokenize(self, content): + """ + Parse tokens out of xml. There are two types of token: normal text and + mathematics. Both are returned interspersed in a single list, in the same + order as they appeared in the content. + + The math tokens will be returned in the form $tex_expression$, ie. with + a dollar sign prefix and suffix. + """ + handler = ArxmlivSource.ArxmlivContentHandler() + xml.sax.parseString(content, handler, ArxmlivSource.ArxmlivErrorHandler()) + return handler.tokens + + + def normalizeWord(self, word): + if word[0] == '$': # ignore math tokens + return word + wordU = str(word, 'utf8') + return wordU.lower().encode('utf8') # lowercase and then convert back to bytestring + + #endclass ArxmlivSource + + diff --git a/gensim-develop/gensim/interfaces.py b/gensim-develop/gensim/interfaces.py new file mode 100644 index 0000000000..e409d82a77 --- /dev/null +++ b/gensim-develop/gensim/interfaces.py @@ -0,0 +1,266 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2010 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + +""" +This module contains basic interfaces used throughout the whole gensim package. + +The interfaces are realized as abstract base classes (ie., some optional functionality +is provided in the interface itself, so that the interfaces can be subclassed). +""" + +import logging +import itertools + +from . import utils, matutils + + +logger = logging.getLogger('gensim.interfaces') + + +class CorpusABC(utils.SaveLoad): + """ + Interface (abstract base class) for corpora. A *corpus* is simply an iterable, + where each iteration step yields one document: + + >>> for doc in corpus: + >>> # do something with the doc... + + A document is a sequence of `(fieldId, fieldValue)` 2-tuples: + + >>> for attr_id, attr_value in doc: + >>> # do something with the attribute + + Note that although a default :func:`len` method is provided, it is very inefficient + (performs a linear scan through the corpus to determine its length). Wherever + the corpus size is needed and known in advance (or at least doesn't change so + that it can be cached), the :func:`len` method should be overridden. + + See the :mod:`gensim.corpora.svmlightcorpus` module for an example of a corpus. + + Saving the corpus with the `save` method (inherited from `utils.SaveLoad`) will + only store the *in-memory* (binary, pickled) object representation=the stream + state, and **not** the documents themselves. See the `save_corpus` static method + for serializing the actual stream content. + """ + + def __iter__(self): + """ + Iterate over the corpus, yielding one document at a time. + """ + raise NotImplementedError('cannot instantiate abstract base class') + + + def __len__(self): + """ + Return the number of documents in the corpus. + + This method is just the least common denominator and should really be + overridden when possible. + """ + raise NotImplementedError("must override __len__() before calling len(corpus)") + + # logger.warning("performing full corpus scan to determine its length; was this intended?") + # return sum(1 for doc in self) # sum(empty generator) == 0, so this works even for an empty corpus + + @staticmethod + def save_corpus(fname, corpus): + """ + Save an existing `corpus` to disk. + + Some formats also support saving the dictionary (`feature_id->word` mapping), + which can in this case be provided by the optional `id2word` parameter. + + >>> MmCorpus.save_corpus('file.mm', corpus) + + Some corpora also support an index of where each document begins, so + that the documents on disk can be accessed in O(1) time (see the + `corpora.IndexedCorpus` base class). In this case, `save_corpus` is automatically + called internally by `serialize`, which does `save_corpus` plus saves the index + at the same time, so you want to store the corpus with:: + + >>> MmCorpus.serialize('file.mm', corpus) # stores index as well, allowing random access to individual documents + + Calling `serialize()` is preferred to calling `save_corpus()`. + + """ + global corpus, fname + raise NotImplementedError('cannot instantiate abstract base class') + + # example code: + logger.info("converting corpus to ??? format: %s" % fname) + with open(fname, 'w') as fout: + for doc in corpus: # iterate over the document stream + fmt = str(doc) # format the document appropriately... + fout.write("%s\n" % fmt) # serialize the formatted document to disk + +#endclass CorpusABC + + +class TransformedCorpus(CorpusABC): + def __init__(self, obj, corpus, chunksize=None): + self.obj, self.corpus, self.chunksize = obj, corpus, chunksize + + def __len__(self): + return len(self.corpus) + + def __iter__(self): + if self.chunksize: + for chunk in utils.grouper(self.corpus, self.chunksize): + for transformed in self.obj.__getitem__(chunk, chunksize=None): + yield transformed + else: + for doc in self.corpus: + yield self.obj[doc] + +#endclass TransformedCorpus + + +class TransformationABC(utils.SaveLoad): + """ + Interface for transformations. A 'transformation' is any object which accepts + a sparse document via the dictionary notation `[]` and returns another sparse + document in its stead:: + + >>> transformed_doc = transformation[doc] + + or also:: + + >>> transformed_corpus = transformation[corpus] + + See the :mod:`gensim.models.tfidfmodel` module for an example of a transformation. + + """ + + def __getitem__(self, vec): + """ + Transform vector from one vector space into another + + **or** + + Transform a whole corpus into another. + """ + raise NotImplementedError('cannot instantiate abstract base class') + + + def _apply(self, corpus, chunksize=None): + """ + Apply the transformation to a whole corpus (as opposed to a single document) + and return the result as another corpus. + """ + return TransformedCorpus(self, corpus, chunksize) + + #endclass TransformationABC + + +class SimilarityABC(utils.SaveLoad): + """ + Abstract interface for similarity searches over a corpus. + + In all instances, there is a corpus against which we want to perform the + similarity search. + + For each similarity search, the input is a document and the output are its + similarities to individual corpus documents. + + Similarity queries are realized by calling ``self[query_document]``. + + There is also a convenience wrapper, where iterating over `self` yields + similarities of each document in the corpus against the whole corpus (ie., + the query is each corpus document in turn). + """ + + def __init__(self, corpus): + raise NotImplementedError("cannot instantiate Abstract Base Class") + + + def get_similarities(self, doc): + # (Sparse)MatrixSimilarity override this method so that they both use the + # same __getitem__ method, defined below + raise NotImplementedError("cannot instantiate Abstract Base Class") + + + def __getitem__(self, query): + """Get similarities of document `query` to all documents in the corpus. + + **or** + + If `query` is a corpus (iterable of documents), return a matrix of similarities + of all query documents vs. all corpus document. Using this type of batch + query is more efficient than computing the similarities one document after + another. + """ + is_corpus, query = utils.is_corpus(query) + if self.normalize: + # self.normalize only works if the input is a plain gensim vector/corpus (as + # advertised in the doc). in fact, input can be a numpy or scipy.sparse matrix + # as well, but in that case assume tricks are happening and don't normalize + # anything (self.normalize has no effect). + if matutils.ismatrix(query): + logger.warning("non-gensim input must already come normalized") + else: + if is_corpus: + query = [matutils.unitvec(v) for v in query] + else: + query = matutils.unitvec(query) + result = self.get_similarities(query) + + if self.num_best is None: + return result + + # if the input query was a corpus (=more documents), compute the top-n + # most similar for each document in turn + if matutils.ismatrix(result): + return [matutils.full2sparse_clipped(v, self.num_best) for v in result] + else: + # otherwise, return top-n of the single input document + return matutils.full2sparse_clipped(result, self.num_best) + + + def __iter__(self): + """ + For each index document, compute cosine similarity against all other + documents in the index and yield the result. + """ + # turn off query normalization (vectors in the index are assumed to be already normalized) + norm = self.normalize + self.normalize = False + + # Try to compute similarities in bigger chunks of documents (not + # one query = a single document after another). The point is, a + # bigger query of N documents is faster than N small queries of one + # document. + # + # After computing similarities of the bigger query in `self[chunk]`, + # yield the resulting similarities one after another, so that it looks + # exactly the same as if they had been computed with many small queries. + try: + chunking = self.chunksize > 1 + except AttributeError: + # chunking not supported; fall back to the (slower) mode of 1 query=1 document + chunking = False + if chunking: + # assumes `self.corpus` holds the index as a 2-d numpy array. + # this is true for MatrixSimilarity and SparseMatrixSimilarity, but + # may not be true for other (future) classes..? + for chunk_start in range(0, self.index.shape[0], self.chunksize): + # scipy.sparse doesn't allow slicing beyond real size of the matrix + # (unlike numpy). so, clip the end of the chunk explicitly to make + # scipy.sparse happy + chunk_end = min(self.index.shape[0], chunk_start + self.chunksize) + chunk = self.index[chunk_start: chunk_end] + if chunk.shape[0] > 1: + for sim in self[chunk]: + yield sim + else: + yield self[chunk] + else: + for doc in self.index: + yield self[doc] + + # restore old normalization value + self.normalize = norm + + #endclass SimilarityABC diff --git a/gensim-develop/gensim/matutils.py b/gensim-develop/gensim/matutils.py new file mode 100644 index 0000000000..09761559bb --- /dev/null +++ b/gensim-develop/gensim/matutils.py @@ -0,0 +1,621 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2011 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + +""" +This module contains math helper functions. +""" + +import logging +import math +import os +import itertools + +import numpy +import scipy.sparse +import scipy.linalg +from scipy.linalg.lapack import get_lapack_funcs, find_best_lapack_type + +# scipy is not a stable package yet, locations change, so try to work +# around differences (currently only concerns location of 'triu' in scipy 0.7 vs. 0.8) +try: + from scipy.linalg.basic import triu +except ImportError: + from scipy.linalg.special_matrices import triu + +try: + from numpy import triu_indices +except ImportError: + # numpy < 1.4 + def triu_indices(n, k=0): + m = numpy.ones((n, n), int) + a = triu(m, k) + return numpy.where(a != 0) + +blas = lambda name, ndarray: scipy.linalg.get_blas_funcs((name,), (ndarray,))[0] + +try: + # with bottleneck installed, we can use faster partial sorting + import bottleneck + + def argsort(x, topn=None): + """Return indices of the `topn` greatest elements in numpy array `x`, in order.""" + if topn is None: + topn = x.size + if topn <= 0: + return [] + if topn >= x.size: + return numpy.argsort(x)[::-1] + biggest = bottleneck.argpartsort(x, x.size - topn)[-topn:] + # the indices in `biggest` are not sorted by magnitude => sort & return + return biggest.take(numpy.argsort(x.take(biggest))[::-1]) +except ImportError: + # no bottleneck => fall back to numpy + def argsort(x, topn=None): + if topn is None: + topn = x.size + return numpy.argsort(x)[::-1][:topn] + +logger = logging.getLogger("gensim.matutils") + + +def corpus2csc(corpus, num_terms=None, dtype=numpy.float64, num_docs=None, num_nnz=None, printprogress=0): + """ + Convert corpus into a sparse matrix, in scipy.sparse.csc_matrix format, + with documents as columns. + + If the number of terms, documents and non-zero elements is known, you can pass + them here as parameters and a more memory efficient code path will be taken. + """ + try: + # if the input corpus has the `num_nnz`, `num_docs` and `num_terms` attributes + # (as is the case with MmCorpus for example), we can use a more efficient code path + if num_terms is None: + num_terms = corpus.num_terms + if num_docs is None: + num_docs = corpus.num_docs + if num_nnz is None: + num_nnz = corpus.num_nnz + except AttributeError: + pass # not a MmCorpus... + if printprogress: + logger.info("creating sparse matrix from corpus") + if num_terms is not None and num_docs is not None and num_nnz is not None: + # faster and much more memory-friendly version of creating the sparse csc + posnow, indptr = 0, [0] + indices = numpy.empty((num_nnz,), dtype=numpy.int32) # HACK assume feature ids fit in 32bit integer + data = numpy.empty((num_nnz,), dtype=dtype) + for docno, doc in enumerate(corpus): + if printprogress and docno % printprogress == 0: + logger.info("PROGRESS: at document #%i/%i" % (docno, num_docs)) + posnext = posnow + len(doc) + indices[posnow: posnext] = [feature_id for feature_id, _ in doc] + data[posnow: posnext] = [feature_weight for _, feature_weight in doc] + indptr.append(posnext) + posnow = posnext + assert posnow == num_nnz, "mismatch between supplied and computed number of non-zeros" + result = scipy.sparse.csc_matrix((data, indices, indptr), shape=(num_terms, num_docs), dtype=dtype) + else: + # slower version; determine the sparse matrix parameters during iteration + num_nnz, data, indices, indptr = 0, [], [], [0] + for docno, doc in enumerate(corpus): + if printprogress and docno % printprogress == 0: + logger.info("PROGRESS: at document #%i" % docno) + indices.extend([feature_id for feature_id, _ in doc]) + data.extend([feature_weight for _, feature_weight in doc]) + num_nnz += len(doc) + indptr.append(num_nnz) + if num_terms is None: + num_terms = max(indices) + 1 if indices else 0 + num_docs = len(indptr) - 1 + # now num_docs, num_terms and num_nnz contain the correct values + data = numpy.asarray(data, dtype=dtype) + indices = numpy.asarray(indices) + result = scipy.sparse.csc_matrix((data, indices, indptr), shape=(num_terms, num_docs), dtype=dtype) + return result + + +def pad(mat, padrow, padcol): + """ + Add additional rows/columns to a numpy.matrix `mat`. The new rows/columns + will be initialized with zeros. + """ + if padrow < 0: + padrow = 0 + if padcol < 0: + padcol = 0 + rows, cols = mat.shape + return numpy.bmat([[mat, numpy.matrix(numpy.zeros((rows, padcol)))], + [numpy.matrix(numpy.zeros((padrow, cols + padcol)))]]) + + +def ismatrix(m): + return isinstance(m, numpy.ndarray) and m.ndim == 2 or scipy.sparse.issparse(m) + + +def any2sparse(vec, eps=1e-9): + """Convert a numpy/scipy vector into gensim format (list of 2-tuples).""" + if isinstance(vec, numpy.ndarray): + return dense2vec(vec, eps) + if scipy.sparse.issparse(vec): + return scipy2sparse(vec, eps) + return [(int(fid), float(fw)) for fid, fw in vec if numpy.abs(fw) > eps] + + +def scipy2sparse(vec, eps=1e-9): + """Convert a scipy.sparse vector to gensim format (list of 2-tuples).""" + vec = vec.tocsr() + assert vec.shape[0] == 1 + return [(int(pos), float(val)) for pos, val in zip(vec.indices, vec.data) if numpy.abs(val) > eps] + + +class Scipy2Corpus(object): + def __init__(self, vecs): + """Convert a sequence of dense/sparse vector to a gensim corpus object.""" + self.vecs = vecs + + def __iter__(self): + for vec in self.vecs: + if isinstance(vec, numpy.ndarray): + yield full2sparse(vec) + else: + yield scipy2sparse(vec) + + def __len__(self): + return len(self.vecs) + + +def sparse2full(doc, length): + """ + Convert a document in sparse corpus format (sequence of 2-tuples) into a dense + numpy array (of size `length`). + """ + result = numpy.zeros(length, dtype=numpy.float32) # fill with zeroes (default value) + doc = dict(doc) + result[list(doc.keys())] = list(doc.values()) # overwrite some of the zeroes with explicit values + return result + + +def full2sparse(vec, eps=1e-9): + """ + Convert a dense numpy array into the sparse corpus format (sequence of 2-tuples). + + Values of magnitude < `eps` are treated as zero (ignored). + """ + vec = numpy.asarray(vec, dtype=float) + nnz = numpy.nonzero(abs(vec) > eps)[0] + return list(zip(nnz, vec.take(nnz))) + + +dense2vec = full2sparse + + +def full2sparse_clipped(vec, topn, eps=1e-9): + """ + Like `full2sparse`, but only return the `topn` greatest elements (not all). + """ + # use numpy.argsort and only form tuples that are actually returned. + # this is about 40x faster than explicitly forming all 2-tuples to run sort() or heapq.nlargest() on. + if topn <= 0: + return [] + vec = numpy.asarray(vec, dtype=float) + nnz = numpy.nonzero(abs(vec) > eps)[0] + biggest = nnz.take(argsort(vec.take(nnz), topn)) + return list(zip(biggest, vec.take(biggest))) + + +def corpus2dense(corpus, num_terms): + """ + Convert corpus into a dense numpy array (documents will be columns). + """ + return numpy.column_stack(sparse2full(doc, num_terms) for doc in corpus) + + +class Dense2Corpus(object): + """ + Treat dense numpy array as a sparse gensim corpus. + + No data copy is made (changes to the underlying matrix imply changes in the + corpus). + """ + + def __init__(self, dense, documents_columns=True): + if documents_columns: + self.dense = dense.T + else: + self.dense = dense + + def __iter__(self): + for doc in self.dense: + yield full2sparse(doc.flat) + + def __len__(self): + return len(self.dense) + + #endclass DenseCorpus + + +class Sparse2Corpus(object): + """ + Convert a matrix in scipy.sparse format into a streaming gensim corpus. + """ + + def __init__(self, sparse, documents_columns=True): + if documents_columns: + self.sparse = sparse.tocsc() + else: + self.sparse = sparse.tocsr().T # make sure shape[1]=number of docs (needed in len()) + + def __iter__(self): + for indprev, indnow in zip(self.sparse.indptr, self.sparse.indptr[1:]): + yield list(zip(self.sparse.indices[indprev:indnow], self.sparse.data[indprev:indnow])) + + def __len__(self): + return self.sparse.shape[1] + + #endclass Sparse2Corpus + + +def veclen(vec): + if len(vec) == 0: + return 0.0 + length = 1.0 * math.sqrt(sum(val ** 2 for _, val in vec)) + assert length > 0.0, "sparse documents must not contain any explicit zero entries" + return length + + +blas_nrm2 = blas('nrm2', numpy.array([], dtype=float)) +blas_scal = blas('scal', numpy.array([], dtype=float)) + + +def unitvec(vec): + """ + Scale a vector to unit length. The only exception is the zero vector, which + is returned back unchanged. + + Output will be in the same format as input (i.e., gensim vector=>gensim vector, + or numpy array=>numpy array, scipy.sparse=>scipy.sparse). + """ + if scipy.sparse.issparse(vec): # convert scipy.sparse to standard numpy array + vec = vec.tocsr() + veclen = numpy.sqrt(numpy.sum(vec.data ** 2)) + if veclen > 0.0: + return vec / veclen + else: + return vec + + if isinstance(vec, numpy.ndarray): + vec = numpy.asarray(vec, dtype=float) + veclen = blas_nrm2(vec) + if veclen > 0.0: + return blas_scal(1.0 / veclen, vec) + else: + return vec + + try: + first = next(iter(vec)) # is there at least one element? + except: + return vec + + if isinstance(first, (tuple, list)) and len(first) == 2: # gensim sparse format? + length = 1.0 * math.sqrt(sum(val ** 2 for _, val in vec)) + assert length > 0.0, "sparse documents must not contain any explicit zero entries" + if length != 1.0: + return [(termid, val / length) for termid, val in vec] + else: + return list(vec) + else: + raise ValueError("unknown input type") + + +def cossim(vec1, vec2): + vec1, vec2 = dict(vec1), dict(vec2) + if not vec1 or not vec2: + return 0.0 + vec1len = 1.0 * math.sqrt(sum(val * val for val in vec1.values())) + vec2len = 1.0 * math.sqrt(sum(val * val for val in vec2.values())) + assert vec1len > 0.0 and vec2len > 0.0, "sparse documents must not contain any explicit zero entries" + if len(vec2) < len(vec1): + vec1, vec2 = vec2, vec1 # swap references so that we iterate over the shorter vector + result = sum(value * vec2.get(index, 0.0) for index, value in vec1.items()) + result /= vec1len * vec2len # rescale by vector lengths + return result + + +def qr_destroy(la): + """ + Return QR decomposition of `la[0]`. Content of `la` gets destroyed in the process. + + Using this function should be less memory intense than calling `scipy.linalg.qr(la[0])`, + because the memory used in `la[0]` is reclaimed earlier. + """ + a = numpy.asfortranarray(la[0]) + del la[0], la # now `a` is the only reference to the input matrix + m, n = a.shape + # perform q, r = QR(a); code hacked out of scipy.linalg.qr + logger.debug("computing QR of %s dense matrix" % str(a.shape)) + geqrf, = get_lapack_funcs(('geqrf',), (a,)) + qr, tau, work, info = geqrf(a, lwork=-1, overwrite_a=True) + qr, tau, work, info = geqrf(a, lwork=work[0], overwrite_a=True) + del a # free up mem + assert info >= 0 + r = triu(qr[:n, :n]) + if m < n: # rare case, #features < #topics + qr = qr[:, :m] # retains fortran order + gorgqr, = get_lapack_funcs(('orgqr',), (qr,)) + q, work, info = gorgqr(qr, tau, lwork=-1, overwrite_a=True) + q, work, info = gorgqr(qr, tau, lwork=work[0], overwrite_a=True) + assert info >= 0, "qr failed" + assert q.flags.f_contiguous + return q, r + + +class MmWriter(object): + """ + Store a corpus in Matrix Market format. + + Note that the output is written one document at a time, not the whole + matrix at once (unlike scipy.io.mmread). This allows us to process corpora + which are larger than the available RAM. + + NOTE: the output file is created in a single pass through the input corpus, so + that the input can be a once-only stream (iterator). + To achieve this, a fake MM header is written first, statistics are collected + during the pass (shape of the matrix, number of non-zeroes), followed by a seek + back to the beginning of the file, rewriting the fake header with proper values. + + """ + + HEADER_LINE = '%%MatrixMarket matrix coordinate real general\n' # the only supported MM format + + def __init__(self, fname): + self.fname = fname + tmp = open(self.fname, 'w') # reset/create the target file + tmp.close() + self.fout = open(self.fname, 'rb+') # open for both reading and writing + self.headers_written = False + + + def write_headers(self, num_docs, num_terms, num_nnz): + self.fout.write((MmWriter.HEADER_LINE.encode()) + + if num_nnz < 0: + # we don't know the matrix shape/density yet, so only log a general line + logger.info("saving sparse matrix to %s" % self.fname); + self.fout.write((' ' * 50 + '\n').encode()); # 48 digits must be enough for everybody + else: + logger.info("saving sparse %sx%s matrix with %i non-zero entries to %s" % + (num_docs, num_terms, num_nnz, self.fname)) + self.fout.write('%s %s %s\n' % (num_docs, num_terms, num_nnz)) + self.last_docno = -1 + self.headers_written = True + + + def fake_headers(self, num_docs, num_terms, num_nnz): + stats = '%i %i %i' % (num_docs, num_terms, num_nnz) + if len(stats) > 50: + raise ValueError('Invalid stats: matrix too large!') + self.fout.seek(len(MmWriter.HEADER_LINE)) + self.fout.write(stats.encode()) + + + def write_vector(self, docno, vector): + """ + Write a single sparse vector to the file. + + Sparse vector is any iterable yielding (field id, field value) pairs. + """ + assert self.headers_written, "must write Matrix Market file headers before writing data!" + assert self.last_docno < docno, "documents %i and %i not in sequential order!" % (self.last_docno, docno) + vector = sorted((i, w) for i, w in vector if abs(w) > 1e-12) # ignore near-zero entries + for termid, weight in vector: # write term ids in sorted order + self.fout.write( + ("%i %i %s\n" % (docno + 1, termid + 1, weight)).encode()) # +1 because MM format starts counting from 1 + self.last_docno = docno + return (vector[-1][0], len(vector)) if vector else (-1, 0) + + + @staticmethod + def write_corpus(fname, corpus, progress_cnt=1000, index=False, num_terms=None): + """ + Save the vector space representation of an entire corpus to disk. + + Note that the documents are processed one at a time, so the whole corpus + is allowed to be larger than the available RAM. + """ + mw = MmWriter(fname) + + # write empty headers to the file (with enough space to be overwritten later) + mw.write_headers(-1, -1, -1) # will print 50 spaces followed by newline on the stats line + + # calculate necessary header info (nnz elements, num terms, num docs) while writing out vectors + _num_terms, num_nnz = 0, 0 + docno, poslast = -1, -1 + offsets = [] + for docno, bow in enumerate(corpus): + if docno % progress_cnt == 0: + logger.info("PROGRESS: saving document #%i" % docno) + if index: + posnow = mw.fout.tell() + if posnow == poslast: + offsets[-1] = -1 + offsets.append(posnow) + poslast = posnow + max_id, veclen = mw.write_vector(docno, bow) + _num_terms = max(_num_terms, 1 + max_id) + num_nnz += veclen + num_docs = docno + 1 + num_terms = num_terms or _num_terms + + if num_docs * num_terms != 0: + logger.info("saved %ix%i matrix, density=%.3f%% (%i/%i)" % ( + num_docs, num_terms, + 100.0 * num_nnz / (num_docs * num_terms), + num_nnz, + num_docs * num_terms)) + + # now write proper headers, by seeking and overwriting the spaces written earlier + mw.fake_headers(num_docs, num_terms, num_nnz) + + mw.close() + if index: + return offsets + + + def __del__(self): + """ + Automatic destructor which closes the underlying file. + + There must be no circular references contained in the object for __del__ + to work! Closing the file explicitly via the close() method is preferred + and safer. + """ + self.close() # does nothing if called twice (on an already closed file), so no worries + + + def close(self): + logger.debug("closing %s" % self.fname) + self.fout.close() + + #endclass MmWriter + + + +class MmReader(object): + """ + Wrap a term-document matrix on disk (in matrix-market format), and present it + as an object which supports iteration over the rows (~documents). + + Note that the file is read into memory one document at a time, not the whole + matrix at once (unlike scipy.io.mmread). This allows us to process corpora + which are larger than the available RAM. + """ + + def __init__(self, input, transposed=True): + """ + Initialize the matrix reader. + + The `input` refers to a file on local filesystem, which is expected to + be in the sparse (coordinate) Matrix Market format. Documents are assumed + to be rows of the matrix (and document features are columns). + + `input` is either a string (file path) or a file-like object that supports + `seek()` (e.g. gzip.GzipFile, bz2.BZ2File). + """ + logger.info("initializing corpus reader from %s" % input) + self.input, self.transposed = input, transposed + if isinstance(input, str): + input = open(input) + header = next(input).strip() + if not header.lower().startswith('%%matrixmarket matrix coordinate real general'): + raise ValueError("File %s not in Matrix Market format with coordinate real general; instead found: \n%s" % + (self.input, header)) + self.num_docs = self.num_terms = self.num_nnz = 0 + for lineno, line in enumerate(input): + if not line.startswith('%'): + self.num_docs, self.num_terms, self.num_nnz = list(map(int, line.split())) + if not self.transposed: + self.num_docs, self.num_terms = self.num_terms, self.num_docs + break + logger.info("accepted corpus with %i documents, %i features, %i non-zero entries" % + (self.num_docs, self.num_terms, self.num_nnz)) + + def __len__(self): + return self.num_docs + + def __str__(self): + return ("MmCorpus(%i documents, %i features, %i non-zero entries)" % + (self.num_docs, self.num_terms, self.num_nnz)) + + def skip_headers(self, input_file): + """ + Skip file headers that appear before the first document. + """ + for line in input_file: + if line.startswith('%'): + continue + break + + def __iter__(self): + """ + Iteratively yield vectors from the underlying file, in the format (row_no, vector), + where vector is a list of (col_no, value) 2-tuples. + + Note that the total number of vectors returned is always equal to the + number of rows specified in the header; empty documents are inserted and + yielded where appropriate, even if they are not explicitly stored in the + Matrix Market file. + """ + global document + if isinstance(self.input, str): + fin = open(self.input) + else: + fin = self.input + fin.seek(0) + self.skip_headers(fin) + + previd = -1 + for line in fin: + docid, termid, val = line.split() + if not self.transposed: + termid, docid = docid, termid + docid, termid, val = int(docid) - 1, int(termid) - 1, float( + val) # -1 because matrix market indexes are 1-based => convert to 0-based + assert previd <= docid, "matrix columns must come in ascending order" + if docid != previd: + # change of document: return the document read so far (its id is prevId) + if previd >= 0: + yield previd, document + + # return implicit (empty) documents between previous id and new id + # too, to keep consistent document numbering and corpus length + for previd in range(previd + 1, docid): + yield previd, [] + + # from now on start adding fields to a new document, with a new id + previd = docid + document = [] + + document.append((termid, val,)) # add another field to the current document + + # handle the last document, as a special case + if previd >= 0: + yield previd, document + + # return empty documents between the last explicit document and the number + # of documents as specified in the header + for previd in range(previd + 1, self.num_docs): + yield previd, [] + + + def docbyoffset(self, offset): + """Return document at file offset `offset` (in bytes)""" + # empty documents are not stored explicitly in MM format, so the index marks + # them with a special offset, -1. + if offset == -1: + return [] + if isinstance(self.input, str): + fin = open(self.input) + else: + fin = self.input + + fin.seek(offset) # works for gzip/bz2 input, too + previd, document = -1, [] + for line in fin: + docid, termid, val = line.split() + if not self.transposed: + termid, docid = docid, termid + docid, termid, val = int(docid) - 1, int(termid) - 1, float( + val) # -1 because matrix market indexes are 1-based => convert to 0-based + assert previd <= docid, "matrix columns must come in ascending order" + if docid != previd: + if previd >= 0: + return document + previd = docid + + document.append((termid, val,)) # add another field to the current document + return document + + #endclass MmReader diff --git a/gensim-develop/gensim/models/__init__.py b/gensim-develop/gensim/models/__init__.py new file mode 100644 index 0000000000..a641418f1f --- /dev/null +++ b/gensim-develop/gensim/models/__init__.py @@ -0,0 +1,52 @@ +""" +This package contains algorithms for extracting document representations from their raw +bag-of-word counts. +""" + +# bring model classes directly into package namespace, to save some typing +from .hdpmodel import HdpModel +from .ldamodel import LdaModel +from .lsimodel import LsiModel +from .tfidfmodel import TfidfModel +from .rpmodel import RpModel +from .logentropy_model import LogEntropyModel + +from gensim import interfaces, utils + + +class VocabTransform(interfaces.TransformationABC): + """ + Remap feature ids to new values. + + Given a mapping between old ids and new ids (some old ids may be missing = these + features are to be discarded), this will wrap a corpus so that iterating over + `VocabTransform[corpus]` returns the same vectors but with the new ids. + + Old features that have no counterpart in the new ids are discarded. This + can be used to filter vocabulary of a corpus "online":: + + >>> old2new = dict((oldid, newid) for newid, oldid in enumerate(ids_you_want_to_keep)) + >>> vt = VocabTransform(old2new) + >>> for vec_with_new_ids in vt[corpus_with_old_ids]: + >>> ... + + """ + + def __init__(self, old2new, id2token=None): + # id2word = dict((newid, oldid2word[oldid]) for oldid, newid in old2new.iteritems()) + self.old2new = old2new + self.id2token = id2token + + + def __getitem__(self, bow): + """ + Return representation with the ids transformed. + """ + # if the input vector is in fact a corpus, return a transformed corpus as a result + is_corpus, bow = utils.is_corpus(bow) + if is_corpus: + return self._apply(bow) + + return sorted((self.old2new[oldid], weight) for oldid, weight in bow if oldid in self.old2new) + + #endclass VocabTransform diff --git a/gensim-develop/gensim/models/hdpmodel.py b/gensim-develop/gensim/models/hdpmodel.py new file mode 100644 index 0000000000..55ce852ca7 --- /dev/null +++ b/gensim-develop/gensim/models/hdpmodel.py @@ -0,0 +1,588 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012 Jonathan Esterhazy +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html +# +# HDP inference code is adapted from the onlinehdp.py script by +# Chong Wang (chongw at cs.princeton.edu). +# http://www.cs.princeton.edu/~chongw/software/onlinehdp.tar.gz +# +# Some show/print topics code is adapted from Dr. Hoffman's online lda sample code, +# (C) 2010 Matthew D. Hoffman, GNU GPL 3.0 +# http://www.cs.princeton.edu/~mdhoffma/code/onlineldavb.tar + + +""" +This module encapsulates functionality for the online Hierarchical Dirichlet Process algorithm. + +It allows both model estimation from a training corpus and inference of topic +distribution on new, unseen documents. + +The core estimation code is directly adapted from the `onlinelhdp.py` script +by C. Wang see +**Wang, Paisley, Blei: Online Variational Inference for the Hierarchical Dirichlet +Process, JMLR (2011).** + +http://jmlr.csail.mit.edu/proceedings/papers/v15/wang11a/wang11a.pdf + +The algorithm: + + * is **streamed**: training documents come in sequentially, no random access, + * runs in **constant memory** w.r.t. the number of documents: size of the + training corpus does not affect memory footprint + +""" + +import logging, itertools, time +import numpy as np +import scipy.special as sp + +from gensim import interfaces, utils + +logger = logging.getLogger(__name__) + +meanchangethresh = 0.00001 +rhot_bound = 0.0 + + +def log_normalize(v): + log_max = 100.0 + if len(v.shape) == 1: + max_val = np.max(v) + log_shift = log_max - np.log(len(v) + 1.0) - max_val + tot = np.sum(np.exp(v + log_shift)) + log_norm = np.log(tot) - log_shift + v -= log_norm + else: + max_val = np.max(v, 1) + log_shift = log_max - np.log(v.shape[1] + 1.0) - max_val + tot = np.sum(np.exp(v + log_shift[:, np.newaxis]), 1) + + log_norm = np.log(tot) - log_shift + v -= log_norm[:, np.newaxis] + + return v, log_norm + + +def dirichlet_expectation(alpha): + """ + For a vector theta ~ Dir(alpha), compute E[log(theta)] given alpha. + """ + if len(alpha.shape) == 1: + return sp.psi(alpha) - sp.psi(np.sum(alpha)) + return sp.psi(alpha) - sp.psi(np.sum(alpha, 1))[:, np.newaxis] + + +def expect_log_sticks(sticks): + """ + For stick-breaking hdp, return the E[log(sticks)] + """ + dig_sum = sp.psi(np.sum(sticks, 0)) + ElogW = sp.psi(sticks[0]) - dig_sum + Elog1_W = sp.psi(sticks[1]) - dig_sum + + n = len(sticks[0]) + 1 + Elogsticks = np.zeros(n) + Elogsticks[0: n - 1] = ElogW + Elogsticks[1:] = Elogsticks[1:] + np.cumsum(Elog1_W) + return Elogsticks + + +def lda_e_step(doc_word_ids, doc_word_counts, alpha, beta, max_iter=100): + global Elogtheta + gamma = np.ones(len(alpha)) + expElogtheta = np.exp(dirichlet_expectation(gamma)) + betad = beta[:, doc_word_ids] + phinorm = np.dot(expElogtheta, betad) + 1e-100 + counts = np.array(doc_word_counts) + for _ in range(max_iter): + lastgamma = gamma + + gamma = alpha + expElogtheta * np.dot(counts / phinorm, betad.T) + Elogtheta = dirichlet_expectation(gamma) + expElogtheta = np.exp(Elogtheta) + phinorm = np.dot(expElogtheta, betad) + 1e-100 + meanchange = np.mean(abs(gamma - lastgamma)) + if meanchange < meanchangethresh: + break + + likelihood = np.sum(counts * np.log(phinorm)) + likelihood += np.sum((alpha - gamma) * Elogtheta) + likelihood += np.sum(sp.gammaln(gamma) - sp.gammaln(alpha)) + likelihood += sp.gammaln(np.sum(alpha)) - sp.gammaln(np.sum(gamma)) + + return likelihood, gamma + + +class SuffStats(object): + def __init__(self, T, Wt, Dt): + self.m_chunksize = Dt + self.m_var_sticks_ss = np.zeros(T) + self.m_var_beta_ss = np.zeros((T, Wt)) + + def set_zero(self): + self.m_var_sticks_ss.fill(0.0) + self.m_var_beta_ss.fill(0.0) + + +class HdpModel(interfaces.TransformationABC): + """ + The constructor estimates Hierachical Dirichlet Process model parameters based + on a training corpus: + + >>> hdp = HdpModel(corpus, id2word) + >>> hdp.print_topics(topics=20, topn=10) + + The model doesn't support inference of topics on new, unseen documents, yet. + + Model persistency is achieved through its `load`/`save` methods. + """ + + def __init__(self, corpus, id2word, max_chunks=None, max_time=None, + chunksize=256, kappa=1.0, tau=64.0, K=15, T=150, alpha=1, + gamma=1, eta=0.01, scale=1.0, var_converge=0.0001, + outputdir=None): + """ + `gamma`: first level concentration + `alpha`: second level concentration + `eta`: the topic Dirichlet + `T`: top level truncation level + `K`: second level truncation level + `kappa`: learning rate + `tau`: slow down parameter + `max_time`: stop training after this many seconds + `max_chunks`: stop after having processed this many chunks (wrap around + corpus beginning in another corpus pass, if there are not enough chunks + in the corpus) + """ + self.corpus = corpus + self.id2word = id2word + self.chunksize = chunksize + self.max_chunks = max_chunks + self.max_time = max_time + self.outputdir = outputdir + + self.m_W = len(id2word) + self.m_D = len(corpus) + + self.m_T = T + self.m_K = K + self.m_alpha = alpha + self.m_gamma = gamma + + self.m_var_sticks = np.zeros((2, T - 1)) + self.m_var_sticks[0] = 1.0 + self.m_var_sticks[1] = list(range(T - 1, 0, -1)) + self.m_varphi_ss = np.zeros(T) + + self.m_lambda = np.random.gamma(1.0, 1.0, (T, self.m_W)) * self.m_D * 100 / (T * self.m_W) - eta + self.m_eta = eta + self.m_Elogbeta = dirichlet_expectation(self.m_eta + self.m_lambda) + + self.m_tau = tau + 1 + self.m_kappa = kappa + self.m_scale = scale + self.m_updatect = 0 + self.m_status_up_to_date = True + self.m_num_docs_processed = 0 + + self.m_timestamp = np.zeros(self.m_W, dtype=int) + self.m_r = [0] + self.m_lambda_sum = np.sum(self.m_lambda, axis=1) + + self.m_var_converge = var_converge + + if self.outputdir: + self.save_options() + + # if a training corpus was provided, start estimating the model right away + if corpus is not None: + self.update(corpus) + + + def update(self, corpus): + save_freq = max(1, int(10000 / self.chunksize)) # save every 10k docs, roughly + chunks_processed = 0 + start_time = time.clock() + + while True: + for chunk in utils.grouper(corpus, self.chunksize): + self.update_chunk(chunk) + self.m_num_docs_processed += len(chunk) + chunks_processed += 1 + + if self.update_finished(start_time, chunks_processed, self.m_num_docs_processed): + self.update_expectations() + self.print_topics(20) + if self.outputdir: + self.save_topics() + return + + elif chunks_processed % save_freq == 0: + self.update_expectations() + # self.save_topics(self.m_num_docs_processed) + self.print_topics(20) + logger.info('PROGRESS: finished document %i of %i' % + (self.m_num_docs_processed, self.m_D)) + + + def update_finished(self, start_time, chunks_processed, docs_processed): + return ( + # chunk limit reached + (self.max_chunks and chunks_processed == self.max_chunks) or + + # time limit reached + (self.max_time and time.clock() - start_time > self.max_time) or + + # no limits and whole corpus has been processed once + (not self.max_chunks and not self.max_time and docs_processed >= self.m_D)) + + + def update_chunk(self, chunk, update=True, opt_o=True): + # Find the unique words in this chunk... + unique_words = dict() + word_list = [] + for doc in chunk: + for word_id, _ in doc: + if word_id not in unique_words: + unique_words[word_id] = len(unique_words) + word_list.append(word_id) + + Wt = len(word_list) # length of words in these documents + + # ...and do the lazy updates on the necessary columns of lambda + rw = np.array([self.m_r[t] for t in self.m_timestamp[word_list]]) + self.m_lambda[:, word_list] *= np.exp(self.m_r[-1] - rw) + self.m_Elogbeta[:, word_list] = \ + sp.psi(self.m_eta + self.m_lambda[:, word_list]) - \ + sp.psi(self.m_W * self.m_eta + self.m_lambda_sum[:, np.newaxis]) + + ss = SuffStats(self.m_T, Wt, len(chunk)) + + Elogsticks_1st = expect_log_sticks(self.m_var_sticks) # global sticks + + # run variational inference on some new docs + score = 0.0 + count = 0 + for doc in chunk: + if len(doc) > 0: + doc_word_ids, doc_word_counts = list(zip(*doc)) + doc_score = self.doc_e_step(doc, ss, Elogsticks_1st, + word_list, unique_words, doc_word_ids, + doc_word_counts, self.m_var_converge) + count += sum(doc_word_counts) + score += doc_score + + if update: + self.update_lambda(ss, word_list, opt_o) + + return score, count + + + def doc_e_step(self, ss, Elogsticks_1st, + unique_words, doc_word_ids, doc_word_counts, var_converge): + """ + e step for a single doc + """ + global var_phi, Elogsticks_2nd + chunkids = [unique_words[id] for id in doc_word_ids] + + Elogbeta_doc = self.m_Elogbeta[:, doc_word_ids] + ## very similar to the hdp equations + v = np.zeros((2, self.m_K - 1)) + v[0] = 1.0 + v[1] = self.m_alpha + + # back to the uniform + phi = np.ones((len(doc_word_ids), self.m_K)) * 1.0 / self.m_K + + likelihood = 0.0 + old_likelihood = -1e200 + converge = 1.0 + + iter = 0 + max_iter = 100 + # not yet support second level optimization yet, to be done in the future + while iter < max_iter and (converge < 0.0 or converge > var_converge): + ### update variational parameters + + # var_phi + if iter < 3: + var_phi = np.dot(phi.T, (Elogbeta_doc * doc_word_counts).T) + (log_var_phi, log_norm) = log_normalize(var_phi) + var_phi = np.exp(log_var_phi) + else: + var_phi = np.dot(phi.T, (Elogbeta_doc * doc_word_counts).T) + Elogsticks_1st + (log_var_phi, log_norm) = log_normalize(var_phi) + var_phi = np.exp(log_var_phi) + + # phi + if iter < 3: + phi = np.dot(var_phi, Elogbeta_doc).T + (log_phi, log_norm) = log_normalize(phi) + phi = np.exp(log_phi) + else: + phi = np.dot(var_phi, Elogbeta_doc).T + Elogsticks_2nd + (log_phi, log_norm) = log_normalize(phi) + phi = np.exp(log_phi) + + # v + phi_all = phi * np.array(doc_word_counts)[:, np.newaxis] + v[0] = 1.0 + np.sum(phi_all[:, :self.m_K - 1], 0) + phi_cum = np.flipud(np.sum(phi_all[:, 1:], 0)) + v[1] = self.m_alpha + np.flipud(np.cumsum(phi_cum)) + Elogsticks_2nd = expect_log_sticks(v) + + likelihood = 0.0 + # compute likelihood + # var_phi part/ C in john's notation + likelihood += np.sum((Elogsticks_1st - log_var_phi) * var_phi) + + # v part/ v in john's notation, john's beta is alpha here + log_alpha = np.log(self.m_alpha) + likelihood += (self.m_K - 1) * log_alpha + dig_sum = sp.psi(np.sum(v, 0)) + likelihood += np.sum((np.array([1.0, self.m_alpha])[:, np.newaxis] - v) * (sp.psi(v) - dig_sum)) + likelihood -= np.sum(sp.gammaln(np.sum(v, 0))) - np.sum(sp.gammaln(v)) + + # Z part + likelihood += np.sum((Elogsticks_2nd - log_phi) * phi) + + # X part, the data part + likelihood += np.sum(phi.T * np.dot(var_phi, Elogbeta_doc * doc_word_counts)) + + converge = (likelihood - old_likelihood) / abs(old_likelihood) + old_likelihood = likelihood + + if converge < -0.000001: + logger.warning('likelihood is decreasing!') + + iter += 1 + + # update the suff_stat ss + # this time it only contains information from one doc + ss.m_var_sticks_ss += np.sum(var_phi, 0) + ss.m_var_beta_ss[:, chunkids] += np.dot(var_phi.T, phi.T * doc_word_counts) + + return likelihood + + + def update_lambda(self, sstats, word_list, opt_o): + self.m_status_up_to_date = False + # rhot will be between 0 and 1, and says how much to weight + # the information we got from this mini-chunk. + rhot = self.m_scale * pow(self.m_tau + self.m_updatect, -self.m_kappa) + if rhot < rhot_bound: + rhot = rhot_bound + self.m_rhot = rhot + + # Update appropriate columns of lambda based on documents. + self.m_lambda[:, word_list] = self.m_lambda[:, word_list] * (1 - rhot) + \ + rhot * self.m_D * sstats.m_var_beta_ss / sstats.m_chunksize + self.m_lambda_sum = (1 - rhot) * self.m_lambda_sum + \ + rhot * self.m_D * np.sum(sstats.m_var_beta_ss, axis=1) / sstats.m_chunksize + + self.m_updatect += 1 + self.m_timestamp[word_list] = self.m_updatect + self.m_r.append(self.m_r[-1] + np.log(1 - rhot)) + + self.m_varphi_ss = (1.0 - rhot) * self.m_varphi_ss + rhot * \ + sstats.m_var_sticks_ss * self.m_D / sstats.m_chunksize + + if opt_o: + self.optimal_ordering() + + ## update top level sticks + self.m_var_sticks[0] = self.m_varphi_ss[:self.m_T - 1] + 1.0 + var_phi_sum = np.flipud(self.m_varphi_ss[1:]) + self.m_var_sticks[1] = np.flipud(np.cumsum(var_phi_sum)) + self.m_gamma + + + def optimal_ordering(self): + """ + ordering the topics + """ + idx = np.argsort(self.m_lambda_sum)[::-1] + self.m_varphi_ss = self.m_varphi_ss[idx] + self.m_lambda = self.m_lambda[idx, :] + self.m_lambda_sum = self.m_lambda_sum[idx] + self.m_Elogbeta = self.m_Elogbeta[idx, :] + + + def update_expectations(self): + """ + Since we're doing lazy updates on lambda, at any given moment + the current state of lambda may not be accurate. This function + updates all of the elements of lambda and Elogbeta + so that if (for example) we want to print out the + topics we've learned we'll get the correct behavior. + """ + for w in range(self.m_W): + self.m_lambda[:, w] *= np.exp(self.m_r[-1] - + self.m_r[self.m_timestamp[w]]) + self.m_Elogbeta = sp.psi(self.m_eta + self.m_lambda) - \ + sp.psi(self.m_W * self.m_eta + self.m_lambda_sum[:, np.newaxis]) + + self.m_timestamp[:] = self.m_updatect + self.m_status_up_to_date = True + + + def print_topics(self, topics=20, topn=20): + if not self.m_status_up_to_date: + self.update_expectations() + betas = self.m_lambda + self.m_eta + hdp_formatter = HdpTopicFormatter(self.id2word, betas) + hdp_formatter.print_topics(topics, topn) + + + def save_topics(self, doc_count=None): + """legacy method; use `self.save()` instead""" + if not self.outputdir: + logger.error("cannot store topics without having specified an output directory") + + if doc_count is None: + fname = 'final' + else: + fname = 'doc-%i' % doc_count + fname = '%s/%s.topics' % (self.outputdir, fname) + logger.info("saving topics to %s" % fname) + betas = self.m_lambda + self.m_eta + np.savetxt(fname, betas) + + + def save_options(self): + """legacy method; use `self.save()` instead""" + if not self.outputdir: + logger.error("cannot store options without having specified an output directory") + return + fname = '%s/options.dat' % self.outputdir + with open(fname, 'wb') as fout: + fout.write('tau: %s\n' % str(self.m_tau - 1)) + fout.write('chunksize: %s\n' % str(self.chunksize)) + fout.write('var_converge: %s\n' % str(self.m_var_converge)) + fout.write('D: %s\n' % str(self.m_D)) + fout.write('K: %s\n' % str(self.m_K)) + fout.write('T: %s\n' % str(self.m_T)) + fout.write('W: %s\n' % str(self.m_W)) + fout.write('alpha: %s\n' % str(self.m_alpha)) + fout.write('kappa: %s\n' % str(self.m_kappa)) + fout.write('eta: %s\n' % str(self.m_eta)) + fout.write('gamma: %s\n' % str(self.m_gamma)) + + + def hdp_to_lda(self): + """ + Compute the LDA almost equivalent HDP. + """ + # alpha + sticks = self.m_var_sticks[0] / (self.m_var_sticks[0] + self.m_var_sticks[1]) + alpha = np.zeros(self.m_T) + left = 1.0 + for i in range(0, self.m_T - 1): + alpha[i] = sticks[i] * left + left = left - alpha[i] + alpha[self.m_T - 1] = left + alpha = alpha * self.m_alpha + + # beta + beta = (self.m_lambda + self.m_eta) / (self.m_W * self.m_eta + + self.m_lambda_sum[:, np.newaxis]) + + return alpha, beta + + + def evaluate_test_corpus(self, corpus): + logger.info('TEST: evaluating test corpus') + (lda_alpha, lda_beta) = self.hdp_to_lda() + score = 0.0 + total_words = 0 + for i, doc in enumerate(corpus): + if len(doc) > 0: + doc_word_ids, doc_word_counts = list(zip(*doc)) + (likelihood, gamma) = lda_e_step(doc_word_ids, doc_word_counts, lda_alpha, lda_beta) + theta = gamma / np.sum(gamma) + lda_betad = lda_beta[:, doc_word_ids] + log_predicts = np.log(np.dot(theta, lda_betad)) + doc_score = sum(log_predicts) / len(doc) + logger.info('TEST: %6d %.5f' % (i, doc_score)) + score += likelihood + total_words += sum(doc_word_counts) + logger.info( + 'TEST: average score: %.5f, total score: %.5f, test docs: %d' % (score / total_words, score, len(corpus))) + return score + + #endclass HdpModel + + +class HdpTopicFormatter(object): + (STYLE_GENSIM, STYLE_PRETTY) = (1, 2) + + def __init__(self, dictionary=None, topic_data=None, topic_file=None, style=None): + if dictionary is None: + raise ValueError('no dictionary!') + + if topic_data is not None: + topics = topic_data + elif topic_file is not None: + topics = np.loadtxt('%s' % topic_file) + else: + raise ValueError('no topic data!') + + # sort topics + topics_sums = np.sum(topics, axis=1) + idx = np.argsort(topics_sums)[::-1] + self.data = topics[idx] + + self.dictionary = dictionary + + if style is None: + style = self.STYLE_GENSIM + + self.style = style + + def print_topics(self, topics=10, topn=10): + self.show_topics(topics, topn, True) + + def show_topics(self, topics=10, topn=10, log=False, formatted=True): + shown = [] + if topics < 0: + topics = len(self.data) + + topics = min(topics, len(self.data)) + + for k in range(topics): + lambdak = list(self.data[k, :]) + lambdak = lambdak / sum(lambdak) + + temp = list(zip(lambdak, list(range(len(lambdak))))) + temp = sorted(temp, key=lambda x: x[0], reverse=True) + + topic_terms = self.show_topic_terms(temp, topn) + + if formatted: + topic = self.format_topic(k, topic_terms) + + # assuming we only output formatted topics + if log: + logger.info(topic) + else: + topic = [k, topic_terms] + shown.append(topic) + + return shown + + def show_topic_terms(self, topic_data, topn): + return [(self.dictionary[wid], weight) for (weight, wid) in topic_data[:topn]] + + def format_topic(self, topic_id, topic_terms): + if self.STYLE_GENSIM == self.style: + fmt = ' + '.join(['%.3f*%s' % (weight, word) for (word, weight) in topic_terms]) + fmt = 'topic %i: %s' % (topic_id, fmt) + else: + fmt = '\n'.join([' %20s %.8f' % (word, weight) for (word, weight) in topic_terms]) + fmt = 'topic %i:\n%s' % (topic_id, fmt) + + return fmt + + #endclass HdpTopicFormatter diff --git a/gensim-develop/gensim/models/lda_dispatcher.py b/gensim-develop/gensim/models/lda_dispatcher.py new file mode 100644 index 0000000000..6ad535418c --- /dev/null +++ b/gensim-develop/gensim/models/lda_dispatcher.py @@ -0,0 +1,192 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2010 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + +""" +USAGE: %(program)s SIZE_OF_JOBS_QUEUE + + Dispatcher process which orchestrates distributed LDA computations. Run this \ +script only once, on any node in your cluster. + +Example: python -m gensim.models.lda_dispatcher +""" + +import os, sys, logging, threading, time +from queue import Queue + +from gensim import utils + + +logger = logging.getLogger("gensim.models.lda_dispatcher") + + +# How many jobs (=chunks of N documents) to keep "pre-fetched" in a queue? +# A small number is usually enough, unless iteration over the corpus is very very +# slow (slower than the actual computation of LDA), in which case you can override +# this value from command line. ie. run "python ./lda_dispatcher.py 100" +MAX_JOBS_QUEUE = 10 + +# timeout for the Queue object put/get blocking methods. +# it should theoretically be infinity, but then keyboard interrupts don't work. +# so this is really just a hack, see http://bugs.python.org/issue1360 +HUGE_TIMEOUT = 365 * 24 * 60 * 60 # one year + + +class Dispatcher(object): + """ + Dispatcher object that communicates and coordinates individual workers. + + There should never be more than one dispatcher running at any one time. + """ + + def __init__(self, maxsize=MAX_JOBS_QUEUE): + """ + Note that the constructor does not fully initialize the dispatcher; + use the `initialize()` function to populate it with workers etc. + """ + self.maxsize = maxsize + self.callback = None # a pyro proxy to this object (unknown at init time, but will be set later) + + + def initialize(self, **model_params): + """ + `model_params` are parameters used to initialize individual workers (gets + handed all the way down to `worker.initialize()`). + """ + self.jobs = Queue(maxsize=self.maxsize) + self.lock_update = threading.Lock() + self._jobsdone = 0 + self._jobsreceived = 0 + + # locate all available workers and store their proxies, for subsequent RMI calls + self.workers = {} + import Pyro4 + + with utils.getNS() as ns: + self.callback = Pyro4.Proxy('PYRONAME:gensim.lda_dispatcher') # = self + self.callback._pyroOneway.add( + "jobdone") # make sure workers transfer control back to dispatcher asynchronously + for name, uri in ns.list(prefix='gensim.lda_worker').items(): + try: + worker = Pyro4.Proxy(uri) + workerid = len(self.workers) + # make time consuming methods work asynchronously + worker._pyroOneway.add("requestjob") + worker._pyroOneway.add("exit") + logger.info("registering worker #%i at %s" % (workerid, uri)) + worker.initialize(workerid, dispatcher=self.callback, **model_params) + self.workers[workerid] = worker + worker.requestjob() + except Pyro4.errors.PyroError: + logger.warning("unresponsive worker at %s, deleting it from the name server" % uri) + ns.remove(name) + + if len(self.workers) == 0: + raise RuntimeError('no workers found; run some lda_worker scripts on your machines first!') + + + def getworkers(self): + """ + Return pyro URIs of all registered workers. + """ + return [worker._pyroUri for worker in self.workers.values()] + + + def getjob(self, worker_id): + logger.info("worker #%i requesting a new job" % worker_id) + job = self.jobs.get(block=True, timeout=HUGE_TIMEOUT) + logger.info("worker #%i got a new job (%i left)" % (worker_id, self.jobs.qsize())) + return job + + + def putjob(self, job): + self._jobsreceived += 1 + self.jobs.put(job, block=True, timeout=HUGE_TIMEOUT) + logger.info("added a new job (len(queue)=%i items)" % self.jobs.qsize()) + + + def getstate(self): + """ + Merge states from across all workers and return the result. + """ + logger.info("end of input, assigning all remaining jobs") + while self._jobsdone < self._jobsreceived: + time.sleep(0.5) # check every half a second + + logger.info("merging states from %i workers" % len(self.workers)) + workers = list(self.workers.values()) + result = workers[0].getstate() + for worker in workers[1:]: + result.merge(worker.getstate()) + + logger.info("sending out merged state") + return result + + + def reset(self, state): + """ + Initialize all workers for a new EM iterations. + """ + for workerid, worker in self.workers.items(): + logger.info("resetting worker %s" % workerid) + worker.reset(state) + self._jobsdone = 0 + self._jobsreceived = 0 + + + @utils.synchronous('lock_update') + def jobdone(self, workerid): + """ + A worker has finished its job. Log this event and then asynchronously + transfer control back to the worker. + + In this way, control flow basically oscillates between `dispatcher.jobdone()` + and `worker.requestjob()`. + """ + self._jobsdone += 1 + logger.info("worker #%s finished job #%i" % (workerid, self._jobsdone)) + self.workers[workerid].requestjob() # tell the worker to ask for another job, asynchronously (one-way) + + + def jobsdone(self): + """Wrap self._jobsdone, needed for remote access through Pyro proxies""" + return self._jobsdone + + + def exit(self): + """ + Terminate all registered workers and then the dispatcher. + """ + for workerid, worker in self.workers.items(): + logger.info("terminating worker %s" % workerid) + worker.exit() + logger.info("terminating dispatcher") + os._exit(0) # exit the whole process (not just this thread ala sys.exit()) + + #endclass Dispatcher + + + +def main(): + logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) + logger.info("running %s" % " ".join(sys.argv)) + + program = os.path.basename(sys.argv[0]) + # make sure we have enough cmd line parameters + if len(sys.argv) < 1: + print(globals()["__doc__"] % locals()) + sys.exit(1) + + if len(sys.argv) < 2: + maxsize = MAX_JOBS_QUEUE + else: + maxsize = int(sys.argv[1]) + utils.pyro_daemon('gensim.lda_dispatcher', Dispatcher(maxsize=maxsize)) + + logger.info("finished running %s" % program) + + +if __name__ == '__main__': + main() diff --git a/gensim-develop/gensim/models/lda_worker.py b/gensim-develop/gensim/models/lda_worker.py new file mode 100644 index 0000000000..4f67df3b63 --- /dev/null +++ b/gensim-develop/gensim/models/lda_worker.py @@ -0,0 +1,113 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2011 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + +""" +USAGE: %(program)s + + Worker ("slave") process used in computing distributed LDA. Run this script \ +on every node in your cluster. If you wish, you may even run it multiple times \ +on a single machine, to make better use of multiple cores (just beware that \ +memory footprint increases accordingly). + +Example: python -m gensim.models.lda_worker +""" + +import os, sys, logging +import threading +import tempfile + +from gensim.models import ldamodel +from gensim import utils + +logger = logging.getLogger('gensim.models.lda_worker') + + +# periodically save intermediate models after every SAVE_DEBUG updates (0 for never) +SAVE_DEBUG = 0 + + +class Worker(object): + def __init__(self): + self.model = None + + + def initialize(self, myid, dispatcher, **model_params): + self.lock_update = threading.Lock() + self.jobsdone = 0 # how many jobs has this worker completed? + self.myid = myid # id of this worker in the dispatcher; just a convenience var for easy access/logging TODO remove? + self.dispatcher = dispatcher + logger.info("initializing worker #%s" % myid) + self.model = ldamodel.LdaModel(**model_params) + + + def requestjob(self): + """ + Request jobs from the dispatcher in an infinite loop. The requests are + blocking, so if there are no jobs available, the thread will wait. + """ + if self.model is None: + raise RuntimeError("worker must be initialized before receiving jobs") + job = self.dispatcher.getjob(self.myid) # blocks until a new job is available from the dispatcher + logger.info("worker #%s received job #%i" % (self.myid, self.jobsdone)) + self.processjob(job) + self.dispatcher.jobdone(self.myid) + + + @utils.synchronous('lock_update') + def processjob(self, job): + logger.debug("starting to process job #%i" % self.jobsdone) + self.model.do_estep(job) + self.jobsdone += 1 + if SAVE_DEBUG and self.jobsdone % SAVE_DEBUG == 0: + fname = os.path.join(tempfile.gettempdir(), 'lda_worker.pkl') + self.model.save(fname) + logger.info("finished processing job #%i" % (self.jobsdone - 1)) + + + @utils.synchronous('lock_update') + def getstate(self): + logger.info("worker #%i returning its state after %s jobs" % + (self.myid, self.jobsdone)) + result = self.model.state + assert isinstance(result, ldamodel.LdaState) + self.model.clear() # free up mem in-between two EM cycles + return result + + + @utils.synchronous('lock_update') + def reset(self, state): + assert state is not None + logger.info("resetting worker #%i" % self.myid) + self.model.state = state + self.model.sync_state() + self.model.state.reset() + + + def exit(self): + logger.info("terminating worker #%i" % self.myid) + os._exit(0) + + #endclass Worker + + + +def main(): + logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) + logger.info("running %s" % " ".join(sys.argv)) + + program = os.path.basename(sys.argv[0]) + # make sure we have enough cmd line parameters + if len(sys.argv) < 1: + print(globals()["__doc__"] % locals()) + sys.exit(1) + + utils.pyro_daemon('gensim.lda_worker', Worker(), random_suffix=True) + + logger.info("finished running %s" % program) + + +if __name__ == '__main__': + main() diff --git a/gensim-develop/gensim/models/ldamodel.py b/gensim-develop/gensim/models/ldamodel.py new file mode 100644 index 0000000000..4ed5467ad6 --- /dev/null +++ b/gensim-develop/gensim/models/ldamodel.py @@ -0,0 +1,607 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2011 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html +# +# Parts of the LDA inference code come from Dr. Hoffman's `onlineldavb.py` script, +# (C) 2010 Matthew D. Hoffman, GNU GPL 3.0 + + +""" +This module encapsulates functionality for the Latent Dirichlet Allocation algorithm. + +It allows both model estimation from a training corpus and inference of topic +distribution on new, unseen documents. + +The core estimation code is directly adapted from the `onlineldavb.py` script +by M. Hoffman [1]_, see +**Hoffman, Blei, Bach: Online Learning for Latent Dirichlet Allocation, NIPS 2010.** + +The algorithm: + + * is **streamed**: training documents come in sequentially, no random access, + * runs in **constant memory** w.r.t. the number of documents: size of the + training corpus does not affect memory footprint, and + * is **distributed**: makes use of a cluster of machines, if available, to + speed up model estimation. + +.. [1] http://www.cs.princeton.edu/~mdhoffma + +""" + +import logging +import itertools + +logger = logging.getLogger('gensim.models.ldamodel') + +import numpy # for arrays, array broadcasting etc. +#numpy.seterr(divide='ignore') # ignore 0*log(0) errors + +from scipy.special import gammaln, digamma, psi # gamma function utils + +try: + from scipy.maxentropy import logsumexp # log(sum(exp(x))) that tries to avoid overflow +except ImportError: # maxentropy has been removed for next release + from scipy.misc import logsumexp +from gensim import interfaces, utils + + +def dirichlet_expectation(alpha): + """ + For a vector `theta~Dir(alpha)`, compute `E[log(theta)]`. + """ + if len(alpha.shape) == 1: + result = psi(alpha) - psi(numpy.sum(alpha)) + else: + result = psi(alpha) - psi(numpy.sum(alpha, 1))[:, numpy.newaxis] + return result.astype(alpha.dtype) # keep the same precision as input + + +class LdaState(utils.SaveLoad): + """ + Encapsulate information for distributed computation of LdaModel objects. + + Objects of this class are sent over the network, so try to keep them lean to + reduce traffic. + """ + + def __init__(self, eta, shape): + self.eta = eta + self.sstats = numpy.zeros(shape) + self.numdocs = 0 + + + def reset(self): + """ + Prepare the state for a new EM iteration (reset sufficient stats). + """ + self.sstats[:] = 0.0 + self.numdocs = 0 + + + def merge(self, other): + """ + Merge the result of an E step from one node with that of another node + (summing up sufficient statistics). + + The merging is trivial and after merging all cluster nodes, we have the + exact same result as if the computation was run on a single node (no + approximation). + """ + assert other is not None + self.sstats += other.sstats + self.numdocs += other.numdocs + + + def blend(self, rhot, other, targetsize=None): + """ + Given LdaState `other`, merge it with the current state. Stretch both to + `targetsize` documents before merging, so that they are of comparable + magnitude. + + Merging is done by average weighting: in the extremes, `rhot=0.0` means + `other` is completely ignored; `rhot=1.0` means `self` is completely ignored. + + This procedure corresponds to the stochastic gradient update from Hoffman + et al., algorithm 2 (eq. 14). + """ + assert other is not None + if targetsize is None: + targetsize = self.numdocs + + # stretch the current model's expected n*phi counts to target size + if self.numdocs == 0 or targetsize == self.numdocs: + scale = 1.0 + else: + scale = 1.0 * targetsize / self.numdocs + self.sstats *= (1.0 - rhot) * scale + + # stretch the incoming n*phi counts to target size + if other.numdocs == 0 or targetsize == other.numdocs: + scale = 1.0 + else: + logger.info("merging changes from %i documents into a model of %i documents" % + (other.numdocs, targetsize)) + scale = 1.0 * targetsize / other.numdocs + self.sstats += rhot * scale * other.sstats + + self.numdocs = targetsize + + + def blend2(self, other, targetsize=None): + """ + Alternative, more simple blend. + """ + assert other is not None + if targetsize is None: + targetsize = self.numdocs + + # merge the two matrices by summing + self.sstats += other.sstats + self.numdocs = targetsize + + + def get_lambda(self): + return self.eta + self.sstats + + + def get_Elogbeta(self): + return dirichlet_expectation(self.get_lambda()) + + #endclass LdaState + + + +class LdaModel(interfaces.TransformationABC): + """ + The constructor estimates Latent Dirichlet Allocation model parameters based + on a training corpus: + + >>> lda = LdaModel(corpus, num_topics=10) + + You can then infer topic distributions on new, unseen documents, with + + >>> doc_lda = lda[doc_bow] + + The model can be updated (trained) with new documents via + + >>> lda.update(other_corpus) + + Model persistency is achieved through its `load`/`save` methods. + """ + + def __init__(self, corpus=None, num_topics=100, id2word=None, distributed=False, + chunksize=2000, passes=1, update_every=1, alpha=None, eta=None, decay=0.5): + """ + `num_topics` is the number of requested latent topics to be extracted from + the training corpus. + + `id2word` is a mapping from word ids (integers) to words (strings). It is + used to determine the vocabulary size, as well as for debugging and topic + printing. + + `alpha` and `eta` are hyperparameters that affect sparsity of the document-topic + (theta) and topic-word (lambda) distributions. Both default to a symmetric + 1.0/num_topics (but can be set to a vector, for asymmetric priors). + + Turn on `distributed` to force distributed computing (see the web tutorial + on how to set up a cluster of machines for gensim). + + Example: + + >>> lda = LdaModel(corpus, num_topics=100) + >>> print lda[doc_bow] # get topic probability distribution for a document + >>> lda.update(corpus2) # update the LDA model with additional documents + >>> print lda[doc_bow] + + """ + # store user-supplied parameters + self.id2word = id2word + if corpus is None and self.id2word is None: + raise ValueError( + 'at least one of corpus/id2word must be specified, to establish input space dimensionality') + + if self.id2word is None: + logger.warning("no word id mapping provided; initializing from corpus, assuming identity") + self.id2word = utils.dict_from_corpus(corpus) + self.num_terms = len(self.id2word) + else: + self.num_terms = 1 + max([-1] + list(self.id2word.keys())) + + if self.num_terms == 0: + raise ValueError("cannot compute LDA over an empty collection (no terms)") + + self.distributed = bool(distributed) + self.num_topics = int(num_topics) + self.chunksize = chunksize + self.decay = decay + self.num_updates = 0 + + self.passes = passes + self.update_every = update_every + + if alpha is None: + self.alpha = 1.0 / num_topics + else: + self.alpha = alpha + if eta is None: + self.eta = 1.0 / num_topics + else: + self.eta = eta + + # VB constants + self.VAR_MAXITER = 50 + self.VAR_THRESH = 0.001 + + # set up distributed environment if necessary + if not distributed: + logger.info("using serial LDA version on this node") + self.dispatcher = None + self.numworkers = 1 + else: + # set up distributed version + try: + import Pyro4 + + dispatcher = Pyro4.Proxy('PYRONAME:gensim.lda_dispatcher') + dispatcher._pyroOneway.add("exit") + logger.debug("looking for dispatcher at %s" % str(dispatcher._pyroUri)) + dispatcher.initialize(id2word=self.id2word, num_topics=num_topics, + chunksize=chunksize, alpha=alpha, eta=eta, distributed=False) + self.dispatcher = dispatcher + self.numworkers = len(dispatcher.getworkers()) + logger.info("using distributed version with %i workers" % self.numworkers) + except Exception as err: + logger.error("failed to initialize distributed LDA (%s)" % err) + raise RuntimeError("failed to initialize distributed LDA (%s)" % err) + + # Initialize the variational distribution q(beta|lambda) + self.state = LdaState(self.eta, (self.num_topics, self.num_terms)) + self.state.sstats = numpy.random.gamma(100., 1. / 100., (self.num_topics, self.num_terms)) + self.sync_state() + + # if a training corpus was provided, start estimating the model right away + if corpus is not None: + self.update(corpus) + + + def __str__(self): + return "LdaModel(num_terms=%s, num_topics=%s, decay=%s, chunksize=%s, alpha=%s)" % \ + (self.num_terms, self.num_topics, self.decay, self.chunksize, self.alpha) + + + def sync_state(self): + self.expElogbeta = numpy.exp(self.state.get_Elogbeta()) + + + def clear(self): + """Clear model state (free up some memory). Used in the distributed algo.""" + self.state = None + self.Elogbeta = None + + + def inference(self, chunk, collect_sstats=False): + """ + Given a chunk of sparse document vectors, estimate gamma (parameters + controlling the topic weights) for each document in the chunk. + + This function does not modify the model (=is read-only aka const). The + whole input chunk of document is assumed to fit in RAM; chunking of a + large corpus must be done earlier in the pipeline. + + If `collect_sstats` is True, also collect sufficient statistics needed + to update the model's topic-word distributions, and return a 2-tuple + `(gamma, sstats)`. Otherwise, return `(gamma, None)`. `gamma` is of shape + `len(chunk) x topics`. + """ + try: + _ = len(chunk) + except: + chunk = list(chunk) # convert iterators/generators to plain list, so we have len() etc. + if len(chunk) > 1: + logger.debug("performing inference on a chunk of %i documents" % len(chunk)) + + # Initialize the variational distribution q(theta|gamma) for the chunk + gamma = numpy.random.gamma(100., 1. / 100., (len(chunk), self.num_topics)) + Elogtheta = dirichlet_expectation(gamma) + expElogtheta = numpy.exp(Elogtheta) + if collect_sstats: + sstats = numpy.zeros_like(self.expElogbeta) + else: + sstats = None + converged = 0 + + # Now, for each document d update that document's gamma and phi + # Inference code copied from Hoffman's `onlineldavb.py` (esp. the + # Lee&Seung trick which speeds things up by an order of magnitude, compared + # to Blei's original LDA-C code, cool!). + for d, doc in enumerate(chunk): + ids = [id for id, _ in doc] + cts = numpy.array([cnt for _, cnt in doc]) + gammad = gamma[d, :] + expElogthetad = expElogtheta[d, :] + expElogbetad = self.expElogbeta[:, ids] + + # The optimal phi_{dwk} is proportional to expElogthetad_k * expElogbetad_w. + # phinorm is the normalizer. + phinorm = numpy.dot(expElogthetad, + expElogbetad) + 1e-100 # TODO treat zeros explicitly, instead of adding eps? + + # Iterate between gamma and phi until convergence + for _ in range(self.VAR_MAXITER): + lastgamma = gammad + # We represent phi implicitly to save memory and time. + # Substituting the value of the optimal phi back into + # the update for gamma gives this update. Cf. Lee&Seung 2001. + gammad = self.alpha + expElogthetad * numpy.dot(cts / phinorm, expElogbetad.T) + Elogthetad = dirichlet_expectation(gammad) + expElogthetad = numpy.exp(Elogthetad) + phinorm = numpy.dot(expElogthetad, expElogbetad) + 1e-100 + # If gamma hasn't changed much, we're done. + meanchange = numpy.mean(abs(gammad - lastgamma)) + if meanchange < self.VAR_THRESH: + converged += 1 + break + gamma[d, :] = gammad + if collect_sstats: + # Contribution of document d to the expected sufficient + # statistics for the M step. + sstats[:, ids] += numpy.outer(expElogthetad.T, cts / phinorm) + + if len(chunk) > 1: + logger.info("%i/%i documents converged within %i iterations" % + (converged, len(chunk), self.VAR_MAXITER)) + + if collect_sstats: + # This step finishes computing the sufficient statistics for the + # M step, so that + # sstats[k, w] = \sum_d n_{dw} * phi_{dwk} + # = \sum_d n_{dw} * exp{Elogtheta_{dk} + Elogbeta_{kw}} / phinorm_{dw}. + sstats *= self.expElogbeta + return gamma, sstats + + + def do_estep(self, chunk, state=None): + """ + Perform inference on a chunk of documents, and accumulate the collected + sufficient statistics in `state` (or `self.state` if None). + """ + if state is None: + state = self.state + gamma, sstats = self.inference(chunk, collect_sstats=True) + state.sstats += sstats + state.numdocs += gamma.shape[0] # avoid calling len(chunk), might be a generator + return gamma + + + def update(self, corpus, chunksize=None, decay=None, passes=None, update_every=None): + """ + Train the model with new documents, by EM-iterating over `corpus` until + the topics converge (or until the maximum number of allowed iterations + is reached). + + In distributed mode, the E step is distributed over a cluster of machines. + + This update also supports updating an already trained model (`self`) + with new documents from `corpus`; the two models are then merged in + proportion to the number of old vs. new documents. This feature is still + experimental for non-stationary input streams. + + For stationary input (no topic drift in new documents), on the other hand, + this equals the online update of Hoffman et al. and is guaranteed to + converge for any `decay` in (0.5, 1.0>. + """ + # use parameters given in constructor, unless user explicitly overrode them + if chunksize is None: + chunksize = self.chunksize + if decay is None: + decay = self.decay + if passes is None: + passes = self.passes + if update_every is None: + update_every = self.update_every + + # rho is the "speed" of updating; TODO try other fncs + rho = lambda: pow(1.0 + self.num_updates, -decay) + + try: + lencorpus = len(corpus) + except: + logger.warning("input corpus stream has no len(); counting documents") + lencorpus = sum(1 for _ in corpus) + if lencorpus == 0: + logger.warning("LdaModel.update() called with an empty corpus") + return + self.state.numdocs += lencorpus + + if update_every > 0: + updatetype = "online" + updateafter = min(lencorpus, update_every * self.numworkers * chunksize) + else: + updatetype = "batch" + updateafter = lencorpus + + updates_per_pass = max(1, lencorpus / updateafter) + logger.info("running %s LDA training, %s topics, %i passes over " + "the supplied corpus of %i documents, updating model once " + "every %i documents" % + (updatetype, self.num_topics, passes, lencorpus, updateafter)) + if updates_per_pass * passes < 10: + logger.warning("too few updates, training might not converge; consider " + "increasing the number of passes to improve accuracy") + + for iteration in range(passes): + if self.dispatcher: + logger.info('initializing %s workers' % self.numworkers) + self.dispatcher.reset(self.state) + else: + other = LdaState(self.eta, self.state.sstats.shape) + dirty = False + + for chunk_no, chunk in enumerate(utils.grouper(corpus, chunksize, as_numpy=True)): + if self.dispatcher: + # add the chunk to dispatcher's job queue, so workers can munch on it + logger.info('PROGRESS: iteration %i, dispatching documents up to #%i/%i' % + (iteration, chunk_no * chunksize + len(chunk), lencorpus)) + # this will eventually block until some jobs finish, because the queue has a small finite length + self.dispatcher.putjob(chunk) + else: + logger.info('PROGRESS: iteration %i, at document #%i/%i' % + (iteration, chunk_no * chunksize + len(chunk), lencorpus)) + self.do_estep(chunk, other) + dirty = True + del chunk + + # perform an M step. determine when based on update_every, don't do this after every chunk + if update_every and (chunk_no + 1) % (update_every * self.numworkers) == 0: + if self.dispatcher: + # distributed mode: wait for all workers to finish + logger.info("reached the end of input; now waiting for all remaining jobs to finish") + other = self.dispatcher.getstate() + self.do_mstep(rho(), other) + del other # free up some mem + + if self.dispatcher: + logger.info('initializing workers') + self.dispatcher.reset(self.state) + else: + other = LdaState(self.eta, self.state.sstats.shape) + dirty = False + #endfor single corpus iteration + + if dirty: + # finish any remaining updates + if self.dispatcher: + # distributed mode: wait for all workers to finish + logger.info("reached the end of input; now waiting for all remaining jobs to finish") + other = self.dispatcher.getstate() + self.do_mstep(rho(), other) + del other + dirty = False + #endfor entire corpus update + + + def do_mstep(self, rho, other): + """ + M step: use linear interpolation between the existing topics and + collected sufficient statistics in `other` to update the topics. + """ + logger.debug("updating topics") + # update self with the new blend; also keep track of how much did + # the topics change through this update, to assess convergence + diff = numpy.log(self.expElogbeta) + self.state.blend(rho, other) + del other + diff -= self.state.get_Elogbeta() + self.sync_state() + self.print_topics(15) # print out some debug info at the end of each EM iteration + logger.info("topic diff=%f, rho=%f" % (numpy.mean(numpy.abs(diff)), rho)) + self.num_updates += 1 + + + def bound(self, corpus, gamma=None): + """ + Estimate the variational bound of documents from `corpus`. + + `gamma` are the variational parameters on topic weights (one for each + document in `corpus`). If not supplied, will be automatically inferred + from the model. + """ + score = 0.0 + _lambda = self.state.get_lambda() + Elogbeta = dirichlet_expectation(_lambda) + + for d, doc in enumerate(corpus): + if d % self.chunksize == 0: + logger.info("PROGRESS: at document #%i" % d) + if gamma is None: + gammad, _ = self.inference([doc]) + else: + gammad = gamma[d] + Elogthetad = dirichlet_expectation(gammad) + ids = [id for id, _ in doc] + cts = numpy.array([cnt for _, cnt in doc]) + phinorm = numpy.zeros(len(ids)) + for i in range(len(ids)): + phinorm[i] = logsumexp(Elogthetad + Elogbeta[:, ids[i]]) + + # E[log p(docs | theta, beta)] + score += numpy.sum(cts * phinorm) + + # E[log p(theta | alpha) - log q(theta | gamma)] + score += numpy.sum((self.alpha - gammad) * Elogthetad) + score += numpy.sum(gammaln(gammad) - gammaln(self.alpha)) + score += gammaln(self.alpha * self.num_topics) - gammaln(numpy.sum(gammad)) + + # E[log p(beta | eta) - log q (beta | lambda)] + score += numpy.sum((self.eta - _lambda) * Elogbeta) + score += numpy.sum(gammaln(_lambda) - gammaln(self.eta)) + score += numpy.sum(gammaln(self.eta * self.num_terms) - gammaln(numpy.sum(_lambda, 1))) + return score + + + def print_topics(self, topics=10, topn=10): + return self.show_topics(topics, topn, True) + + def show_topics(self, topics=10, topn=10, log=False, formatted=True): + """ + Print the `topN` most probable words for (randomly selected) `topics` + number of topics. Set `topics=-1` to print all topics. + + Unlike LSA, there is no ordering between the topics in LDA. + The printed `topics <= self.num_topics` subset of all topics is therefore + arbitrary and may change between two runs. + """ + if topics < 0: + # print all topics if `topics` is negative + topics = self.num_topics + topics = min(topics, self.num_topics) + shown = [] + for i in range(topics): + if formatted: + topic = self.print_topic(i, topn=topn) + else: + topic = self.show_topic(i, topn=topn) + shown.append(topic) + if log: + logger.info("topic #%i: %s" % (i, topic)) + return shown + + def show_topic(self, topicid, topn=10): + topic = self.state.get_lambda()[topicid] + topic = topic / topic.sum() # normalize to probability dist + bestn = numpy.argsort(topic)[::-1][:topn] + beststr = [(topic[id], self.id2word[id]) for id in bestn] + return beststr + + def print_topic(self, topicid, topn=10): + return ' + '.join(['%.3f*%s' % v for v in self.show_topic(topicid, topn)]) + + + def __getitem__(self, bow, eps=0.01): + """ + Return topic distribution for the given document `bow`, as a list of + (topic_id, topic_probability) 2-tuples. + + Ignore topics with very low probability (below `eps`). + """ + # if the input vector is in fact a corpus, return a transformed corpus as result + is_corpus, corpus = utils.is_corpus(bow) + if is_corpus: + return self._apply(corpus) + + gamma, _ = self.inference([bow]) + topic_dist = gamma[0] / sum(gamma[0]) # normalize to proper distribution + return [(topicid, topicvalue) for topicid, topicvalue in enumerate(topic_dist) + if topicvalue >= eps] # ignore document's topics that have prob < eps + + + def save(self, fname): + dispatcher, self.dispatcher = self.dispatcher, None + try: + super(LdaModel, self).save(fname) + finally: + self.dispatcher = dispatcher + +#endclass LdaModel diff --git a/gensim-develop/gensim/models/logentropy_model.py b/gensim-develop/gensim/models/logentropy_model.py new file mode 100644 index 0000000000..4a8ef23993 --- /dev/null +++ b/gensim-develop/gensim/models/logentropy_model.py @@ -0,0 +1,116 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + +import logging +import math +from gensim import interfaces, matutils, utils + + +logger = logging.getLogger('gensim.models.logentropy_model') + + +class LogEntropyModel(interfaces.TransformationABC): + """ + Objects of this class realize the transformation between word-document + co-occurence matrix (integers) into a locally/globally weighted matrix + (positive floats). + + This is done by a log entropy normalization, optionally normalizing the + resulting documents to unit length. The following formulas explain how + to compute the log entropy weight for term `i` in document `j`:: + + local_weight_{i,j} = log(frequency_{i,j} + 1) + + P_{i,j} = frequency_{i,j} / sum_j frequency_{i,j} + + sum_j P_{i,j} * log(P_{i,j}) + global_weight_i = 1 + ---------------------------- + log(number_of_documents + 1) + + final_weight_{i,j} = local_weight_{i,j} * global_weight_i + + The main methods are: + + 1. constructor, which calculates the global weighting for all terms in + a corpus. + 2. the [] method, which transforms a simple count representation into the + log entropy normalized space. + + >>> log_ent = LogEntropyModel(corpus) + >>> print = log_ent[some_doc] + >>> log_ent.save('/tmp/foo.log_ent_model') + + Model persistency is achieved via its load/save methods. + """ + + def __init__(self, corpus, id2word=None, normalize=True): + """ + `normalize` dictates whether the resulting vectors will be + set to unit length. + """ + self.normalize = normalize + self.n_docs = 0 + self.n_words = 0 + self.entr = {} + if corpus is not None: + self.initialize(corpus) + self.id2word = id2word + + def __str__(self): + return "LogEntropyModel(n_docs=%s, n_words=%s)" % (self.n_docs, + self.n_words) + + def initialize(self, corpus): + """ + Initialize internal statistics based on a training corpus. Called + automatically from the constructor. + """ + global doc_no2 + logger.info("calculating counts") + glob_freq = {} + glob_num_words, doc_no = 0, -1 + for doc_no, bow in enumerate(corpus): + if doc_no % 10000 == 0: + logger.info("PROGRESS: processing document #%i" % doc_no) + glob_num_words += len(bow) + for term_id, term_count in bow: + glob_freq[term_id] = glob_freq.get(term_id, 0) + term_count + + # keep some stats about the training corpus + self.n_docs = doc_no + 1 + self.n_words = glob_num_words + + # and finally compute the global weights + logger.info("calculating global log entropy weights for %i " + "documents and %i features (%i matrix non-zeros)" + % (self.n_docs, len(glob_freq), self.n_words)) + logger.debug('iterating over corpus') + for doc_no2, bow in enumerate(corpus): + for key, freq in bow: + p = (float(freq) / glob_freq[key]) * math.log(float(freq) / + glob_freq[key]) + self.entr[key] = self.entr.get(key, 0.0) + p + if doc_no2 != doc_no: + raise ValueError("LogEntropyModel doesn't support generators as training data") + + logger.debug('iterating over keys') + for key in self.entr: + self.entr[key] = 1 + self.entr[key] / math.log(self.n_docs + 1) + + def __getitem__(self, bow): + """ + Return log entropy representation of the input vector and/or corpus. + """ + # if the input vector is in fact a corpus, return a transformed corpus + is_corpus, bow = utils.is_corpus(bow) + if is_corpus: + return self._apply(bow) + + # unknown (new) terms will be given zero weight (NOT infinity/huge) + vector = [(term_id, math.log(tf + 1) * self.entr.get(term_id)) + for term_id, tf in bow if term_id in self.entr] + if self.normalize: + vector = matutils.unitvec(vector) + return vector diff --git a/gensim-develop/gensim/models/lsi_dispatcher.py b/gensim-develop/gensim/models/lsi_dispatcher.py new file mode 100644 index 0000000000..f4862ad3db --- /dev/null +++ b/gensim-develop/gensim/models/lsi_dispatcher.py @@ -0,0 +1,187 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2010 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + +""" +USAGE: %(program)s SIZE_OF_JOBS_QUEUE + + Dispatcher process which orchestrates distributed LSI computations. Run this \ +script only once, on any node in your cluster. + +Example: python -m gensim.models.lsi_dispatcher +""" + +import os, sys, logging, threading, time +from queue import Queue + +from gensim import utils + + +logger = logging.getLogger("gensim.models.lsi_dispatcher") + + +# How many jobs (=chunks of N documents) to keep "pre-fetched" in a queue? +# A small number is usually enough, unless iteration over the corpus is very very +# slow (slower than the actual computation of LSI), in which case you can override +# this value from command line. ie. run "python ./lsi_dispatcher.py 100" +MAX_JOBS_QUEUE = 10 + +# timeout for the Queue object put/get blocking methods. +# it should really be infinity, but then keyboard interrupts don't work. +# so this is really just a hack, see http://bugs.python.org/issue1360 +HUGE_TIMEOUT = 365 * 24 * 60 * 60 # one year + + +class Dispatcher(object): + """ + Dispatcher object that communicates and coordinates individual workers. + + There should never be more than one dispatcher running at any one time. + """ + + def __init__(self, maxsize=0): + """ + Note that the constructor does not fully initialize the dispatcher; + use the `initialize()` function to populate it with workers etc. + """ + self.maxsize = maxsize + self.workers = {} + self.callback = None # a pyro proxy to this object (unknown at init time, but will be set later) + + + def initialize(self, **model_params): + """ + `model_params` are parameters used to initialize individual workers (gets + handed all the way down to worker.initialize()). + """ + self.jobs = Queue(maxsize=self.maxsize) + self.lock_update = threading.Lock() + self._jobsdone = 0 + self._jobsreceived = 0 + + # locate all available workers and store their proxies, for subsequent RMI calls + self.workers = {} + with utils.getNS() as ns: + import Pyro4 + + self.callback = Pyro4.Proxy('PYRONAME:gensim.lsi_dispatcher') # = self + self.callback._pyroOneway.add( + "jobdone") # make sure workers transfer control back to dispatcher asynchronously + for name, uri in ns.list(prefix='gensim.lsi_worker').items(): + try: + worker = Pyro4.Proxy(uri) + workerid = len(self.workers) + # make time consuming methods work asynchronously + worker._pyroOneway.add("requestjob") + worker._pyroOneway.add("exit") + logger.info("registering worker #%i from %s" % (workerid, uri)) + worker.initialize(workerid, dispatcher=self.callback, **model_params) + self.workers[workerid] = worker + worker.requestjob() + except Pyro4.errors.PyroError: + logger.exception("unresponsive worker at %s, deleting it from the name server" % uri) + ns.remove(name) + + if len(self.workers) == 0: + raise RuntimeError('no workers found; run some lsi_worker scripts on your machines first!') + + + def getworkers(self): + """ + Return pyro URIs of all registered workers. + """ + return [worker._pyroUri for worker in self.workers.values()] + + + def getjob(self, worker_id): + logger.info("worker #%i requesting a new job" % worker_id) + job = self.jobs.get(block=True, timeout=HUGE_TIMEOUT) + logger.info("worker #%i got a new job (%i left)" % (worker_id, self.jobs.qsize())) + return job + + + def putjob(self, job): + self._jobsreceived += 1 + self.jobs.put(job, block=True, timeout=HUGE_TIMEOUT) + logger.info("added a new job (len(queue)=%i items)" % self.jobs.qsize()) + + + def getstate(self): + """ + Merge projections from across all workers and return the final projection. + """ + logger.info("end of input, assigning all remaining jobs") + while self._jobsdone < self._jobsreceived: + time.sleep(0.5) # check every half a second + + # TODO: merge in parallel, so that we're done in `log_2(workers)` merges, + # and not `workers - 1` merges! + # but merging only takes place once, after all input data has been processed, + # so the overall effect would be small... compared to the amount of coding :-) + logger.info("merging states from %i workers" % len(self.workers)) + workers = list(self.workers.items()) + result = workers[0][1].getstate() + for workerid, worker in workers[1:]: + logger.info("pulling state from worker %s" % workerid) + result.merge(worker.getstate()) + logger.info("sending out merged projection") + return result + + + @utils.synchronous('lock_update') + def jobdone(self, workerid): + """ + A worker has finished its job. Log this event and then asynchronously + transfer control back to the worker. + + In this way, control flow basically oscillates between dispatcher.jobdone() + worker.requestjob(). + """ + self._jobsdone += 1 + logger.info("worker #%s finished job #%i" % (workerid, self._jobsdone)) + worker = self.workers[workerid] + worker.requestjob() # tell the worker to ask for another job, asynchronously (one-way) + + + def jobsdone(self): + """Wrap self._jobsdone, needed for remote access through proxies""" + return self._jobsdone + + + def exit(self): + """ + Terminate all registered workers and then the dispatcher. + """ + for workerid, worker in self.workers.items(): + logger.info("terminating worker %s" % workerid) + worker.exit() + logger.info("terminating dispatcher") + os._exit(0) # exit the whole process (not just this thread ala sys.exit()) + + #endclass Dispatcher + + + +def main(): + logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) + logger.info("running %s" % " ".join(sys.argv)) + + program = os.path.basename(sys.argv[0]) + # make sure we have enough cmd line parameters + if len(sys.argv) < 1: + print(globals()["__doc__"] % locals()) + sys.exit(1) + + if len(sys.argv) < 2: + maxsize = MAX_JOBS_QUEUE + else: + maxsize = int(sys.argv[1]) + utils.pyro_daemon('gensim.lsi_dispatcher', Dispatcher(maxsize=maxsize)) + + logger.info("finished running %s" % program) + + +if __name__ == '__main__': + main() diff --git a/gensim-develop/gensim/models/lsi_worker.py b/gensim-develop/gensim/models/lsi_worker.py new file mode 100644 index 0000000000..f9b452051b --- /dev/null +++ b/gensim-develop/gensim/models/lsi_worker.py @@ -0,0 +1,100 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2010 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + +""" +USAGE: %(program)s + + Worker ("slave") process used in computing distributed LSI. Run this script \ +on every node in your cluster. If you wish, you may even run it multiple times \ +on a single machine, to make better use of multiple cores (just beware that \ +memory footprint increases accordingly). + +Example: python -m gensim.models.lsi_worker +""" + +import os, sys, logging +import threading +import tempfile + +from gensim.models import lsimodel +from gensim import utils + +logger = logging.getLogger('gensim.models.lsi_worker') + +SAVE_DEBUG = 0 # save intermediate models after every SAVE_DEBUG updates (0 for never) + + +class Worker(object): + def __init__(self): + self.model = None + + + def initialize(self, myid, dispatcher, **model_params): + self.lock_update = threading.Lock() + self.jobsdone = 0 # how many jobs has this worker completed? + self.myid = myid # id of this worker in the dispatcher; just a convenience var for easy access/logging TODO remove? + self.dispatcher = dispatcher + logger.info("initializing worker #%s" % myid) + self.model = lsimodel.LsiModel(**model_params) + + + def requestjob(self): + """ + Request jobs from the dispatcher in an infinite loop. The requests are + blocking, so if there are no jobs available, the thread will wait. + """ + if self.model is None: + raise RuntimeError("worker must be initialized before receiving jobs") + job = self.dispatcher.getjob(self.myid) # blocks until a new job is available from the dispatcher + logger.info("worker #%s received job #%i" % (self.myid, self.jobsdone)) + self.processjob(job) + self.dispatcher.jobdone(self.myid) + + + @utils.synchronous('lock_update') + def processjob(self, job): + self.model.add_documents(job) + self.jobsdone += 1 + if SAVE_DEBUG and self.jobsdone % SAVE_DEBUG == 0: + fname = os.path.join(tempfile.gettempdir(), 'lsi_worker.pkl') + self.model.save(fname) + + + @utils.synchronous('lock_update') + def getstate(self): + logger.info("worker #%i returning its state after %s jobs" % + (self.myid, self.jobsdone)) + assert isinstance(self.model.projection, lsimodel.Projection) + result = self.model.projection + self.model.projection = self.model.projection.empty_like() + return result + + + def exit(self): + logger.info("terminating worker #%i" % self.myid) + os._exit(0) + + #endclass Worker + + + +def main(): + logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) + logger.info("running %s" % " ".join(sys.argv)) + + program = os.path.basename(sys.argv[0]) + # make sure we have enough cmd line parameters + if len(sys.argv) < 1: + print(globals()["__doc__"] % locals()) + sys.exit(1) + + utils.pyro_daemon('gensim.lsi_worker', Worker(), random_suffix=True) + + logger.info("finished running %s" % program) + + +if __name__ == '__main__': + main() diff --git a/gensim-develop/gensim/models/lsimodel.py b/gensim-develop/gensim/models/lsimodel.py new file mode 100644 index 0000000000..2769f80102 --- /dev/null +++ b/gensim-develop/gensim/models/lsimodel.py @@ -0,0 +1,729 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2010 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + + +""" +Module for Latent Semantic Indexing. + +This module actually contains several algorithms for decomposition of large corpora, a +combination of which effectively and transparently allows building LSI models for: + +* corpora much larger than RAM: only constant memory is needed, independent of + the corpus size (though still dependent on the feature set size) +* corpora that are streamed: documents are only accessed sequentially, no + random-access +* corpora that cannot be even temporarily stored: each document can only be + seen once and must be processed immediately (one-pass algorithm) +* distributed computing for very large corpora, making use of a cluster of + machines + +Wall-clock performance on the English Wikipedia (2G corpus positions, 3.2M +documents, 100K features, 0.5G non-zero entries in the final TF-IDF matrix), +requesting the top 400 LSI factors: + + +====================================================== ============ ================== + algorithm serial distributed +====================================================== ============ ================== + one-pass merge algorithm 5h14m 1h41m + multi-pass stochastic algo (with 2 power iterations) 5h39m N/A [1]_ +====================================================== ============ ================== + + +*serial* = Core 2 Duo MacBook Pro 2.53Ghz, 4GB RAM, libVec + +*distributed* = cluster of four logical nodes on three physical machines, each +with dual core Xeon 2.0GHz, 4GB RAM, ATLAS + +.. [1] The stochastic algo could be distributed too, but most time is already spent + reading/decompressing the input from disk in its 4 passes. The extra network + traffic due to data distribution across cluster nodes would likely make it + *slower*. + +""" + +import logging +import itertools +import sys + +import numpy +import scipy.sparse +from scipy.sparse import sparsetools + +from gensim import interfaces, matutils, utils + + +logger = logging.getLogger('gensim.models.lsimodel') + + +# accuracy defaults for the multi-pass stochastic algo +P2_EXTRA_DIMS = 100 # set to `None` for dynamic P2_EXTRA_DIMS=k +P2_EXTRA_ITERS = 2 + + +def clip_spectrum(s, k, discard=0.001): + """ + Given eigenvalues `s`, return how many factors should be kept to avoid + storing spurious (tiny, numerically instable) values. + + This will ignore the tail of the spectrum with relative combined mass < min(`discard`, 1/k). + + The returned value is clipped against `k` (= never return more than `k`). + """ + # compute relative contribution of eigenvalues towards the energy spectrum + rel_spectrum = numpy.abs(1.0 - numpy.cumsum(s / numpy.sum(s))) + # ignore the last `discard` mass (or 1/k, whichever is smaller) of the spectrum + small = 1 + len(numpy.where(rel_spectrum > min(discard, 1.0 / k))[0]) + k = min(k, small) # clip against k + logger.info("keeping %i factors (discarding %.3f%% of energy spectrum)" % + (k, 100 * rel_spectrum[k - 1])) + return k + + +def asfarray(a, name=''): + if not a.flags.f_contiguous: + logger.debug("converting %s array %s to FORTRAN order" % (a.shape, name)) + a = numpy.asfortranarray(a) + return a + + +def ascarray(a, name=''): + if not a.flags.contiguous: + logger.debug("converting %s array %s to C order" % (a.shape, name)) + a = numpy.ascontiguousarray(a) + return a + + +class Projection(utils.SaveLoad): + def __init__(self, m, k, docs=None, use_svdlibc=False, power_iters=P2_EXTRA_ITERS, extra_dims=P2_EXTRA_DIMS): + """ + Construct the (U, S) projection from a corpus `docs`. The projection can + be later updated by merging it with another Projection via `self.merge()`. + + This is the class taking care of the 'core math'; interfacing with corpora, + splitting large corpora into chunks and merging them etc. is done through + the higher-level `LsiModel` class. + """ + self.m, self.k = m, k + self.power_iters = power_iters + self.extra_dims = extra_dims + if docs is not None: + # base case decomposition: given a job `docs`, compute its decomposition, + # *in-core*. + if not use_svdlibc: + u, s = stochastic_svd(docs, k, chunksize=sys.maxsize, num_terms=m, + power_iters=self.power_iters, extra_dims=self.extra_dims) + else: + try: + import sparsesvd + except ImportError: + raise ImportError("`sparsesvd` module requested but not found; run `easy_install sparsesvd`") + logger.info("computing sparse SVD of %s matrix" % str(docs.shape)) + if not scipy.sparse.issparse(docs): + docs = matutils.corpus2csc(docs) + ut, s, vt = sparsesvd.sparsesvd(docs, + k + 30) # ask for extra factors, because for some reason SVDLIBC sometimes returns fewer factors than requested + u = ut.T + del ut, vt + k = clip_spectrum(s ** 2, self.k) + self.u = u[:, :k].copy() + self.s = s[:k].copy() + else: + self.u, self.s = None, None + + + def empty_like(self): + return Projection(self.m, self.k, power_iters=self.power_iters, extra_dims=self.extra_dims) + + + def merge(self, other, decay=1.0): + """ + Merge this Projection with another. + + The content of `other` is destroyed in the process, so pass this function a + copy of `other` if you need it further. + """ + if other.u is None: + # the other projection is empty => do nothing + return + if self.u is None: + # we are empty => result of merge is the other projection, whatever it is + self.u = other.u.copy() + self.s = other.s.copy() + return + if self.m != other.m: + raise ValueError("vector space mismatch: update is using %s features, expected %s" % + (other.m, self.m)) + logger.info("merging projections: %s + %s" % (str(self.u.shape), str(other.u.shape))) + m, n1, n2 = self.u.shape[0], self.u.shape[1], other.u.shape[1] + # TODO Maybe keep the bases as elementary reflectors, without + # forming explicit matrices with ORGQR. + # The only operation we ever need is basis^T*basis ond basis*component. + # But how to do that in scipy? And is it fast(er)? + + # find component of u2 orthogonal to u1 + logger.debug("constructing orthogonal component") + self.u = asfarray(self.u, 'self.u') + c = numpy.dot(self.u.T, other.u) + self.u = ascarray(self.u, 'self.u') + other.u -= numpy.dot(self.u, c) + + other.u = [other.u] # do some reference magic and call qr_destroy, to save RAM + q, r = matutils.qr_destroy(other.u) # q, r = QR(component) + assert not other.u + + # find the rotation that diagonalizes r + k = numpy.bmat([[numpy.diag(decay * self.s), numpy.multiply(c, other.s)], + [matutils.pad(numpy.array([]).reshape(0, 0), min(m, n2), n1), numpy.multiply(r, other.s)]]) + logger.debug("computing SVD of %s dense matrix" % str(k.shape)) + try: + # in numpy < 1.1.0, running SVD sometimes results in "LinAlgError: SVD did not converge'. + # for these early versions of numpy, catch the error and try to compute + # SVD again, but over k*k^T. + # see http://www.mail-archive.com/numpy-discussion@scipy.org/msg07224.html and + # bug ticket http://projects.scipy.org/numpy/ticket/706 + u_k, s_k, _ = numpy.linalg.svd(k, + full_matrices=False) # TODO *ugly overkill*!! only need first self.k SVD factors... but there is no LAPACK wrapper for partial svd/eigendecomp in numpy :( + except numpy.linalg.LinAlgError: + logger.error("SVD(A) failed; trying SVD(A * A^T)") + u_k, s_k, _ = numpy.linalg.svd(numpy.dot(k, k.T), + full_matrices=False) # if this fails too, give up with an exception + s_k = numpy.sqrt(s_k) # go back from eigen values to singular values + + k = clip_spectrum(s_k ** 2, self.k) + u1_k, u2_k, s_k = numpy.array(u_k[:n1, :k]), numpy.array(u_k[n1:, :k]), s_k[:k] + + # update & rotate current basis U = [U, U']*[U1_k, U2_k] + logger.debug("updating orthonormal basis U") + self.s = s_k + self.u = ascarray(self.u, 'self.u') + self.u = numpy.dot(self.u, u1_k) + + q = ascarray(q, 'q') + q = numpy.dot(q, u2_k) + self.u += q + + # make each column of U start with a non-negative number (to force canonical decomposition) + if self.u.shape[0] > 0: + for i in range(self.u.shape[1]): + if self.u[0, i] < 0.0: + self.u[:, i] *= -1.0 + +# diff = numpy.dot(self.u.T, self.u) - numpy.eye(self.u.shape[1]) +# logger.info('orth error after=%f' % numpy.sum(diff * diff)) +#endclass Projection + + + +class LsiModel(interfaces.TransformationABC): + """ + Objects of this class allow building and maintaining a model for Latent + Semantic Indexing (also known as Latent Semantic Analysis). + + The main methods are: + + 1. constructor, which initializes the projection into latent topics space, + 2. the ``[]`` method, which returns representation of any input document in the + latent space, + 3. `add_documents()` for incrementally updating the model with new documents. + + The left singular vectors are stored in `lsi.projection.u`, singular values + in `lsi.projection.s`. Right singular vectors can be reconstructed from the output + of `lsi[training_corpus]`, if needed. + + Model persistency is achieved via its load/save methods. + + """ + + def __init__(self, corpus=None, num_topics=200, id2word=None, chunksize=20000, + decay=1.0, distributed=False, onepass=True, + power_iters=P2_EXTRA_ITERS, extra_samples=P2_EXTRA_DIMS): + """ + `num_topics` is the number of requested factors (latent dimensions). + + After the model has been trained, you can estimate topics for an + arbitrary, unseen document, using the ``topics = self[document]`` dictionary + notation. You can also add new training documents, with ``self.add_documents``, + so that training can be stopped and resumed at any time, and the + LSI transformation is available at any point. + + If you specify a `corpus`, it will be used to train the model. See the + method `add_documents` for a description of the `chunksize` and `decay` parameters. + + Turn `onepass` off to force a multi-pass stochastic algorithm. + + `power_iters` and `extra_samples` affect the accuracy of the stochastic + multi-pass algorithm, which is used either internally (`onepass=True`) or + as the front-end algorithm (`onepass=False`). Increasing the number of + power iterations improves accuracy, but lowers performance. See [2]_ for + some hard numbers. + + Turn on `distributed` to enable distributed computing. + + Example: + + >>> lsi = LsiModel(corpus, num_topics=10) + >>> print lsi[doc_tfidf] # project some document into LSI space + >>> lsi.add_documents(corpus2) # update LSI on additional documents + >>> print lsi[doc_tfidf] + + .. [2] http://nlp.fi.muni.cz/~xrehurek/nips/rehurek_nips.pdf + + """ + self.id2word = id2word + self.num_topics = int(num_topics) + self.chunksize = int(chunksize) + self.decay = float(decay) + if distributed: + if not onepass: + logger.warning("forcing the one-pass algorithm for distributed LSA") + onepass = True + self.onepass = onepass + self.extra_samples, self.power_iters = extra_samples, power_iters + + if corpus is None and self.id2word is None: + raise ValueError( + 'at least one of corpus/id2word must be specified, to establish input space dimensionality') + + if self.id2word is None: + logger.warning("no word id mapping provided; initializing from corpus, assuming identity") + self.id2word = utils.dict_from_corpus(corpus) + self.num_terms = len(self.id2word) + else: + self.num_terms = 1 + max([-1] + list(self.id2word.keys())) + + self.docs_processed = 0 + self.projection = Projection(self.num_terms, self.num_topics, power_iters=self.power_iters, + extra_dims=self.extra_samples) + + self.numworkers = 1 + if not distributed: + logger.info("using serial LSI version on this node") + self.dispatcher = None + else: + if not onepass: + raise NotImplementedError("distributed stochastic LSA not implemented yet; " + "run either distributed one-pass, or serial randomized.") + try: + import Pyro4 + + dispatcher = Pyro4.Proxy('PYRONAME:gensim.lsi_dispatcher') + dispatcher._pyroOneway.add("exit") + logger.debug("looking for dispatcher at %s" % str(dispatcher._pyroUri)) + dispatcher.initialize(id2word=self.id2word, num_topics=num_topics, + chunksize=chunksize, decay=decay, + power_iters=self.power_iters, extra_samples=self.extra_samples, + distributed=False, onepass=onepass) + self.dispatcher = dispatcher + self.numworkers = len(dispatcher.getworkers()) + logger.info("using distributed version with %i workers" % self.numworkers) + except Exception as err: + # distributed version was specifically requested, so this is an error state + logger.error("failed to initialize distributed LSI (%s)" % err) + raise RuntimeError("failed to initialize distributed LSI (%s)" % err) + + if corpus is not None: + self.add_documents(corpus) + + + def add_documents(self, corpus, chunksize=None, decay=None): + """ + Update singular value decomposition to take into account a new + corpus of documents. + + Training proceeds in chunks of `chunksize` documents at a time. The size of + `chunksize` is a tradeoff between increased speed (bigger `chunksize`) + vs. lower memory footprint (smaller `chunksize`). If the distributed mode + is on, each chunk is sent to a different worker/computer. + + Setting `decay` < 1.0 causes re-orientation towards new data trends in the + input document stream, by giving less emphasis to old observations. This allows + LSA to gradually "forget" old observations (documents) and give more + preference to new ones. + """ + logger.info("updating model with new documents") + + # get computation parameters; if not specified, use the ones from constructor + if chunksize is None: + chunksize = self.chunksize + if decay is None: + decay = self.decay + + if not scipy.sparse.issparse(corpus): + if not self.onepass: + # we are allowed multiple passes over the input => use a faster, randomized two-pass algo + update = Projection(self.num_terms, self.num_topics, None) + update.u, update.s = stochastic_svd(corpus, self.num_topics, + num_terms=self.num_terms, chunksize=chunksize, + extra_dims=self.extra_samples, power_iters=self.power_iters) + self.projection.merge(update, decay=decay) + else: + # the one-pass algo + doc_no = 0 + for chunk_no, chunk in enumerate(utils.grouper(corpus, chunksize)): + logger.info("preparing a new chunk of documents") + nnz = sum(len(doc) for doc in chunk) + # construct the job as a sparse matrix, to minimize memory overhead + # definitely avoid materializing it as a dense matrix! + logger.debug("converting corpus to csc format") + job = matutils.corpus2csc(chunk, num_docs=len(chunk), num_terms=self.num_terms, num_nnz=nnz) + del chunk + doc_no += job.shape[1] + if self.dispatcher: + # distributed version: add this job to the job queue, so workers can work on it + logger.debug("creating job #%i" % chunk_no) + self.dispatcher.putjob( + job) # put job into queue; this will eventually block, because the queue has a small finite size + del job + logger.info("dispatched documents up to #%s" % doc_no) + else: + # serial version, there is only one "worker" (myself) => process the job directly + update = Projection(self.num_terms, self.num_topics, job, extra_dims=self.extra_samples, + power_iters=self.power_iters) + del job + self.projection.merge(update, decay=decay) + del update + logger.info("processed documents up to #%s" % doc_no) + self.print_topics(5) + + # wait for all workers to finish (distributed version only) + if self.dispatcher: + logger.info("reached the end of input; now waiting for all remaining jobs to finish") + self.projection = self.dispatcher.getstate() + # logger.info("top topics after adding %i documents" % doc_no) + # self.print_debug(10) + else: + assert not self.dispatcher, "must be in serial mode to receive jobs" + assert self.onepass, "distributed two-pass algo not supported yet" + update = Projection(self.num_terms, self.num_topics, corpus.tocsc(), extra_dims=self.extra_samples, + power_iters=self.power_iters) + self.projection.merge(update, decay=decay) + logger.info("processed sparse job of %i documents" % (corpus.shape[1])) + + + def __str__(self): + return "LsiModel(num_terms=%s, num_topics=%s, decay=%s, chunksize=%s)" % \ + (self.num_terms, self.num_topics, self.decay, self.chunksize) + + + def __getitem__(self, bow, scaled=False, chunksize=512): + """ + Return latent representation, as a list of (topic_id, topic_value) 2-tuples. + + This is done by folding input document into the latent topic space. + """ + assert self.projection.u is not None, "decomposition not initialized yet" + + # if the input vector is in fact a corpus, return a transformed corpus as a result + is_corpus, bow = utils.is_corpus(bow) + if is_corpus and chunksize: + # by default, transform 256 documents at once, when called as `lsi[corpus]`. + # this chunking is completely transparent to the user, but it speeds + # up internal computations (one mat * mat multiplication, instead of + # 256 smaller mat * vec multiplications). + return self._apply(bow, chunksize=chunksize) + + if not is_corpus: + bow = [bow] + vec = matutils.corpus2csc(bow, num_terms=self.num_terms) + + topic_dist = (vec.T * self.projection.u[:, :self.num_topics]).T # (x^T * u).T = u^-1 * x + if scaled: + topic_dist *= (1.0 / self.projection.s[:self.num_topics])# s^-1 * u^-1 * x + + # convert a numpy array to gensim sparse vector = tuples of (feature_id, feature_weight), + # with no zero weights. + if not is_corpus: + # lsi[single_document] + result = matutils.full2sparse(topic_dist.flat) + else: + # lsi[chunk of documents] + result = matutils.Dense2Corpus(topic_dist) + return result + + + def show_topic(self, topicno, topn=10): + """ + Return a specified topic (=left singular vector), 0 <= `topicno` < `self.num_topics`, + as string. + + Return only the `topn` words which contribute the most to the direction + of the topic (both negative and positive). + + >>> lsimodel.print_topic(10, topn=5) + '-0.340 * "category" + 0.298 * "$M$" + 0.183 * "algebra" + -0.174 * "functor" + -0.168 * "operator"' + + """ + # size of the projection matrix can actually be smaller than `self.num_topics`, + # if there were not enough factors (real rank of input matrix smaller than + # `self.num_topics`). in that case, return an empty string + if topicno >= len(self.projection.u.T): + return '' + c = numpy.asarray(self.projection.u.T[topicno, :]).flatten() + norm = numpy.sqrt(numpy.sum(numpy.dot(c, c))) + most = numpy.abs(c).argsort()[::-1][:topn] + return [(1.0 * c[val] / norm, self.id2word[val]) for val in most] + + def print_topic(self, topicno, topn=10): + return ' + '.join(['%.3f*"%s"' % v for v in self.show_topic(topicno, topn)]) + + def show_topics(self, num_topics=-1, num_words=10, log=False, formatted=True): + """ + Show `num_topics` most significant topics (show all by default). + For each topic, show `num_words` most significant words (10 words by defaults). + + Return the shown topics as a list -- a list of strings if `formatted` is + True, or a list of (value, word) 2-tuples if it's False. + + If `log` is True, also output this result to log. + + """ + shown = [] + if num_topics < 0: + num_topics = self.num_topics + for i in range(min(num_topics, self.num_topics)): + if i < len(self.projection.s): + if formatted: + topic = self.print_topic(i, topn=num_words) + else: + topic = self.show_topic(i, topn=num_words) + shown.append(topic) + if log: + logger.info("topic #%i(%.3f): %s" % + (i, self.projection.s[i], + topic)) + return shown + + def print_topics(self, num_topics=5, num_words=10): + """Alias for `show_topics()` which prints the top 5 topics to log.""" + return self.show_topics(num_topics=num_topics, num_words=num_words, log=True) + + def print_debug(self, num_topics=5, num_words=10): + """ + Print (to log) the most salient words of the first `num_topics` topics. + + Unlike `print_topics()`, this looks for words that are significant for a + particular topic *and* not for others. This *should* result in a more + human-interpretable description of topics. + """ + # only wrap the module-level fnc + print_debug(self.id2word, self.projection.u, self.projection.s, + list(range(min(num_topics, len(self.projection.u.T)))), + num_words=num_words) + + + def save(self, fname): + """ + Override the default `save` (which uses cPickle), because that's + too inefficient and cPickle has bugs. Instead, single out the large transformation + matrix and store that separately in binary format (that can be directly + mmap'ed back in `load()`), under `fname.npy`. + """ + logger.info("storing %s object to %s and %s" % (self.__class__.__name__, fname, fname + '.npy')) + if self.projection.u is None: + # model not initialized: there is no projection + utils.pickle(self, fname) + + # first, remove the projection from self.__dict__, so it doesn't get pickled + u, dispatcher = self.projection.u, self.dispatcher + del self.projection.u + self.dispatcher = None + try: + utils.pickle(self, fname) # store projection-less object + numpy.save(fname + '.npy', ascarray(u)) # store projection + finally: + self.projection.u, self.dispatcher = u, dispatcher + + + @classmethod + def load(cls, fname): + """ + Load a previously saved object from file (also see `save`). + """ + logger.debug("loading %s object from %s" % (cls.__name__, fname)) + result = utils.unpickle(fname) + ufname = fname + '.npy' + try: + result.projection.u = numpy.load(ufname, mmap_mode='r') # load back as read-only + except: + logger.debug("failed to load mmap'ed projection from %s" % ufname) + result.dispatcher = None # TODO load back incl. distributed state? will require re-initialization of worker state + return result + + #endclass LsiModel + + +def print_debug(id2token, u, s, topics, num_words=10, num_neg=None): + if num_neg is None: + # by default, print half as many salient negative words as positive + num_neg = num_words / 2 + + logger.info('computing word-topic salience for %i topics' % len(topics)) + topics, result = set(topics), {} + # TODO speed up by block computation + for uvecno, uvec in enumerate(u): + uvec = numpy.abs(numpy.asarray(uvec).flatten()) + udiff = uvec / numpy.sqrt(numpy.sum(numpy.dot(uvec, uvec))) + for topic in topics: + result.setdefault(topic, []).append((udiff[topic], uvecno)) + + logger.debug("printing %i+%i salient words" % (num_words, num_neg)) + for topic in sorted(result.keys()): + weights = sorted(result[topic], key=lambda x: -abs(x[0])) + _, most = weights[0] + if u[most, topic] < 0.0: # the most significant word has a negative sign => flip sign of u[most] + normalize = -1.0 + else: + normalize = 1.0 + + # order features according to salience; ignore near-zero entries in u + pos, neg = [], [] + for weight, uvecno in weights: + if normalize * u[uvecno, topic] > 0.0001: + pos.append('%s(%.3f)' % (id2token[uvecno], u[uvecno, topic])) + if len(pos) >= num_words: + break + + for weight, uvecno in weights: + if normalize * u[uvecno, topic] < -0.0001: + neg.append('%s(%.3f)' % (id2token[uvecno], u[uvecno, topic])) + if len(neg) >= num_neg: + break + + logger.info('topic #%s(%.3f): %s, ..., %s' % (topic, s[topic], ', '.join(pos), ', '.join(neg))) + + +def stochastic_svd(corpus, rank, num_terms, chunksize=20000, extra_dims=None, + power_iters=0, dtype=numpy.float64, eps=1e-6): + """ + Return (U, S): the left singular vectors and the singular values of the streamed + input corpus `corpus` [3]_. + + This may actually return less than the requested number of top `rank` factors, + in case the input is of lower rank. The `extra_dims` (oversampling) and especially + `power_iters` (power iterations) parameters affect accuracy of the decomposition. + + This algorithm uses `2+power_iters` passes over the data. In case you can only + afford a single pass over the input corpus, set `onepass=True` in :class:`LsiModel` + and avoid using this algorithm directly. + + The decomposition algorithm is based on + **Halko, Martinsson, Tropp. Finding structure with randomness, 2009.** + + .. [3] If `corpus` is a scipy.sparse matrix instead, it is assumed the whole + corpus fits into core memory and a different (more efficient) code path is chosen. + """ + global num_docs + rank = int(rank) + if extra_dims is None: + samples = max(10, 2 * rank) # use more samples than requested factors, to improve accuracy + else: + samples = rank + int(extra_dims) + logger.info("using %i extra samples and %i power iterations" % (samples - rank, power_iters)) + + num_terms = int(num_terms) + + # first phase: construct the orthonormal action matrix Q = orth(Y) = orth((A * A.T)^q * A * O) + # build Y in blocks of `chunksize` documents (much faster than going one-by-one + # and more memory friendly than processing all documents at once) + y = numpy.zeros(dtype=dtype, shape=(num_terms, samples)) + logger.info("1st phase: constructing %s action matrix" % str(y.shape)) + + if scipy.sparse.issparse(corpus): + m, n = corpus.shape + assert num_terms == m, "mismatch in number of features: %i in sparse matrix vs. %i parameter" % (m, num_terms) + o = numpy.random.normal(0.0, 1.0, (n, samples)).astype(y.dtype) # draw a random gaussian matrix + sparsetools.csc_matvecs(m, n, samples, corpus.indptr, corpus.indices, + corpus.data, o.ravel(), y.ravel()) # y = corpus * o + del o + + # unlike numpy, scipy.sparse `astype()` copies everything, even if there is no change to dtype! + # so check for equal dtype explicitly, to avoid the extra memory footprint if possible + if y.dtype != dtype: + y = y.astype(dtype) + + logger.info("orthonormalizing %s action matrix" % str(y.shape)) + y = [y] + q, _ = matutils.qr_destroy(y) # orthonormalize the range + + logger.debug("running %i power iterations" % power_iters) + for power_iter in range(power_iters): + q = corpus.T * q + q = [corpus * q] + q, _ = matutils.qr_destroy(q) # orthonormalize the range after each power iteration step + else: + num_docs = 0 + for chunk_no, chunk in enumerate(utils.grouper(corpus, chunksize)): + logger.info('PROGRESS: at document #%i' % (chunk_no * chunksize)) + # construct the chunk as a sparse matrix, to minimize memory overhead + # definitely avoid materializing it as a dense (num_terms x chunksize) matrix! + s = sum(len(doc) for doc in chunk) + chunk = matutils.corpus2csc(chunk, num_terms=num_terms, dtype=dtype) # documents = columns of sparse CSC + m, n = chunk.shape + assert m == num_terms + assert n <= chunksize # the very last chunk of A is allowed to be smaller in size + num_docs += n + logger.debug("multiplying chunk * gauss") + o = numpy.random.normal(0.0, 1.0, (n, samples)).astype(dtype) # draw a random gaussian matrix + sparsetools.csc_matvecs(m, n, samples, chunk.indptr, chunk.indices, # y = y + chunk * o + chunk.data, o.ravel(), y.ravel()) + del chunk, o + y = [y] + q, _ = matutils.qr_destroy(y) # orthonormalize the range + + for power_iter in range(power_iters): + logger.info("running power iteration #%i" % (power_iter + 1)) + yold = q.copy() + q[:] = 0.0 + for chunk_no, chunk in enumerate(utils.grouper(corpus, chunksize)): + logger.info('PROGRESS: at document #%i/%i' % (chunk_no * chunksize, num_docs)) + chunk = matutils.corpus2csc(chunk, num_terms=num_terms, dtype=dtype) # documents = columns of sparse CSC + tmp = chunk.T * yold + tmp = chunk * tmp + del chunk + q += tmp + del yold + q = [q] + q, _ = matutils.qr_destroy(q) # orthonormalize the range + + qt = q[:, :samples].T.copy() + del q + + if scipy.sparse.issparse(corpus): + b = qt * corpus + logger.info("2nd phase: running dense svd on %s matrix" % str(b.shape)) + u, s, vt = numpy.linalg.svd(b, full_matrices=False) + del b, vt + else: + # second phase: construct the covariance matrix X = B * B.T, where B = Q.T * A + # again, construct X incrementally, in chunks of `chunksize` documents from the streaming + # input corpus A, to avoid using O(number of documents) memory + x = numpy.zeros(shape=(qt.shape[0], qt.shape[0]), dtype=numpy.float64) + logger.info("2nd phase: constructing %s covariance matrix" % str(x.shape)) + for chunk_no, chunk in enumerate(utils.grouper(corpus, chunksize)): + logger.info('PROGRESS: at document #%i/%i' % (chunk_no * chunksize, num_docs)) + chunk = matutils.corpus2csc(chunk, num_terms=num_terms, dtype=qt.dtype) + b = qt * chunk # dense * sparse matrix multiply + del chunk + x += numpy.dot(b, b.T) # TODO should call the BLAS routine SYRK, but there is no SYRK wrapper in scipy :( + del b + + # now we're ready to compute decomposition of the small matrix X + logger.info("running dense decomposition on %s covariance matrix" % str(x.shape)) + u, s, vt = numpy.linalg.svd( + x) # could use linalg.eigh, but who cares... and svd returns the factors already sorted :) + s = numpy.sqrt( + s) # sqrt to go back from singular values of X to singular values of B = singular values of the corpus + q = qt.T.copy() + del qt + + logger.info("computing the final decomposition") + keep = clip_spectrum(s ** 2, rank, discard=eps) + u = u[:, :keep].copy() + s = s[:keep] + u = numpy.dot(q, u) + return u.astype(dtype), s.astype(dtype) + diff --git a/gensim-develop/gensim/models/rpmodel.py b/gensim-develop/gensim/models/rpmodel.py new file mode 100644 index 0000000000..e5cce56828 --- /dev/null +++ b/gensim-develop/gensim/models/rpmodel.py @@ -0,0 +1,102 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2010 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + + +import logging +import itertools + +import numpy +import scipy + +from gensim import interfaces, matutils, utils + + +logger = logging.getLogger('gensim.models.rpmodel') + + +class RpModel(interfaces.TransformationABC): + """ + Objects of this class allow building and maintaining a model for Random Projections + (also known as Random Indexing). For theoretical background on RP, see: + + Kanerva et al.: "Random indexing of text samples for Latent Semantic Analysis." + + The main methods are: + + 1. constructor, which creates the random projection matrix + 2. the [] method, which transforms a simple count representation into the TfIdf + space. + + >>> rp = RpModel(corpus) + >>> print rp[some_doc] + >>> rp.save('/tmp/foo.rp_model') + + Model persistency is achieved via its load/save methods. + """ + + def __init__(self, corpus, id2word=None, num_topics=300): + """ + `id2word` is a mapping from word ids (integers) to words (strings). It is + used to determine the vocabulary size, as well as for debugging and topic + printing. If not set, it will be determined from the corpus. + """ + self.id2word = id2word + self.num_topics = num_topics + if corpus is not None: + self.initialize(corpus) + + + def __str__(self): + return "RpModel(num_terms=%s, num_topics=%s)" % (self.num_terms, self.num_topics) + + + def initialize(self, corpus): + """ + Initialize the random projection matrix. + """ + if self.id2word is None: + logger.info("no word id mapping provided; initializing from corpus, assuming identity") + self.id2word = utils.dict_from_corpus(corpus) + self.num_terms = len(self.id2word) + else: + self.num_terms = 1 + max([-1] + list(self.id2word.keys())) + + shape = self.num_topics, self.num_terms + logger.info("constructing %s random matrix" % str(shape)) + # Now construct the projection matrix itself. + # Here i use a particular form, derived in "Achlioptas: Database-friendly random projection", + # and his (1) scenario of Theorem 1.1 in particular (all entries are +1/-1). + randmat = 1 - 2 * numpy.random.binomial(1, 0.5, shape) # convert from 0/1 to +1/-1 + self.projection = numpy.asfortranarray(randmat, + dtype=numpy.float32) # convert from int32 to floats, for faster multiplications + + + def __getitem__(self, bow): + """ + Return RP representation of the input vector and/or corpus. + """ + # if the input vector is in fact a corpus, return a transformed corpus as result + is_corpus, bow = utils.is_corpus(bow) + if is_corpus: + return self._apply(bow) + + vec = matutils.sparse2full(bow, self.num_terms).reshape(self.num_terms, 1) / numpy.sqrt(self.num_topics) + vec = numpy.asfortranarray(vec, dtype=numpy.float32) + topic_dist = numpy.dot(self.projection, vec) # (k, d) * (d, 1) = (k, 1) + return [(topicid, float(topicvalue)) for topicid, topicvalue in enumerate(topic_dist.flat) + if numpy.isfinite(topicvalue) and not numpy.allclose(topicvalue, 0.0)] + + + def __setstate__(self, state): + """ + This is a hack to work around a bug in numpy, where a FORTRAN-order array + unpickled from disk segfaults on using it. + """ + self.__dict__ = state + if self.projection is not None: + self.projection = self.projection.copy('F') # simply making a fresh copy fixes the broken array + +#endclass RpModel diff --git a/gensim-develop/gensim/models/tfidfmodel.py b/gensim-develop/gensim/models/tfidfmodel.py new file mode 100644 index 0000000000..8e861d991a --- /dev/null +++ b/gensim-develop/gensim/models/tfidfmodel.py @@ -0,0 +1,159 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + + +import logging +import itertools + +import math + +from gensim import interfaces, matutils, utils + + +logger = logging.getLogger('gensim.models.tfidfmodel') + + +def df2idf(docfreq, totaldocs, log_base=2.0, add=0.0): + """ + Compute default inverse-document-frequency for a term with document frequency `doc_freq`:: + + idf = add + log(totaldocs / doc_freq) + """ + return add + math.log(1.0 * totaldocs / docfreq, log_base) + + +def precompute_idfs(wglobal, dfs, total_docs): + """Precompute the inverse document frequency mapping for all terms.""" + # not strictly necessary and could be computed on the fly in TfidfModel__getitem__. + # this method is here just to speed things up a little. + return dict((termid, wglobal(df, total_docs)) for termid, df in dfs.items()) + + +class TfidfModel(interfaces.TransformationABC): + """ + Objects of this class realize the transformation between word-document co-occurrence + matrix (integers) into a locally/globally weighted TF_IDF matrix (positive floats). + + The main methods are: + + 1. constructor, which calculates inverse document counts for all terms in the training corpus. + 2. the [] method, which transforms a simple count representation into the TfIdf + space. + + >>> tfidf = TfidfModel(corpus) + >>> print = tfidf[some_doc] + >>> tfidf.save('/tmp/foo.tfidf_model') + + Model persistency is achieved via its load/save methods. + """ + + def __init__(self, corpus=None, id2word=None, dictionary=None, + wlocal=utils.identity, wglobal=df2idf, normalize=True): + """ + Compute tf-idf by multiplying a local component (term frequency) with a + global component (inverse document frequency), and normalizing + the resulting documents to unit length. Formula for unnormalized weight + of term `i` in document `j` in a corpus of D documents:: + + weight_{i,j} = frequency_{i,j} * log_2(D / document_freq_{i}) + + or, more generally:: + + weight_{i,j} = wlocal(frequency_{i,j}) * wglobal(document_freq_{i}, D) + + so you can plug in your own custom `wlocal` and `wglobal` functions. + + Default for `wlocal` is identity (other options: math.sqrt, math.log1p, ...) + and default for `wglobal` is `log_2(total_docs / doc_freq)`, giving the + formula above. + + `normalize` dictates how the final transformed vectors will be normalized. + `normalize=True` means set to unit length (default); `False` means don't + normalize. You can also set `normalize` to your own function that accepts + and returns a sparse vector. + + If `dictionary` is specified, it must be a `corpora.Dictionary` object + and it will be used to directly construct the inverse document frequency + mapping (then `corpus`, if specified, is ignored). + """ + self.normalize = normalize + self.id2word = id2word + self.wlocal, self.wglobal = wlocal, wglobal + self.num_docs, self.num_nnz, self.idfs = None, None, None + if dictionary is not None: + # user supplied a Dictionary object, which already contains all the + # statistics we need to construct the IDF mapping. we can skip the + # step that goes through the corpus (= an optimization). + if corpus is not None: + logger.warning("constructor received both corpus and explicit " + "inverse document frequencies; ignoring the corpus") + self.num_docs, self.num_nnz = dictionary.num_docs, dictionary.num_nnz + self.dfs = dictionary.dfs.copy() + self.idfs = precompute_idfs(self.wglobal, self.dfs, self.num_docs) + elif corpus is not None: + self.initialize(corpus) + else: + # NOTE: everything is left uninitialized; presumably the model will + # be initialized in some other way + pass + + + def __str__(self): + return "TfidfModel(num_docs=%s, num_nnz=%s)" % (self.num_docs, self.num_nnz) + + + def initialize(self, corpus): + """ + Compute inverse document weights, which will be used to modify term + frequencies for documents. + """ + logger.info("collecting document frequencies") + dfs = {} + numnnz, docno = 0, -1 + for docno, bow in enumerate(corpus): + if docno % 10000 == 0: + logger.info("PROGRESS: processing document #%i" % docno) + numnnz += len(bow) + for termid, _ in bow: + dfs[termid] = dfs.get(termid, 0) + 1 + + # keep some stats about the training corpus + self.num_docs = docno + 1 + self.num_nnz = numnnz + self.dfs = dfs + + # and finally compute the idf weights + logger.info("calculating IDF weights for %i documents and %i features (%i matrix non-zeros)" % + (self.num_docs, 1 + max([-1] + list(dfs.keys())), self.num_nnz)) + self.idfs = precompute_idfs(self.wglobal, self.dfs, self.num_docs) + + + def __getitem__(self, bow, eps=1e-12): + """ + Return tf-idf representation of the input vector and/or corpus. + """ + # if the input vector is in fact a corpus, return a transformed corpus as a result + is_corpus, bow = utils.is_corpus(bow) + if is_corpus: + return self._apply(bow) + + # unknown (new) terms will be given zero weight (NOT infinity/huge weight, + # as strict application of the IDF formula would dictate) + vector = [(termid, self.wlocal(tf) * self.idfs.get(termid)) + for termid, tf in bow if self.idfs.get(termid, 0.0) != 0.0] + + # and finally, normalize the vector either to unit length, or use a + # user-defined normalization function + if self.normalize is True: + vector = matutils.unitvec(vector) + elif self.normalize: + vector = self.normalize(vector) + + # make sure there are no explicit zeroes in the vector (must be sparse) + vector = [(termid, weight) for termid, weight in vector if abs(weight) > eps] + return vector + + #endclass TfidfModel diff --git a/gensim-develop/gensim/models/word2vec.py b/gensim-develop/gensim/models/word2vec.py new file mode 100644 index 0000000000..6aa26847bc --- /dev/null +++ b/gensim-develop/gensim/models/word2vec.py @@ -0,0 +1,497 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2013 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + + +""" +Module for deep learning via *hierarchical softmax skip-gram* from [1]_. +The algorithm is ported from the C package https://code.google.com/p/word2vec/ . + +Initialize a model with e.g.:: + +>>> model = Word2Vec(sentences, size=100, window=5, min_count=5) + +Store/load a model with:: + +>>> model.save(fname) +>>> model = Word2Vec.load(fname) + +The model can also be instantiated from an existing, trained file on disk in word2vec format:: + + >>> model = Word2Vec.load_word2vec_format('/tmp/vectors.txt', binary=False) # text format + >>> model = Word2Vec.load_word2vec_format('/tmp/vectors.bin', binary=True) # binary format + +.. [1] Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. Efficient Estimation of Word Representations in Vector Space. In Proceedings of Workshop at ICLR, 2013. + +""" + +import logging +import sys +import os +import heapq +import time + +from numpy import zeros_like, empty, exp, dot, outer, random, dtype, get_include, \ + float32 as REAL, uint32, seterr, array, uint8, vstack, argsort, fromstring + +logger = logging.getLogger(__name__) + +from gensim import utils, matutils # utility fnc for pickling, common scipy operations etc + + +MIN_ALPHA = 0.0001 # don't allow learning rate to drop below this threshold + +if not(cython_sentence == False): + # try to compile the faster cython version first + import pyximport + + pyximport.install(inplace=True, setup_args={"include_dirs": get_include()}) + from word2vec_inner import train_sentence + + cython_sentence = True + + def train_sentence(model, sentence, alpha): + """ + Update skip-gram hierarchical softmax model by training on a single sentence, + where `sentence` is a list of Vocab objects (or None, where the corresponding + word is not in the vocabulary). Called internally from `Word2Vec.train()`. + + """ + for pos, word in enumerate(sentence): + if word is None: + continue # OOV word in the input sentence => skip + reduced_window = random.randint(model.window) # `b` in the original word2vec code + + # now go over all words from the (reduced) window, predicting each one in turn + start = max(0, pos - model.window + reduced_window) + for pos2, word2 in enumerate(sentence[start: pos + model.window + 1 - reduced_window], start): + if pos2 == pos or word2 is None: + # don't train on OOV words and on the `word` itself + continue + l1 = model.syn0[word2.index] + # work on the entire tree at once, to push as much work into numpy's C routines as possible (performance) + l2a = model.syn1[word.point] # 2d matrix, codelen x layer1_size + fa = 1.0 / (1.0 + exp(-dot(l1, l2a.T))) # propagate hidden -> output + ga = (1 - word.code - fa) * alpha # vector of error gradients multiplied by the learning rate + model.syn1[word.point] += outer(ga, l1) # learn hidden -> output + + # TODO add negative sampling? + + l1 += dot(ga, l2a) # learn input -> hidden + + +class Vocab(object): + """A single vocabulary item, used internally for constructing binary trees (incl. both word leaves and inner nodes).""" + + def __init__(self, **kwargs): + self.count = 0 + self.__dict__.update(kwargs) + + def __lt__(self, other): # used for sorting in a priority queue + return self.count < other.count + + def __str__(self): + vals = ['%s:%r' % (key, self.__dict__[key]) for key in sorted(self.__dict__) if not key.startswith('_')] + return "<" + ', '.join(vals) + ">" + + +class Word2Vec(utils.SaveLoad): + """ + Class for training, using and evaluating neural networks described in https://code.google.com/p/word2vec/ + + The model can be stored/loaded via its `save()` and `load()` methods, or stored in a format + compatible with the original word2vec implementation via `save_word2vec_format()`. + + """ + + def __init__(self, sentences=None, size=100, alpha=0.025, window=5, min_count=5, seed=1): + """ + Initialize a model from `sentences`. Each sentence is a list of words + (utf8 strings) that will be used for training. + + If you don't supply `sentences`, the model is left uninitialized -- use if + you plan to initialize it in some other way. + + `size` is the dimensionality of the feature vectors. + `window` is the maximum distance between the current and predicted word within a sentence. + `alpha` is the initial learning rate (will linearly drop to zero as training progresses). + `seed` = for the random number generator. + `min_count` = ignore all words with total frequency lower than this. + + """ + self.vocab = {} # mapping from a word (string) to a Vocab object + self.index2word = [] # map from a word's matrix index (int) to word (string) + self.layer1_size = int(size) + self.alpha = float(alpha) + self.window = int(window) + self.seed = seed + self.min_count = min_count + if sentences is not None: + self.build_vocab(sentences) + self.reset_weights() + self.train(sentences) + + + def create_binary_tree(self): + """ + Create a binary Huffman tree using stored vocabulary word counts. Frequent words + will have shorter binary codes. Called internally from `build_vocab()`. + + """ + logger.info("constructing a huffman tree from %i words" % len(self.vocab)) + + # build the huffman tree + heap = list(self.vocab.values()) + heapq.heapify(heap) + for i in range(len(self.vocab) - 1): + min1, min2 = heapq.heappop(heap), heapq.heappop(heap) + heapq.heappush(heap, Vocab(count=min1.count + min2.count, index=i + len(self.vocab), left=min1, right=min2)) + + # recurse over the tree, assigning a binary code to each vocabulary word + if heap: + max_depth, stack = 0, [(heap[0], [], [])] + while stack: + node, codes, points = stack.pop() + if node.index < len(self.vocab): + # leaf node => store its path from the root + node.code, node.point = codes, points + max_depth = max(len(codes), max_depth) + else: + # inner node => continue recursion + points = array(list(points) + [node.index - len(self.vocab)], dtype=uint32) + stack.append((node.left, array(list(codes) + [0], dtype=uint8), points)) + stack.append((node.right, array(list(codes) + [1], dtype=uint8), points)) + + logger.info("built huffman tree with maximum node depth %i" % max_depth) + + + def build_vocab(self, sentences): + """Build vocabulary from a sequence of sentences.""" + logger.info("collecting all words and their counts") + sentence_no, vocab = -1, {} + total_words = lambda: sum(v.count for v in vocab.values()) + for sentence_no, sentence in enumerate(sentences): + if sentence_no % 10000 == 0: + logger.info("PROGRESS: at sentence #%i, processed %i words and %i word types" % + (sentence_no, total_words(), len(vocab))) + for word in sentence: + v = vocab.setdefault(word, Vocab()) + v.count += 1 + logger.info("collected %i word types from a corpus of %i words and %i sentences" % + (len(vocab), total_words(), sentence_no + 1)) + + # assign a unique index to each word + self.vocab, self.index2word = {}, [] + for word, v in vocab.items(): + if v.count >= self.min_count: + v.index = len(self.vocab) + self.index2word.append(word) + self.vocab[word] = v + logger.info("total %i word types after removing those with count<%s" % (len(self.vocab), self.min_count)) + + # add info about each word's Huffman encoding + self.create_binary_tree() + + + def train(self, sentences, total_words=None): + """ + Train the model on a sequence of sentences, updating its existing neural weights. + Each sentence is a list of utf8 strings. + + """ + logger.info("training model with %i words and %i features" % (len(self.vocab), self.layer1_size)) + + # iterate over documents, training the model one sentence at a time + total_words = total_words or sum(v.count for v in self.vocab.values()) + alpha = self.alpha + word_count, sentence_no, start = 0, -1, time.clock() + for sentence_no, sentence in enumerate(sentences): + if sentence_no % 100 == 0: + # decrease learning rate as the training progresses + alpha = max(MIN_ALPHA, self.alpha * (1 - 1.0 * word_count / total_words)) + + # print progress and training stats + elapsed = time.clock() - start + logger.info("PROGRESS: at sentence #%i, %.2f%% words, alpha %f, %.0f words per second" % + (sentence_no, 100.0 * word_count / total_words, alpha, + word_count / elapsed if elapsed else 0.0)) + words = [self.vocab.get(word, None) for word in sentence] # replace OOV words with None + train_sentence(self, words, alpha) + word_count += len([_f for _f in words if _f]) # don't consider OOV words for the statistics + logger.info("training took %.1fs" % (time.clock() - start)) + + + def reset_weights(self): + """Reset all projection weights, but keep the existing vocabulary.""" + random.seed(self.seed) + self.syn0 = ((random.rand(len(self.vocab), self.layer1_size) - 0.5) / self.layer1_size).astype(dtype=REAL) + self.syn1 = zeros_like(self.syn0) + + + def save_word2vec_format(self, fname, binary=False): + """ + Store the input-hidden weight matrix in the same format used by the original + word2vec-tool, for compatibility. + + """ + logger.info("storing %sx%s projection weights into %s" % (len(self.vocab), self.layer1_size, fname)) + assert (len(self.vocab), self.layer1_size) == self.syn0.shape + with open(fname, 'wb') as fout: + fout.write("%s %s\n" % self.syn0.shape) + # store in sorted order: most frequent words at the top + for word, vocab in sorted(iter(self.vocab.items()), key=lambda item: -item[1].count): + row = self.syn0[vocab.index] + if binary: + fout.write("%s %s\n" % (word, row.tostring())) + else: + fout.write("%s %s\n" % (word, ' '.join("%f" % val for val in row))) + + + @classmethod + def load_word2vec_format(cls, fname, binary=False): + """ + Load the input-hidden weight matrix from the original word2vec-tool format. + + Note that the information loaded is incomplete (the binary tree is missing), + so while you can query for word similarity etc., you cannot continue training + with a model loaded this way. + + """ + logger.info("loading projection weights from %s" % fname) + with open(fname) as fin: + header = fin.readline() + vocab_size, layer1_size = list(map(int, header.split())) # throws for invalid file format + result = Word2Vec(size=layer1_size) + result.syn0 = empty((vocab_size, layer1_size), dtype=REAL) + if binary: + binary_len = dtype(REAL).itemsize * layer1_size + for line_no in range(vocab_size): + # mixed text and binary: read text first, then binary + word = [] + while True: + ch = fin.read(1) + if ch == ' ': + word = ''.join(word) + break + word.append(ch) + result.vocab[word] = Vocab(index=line_no, count=vocab_size - line_no) + result.index2word.append(word) + result.syn0[line_no] = fromstring(fin.read(binary_len), dtype=REAL) + fin.read(1) # newline + else: + for line_no, line in enumerate(fin): + parts = line.split() + assert len(parts) == layer1_size + 1 + word, weights = parts[0], list(map(REAL, parts[1:])) + result.vocab[word] = Vocab(index=line_no, count=vocab_size - line_no) + result.index2word.append(word) + result.syn0[line_no] = weights + logger.info("loaded %s matrix from %s" % (result.syn0.shape, fname)) + result.init_sims() + return result + + + def most_similar(self, positive=None, negative=None, topn=10): + """ + Find the top-N most similar words. Positive words contribute positively towards the + similarity, negative words negatively. + + This method computes cosine similarity between a simple mean of the projection + weight vectors of the given words, and corresponds to the `word-analogy` and + `distance` scripts in the original word2vec implementation. + + Example:: + + >>> trained_model.most_similar(positive=['woman', 'king'], negative=['man']) + [('queen', 0.50882536), ...] + + """ + if not positive: positive = [] + if not negative: negative = [] + self.init_sims() + + # add weights for each word, if not already present; default to 1.0 for positive and -1.0 for negative words + positive = [(word, 1.0) if isinstance(word, str) else word for word in positive] + negative = [(word, -1.0) if isinstance(word, str) else word for word in negative] + all_words, mean = set(), [] + for word, weight in positive + negative: + if word in self.vocab: + mean.append(weight * matutils.unitvec(self.syn0[self.vocab[word].index])) + all_words.add(self.vocab[word].index) + else: + logger.warning("word '%s' not in vocabulary; ignoring it" % word) + if not mean: + raise ValueError("cannot compute similarity with no input") + mean = matutils.unitvec(array(mean).mean(axis=0)).astype(REAL) + dists = dot(self.syn0norm, mean) + if not topn: + return dists + best = argsort(dists)[::-1][:topn + len(all_words)] + # ignore (don't return) words from the input + result = [(self.index2word[sim], dists[sim]) for sim in best if sim not in all_words] + return result[:topn] + + + def doesnt_match(self, words): + """ + Which word from the given list doesn't go with the others? + + Example:: + + >>> trained_model.doesnt_match("breakfast cereal dinner lunch".split()) + 'cereal' + + """ + words = [word for word in words if word in self.vocab] # filter out OOV words + logger.debug("using words %s" % words) + if not words: + raise ValueError("cannot select a word from an empty list") + vectors = vstack(matutils.unitvec(self.syn0[self.vocab[word].index]) for word in words).astype(REAL) + mean = matutils.unitvec(vectors.mean(axis=0)).astype(REAL) + dists = dot(vectors, mean) + return sorted(zip(dists, words))[0][1] + + + def init_sims(self): + if getattr(self, 'syn0norm', None) is None: + logger.info("precomputing L2-norms of word weight vectors") + self.syn0norm = vstack(matutils.unitvec(vec) for vec in self.syn0).astype(REAL) + + + def accuracy(self, questions, restrict_vocab=30000): + """ + Compute accuracy of the model. `questions` is a filename where lines are + 4-tuples of words, split into sections by ": SECTION NAME" lines. + See https://code.google.com/p/word2vec/source/browse/trunk/questions-words.txt for an example. + + The accuracy is reported (=printed to log and returned as list) for each + section separately, plus there's one aggregate summary at the end. + + Use `restrict_vocab` to ignore all questions containing a word whose frequency + is not in the top-N most frequent words (default top 30000). + + This method corresponds to the `compute-accuracy` script of the original C word2vec. + + """ + ok_vocab = dict(sorted(iter(self.vocab.items()), key=lambda item: -item[1].count)[:restrict_vocab]) + ok_index = set(v.index for v in ok_vocab.values()) + + def log_accuracy(section): + correct, incorrect = section['correct'], section['incorrect'] + if correct + incorrect > 0: + logger.info("%s: %.1f%% (%i/%i)" % + (section['section'], 100.0 * correct / (correct + incorrect), + correct, correct + incorrect)) + + sections, section = [], None + for line_no, line in enumerate(open(questions)): + if line.startswith(': '): + # a new section starts => store the old section + if section: + sections.append(section) + log_accuracy(section) + section = {'section': line.lstrip(': ').strip(), 'correct': 0, 'incorrect': 0} + else: + if not section: + raise ValueError("missing section header before line #%i in %s" % (line_no, questions)) + try: + a, b, c, expected = [word.lower() for word in + line.split()] # TODO assumes vocabulary uses lowercase, too... + except: + logger.info("skipping invalid line #%i in %s" % (line_no, questions)) + if a not in ok_vocab or b not in ok_vocab or c not in ok_vocab or expected not in ok_vocab: + logger.debug("skipping line #%i with OOV words: %s" % (line_no, line)) + continue + + # find the most likely prediction, ignoring OOV words and input words + predicted, ignore = None, set(self.vocab[v].index for v in [a, b, c]) + for index in argsort(self.most_similar(positive=[b, c], negative=[a], topn=False))[::-1]: + if index in ok_index and index not in ignore: + predicted = self.index2word[index] + if predicted != expected: + logger.debug("%s: expected %s, predicted %s" % (line.strip(), expected, predicted)) + break + section['correct' if predicted == expected else 'incorrect'] += 1 + if section: + # store the last section, too + sections.append(section) + log_accuracy(section) + + total = {'section': 'total', 'correct': sum(s['correct'] for s in sections), + 'incorrect': sum(s['incorrect'] for s in sections)} + log_accuracy(total) + sections.append(total) + return sections + + +class BrownCorpus(object): + """Yield sentences from the Brown corpus (part of NLTK data).""" + + def __init__(self, dirname): + self.dirname = dirname + + def __iter__(self): + for fname in os.listdir(self.dirname): + fname = os.path.join(self.dirname, fname) + if not os.path.isfile(fname): + continue + for line in open(fname): + # each file line is a single sentence in the Brown corpus + # each token is WORD/POS_TAG + token_tags = [t.split('/') for t in line.split() if len(t.split('/')) == 2] + # ignore words with non-alphabetic tags like ",", "!" etc (punctuation, weird stuff) + words = ["%s/%s" % (token.lower(), tag[:2]) for token, tag in token_tags if tag[:2].isalpha()] + if not words: # don't bother sending out empty sentences + continue + yield words + + +class Text8Corpus(object): + """Yield sentences from the "text8" corpus, unzipped from http://mattmahoney.net/dc/text8.zip .""" + + def __init__(self, fname): + self.fname = fname + + def __iter__(self): + # the entire corpus is one gigantic line -- there are no sentence marks at all + # so just split the sequence of tokens arbitrarily: 1 sentence = 1000 tokens + sentence, rest, max_sentence_length = [], '', 1000 + with open(self.fname) as fin: + while True: + text = rest + fin.read(8192) # avoid loading the entire file (=1 line) into RAM + if text == rest: # EOF + sentence.extend(rest.split()) # return the last chunk of words, too (may be shorter/longer) + if sentence: + yield sentence + break + last_token = text.rfind( + ' ') # the last token may have been split in two... keep it for the next iteration + words, rest = (text[:last_token].split(), text[last_token:].strip()) if last_token >= 0 else ([], text) + sentence.extend(words) + while len(sentence) >= max_sentence_length: + yield sentence[:max_sentence_length] + sentence = sentence[max_sentence_length:] + + +if __name__ == "__main__": + logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) + logging.info("running %s" % " ".join(sys.argv)) + + # check and process cmdline input + program = os.path.basename(sys.argv[0]) + if len(sys.argv) < 3: + print(globals()['__doc__'] % locals()) + sys.exit(1) + infile, outfile = sys.argv[1:3] + from gensim.models import Word2Vec + + seterr(all='raise') # don't ignore numpy errors + + w = Word2Vec(BrownCorpus(infile), size=20, min_count=5) + w.save(outfile + '.model') + w.save_word2vec_format(outfile + '.model.bin', binary=True) + w.save_word2vec_format(outfile + '.model.txt', binary=False) + + logging.info("finished running %s" % program) diff --git a/gensim-develop/gensim/models/word2vec_inner.pyx b/gensim-develop/gensim/models/word2vec_inner.pyx new file mode 100644 index 0000000000..4af61b420a --- /dev/null +++ b/gensim-develop/gensim/models/word2vec_inner.pyx @@ -0,0 +1,64 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2013 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + +import cython +import numpy as np +cimport numpy as np +from libc.math cimport exp + +REAL = np.float32 +ctypedef np.float32_t REAL_t + + +@cython.boundscheck(False) +@cython.wraparound(False) +@cython.cdivision(True) +cdef inline void fast_sentence(np.uint32_t[::1] word_point, np.uint8_t[::1] word_code, np.uint32_t word_index, + REAL_t[:, ::1] _syn0, REAL_t[:, ::1] _syn1, REAL_t alpha, unsigned int size, REAL_t[::1] _work, unsigned long int codelen): + cdef long long a, b + cdef long long row1 = word_index * size, row2 + cdef REAL_t f, g + cdef REAL_t *syn0 = &_syn0[0, 0] + cdef REAL_t *syn1 = &_syn1[0, 0] + cdef REAL_t *work = &_work[0] + + for a in range(size): + work[a] = 0.0 + for b in range(codelen): + row2 = word_point[b] * size + f = 0.0 + for a in range(size): + f += syn0[row1 + a] * syn1[row2 + a] + g = (1 - word_code[b] - 1.0 / (1.0 + exp(-f))) * alpha + for a in range(size): + work[a] += g * syn1[row2 + a] + for a in range(size): + syn1[row2 + a] += g * syn0[row1 + a] + for a in range(size): + syn0[row1 + a] += work[a] + + +def train_sentence(model, sentence, alpha): + """ + Update skip-gram hierarchical softmax model by training on a single sentence, + where `sentence` is a list of Vocab objects (or None, where the corresponding + word is not in the vocabulary). Called internally from `train_model())`. + + """ + cdef int pos, pos2 + work = np.empty(model.layer1_size, dtype=REAL) + for pos, word in enumerate(sentence): + if word is None: + continue # OOV word in the input sentence => skip + reduced_window = np.random.randint(model.window) # `b` in the original word2vec code + + # now go over all words from the (reduced) window, predicting each one in turn + start = max(0, pos - model.window + reduced_window) + for pos2, word2 in enumerate(sentence[start : pos + model.window + 1 - reduced_window], start): + if pos2 == pos or word2 is None: + # don't train on OOV words and on the `word` itself + continue + fast_sentence(word.point, word.code, word2.index, model.syn0, model.syn1, alpha, model.layer1_size, work, len(word.point)) diff --git a/gensim-develop/gensim/nosy.py b/gensim-develop/gensim/nosy.py new file mode 100644 index 0000000000..01559c55f9 --- /dev/null +++ b/gensim-develop/gensim/nosy.py @@ -0,0 +1,55 @@ +#!/usr/bin/env python + +""" +A simple testrunner for nose (or anything else). + +Watch for changes in all file types specified in 'EXTENSIONS'. +If changes, run test executable in 'EXECUTABLE', with default +arguments 'DEFAULTARGS'. + +The --with-color option needs the "rudolf" nose plugin. See: +http://pypi.python.org/pypi/rudolf/ + +Originally by Jeff Winkler, http://jeffwinkler.net +Forked from wkral http://github.com/wkral/Nosy +""" + +import os +import stat +import time +import datetime +import sys +import fnmatch + + +EXTENSIONS = ['*.py'] +EXECUTABLE = 'nosetests test/' +DEFAULTARGS = '--with-color -exe'# -w tests' + + +def checkSum(): + """ + Return a long which can be used to know if any .py files have changed. + """ + val = 0 + for root, dirs, files in os.walk(os.getcwd()): + for extension in EXTENSIONS: + for f in fnmatch.filter(files, extension): + stats = os.stat(os.path.join(root, f)) + val += stats[stat.ST_SIZE] + stats[stat.ST_MTIME] + return val + + +if __name__ == '__main__': + val = 0 + try: + while True: + if checkSum() != val: + val = checkSum() + os.system('%s %s %s' % (EXECUTABLE, DEFAULTARGS, + ' '.join(sys.argv[1:]))) + print(datetime.datetime.now().__str__()) + print('=' * 77) + time.sleep(1) + except KeyboardInterrupt: + print('Goodbye') diff --git a/gensim-develop/gensim/parsing/__init__.py b/gensim-develop/gensim/parsing/__init__.py new file mode 100644 index 0000000000..2d99054f80 --- /dev/null +++ b/gensim-develop/gensim/parsing/__init__.py @@ -0,0 +1,5 @@ +""" +This package contains functions to preprocess raw text +""" + +# bring model classes directly into package namespace, to save some typing diff --git a/gensim-develop/gensim/parsing/porter.py b/gensim-develop/gensim/parsing/porter.py new file mode 100644 index 0000000000..e73fd2eb82 --- /dev/null +++ b/gensim-develop/gensim/parsing/porter.py @@ -0,0 +1,363 @@ +#!/usr/bin/env python + +"""Porter Stemming Algorithm +This is the Porter stemming algorithm, ported to Python from the +version coded up in ANSI C by the author. It may be be regarded +as canonical, in that it follows the algorithm presented in + +Porter, 1980, An algorithm for suffix stripping, Program, Vol. 14, +no. 3, pp 130-137, + +only differing from it at the points maked --DEPARTURE-- below. + +See also http://www.tartarus.org/~martin/PorterStemmer + +The algorithm as described in the paper could be exactly replicated +by adjusting the points of DEPARTURE, but this is barely necessary, +because (a) the points of DEPARTURE are definitely improvements, and +(b) no encoding of the Porter stemmer I have seen is anything like +as exact as this version, even with the points of DEPARTURE! + +Vivake Gupta (v@nano.com) + +Release 1: January 2001 + +Further adjustments by Santiago Bruno (bananabruno@gmail.com) +to allow word input not restricted to one word per line, leading +to: + +Release 2: July 2008 + +Optimizations and cleanup of the code by Lars Buitinck, July 2012. +""" + + +class PorterStemmer(object): + def __init__(self): + """The main part of the stemming algorithm starts here. + b is a buffer holding a word to be stemmed. The letters are in b[0], + b[1] ... ending at b[k]. k is readjusted downwards as the stemming + progresses. + + Note that only lower case sequences are stemmed. Forcing to lower case + should be done before stem(...) is called. + """ + + self.b = "" # buffer for word to be stemmed + self.k = 0 + self.j = 0 # j is a general offset into the string + + def _cons(self, i): + """True <=> b[i] is a consonant.""" + ch = self.b[i] + if ch in "aeiou": + return False + if ch == 'y': + return i == 0 or not self._cons(i - 1) + return True + + def _m(self): + """Returns the number of consonant sequences between 0 and j. + + If c is a consonant sequence and v a vowel sequence, and <..> + indicates arbitrary presence, + + gives 0 + vc gives 1 + vcvc gives 2 + vcvcvc gives 3 + .... + """ + i = 0 + while True: + if i > self.j: + return 0 + if not self._cons(i): + break + i += 1 + i += 1 + n = 0 + while True: + while True: + if i > self.j: + return n + if self._cons(i): + break + i += 1 + i += 1 + n += 1 + while 1: + if i > self.j: + return n + if not self._cons(i): + break + i += 1 + i += 1 + + def _vowelinstem(self): + """True <=> 0,...j contains a vowel""" + return not all(self._cons(i) for i in range(self.j + 1)) + + def _doublec(self, j): + """True <=> j,(j-1) contain a double consonant.""" + return j > 0 and self.b[j] == self.b[j - 1] and self._cons(j) + + def _cvc(self, i): + """True <=> i-2,i-1,i has the form consonant - vowel - consonant + and also if the second c is not w,x or y. This is used when trying to + restore an e at the end of a short word, e.g. + + cav(e), lov(e), hop(e), crim(e), but + snow, box, tray. + """ + if i < 2 or not self._cons(i) or self._cons(i - 1) or not self._cons(i - 2): + return False + return self.b[i] not in "wxy" + + def _ends(self, s): + """True <=> 0,...k ends with the string s.""" + if s[-1] != self.b[self.k]: # tiny speed-up + return 0 + length = len(s) + if length > (self.k + 1): + return 0 + if self.b[self.k - length + 1:self.k + 1] != s: + return 0 + self.j = self.k - length + return 1 + + def _setto(self, s): + """Set (j+1),...k to the characters in the string s, adjusting k.""" + self.b = self.b[:self.j + 1] + s + self.k = len(self.b) - 1 + + def _r(self, s): + if self._m() > 0: + self._setto(s) + + def _step1ab(self): + """Get rid of plurals and -ed or -ing. E.g., + + caresses -> caress + ponies -> poni + ties -> ti + caress -> caress + cats -> cat + + feed -> feed + agreed -> agree + disabled -> disable + + matting -> mat + mating -> mate + meeting -> meet + milling -> mill + messing -> mess + + meetings -> meet + """ + if self.b[self.k] == 's': + if self._ends("sses"): + self.k -= 2 + elif self._ends("ies"): + self._setto("i") + elif self.b[self.k - 1] != 's': + self.k -= 1 + if self._ends("eed"): + if self._m() > 0: + self.k -= 1 + elif (self._ends("ed") or self._ends("ing")) and self._vowelinstem(): + self.k = self.j + if self._ends("at"): + self._setto("ate") + elif self._ends("bl"): + self._setto("ble") + elif self._ends("iz"): + self._setto("ize") + elif self._doublec(self.k): + if self.b[self.k - 1] not in "lsz": + self.k -= 1 + elif self._m() == 1 and self._cvc(self.k): + self._setto("e") + + def _step1c(self): + """Turn terminal y to i when there is another vowel in the stem.""" + if self._ends("y") and self._vowelinstem(): + self.b = self.b[:self.k] + 'i' + + def _step2(self): + """Map double suffices to single ones. + + So, -ization ( = -ize plus -ation) maps to -ize etc. Note that the + string before the suffix must give _m() > 0. + """ + ch = self.b[self.k - 1] + if ch == 'a': + if self._ends("ational"): + self._r("ate") + elif self._ends("tional"): + self._r("tion") + elif ch == 'c': + if self._ends("enci"): + self._r("ence") + elif self._ends("anci"): + self._r("ance") + elif ch == 'e': + if self._ends("izer"): self._r("ize") + elif ch == 'l': + if self._ends("bli"): + self._r("ble") # --DEPARTURE-- + # To match the published algorithm, replace this phrase with + # if self._ends("abli"): self._r("able") + elif self._ends("alli"): + self._r("al") + elif self._ends("entli"): + self._r("ent") + elif self._ends("eli"): + self._r("e") + elif self._ends("ousli"): + self._r("ous") + elif ch == 'o': + if self._ends("ization"): + self._r("ize") + elif self._ends("ation"): + self._r("ate") + elif self._ends("ator"): + self._r("ate") + elif ch == 's': + if self._ends("alism"): + self._r("al") + elif self._ends("iveness"): + self._r("ive") + elif self._ends("fulness"): + self._r("ful") + elif self._ends("ousness"): + self._r("ous") + elif ch == 't': + if self._ends("aliti"): + self._r("al") + elif self._ends("iviti"): + self._r("ive") + elif self._ends("biliti"): + self._r("ble") + elif ch == 'g': # --DEPARTURE-- + if self._ends("logi"): self._r("log") + # To match the published algorithm, delete this phrase + + def _step3(self): + """Deal with -ic-, -full, -ness etc. Similar strategy to _step2.""" + ch = self.b[self.k] + if ch == 'e': + if self._ends("icate"): + self._r("ic") + elif self._ends("ative"): + self._r("") + elif self._ends("alize"): + self._r("al") + elif ch == 'i': + if self._ends("iciti"): self._r("ic") + elif ch == 'l': + if self._ends("ical"): + self._r("ic") + elif self._ends("ful"): + self._r("") + elif ch == 's': + if self._ends("ness"): self._r("") + + def _step4(self): + """_step4() takes off -ant, -ence etc., in context vcvc.""" + ch = self.b[self.k - 1] + if ch == 'a': + if not self._ends("al"): return + elif ch == 'c': + if not self._ends("ance") and not self._ends("ence"): return + elif ch == 'e': + if not self._ends("er"): return + elif ch == 'i': + if not self._ends("ic"): return + elif ch == 'l': + if not self._ends("able") and not self._ends("ible"): return + elif ch == 'n': + if self._ends("ant"): + pass + elif self._ends("ement"): + pass + elif self._ends("ment"): + pass + elif self._ends("ent"): + pass + else: + return + elif ch == 'o': + if self._ends("ion") and self.b[self.j] in "st": + pass + elif self._ends("ou"): + pass + # takes care of -ous + else: + return + elif ch == 's': + if not self._ends("ism"): return + elif ch == 't': + if not self._ends("ate") and not self._ends("iti"): return + elif ch == 'u': + if not self._ends("ous"): return + elif ch == 'v': + if not self._ends("ive"): return + elif ch == 'z': + if not self._ends("ize"): return + else: + return + if self._m() > 1: + self.k = self.j + + def _step5(self): + """Remove a final -e if _m() > 1, and change -ll to -l if m() > 1. + """ + k = self.j = self.k + if self.b[k] == 'e': + a = self._m() + if a > 1 or (a == 1 and not self._cvc(k - 1)): + self.k -= 1 + if self.b[self.k] == 'l' and self._doublec(self.k) and self._m() > 1: + self.k -= 1 + + def stem(self, w): + """Stem the word w, return the stemmed form.""" + w = w.lower() + k = len(w) - 1 + if k <= 1: + return w # --DEPARTURE-- + + # With this line, strings of length 1 or 2 don't go through the + # stemming process, although no mention is made of this in the + # published algorithm. Remove the line to match the published + # algorithm. + + self.b = w + self.k = k + + self._step1ab() + self._step1c() + self._step2() + self._step3() + self._step4() + self._step5() + return self.b[:self.k + 1] + + def stem_sentence(self, txt): + return " ".join(map(self.stem, txt.split())) + + def stem_documents(self, docs): + return list(map(self.stem_sentence, docs)) + + +if __name__ == '__main__': + import sys + + p = PorterStemmer() + + for f in sys.argv[1:]: + with open(f) as infile: + for line in infile: + print((p.stem_sentence(line))) diff --git a/gensim-develop/gensim/parsing/preprocessing.py b/gensim-develop/gensim/parsing/preprocessing.py new file mode 100644 index 0000000000..0b9896069a --- /dev/null +++ b/gensim-develop/gensim/parsing/preprocessing.py @@ -0,0 +1,106 @@ +import re +import string +import glob + +from gensim.parsing.porter import PorterStemmer + + +# improved list from Stone, Denis, Kwantes (2010) +STOPWORDS = """ +a about above across after afterwards again against all almost alone along already also although always am among amongst amoungst amount an and another any anyhow anyone anything anyway anywhere are around as at back be +became because become becomes becoming been before beforehand behind being below beside besides between beyond bill both bottom but by call can +cannot cant co computer con could couldnt cry de describe +detail did do doesn done down due during +each eg eight either eleven else elsewhere empty enough etc even ever every everyone everything everywhere except few fifteen +fify fill find fire first five for former formerly forty found four from front full further get give go +had has hasnt have he hence her here hereafter hereby herein hereupon hers herself him himself his how however hundred i ie +if in inc indeed interest into is it its itself keep last latter latterly least less ltd +just +kg km +made many may me meanwhile might mill mine more moreover most mostly move much must my myself name namely +neither never nevertheless next nine no nobody none noone nor not nothing now nowhere of off +often on once one only onto or other others otherwise our ours ourselves out over own part per +perhaps please put rather re +quite +rather really regarding +same see seem seemed seeming seems serious several she should show side since sincere six sixty so some somehow someone something sometime sometimes somewhere still such system take ten +than that the their them themselves then thence there thereafter thereby therefore therein thereupon these they thick thin third this those though three through throughout thru thus to together too top toward towards twelve twenty two un under +until up unless upon us used using +various very very via +was we well were what whatever when whence whenever where whereafter whereas whereby wherein whereupon wherever whether which while whither who whoever whole whom whose why will with within without would yet you +your yours yourself yourselves +""" +STOPWORDS = frozenset(w for w in STOPWORDS.split() if w) + + +def remove_stopwords(s): + return " ".join(w for w in s.split() if w not in STOPWORDS) + + +def strip_punctuation(s): + return re.sub("([%s]+)" % string.punctuation, " ", s) + + +def strip_punctuation2(s): + return s.translate(str.maketrans(dict.fromkeys(string.punctuation))) + + +def strip_tags(s): + # assumes s is already lowercase + return re.sub(r"<([^>]+)>", "", s) + + +def strip_short(s, minsize=3): + return " ".join(e for e in s.split() if len(e) >= minsize) + + +def strip_numeric(s): + return re.sub(r"[0-9]+", "", s) + + +def strip_non_alphanum(s): + # assumes s is already lowercase + # FIXME replace with unicode compatible regexp, without the assumption + return re.sub(r"[^a-z0-9\ ]", " ", s) + + +def strip_multiple_whitespaces(s): + return re.sub(r"(\s|\\n|\\r|\\t)+", " ", s) + #return s + + +def split_alphanum(s): + s = re.sub(r"([a-z]+)([0-9]+)", r"\1 \2", s) + return re.sub(r"([0-9]+)([a-z]+)", r"\1 \2", s) + + +def stem_text(text): + """ + Return lowercase and (porter-)stemmed version of string `text`. + """ + p = PorterStemmer() + return ' '.join(p.stem(word) for word in text.split()) + + +stem = stem_text + +DEFAULT_FILTERS = [str.lower, strip_tags, strip_punctuation, strip_multiple_whitespaces, + strip_numeric, remove_stopwords, strip_short, stem_text] + + +def preprocess_string(s, filters=DEFAULT_FILTERS): + for f in filters: + s = f(s) + return s.split() + + +def preprocess_documents(docs): + return list(map(preprocess_string, docs)) + + +def read_file(path): + return open(path).read() + + +def read_files(pattern): + return list(map(read_file, glob.glob(pattern))) diff --git a/gensim-develop/gensim/scripts/__init__.py b/gensim-develop/gensim/scripts/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/gensim-develop/gensim/scripts/make_wiki.py b/gensim-develop/gensim/scripts/make_wiki.py new file mode 100644 index 0000000000..85ddf6cc4f --- /dev/null +++ b/gensim-develop/gensim/scripts/make_wiki.py @@ -0,0 +1 @@ +make_wikicorpus.py \ No newline at end of file diff --git a/gensim-develop/gensim/scripts/make_wiki_lemma.py b/gensim-develop/gensim/scripts/make_wiki_lemma.py new file mode 100644 index 0000000000..85ddf6cc4f --- /dev/null +++ b/gensim-develop/gensim/scripts/make_wiki_lemma.py @@ -0,0 +1 @@ +make_wikicorpus.py \ No newline at end of file diff --git a/gensim-develop/gensim/scripts/make_wiki_online.py b/gensim-develop/gensim/scripts/make_wiki_online.py new file mode 100644 index 0000000000..85ddf6cc4f --- /dev/null +++ b/gensim-develop/gensim/scripts/make_wiki_online.py @@ -0,0 +1 @@ +make_wikicorpus.py \ No newline at end of file diff --git a/gensim-develop/gensim/scripts/make_wiki_online_lemma.py b/gensim-develop/gensim/scripts/make_wiki_online_lemma.py new file mode 100644 index 0000000000..85ddf6cc4f --- /dev/null +++ b/gensim-develop/gensim/scripts/make_wiki_online_lemma.py @@ -0,0 +1 @@ +make_wikicorpus.py \ No newline at end of file diff --git a/gensim-develop/gensim/scripts/make_wiki_online_nodebug.py b/gensim-develop/gensim/scripts/make_wiki_online_nodebug.py new file mode 100644 index 0000000000..85ddf6cc4f --- /dev/null +++ b/gensim-develop/gensim/scripts/make_wiki_online_nodebug.py @@ -0,0 +1 @@ +make_wikicorpus.py \ No newline at end of file diff --git a/gensim-develop/gensim/scripts/make_wikicorpus.py b/gensim-develop/gensim/scripts/make_wikicorpus.py new file mode 100644 index 0000000000..555a6cb323 --- /dev/null +++ b/gensim-develop/gensim/scripts/make_wikicorpus.py @@ -0,0 +1,103 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2010 Radim Rehurek +# Copyright (C) 2012 Lars Buitinck +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + + +""" +USAGE: %(program)s WIKI_XML_DUMP OUTPUT_PREFIX [VOCABULARY_SIZE] + +Convert articles from a Wikipedia dump to (sparse) vectors. The input is a +bz2-compressed dump of Wikipedia articles, in XML format. + +This actually creates three files: + +* `OUTPUT_PREFIX_wordids.txt`: mapping between words and their integer ids +* `OUTPUT_PREFIX_bow.mm`: bag-of-words (word counts) representation, in + Matrix Matrix format +* `OUTPUT_PREFIX_tfidf.mm`: TF-IDF representation + +The output Matrix Market files can then be compressed (e.g., by bzip2) to save +disk space; gensim's corpus iterators can work with compressed input, too. + +`VOCABULARY_SIZE` controls how many of the most frequent words to keep (after +removing tokens that appear in more than 10%% of all documents). Defaults to +50,000. + +If you have the `pattern` package installed, this script will use a fancy +lemmatization to get a lemma of each token (instead of plain alphabetic +tokenizer). The package is available at https://github.com/clips/pattern . + +Example: python -m gensim.scripts.make_wikicorpus ~/gensim/results/enwiki-latest-pages-articles.xml.bz2 ~/gensim/results/wiki_en +""" + +import logging +import os.path +import sys + +from gensim.corpora import Dictionary, HashDictionary, MmCorpus, WikiCorpus +from gensim.models import TfidfModel + + +# Wiki is first scanned for all distinct word types (~7M). The types that +# appear in more than 10% of articles are removed and from the rest, the +# DEFAULT_DICT_SIZE most frequent types are kept. +DEFAULT_DICT_SIZE = 100000 + +if __name__ == '__main__': + program = os.path.basename(sys.argv[0]) + logger = logging.getLogger(program) + + logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s') + logging.root.setLevel(level=logging.INFO) + logger.info("running %s" % ' '.join(sys.argv)) + + # check and process input arguments + if len(sys.argv) < 3: + print(globals()['__doc__'] % locals()) + sys.exit(1) + inp, outp = sys.argv[1:3] + if len(sys.argv) > 3: + keep_words = int(sys.argv[3]) + else: + keep_words = DEFAULT_DICT_SIZE + online = 'online' in program + lemmatize = 'lemma' in program + debug = 'nodebug' not in program + + if online: + dictionary = HashDictionary(id_range=keep_words, debug=debug) + dictionary.allow_update = True # start collecting document frequencies + wiki = WikiCorpus(inp, lemmatize=lemmatize, dictionary=dictionary) + MmCorpus.serialize(outp + '_bow.mm', wiki, + progress_cnt=10000) # ~4h on my macbook pro without lemmatization, 3.1m articles (august 2012) + # with HashDictionary, the token->id mapping is only fully instantiated now, after `serialize` + dictionary.filter_extremes(no_below=20, no_above=0.1, keep_n=DEFAULT_DICT_SIZE) + dictionary.save_as_text(outp + '_wordids.txt.bz2') + wiki.save(outp + '_corpus.pkl.bz2') + dictionary.allow_update = False + else: + wiki = WikiCorpus(inp, lemmatize=lemmatize) # takes about 9h on a macbook pro, for 3.5m articles (june 2011) + # only keep the most frequent words (out of total ~8.2m unique tokens) + wiki.dictionary.filter_extremes(no_below=20, no_above=0.1, keep_n=DEFAULT_DICT_SIZE) + # save dictionary and bag-of-words (term-document frequency matrix) + MmCorpus.serialize(outp + '_bow.mm', wiki, progress_cnt=10000) # another ~9h + wiki.dictionary.save_as_text(outp + '_wordids.txt.bz2') + # load back the id->word mapping directly from file + # this seems to save more memory, compared to keeping the wiki.dictionary object from above + dictionary = Dictionary.load_from_text(outp + '_wordids.txt.bz2') + del wiki + + # initialize corpus reader and word->id mapping + mm = MmCorpus(outp + '_bow.mm') + + # build tfidf, ~50min + tfidf = TfidfModel(mm, id2word=dictionary, normalize=True) + + # save tfidf vectors in matrix market format + # ~4h; result file is 15GB! bzip2'ed down to 4.5GB + MmCorpus.serialize(outp + '_tfidf.mm', tfidf[mm], progress_cnt=10000) + + logger.info("finished running %s" % program) diff --git a/gensim-develop/gensim/similarities/__init__.py b/gensim-develop/gensim/similarities/__init__.py new file mode 100644 index 0000000000..8639bd5948 --- /dev/null +++ b/gensim-develop/gensim/similarities/__init__.py @@ -0,0 +1,6 @@ +""" +This package contains implementations of pairwise similarity queries. +""" + +# bring classes directly into package namespace, to save some typing +from .docsim import Similarity, MatrixSimilarity, SparseMatrixSimilarity diff --git a/gensim-develop/gensim/similarities/docsim.py b/gensim-develop/gensim/similarities/docsim.py new file mode 100644 index 0000000000..cf67249696 --- /dev/null +++ b/gensim-develop/gensim/similarities/docsim.py @@ -0,0 +1,719 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2013 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + +""" +This module contains functions and classes for computing similarities across +a collection of documents in the Vector Space Model. + +The main class is `Similarity`, which builds an index for a given set of documents. +Once the index is built, you can perform efficient queries like "Tell me how similar +is this query document to each document in the index?". The result is a vector +of numbers as large as the size of the initial set of documents, that is, one float +for each index document. Alternatively, you can also request only the top-N most +similar index documents to the query. + +You can later add new documents to the index via `Similarity.add_documents()`. + +How It Works +------------ + +The `Similarity` class splits the index into several smaller sub-indexes ("shards"), +which are disk-based. If your entire index fits in memory (~hundreds of thousands +documents for 1GB of RAM), you can also use the `MatrixSimilarity` or `SparseMatrixSimilarity` +classes directly. These are more simple but do not scale well (the entire index is +kept in RAM). + +Once the index has been initialized, you can query for document similarity simply by: + +>>> index = Similarity('/tmp/tst', corpus, num_features=12) # build the index +>>> similarities = index[query] # get similarities between the query and all index documents + +If you have more query documents, you can submit them all at once, in a batch: + +>>> for similarities in index[batch_of_documents]: # the batch is simply an iterable of documents (=gensim corpus) +>>> ... + +The benefit of this batch (aka "chunked") querying is much better performance. +To see the speed-up on your machine, run ``python -m gensim.test.simspeed`` +(compare to my results `here `_). + +There is also a special syntax for when you need similarity of documents in the index +to the index itself (i.e. query=index documents themselves). This special syntax +already uses the faster, batch queries internally: + +>>> for similarities in index: # return all similarities of the 1st index document, then 2nd... +>>> ... + + +""" + +import logging +import itertools +import os +import heapq + +import numpy +import scipy.sparse + +from gensim import interfaces, utils, matutils + + +logger = logging.getLogger('gensim.similarities.docsim') + +PARALLEL_SHARDS = False +try: + import multiprocessing + # by default, don't parallelize queries. uncomment the following line if you want that. +# PARALLEL_SHARDS = multiprocessing.cpu_count() # use #parallel processes = #CPus +except ImportError: + pass + + +class Shard(utils.SaveLoad): + """ + A proxy class that represents a single shard instance within a Similarity + index. + + Basically just wraps (Sparse)MatrixSimilarity so that it mmaps from disk on + request (query). + + """ + + def __init__(self, fname, index): + self.dirname, self.fname = os.path.split(fname) + self.length = len(index) + self.cls = index.__class__ + logger.info("saving index shard to %s" % self.fullname()) + index.save(self.fullname()) + self.index = self.get_index() + + def fullname(self): + return os.path.join(self.dirname, self.fname) + + def __len__(self): + return self.length + + def __getstate__(self): + result = self.__dict__.copy() + # (S)MS objects must be loaded via load() because of mmap (simple pickle.load won't do) + if 'index' in result: + del result['index'] + return result + + def __str__(self): + return "%s Shard(%i documents in %s)" % (self.cls.__name__, len(self), self.fullname()) + + + def get_index(self): + if not hasattr(self, 'index'): + logger.debug("mmaping index from %s" % self.fullname()) + self.index = self.cls.load(self.fullname()) + return self.index + + + def get_document_id(self, pos): + """Return index vector at position `pos`. + + The vector is of the same type as the underlying index (ie., dense for + MatrixSimilarity and scipy.sparse for SparseMatrixSimilarity. + """ + assert 0 <= pos < len(self), "requested position out of range" + return self.get_index().index[pos] + + + def __getitem__(self, query): + index = self.get_index() + try: + index.num_best = self.num_best + index.normalize = self.normalize + except: + raise ValueError("num_best and normalize have to be set before querying a proxy Shard object") + return index[query] + + +def query_shard(args): + query, shard = args # simulate starmap (not part of multiprocessing in older Pythons) + logger.debug("querying shard %s num_best=%s in process %s" % (shard, shard.num_best, os.getpid())) + result = shard[query] + logger.debug("finished querying shard %s in process %s" % (shard, os.getpid())) + return result + + +class Similarity(interfaces.SimilarityABC): + """ + Compute cosine similarity of a dynamic query against a static corpus of documents + ("the index"). + + Scalability is achieved by sharding the index into smaller pieces, each of which + fits into core memory (see the `(Sparse)MatrixSimilarity` classes in this module). + The shards themselves are simply stored as files to disk and mmap'ed back as needed. + + """ + + def __init__(self, output_prefix, corpus, num_features, num_best=None, chunksize=1024, shardsize=32768): + """ + Construct the index from `corpus`. The index can be later extended by calling + the `add_documents` method. **Note**: documents are split (internally, transparently) + into shards of `shardsize` documents each, converted to a matrix, for faster BLAS calls. + Each shard is stored to disk under `output_prefix.shard_number` (=you need write + access to that location). If you don't specify an output prefix, a random + filename in temp will be used. + + `shardsize` should be chosen so that a `shardsize x chunksize` matrix of floats + fits comfortably into main memory. + + `num_features` is the number of features in the `corpus` (e.g. size of the + dictionary, or the number of latent topics for latent semantic models). + + If `num_best` is left unspecified, similarity queries will return a full + vector with one float for every document in the index: + + >>> index = Similarity('/path/to/index', corpus, num_features=400) # if corpus has 7 documents... + >>> index[query] # ... then result will have 7 floats + [0.0, 0.0, 0.2, 0.13, 0.8, 0.0, 0.1] + + If `num_best` is set, queries return only the `num_best` most similar documents, + always leaving out documents for which the similarity is 0. + If the input vector itself only has features with zero values (=the sparse + representation is empty), the returned list will always be empty. + + >>> index.num_best = 3 + >>> index[query] # return at most "num_best" of `(index_of_document, similarity)` tuples + [(4, 0.8), (2, 0.13), (3, 0.13)] + + You can also override `num_best` dynamically, simply by setting e.g. + `self.num_best = 10` before doing a query. + + """ + if output_prefix is None: + # undocumented feature: set output_prefix=None to create the server in temp + self.output_prefix = utils.randfname(prefix='simserver') + else: + self.output_prefix = output_prefix + self.num_features = num_features + self.num_best = num_best + self.normalize = True + self.chunksize = int(chunksize) + self.shardsize = shardsize + self.shards = [] + self.fresh_docs, self.fresh_nnz = [], 0 + + if corpus is not None: + self.add_documents(corpus) + + + def __len__(self): + return len(self.fresh_docs) + sum([len(shard) for shard in self.shards]) + + + def __str__(self): + return ("Similarity index with %i documents in %i shards (stored under %s)" % + (len(self), len(self.shards), self.output_prefix)) + + + def add_documents(self, corpus): + """ + Extend the index with new documents. + + Internally, documents are buffered and then spilled to disk when there's + `self.shardsize` of them (or when a query is issued). + """ + min_ratio = 1.0 # 0.5 to only reopen shards that are <50% complete + if self.shards and len(self.shards[-1]) < min_ratio * self.shardsize: + # The last shard was incomplete (<; load it back and add the documents there, don't start a new shard + self.reopen_shard() + for doc in corpus: + if isinstance(doc, numpy.ndarray): + doclen = len(doc) + elif scipy.sparse.issparse(doc): + doclen = doc.nnz + else: + doclen = len(doc) + if doclen < 0.3 * self.num_features: + doc = matutils.unitvec(matutils.corpus2csc([doc], self.num_features).T) + else: + doc = matutils.unitvec(matutils.sparse2full(doc, self.num_features)) + self.fresh_docs.append(doc) + self.fresh_nnz += doclen + if len(self.fresh_docs) >= self.shardsize: + self.close_shard() + if len(self.fresh_docs) % 10000 == 0: + logger.info("PROGRESS: fresh_shard size=%i" % len(self.fresh_docs)) + + + def shardid2filename(self, shardid): + if self.output_prefix.endswith('.'): + return "%s%s" % (self.output_prefix, shardid) + else: + return "%s.%s" % (self.output_prefix, shardid) + + + def close_shard(self): + """ + Force the latest shard to close (be converted to a matrix and stored + to disk). Do nothing if no new documents added since last call. + + **NOTE**: the shard is closed even if it is not full yet (its size is smaller + than `self.shardsize`). If documents are added later via `add_documents()`, + this incomplete shard will be loaded again and completed. + """ + if not self.fresh_docs: + return + shardid = len(self.shards) + # consider the shard sparse if its density is < 30% + issparse = 0.3 > 1.0 * self.fresh_nnz / (len(self.fresh_docs) * self.num_features) + if issparse: + index = SparseMatrixSimilarity(self.fresh_docs, num_terms=self.num_features, + num_docs=len(self.fresh_docs), num_nnz=self.fresh_nnz) + else: + index = MatrixSimilarity(self.fresh_docs, num_features=self.num_features) + logger.info("creating %s shard #%s" % ('sparse' if issparse else 'dense', shardid)) + shard = Shard(self.shardid2filename(shardid), index) + shard.num_best = self.num_best + shard.num_nnz = self.fresh_nnz + self.shards.append(shard) + self.fresh_docs, self.fresh_nnz = [], 0 + + + def reopen_shard(self): + assert self.shards + if self.fresh_docs: + raise ValueError("cannot reopen a shard with fresh documents in index") + last_shard = self.shards[-1] + last_index = last_shard.get_index() + logger.info("reopening an incomplete shard of %i documents" % len(last_shard)) + + self.fresh_docs = list(last_index.index) + self.fresh_nnz = last_shard.num_nnz + del self.shards[-1] # remove the shard from index, *but its file on disk is not deleted* + logger.debug("reopen complete") + + + def query_shards(self, query): + """ + Return the result of applying shard[query] for each shard in self.shards, + as a sequence. + + If PARALLEL_SHARDS is set, the shards are queried in parallel, using + the multiprocessing module. + """ + args = list(zip([query] * len(self.shards), self.shards)) + if PARALLEL_SHARDS and PARALLEL_SHARDS > 1: + logger.debug("spawning %i query processes" % PARALLEL_SHARDS) + pool = multiprocessing.Pool(PARALLEL_SHARDS) + result = pool.imap(query_shard, args, chunksize=1 + len(args) / PARALLEL_SHARDS) + else: + # serial processing, one shard after another + pool = None + result = map(query_shard, args) + return pool, result + + + def __getitem__(self, query): + """Get similarities of document `query` to all documents in the corpus. + + **or** + + If `query` is a corpus (iterable of documents), return a matrix of similarities + of all query documents vs. all corpus document. This batch query is more + efficient than computing the similarities one document after another. + """ + self.close_shard() # no-op if no documents added to index since last query + + # reset num_best and normalize parameters, in case they were changed dynamically + for shard in self.shards: + shard.num_best = self.num_best + shard.normalize = self.normalize + + # there are 4 distinct code paths, depending on whether input `query` is + # a corpus (or numpy/scipy matrix) or a single document, and whether the + # similarity result should be a full array or only num_best most similar + # documents. + pool, shard_results = self.query_shards(query) + if self.num_best is None: + # user asked for all documents => just stack the sub-results into a single matrix + # (works for both corpus / single doc query) + result = numpy.hstack(shard_results) + else: + # the following uses a lot of lazy evaluation and (optionally) parallel + # processing, to improve query latency and minimize memory footprint. + offsets = numpy.cumsum([0] + [len(shard) for shard in self.shards]) + convert = lambda doc, shard_no: [(doc_index + offsets[shard_no], sim) + for doc_index, sim in doc] + is_corpus, query = utils.is_corpus(query) + is_corpus = is_corpus or hasattr(query, 'ndim') and query.ndim > 1 and query.shape[0] > 1 + if not is_corpus: + # user asked for num_best most similar and query is a single doc + results = (convert(result, shard_no) for shard_no, result in enumerate(shard_results)) + result = heapq.nlargest(self.num_best, itertools.chain(*results), key=lambda item: item[1]) + else: + # the trickiest combination: returning num_best results when query was a corpus + results = [] + for shard_no, result in enumerate(shard_results): + shard_result = [convert(doc, shard_no) for doc in result] + results.append(shard_result) + result = [] + for parts in zip(*results): + merged = heapq.nlargest(self.num_best, itertools.chain(*parts), key=lambda item: item[1]) + result.append(merged) + if pool: + # gc doesn't seem to collect the Pools, eventually leading to + # "IOError 24: too many open files". so let's terminate it manually. + pool.terminate() + + return result + + + def vector_by_id(self, docpos): + """ + Return indexed vector corresponding to the document at position `docpos`. + """ + global shard + self.close_shard() # no-op if no documents added to index since last query + pos = 0 + for shard in self.shards: + pos += len(shard) + if docpos < pos: + break + if not self.shards or docpos < 0 or docpos >= pos: + raise ValueError("invalid document position: %s (must be 0 <= x < %s)" % + (docpos, len(self))) + result = shard.get_document_id(docpos - pos + len(shard)) + return result + + + def similarity_by_id(self, docpos): + """ + Return similarity of the given document only. `docpos` is the position + of the query document within index. + """ + query = self.vector_by_id(docpos) + norm, self.normalize = self.normalize, False + result = self[query] + self.normalize = norm + return result + + + def __iter__(self): + """ + For each index document, compute cosine similarity against all other + documents in the index and yield the result. + """ + # turn off query normalization (vectors in the index are already normalized, save some CPU) + norm, self.normalize = self.normalize, False + + for chunk in self.iter_chunks(): + if chunk.shape[0] > 1: + for sim in self[chunk]: + yield sim + else: + yield self[chunk] + + self.normalize = norm # restore normalization + + + def iter_chunks(self, chunksize=None): + """ + Iteratively yield the index as chunks of documents, each of size <= chunksize. + + The chunk is returned in its raw form (matrix or sparse matrix slice). + The size of the chunk may be smaller than requested; it is up to the caller + to check the result for real length, using `chunk.shape[0]`. + """ + self.close_shard() + + if chunksize is None: + # if not explicitly specified, use the chunksize from the constructor + chunksize = self.chunksize + + for shard in self.shards: + query = shard.get_index().index + for chunk_start in range(0, query.shape[0], chunksize): + # scipy.sparse doesn't allow slicing beyond real size of the matrix + # (unlike numpy). so, clip the end of the chunk explicitly to make + # scipy.sparse happy + chunk_end = min(query.shape[0], chunk_start + chunksize) + chunk = query[chunk_start: chunk_end] # create a view + yield chunk + + + def check_moved(self): + """ + Update shard locations, in case the server directory has moved on filesystem. + """ + dirname = os.path.dirname(self.output_prefix) + for shard in self.shards: + shard.dirname = dirname + + + def save(self, fname=None): + """ + Save the object via pickling (also see load) under filename specified in + the constructor. + + Calls `close_shard` internally to spill any unfinished shards to disk first. + + """ + self.close_shard() + if fname is None: + fname = self.output_prefix + super(Similarity, self).save(fname) + + #endclass Similarity + + + +class MatrixSimilarity(interfaces.SimilarityABC): + """ + Compute similarity against a corpus of documents by storing the index matrix + in memory. The similarity measure used is cosine between two vectors. + + Use this if your input corpus contains dense vectors (such as documents in LSI + space) and fits into RAM. + + The matrix is internally stored as a *dense* numpy array. Unless the entire matrix + fits into main memory, use `Similarity` instead. + + See also `Similarity` and `SparseMatrixSimilarity` in this module. + + """ + + def __init__(self, corpus, num_best=None, dtype=numpy.float32, num_features=None, chunksize=256): + """ + `num_features` is the number of features in the corpus (will be determined + automatically by scanning the corpus if not specified). See `Similarity` + class for description of the other parameters. + + """ + if num_features is None: + logger.warning( + "scanning corpus to determine the number of features (consider setting `num_features` explicitly)") + num_features = 1 + utils.get_max_id(corpus) + + self.num_features = num_features + self.num_best = num_best + self.normalize = True + self.chunksize = chunksize + + if corpus is not None: + if self.num_features <= 0: + raise ValueError( + "cannot index a corpus with zero features (you must specify either `num_features` or a non-empty corpus in the constructor)") + logger.info("creating matrix for %s documents and %i features" % + (len(corpus), num_features)) + self.index = numpy.empty(shape=(len(corpus), num_features), dtype=dtype) + # iterate over corpus, populating the numpy index matrix with (normalized) + # document vectors + for docno, vector in enumerate(corpus): + if docno % 1000 == 0: + logger.debug("PROGRESS: at document #%i/%i" % (docno, len(corpus))) + # individual documents in fact may be in numpy.scipy.sparse format as well. + # it's not documented because other it's not fully supported throughout. + # the user better know what he's doing (no normalization, must + # explicitly supply num_features etc). + if isinstance(vector, numpy.ndarray): + pass + elif scipy.sparse.issparse(vector): + vector = vector.toarray().flatten() + else: + vector = matutils.unitvec(matutils.sparse2full(vector, num_features)) + self.index[docno] = vector + + + def __len__(self): + return self.index.shape[0] + + + def get_similarities(self, query): + """ + Return similarity of sparse vector `query` to all documents in the corpus, + as a numpy array. + + If `query` is a collection of documents, return a 2D array of similarities + of each document in `query` to all documents in the corpus (=batch query, + faster than processing each document in turn). + + **Do not use this function directly; use the self[query] syntax instead.** + + """ + is_corpus, query = utils.is_corpus(query) + if is_corpus: + query = numpy.asarray([matutils.sparse2full(vec, self.num_features) for vec in query], + dtype=self.index.dtype) + else: + if scipy.sparse.issparse(query): + query = query.toarray() # convert sparse to dense + elif isinstance(query, numpy.ndarray): + pass + else: + # default case: query is a single vector in sparse gensim format + query = matutils.sparse2full(query, self.num_features) + query = numpy.asarray(query, dtype=self.index.dtype) + + # do a little transposition dance to stop numpy from making a copy of + # self.index internally in numpy.dot (very slow). + result = numpy.dot(self.index, query.T).T # return #queries x #index + return result # XXX: removed casting the result from array to list; does anyone care? + + + def save(self, fname): + """ + Override the default `save` (which uses cPickle), because that's + too inefficient and cPickle has bugs. Instead, single out the large index + matrix and store that separately in binary format (that can be directly + mmap'ed), under `fname.npy`. The rest of the object is pickled to `fname`. + """ + logger.info("storing %s object to %s and %s" % (self.__class__.__name__, fname, fname + '.npy')) + # first, remove the index from self.__dict__, so it doesn't get pickled + index = self.index + del self.index + try: + utils.pickle(self, fname) # store index-less object + numpy.save(fname + '.npy', index) # store index + finally: + self.index = index + + + @classmethod + def load(cls, fname): + """ + Load a previously saved object from file (also see `save`). + """ + logger.debug("loading %s object from %s" % (cls.__name__, fname)) + result = utils.unpickle(fname) + result.index = numpy.load(fname + '.npy', mmap_mode='r') # load back as read-only + return result + + #endclass MatrixSimilarity + + + +class SparseMatrixSimilarity(interfaces.SimilarityABC): + """ + Compute similarity against a corpus of documents by storing the sparse index + matrix in memory. The similarity measure used is cosine between two vectors. + + Use this if your input corpus contains sparse vectors (such as documents in + bag-of-words format) and fits into RAM. + + The matrix is internally stored as a `scipy.sparse.csr` matrix. Unless the entire + matrix fits into main memory, use `Similarity` instead. + + See also `Similarity` and `MatrixSimilarity` in this module. + """ + + def __init__(self, corpus, num_features=None, num_terms=None, num_docs=None, num_nnz=None, + num_best=None, chunksize=500, dtype=numpy.float32): + self.num_best = num_best + self.normalize = True + self.chunksize = chunksize + + if corpus is not None: + logger.info("creating sparse index") + + # iterate over input corpus, populating the sparse index matrix + try: + # use the more efficient corpus generation version, if the input + # `corpus` is MmCorpus-like (knows its shape and number of non-zeroes). + num_terms, num_docs, num_nnz = corpus.num_terms, corpus.num_docs, corpus.num_nnz + logger.debug("using efficient sparse index creation") + except AttributeError: + # no MmCorpus, use the slower version (or maybe user supplied the + # num_* params in constructor) + pass + if num_features is not None: + # num_terms is just an alias for num_features, for compatibility with MatrixSimilarity + num_terms = num_features + if num_terms is None: + raise ValueError("refusing to guess the number of sparse features: specify num_features explicitly") + corpus = (matutils.scipy2sparse(v) if scipy.sparse.issparse(v) else + (matutils.full2sparse(v) if isinstance(v, numpy.ndarray) else + matutils.unitvec(v)) for v in corpus) + self.index = matutils.corpus2csc(corpus, num_terms=num_terms, num_docs=num_docs, num_nnz=num_nnz, + dtype=dtype, printprogress=10000).T + + # convert to Compressed Sparse Row for efficient row slicing and multiplications + self.index = self.index.tocsr() # currently no-op, CSC.T is already CSR + logger.info("created %r" % self.index) + + + def __len__(self): + return self.index.shape[0] + + + def get_similarities(self, query): + """ + Return similarity of sparse vector `query` to all documents in the corpus, + as a numpy array. + + If `query` is a collection of documents, return a 2D array of similarities + of each document in `query` to all documents in the corpus (=batch query, + faster than processing each document in turn). + + **Do not use this function directly; use the self[query] syntax instead.** + + """ + is_corpus, query = utils.is_corpus(query) + if is_corpus: + query = matutils.corpus2csc(query, self.index.shape[1], dtype=self.index.dtype) + else: + if scipy.sparse.issparse(query): + query = query.T # convert documents=rows to documents=columns + elif isinstance(query, numpy.ndarray): + if query.ndim == 1: + query.shape = (1, len(query)) + query = scipy.sparse.csr_matrix(query, dtype=self.index.dtype).T + else: + # default case: query is a single vector, in sparse gensim format + query = matutils.corpus2csc([query], self.index.shape[1], dtype=self.index.dtype) + + # compute cosine similarity against every other document in the collection + result = self.index * query.tocsc() # N x T * T x C = N x C + if result.shape[1] == 1 and not is_corpus: + # for queries of one document, return a 1d array + result = result.toarray().flatten() + else: + # otherwise, return a 2d matrix (#queries x #index) + result = result.toarray().T + return result + + + def save(self, fname): + """ + Override the default `save` (which uses cPickle), because that's + too inefficient and cPickle has bugs. Instead, single out the large internal + arrays and store them separately in binary format (that can be directly + mmap'ed), under `fname.array_name.npy`. + """ + logger.info("storing %s object to %s and %s.npy" % (self.__class__.__name__, fname, fname)) + assert isinstance(self.index, scipy.sparse.csr_matrix) + # first, remove the arrays from self.__dict__, so they don't get pickled + data, indptr, indices = self.index.data, self.index.indptr, self.index.indices + del self.index.data, self.index.indptr, self.index.indices + try: + utils.pickle(self, fname) # store array-less object + # store arrays (.npy suffix is appended by numpy automatically) + numpy.save(fname + '.data.npy', data) + numpy.save(fname + '.indptr.npy', indptr) + numpy.save(fname + '.indices.npy', indices) + finally: + self.index.data, self.index.indptr, self.index.indices = data, indptr, indices + + + @classmethod + def load(cls, fname): + """ + Load a previously saved object from file (also see `save`). + """ + logger.debug("loading %s object from %s and %s.*.npy" % (cls.__name__, fname, fname)) + result = utils.unpickle(fname) + data = numpy.load(fname + '.data.npy', mmap_mode='r') # load back as read-only + indptr = numpy.load(fname + '.indptr.npy', mmap_mode='r') + indices = numpy.load(fname + '.indices.npy', mmap_mode='r') + result.index.data, result.index.indptr, result.index.indices = data, indptr, indices + return result + + #endclass SparseMatrixSimilarity diff --git a/gensim-develop/gensim/test/__init__.py b/gensim-develop/gensim/test/__init__.py new file mode 100644 index 0000000000..0ab71d7206 --- /dev/null +++ b/gensim-develop/gensim/test/__init__.py @@ -0,0 +1,3 @@ +""" +This package contains automated code tests for all other gensim packages. +""" diff --git a/gensim-develop/gensim/test/simspeed.py b/gensim-develop/gensim/test/simspeed.py new file mode 100644 index 0000000000..4a38f1873e --- /dev/null +++ b/gensim-develop/gensim/test/simspeed.py @@ -0,0 +1,164 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2011 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + +""" +USAGE: %(program)s CORPUS_DENSE.mm CORPUS_SPARSE.mm [NUMDOCS] + Run speed test of similarity queries. Only use the first NUMDOCS documents of \ +each corpus for testing (or use all if no NUMDOCS is given). + The two sample corpora can be downloaded from http://nlp.fi.muni.cz/projekty/gensim/wikismall.tgz + +Example: ./simspeed.py wikismall.dense.mm wikismall.sparse.mm 5000 +""" + +import logging +import sys +import itertools +import os +import math +from time import time + +import numpy +import scipy.sparse + +import gensim + + +if __name__ == '__main__': + logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) + logging.info("running %s" % " ".join(sys.argv)) + + # check and process cmdline input + program = os.path.basename(sys.argv[0]) + if len(sys.argv) < 3: + print(globals()['__doc__'] % locals()) + sys.exit(1) + + corpus_dense = gensim.corpora.MmCorpus(sys.argv[1]) + corpus_sparse = gensim.corpora.MmCorpus(sys.argv[2]) + NUMTERMS = corpus_sparse.num_terms + if len(sys.argv) > 3: + NUMDOCS = int(sys.argv[3]) + corpus_dense = list(itertools.islice(corpus_dense, NUMDOCS)) + corpus_sparse = list(itertools.islice(corpus_sparse, NUMDOCS)) + + # create the query index to be tested (one for dense input, one for sparse) + index_dense = gensim.similarities.MatrixSimilarity(corpus_dense) + index_sparse = gensim.similarities.SparseMatrixSimilarity(corpus_sparse, num_terms=NUMTERMS) + + density = 100.0 * index_sparse.index.nnz / (index_sparse.index.shape[0] * index_sparse.index.shape[1]) + + # Difference between test #1 and test #3 is that the query in #1 is a gensim iterable + # corpus, while in #3, the index is used directly (numpy arrays). So #1 is slower, + # because it needs to convert sparse vecs to numpy arrays and normalize them to + # unit length=extra work, which #3 avoids. + query = list(itertools.islice(corpus_dense, 1000)) + logging.info("test 1 (dense): dense corpus of %i docs vs. index (%i documents, %i dense features)" % + (len(query), len(index_dense), index_dense.num_features)) + for chunksize in [1, 4, 8, 16, 64, 128, 256, 512, 1024]: + start = time() + if chunksize > 1: + sims = [] + for chunk in gensim.utils.chunkize_serial(query, chunksize): + sim = index_dense[chunk] + sims.extend(sim) + else: + sims = [index_dense[vec] for vec in query] + assert len(sims) == len(query) # make sure we have one result for each query document + taken = time() - start + queries = math.ceil(1.0 * len(query) / chunksize) + logging.info("chunksize=%i, time=%.4fs (%.2f docs/s, %.2f queries/s)" % + (chunksize, taken, len(query) / taken, queries / taken)) + + # Same comment as for test #1 but vs. test #4. + query = list(itertools.islice(corpus_sparse, 1000)) + logging.info( + "test 2 (sparse): sparse corpus of %i docs vs. sparse index (%i documents, %i features, %.2f%% density)" % + (len(query), len(corpus_sparse), index_sparse.index.shape[1], density)) + for chunksize in [1, 5, 10, 100, 500, 1000]: + start = time() + if chunksize > 1: + sims = [] + for chunk in gensim.utils.chunkize_serial(query, chunksize): + sim = index_sparse[chunk] + sims.extend(sim) + else: + sims = [index_sparse[vec] for vec in query] + assert len(sims) == len(query) # make sure we have one result for each query document + taken = time() - start + queries = math.ceil(1.0 * len(query) / chunksize) + logging.info("chunksize=%i, time=%.4fs (%.2f docs/s, %.2f queries/s)" % + (chunksize, taken, len(query) / taken, queries / taken)) + + logging.info("test 3 (dense): similarity of all vs. all (%i documents, %i dense features)" % + (len(corpus_dense), index_dense.num_features)) + for chunksize in [0, 1, 4, 8, 16, 64, 128, 256, 512, 1024]: + index_dense.chunksize = chunksize + start = time() + # `sims` stores the entire N x N sim matrix in memory! + # this is not necessary, but i added it to test the accuracy of the result + # (=report mean diff below) + sims = [sim for sim in index_dense] + taken = time() - start + sims = numpy.asarray(sims) + if chunksize == 0: + logging.info("chunksize=%i, time=%.4fs (%.2f docs/s)" % (chunksize, taken, len(corpus_dense) / taken)) + unchunksizeed = sims + else: + queries = math.ceil(1.0 * len(corpus_dense) / chunksize) + diff = numpy.mean(numpy.abs(unchunksizeed - sims)) + logging.info("chunksize=%i, time=%.4fs (%.2f docs/s, %.2f queries/s), meandiff=%.3e" % + (chunksize, taken, len(corpus_dense) / taken, queries / taken, diff)) + del sims + + index_dense.num_best = 10 + logging.info("test 4 (dense): as above, but only ask for the top-10 most similar for each document") + for chunksize in [0, 1, 4, 8, 16, 64, 128, 256, 512, 1024]: + index_dense.chunksize = chunksize + start = time() + sims = [sim for sim in index_dense] + taken = time() - start + if chunksize == 0: + queries = len(corpus_dense) + else: + queries = math.ceil(1.0 * len(corpus_dense) / chunksize) + logging.info("chunksize=%i, time=%.4fs (%.2f docs/s, %.2f queries/s)" % + (chunksize, taken, len(corpus_dense) / taken, queries / taken)) + index_dense.num_best = None + + logging.info("test 5 (sparse): similarity of all vs. all (%i documents, %i features, %.2f%% density)" % + (len(corpus_sparse), index_sparse.index.shape[1], density)) + for chunksize in [0, 5, 10, 100, 500, 1000, 5000]: + index_sparse.chunksize = chunksize + start = time() + sims = [sim for sim in index_sparse] + taken = time() - start + sims = numpy.asarray(sims) + if chunksize == 0: + logging.info("chunksize=%i, time=%.4fs (%.2f docs/s)" % (chunksize, taken, len(corpus_sparse) / taken)) + unchunksizeed = sims + else: + queries = math.ceil(1.0 * len(corpus_sparse) / chunksize) + diff = numpy.mean(numpy.abs(unchunksizeed - sims)) + logging.info("chunksize=%i, time=%.4fs (%.2f docs/s, %.2f queries/s), meandiff=%.3e" % + (chunksize, taken, len(corpus_sparse) / taken, queries / taken, diff)) + del sims + + index_sparse.num_best = 10 + logging.info("test 6 (sparse): as above, but only ask for the top-10 most similar for each document") + for chunksize in [0, 5, 10, 100, 500, 1000, 5000]: + index_sparse.chunksize = chunksize + start = time() + sims = [sim for sim in index_sparse] + taken = time() - start + if chunksize == 0: + queries = len(corpus_sparse) + else: + queries = math.ceil(1.0 * len(corpus_sparse) / chunksize) + logging.info("chunksize=%i, time=%.4fs (%.2f docs/s, %.2f queries/s)" % + (chunksize, taken, len(corpus_sparse) / taken, queries / taken)) + index_sparse.num_best = None + + logging.info("finished running %s" % program) diff --git a/gensim-develop/gensim/test/simspeed2.py b/gensim-develop/gensim/test/simspeed2.py new file mode 100644 index 0000000000..22c6857013 --- /dev/null +++ b/gensim-develop/gensim/test/simspeed2.py @@ -0,0 +1,142 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2011 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + +""" +USAGE: %(program)s CORPUS_DENSE.mm CORPUS_SPARSE.mm [NUMDOCS] + Run speed test of similarity queries. Only use the first NUMDOCS documents of \ +each corpus for testing (or use all if no NUMDOCS is given). + The two sample corpora can be downloaded from http://nlp.fi.muni.cz/projekty/gensim/wikismall.tgz + +Example: ./simspeed2.py wikismall.dense.mm wikismall.sparse.mm +""" + +import logging +import sys +import itertools +import os +import math +from time import time + +import numpy +import scipy.sparse + +import gensim + + +if __name__ == '__main__': + logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) + logging.info("running %s" % " ".join(sys.argv)) + + # check and process cmdline input + program = os.path.basename(sys.argv[0]) + if len(sys.argv) < 3: + print(globals()['__doc__'] % locals()) + sys.exit(1) + + corpus_dense = gensim.corpora.MmCorpus(sys.argv[1]) + corpus_sparse = gensim.corpora.MmCorpus(sys.argv[2]) + dense_features, sparse_features = corpus_dense.num_terms, corpus_sparse.num_terms + if len(sys.argv) > 3: + NUMDOCS = int(sys.argv[3]) + corpus_dense = list(itertools.islice(corpus_dense, NUMDOCS)) + corpus_sparse = list(itertools.islice(corpus_sparse, NUMDOCS)) + + # create the query index to be tested (one for dense input, one for sparse) + index_dense = gensim.similarities.Similarity('/tmp/tstdense', corpus_dense, dense_features) + index_sparse = gensim.similarities.Similarity('/tmp/tstsparse', corpus_sparse, sparse_features) + + density = 100.0 * sum(shard.num_nnz for shard in index_sparse.shards) / (len(index_sparse) * sparse_features) + + logging.info("test 1 (dense): similarity of all vs. all (%i documents, %i dense features)" % + (len(corpus_dense), index_dense.num_features)) + for chunksize in [1, 8, 32, 64, 128, 256, 512, 1024, index_dense.shardsize]: + index_dense.chunksize = chunksize + start = time() + for sim in index_dense: + pass + taken = time() - start + queries = math.ceil(1.0 * len(corpus_dense) / chunksize) + logging.info("chunksize=%i, time=%.4fs (%.2f docs/s, %.2f queries/s)" % + (chunksize, taken, len(corpus_dense) / taken, queries / taken)) + + index_dense.num_best = 10 + logging.info("test 2 (dense): as above, but only ask for the top-10 most similar for each document") + for chunksize in [1, 8, 32, 64, 128, 256, 512, 1024, index_dense.shardsize]: + index_dense.chunksize = chunksize + start = time() + sims = [sim for sim in index_dense] + taken = time() - start + queries = math.ceil(1.0 * len(corpus_dense) / chunksize) + logging.info("chunksize=%i, time=%.4fs (%.2f docs/s, %.2f queries/s)" % + (chunksize, taken, len(corpus_dense) / taken, queries / taken)) + index_dense.num_best = None + + logging.info("test 3 (sparse): similarity of all vs. all (%i documents, %i features, %.2f%% density)" % + (len(corpus_sparse), index_sparse.num_features, density)) + for chunksize in [1, 5, 10, 100, 256, 500, 1000, index_sparse.shardsize]: + index_sparse.chunksize = chunksize + start = time() + for sim in index_sparse: + pass + taken = time() - start + queries = math.ceil(1.0 * len(corpus_sparse) / chunksize) + logging.info("chunksize=%i, time=%.4fs (%.2f docs/s, %.2f queries/s)" % + (chunksize, taken, len(corpus_sparse) / taken, queries / taken)) + + index_sparse.num_best = 10 + logging.info("test 4 (sparse): as above, but only ask for the top-10 most similar for each document") + for chunksize in [1, 5, 10, 100, 256, 500, 1000, index_sparse.shardsize]: + index_sparse.chunksize = chunksize + start = time() + for sim in index_sparse: + pass + taken = time() - start + queries = math.ceil(1.0 * len(corpus_sparse) / chunksize) + logging.info("chunksize=%i, time=%.4fs (%.2f docs/s, %.2f queries/s)" % + (chunksize, taken, len(corpus_sparse) / taken, queries / taken)) + index_sparse.num_best = None + + # Difference between test #5 and test #1 is that the query in #5 is a gensim iterable + # corpus, while in #1, the index is used directly (numpy arrays). So #5 is slower, + # because it needs to convert sparse vecs to numpy arrays and normalize them to + # unit length=extra work, which #1 avoids. + query = list(itertools.islice(corpus_dense, 1000)) + logging.info("test 5 (dense): dense corpus of %i docs vs. index (%i documents, %i dense features)" % + (len(query), len(index_dense), index_dense.num_features)) + for chunksize in [1, 8, 32, 64, 128, 256, 512, 1024]: + start = time() + if chunksize > 1: + sims = [] + for chunk in gensim.utils.chunkize_serial(query, chunksize): + _ = index_dense[chunk] + else: + for vec in query: + _ = index_dense[vec] + taken = time() - start + queries = math.ceil(1.0 * len(query) / chunksize) + logging.info("chunksize=%i, time=%.4fs (%.2f docs/s, %.2f queries/s)" % + (chunksize, taken, len(query) / taken, queries / taken)) + + # Same comment as for test #5. + query = list(itertools.islice(corpus_dense, 1000)) + logging.info( + "test 6 (sparse): sparse corpus of %i docs vs. sparse index (%i documents, %i features, %.2f%% density)" % + (len(query), len(corpus_sparse), index_sparse.num_features, density)) + for chunksize in [1, 5, 10, 100, 500, 1000]: + start = time() + if chunksize > 1: + sims = [] + for chunk in gensim.utils.chunkize_serial(query, chunksize): + _ = index_sparse[chunk] + else: + for vec in query: + _ = index_sparse[vec] + taken = time() - start + queries = math.ceil(1.0 * len(query) / chunksize) + logging.info("chunksize=%i, time=%.4fs (%.2f docs/s, %.2f queries/s)" % + (chunksize, taken, len(query) / taken, queries / taken)) + + logging.info("finished running %s" % program) diff --git a/gensim-develop/gensim/test/svd_error.py b/gensim-develop/gensim/test/svd_error.py new file mode 100644 index 0000000000..04a7303fd9 --- /dev/null +++ b/gensim-develop/gensim/test/svd_error.py @@ -0,0 +1,179 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2011 Radim Rehurek + + +"""USAGE: %(program)s MATRIX.mm [CLIP_DOCS] [CLIP_TERMS] + +Check truncated SVD error for the algo in gensim, using a given corpus. This script +runs the decomposition with several internal parameters (number of requested factors, +iterative chunk size) and reports error for each parameter combination. + +The number of input documents is clipped to the first CLIP_DOCS. Similarly, +only the first CLIP_TERMS are considered (features with id >= CLIP_TERMS are +ignored, effectively restricting the vocabulary size). If you don't specify them, +the entire matrix will be used. + +Example: ./svd_error.py ~/gensim/results/wiki_en_v10k.mm.bz2 100000 10000 +""" + +import logging +import os, sys, time +import bz2 +import itertools + +import numpy +import scipy.linalg + +import gensim + +try: + from sparsesvd import sparsesvd +except ImportError: + # no SVDLIBC: install with `easy_install sparsesvd` if you want SVDLIBC results as well + sparsesvd = None + +sparsesvd = None # don't use SVDLIBC + +FACTORS = [300] # which num_topics to try +CHUNKSIZE = [10000, 1000] # which chunksize to try +POWER_ITERS = [0, 1, 2, 4, 6] # extra power iterations for the randomized algo + +# when reporting reconstruction error, also report spectral norm error? (very slow) +COMPUTE_NORM2 = False + + +def norm2(a): + """Spectral norm ("norm 2") of a symmetric matrix `a`.""" + if COMPUTE_NORM2: + logging.info("computing spectral norm of a %s matrix" % str(a.shape)) + return scipy.linalg.eigvalsh(a).max() # much faster than numpy.linalg.norm(2) + else: + return numpy.nan + + +def rmse(diff): + return numpy.sqrt(1.0 * numpy.multiply(diff, diff).sum() / diff.size) + + +def print_error(name, aat, u, s, ideal_nf, ideal_n2): + err = -numpy.dot(u, numpy.dot(numpy.diag(s), u.T)) + err += aat + nf, n2 = numpy.linalg.norm(err), norm2(err) + print(('%s error: norm_frobenius=%f (/ideal=%g), norm2=%f (/ideal=%g), RMSE=%g' % + (name, nf, nf / ideal_nf, n2, n2 / ideal_n2, rmse(err)))) + sys.stdout.flush() + + +class ClippedCorpus(object): + def __init__(self, corpus, max_docs, max_terms): + self.corpus = corpus + self.max_docs, self.max_terms = max_docs, max_terms + + def __iter__(self): + for doc in itertools.islice(self.corpus, self.max_docs): + yield [(f, w) for f, w in doc if f < self.max_terms] + + +if __name__ == '__main__': + logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) + logging.info("running %s" % " ".join(sys.argv)) + + program = os.path.basename(sys.argv[0]) + # do we have enough cmd line arguments? + if len(sys.argv) < 2: + print(globals()["__doc__"] % locals()) + sys.exit(1) + + fname = sys.argv[1] + if fname.endswith('bz2'): + mm = gensim.corpora.MmCorpus(bz2.BZ2File(fname)) + else: + mm = gensim.corpora.MmCorpus(fname) + + # extra cmd parameters = use a subcorpus (fewer docs, smaller vocab) + if len(sys.argv) > 2: + n = int(sys.argv[2]) + else: + n = mm.num_docs + if len(sys.argv) > 3: + m = int(sys.argv[3]) + else: + m = mm.num_terms + logging.info("using %i documents and %i features" % (n, m)) + corpus = ClippedCorpus(mm, n, m) + id2word = gensim.utils.FakeDict(m) + + logging.info("computing corpus * corpus^T") # eigenvalues of this matrix are singular values of `corpus`, squared + aat = numpy.zeros((m, m), dtype=numpy.float64) + for chunk in gensim.utils.grouper(corpus, chunksize=5000): + num_nnz = sum(len(doc) for doc in chunk) + chunk = gensim.matutils.corpus2csc(chunk, num_nnz=num_nnz, num_terms=m, num_docs=len(chunk), + dtype=numpy.float32) + chunk = chunk * chunk.T + chunk = chunk.toarray() + aat += chunk + del chunk + + logging.info("computing full decomposition of corpus * corpus^t") + aat = aat.astype(numpy.float32) + spectrum_s, spectrum_u = scipy.linalg.eigh(aat) + spectrum_s = spectrum_s[::-1] # re-order to descending eigenvalue order + spectrum_u = spectrum_u.T[::-1].T + numpy.save(fname + '.spectrum.npy', spectrum_s) + + for factors in FACTORS: + err = -numpy.dot(spectrum_u[:, :factors], + numpy.dot(numpy.diag(spectrum_s[:factors]), spectrum_u[:, :factors].T)) + err += aat + ideal_fro = numpy.linalg.norm(err) + del err + ideal_n2 = spectrum_s[factors + 1] + print('*' * 40, "%i factors, ideal error norm_frobenius=%f, norm_2=%f" % (factors, ideal_fro, ideal_n2)) + print("*" * 30, end=' ') + print_error("baseline", aat, + numpy.zeros((m, factors)), numpy.zeros(factors), ideal_fro, ideal_n2) + if sparsesvd: + logging.info("computing SVDLIBC SVD for %i factors" % factors) + taken = time.time() + corpus_ram = gensim.matutils.corpus2csc(corpus, num_terms=m) + ut, s, vt = sparsesvd(corpus_ram, factors) + taken = time.time() - taken + del corpus_ram + del vt + u, s = ut.T.astype(numpy.float32), s.astype(numpy.float32) ** 2 # convert singular values to eigenvalues + del ut + print("SVDLIBC SVD for %i factors took %s s (spectrum %f .. %f)" % (factors, taken, s[0], s[-1])) + print_error("SVDLIBC", aat, u, s, ideal_fro, ideal_n2) + del u + for power_iters in POWER_ITERS: + for chunksize in CHUNKSIZE: + logging.info("computing incremental SVD for %i factors, %i power iterations, chunksize %i" % + (factors, power_iters, chunksize)) + taken = time.time() + gensim.models.lsimodel.P2_EXTRA_ITERS = power_iters + model = gensim.models.LsiModel(corpus, id2word=id2word, num_topics=factors, + chunksize=chunksize, power_iters=power_iters) + taken = time.time() - taken + u, s = model.projection.u.astype(numpy.float32), model.projection.s.astype(numpy.float32) ** 2 + del model + print( + ("incremental SVD for %i factors, %i power iterations, chunksize %i took %s s (spectrum %f .. %f)" % + (factors, power_iters, chunksize, taken, s[0], s[-1]))) + print_error('incremental SVD', aat, u, s, ideal_fro, ideal_n2) + del u + logging.info("computing multipass SVD for %i factors, %i power iterations" % + (factors, power_iters,)) + taken = time.time() + model = gensim.models.LsiModel(corpus, id2word=id2word, num_topics=factors, chunksize=2000, + onepass=False, power_iters=power_iters) + taken = time.time() - taken + u, s = model.projection.u.astype(numpy.float32), model.projection.s.astype(numpy.float32) ** 2 + del model + print(("multipass SVD for %i factors, %i power iterations took %s s (spectrum %f .. %f)" % + (factors, power_iters, taken, s[0], s[-1]))) + print_error('multipass SVD', aat, u, s, ideal_fro, ideal_n2) + del u + + logging.info("finished running %s" % program) diff --git a/gensim-develop/gensim/test/test_corpora.py b/gensim-develop/gensim/test/test_corpora.py new file mode 100644 index 0000000000..5e71552761 --- /dev/null +++ b/gensim-develop/gensim/test/test_corpora.py @@ -0,0 +1,131 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2010 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + +""" +Automated tests for checking corpus I/O formats (the corpora package). +""" + +import logging +import os.path +import unittest +import tempfile + +from gensim.corpora import bleicorpus, mmcorpus, lowcorpus, svmlightcorpus, ucicorpus + + +module_path = os.path.dirname(__file__) # needed because sample data files are located in the same folder +datapath = lambda fname: os.path.join(module_path, 'test_data', fname) + + +def testfile(): + # temporary data will be stored to this file + return os.path.join(tempfile.gettempdir(), 'gensim_corpus.tst') + + +class CorpusTesterABC(object): + def __init__(self): + global self + raise NotImplementedError("cannot instantiate Abstract Base Class") + self.corpus_class = None # to be overridden with a particular class + self.file_extension = None # file 'testcorpus.fileExtension' must exist and be in the format of corpusClass + + + def test_load(self): + fname = datapath('testcorpus.' + self.file_extension.lstrip('.')) + corpus = self.corpus_class(fname) + docs = list(corpus) + self.assertEqual(len(docs), 9) # the deerwester corpus always has nine documents, no matter what format + + + def test_save(self, corpus=None): + # make sure the corpus can be saved + if not corpus: corpus = [[(1, 1.0)], [], [(0, 0.5), (2, 1.0)], []] + self.corpus_class.save_corpus(testfile(), corpus) + + # and loaded back, resulting in exactly the same corpus + corpus2 = list(self.corpus_class(testfile())) + self.assertEqual(corpus, corpus2) + + # delete the temporary file + os.remove(testfile()) + + def test_serialize(self, corpus=None): + # make sure the corpus can be saved + if not corpus: corpus = [[(1, 1.0)], [], [(0, 0.5), (2, 1.0)], []] + self.corpus_class.serialize(testfile(), corpus) + + # and loaded back, resulting in exactly the same corpus + corpus2 = self.corpus_class(testfile()) + self.assertEqual(corpus, list(corpus2)) + + # make sure the indexing corpus[i] works + for i in range(len(corpus)): + self.assertEqual(corpus[i], corpus2[i]) + + # delete the temporary file + os.remove(testfile()) + + #endclass CorpusTesterABC + + def assertEqual(self, corpus, param): + pass + + +class TestMmCorpus(unittest.TestCase, CorpusTesterABC): + def setUp(self): + self.corpus_class = mmcorpus.MmCorpus + self.file_extension = '.mm' + + #endclass TestMmCorpus + + +class TestSvmLightCorpus(unittest.TestCase, CorpusTesterABC): + def setUp(self): + self.corpus_class = svmlightcorpus.SvmLightCorpus + self.file_extension = '.svmlight' + + #endclass TestSvmLightCorpus + + +class TestBleiCorpus(unittest.TestCase, CorpusTesterABC): + def setUp(self): + self.corpus_class = bleicorpus.BleiCorpus + self.file_extension = '.blei' + + #endclass TestBleiCorpus + +class TestLowCorpus(unittest.TestCase, CorpusTesterABC): + def setUp(self): + self.corpus_class = lowcorpus.LowCorpus + self.file_extension = '.low' + + def test_save(self): + super(TestLowCorpus, self).test_save(corpus=[[(1, 1)], [], [(0, 2), (2, 1)], []]) + + def test_serialize(self): + super(TestLowCorpus, self).test_serialize(corpus=[[(1, 1)], [], [(0, 2), (2, 1)], []]) + + #endclass TestLowCorpus + + +class TestUciCorpus(unittest.TestCase, CorpusTesterABC): + def setUp(self): + self.corpus_class = ucicorpus.UciCorpus + self.file_extension = '.uci' + + def test_save(self): + super(TestUciCorpus, self).test_save(corpus=[[(1, 1)], [], [(0, 2), (2, 1)], []]) + + def test_serialize(self): + super(TestUciCorpus, self).test_serialize(corpus=[[(1, 1)], [], [(0, 2), (2, 1)], []]) + + #endclass TestUciCorpus + + + +if __name__ == '__main__': + logging.basicConfig(level=logging.DEBUG) + unittest.main() diff --git a/gensim-develop/gensim/test/test_corpora_dictionary.py b/gensim-develop/gensim/test/test_corpora_dictionary.py new file mode 100644 index 0000000000..6c4f2e45d0 --- /dev/null +++ b/gensim-develop/gensim/test/test_corpora_dictionary.py @@ -0,0 +1,168 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + +""" +Unit tests for the `corpora.Dictionary` class. +""" + +import logging +import tempfile +import unittest +import os +import os.path + +from gensim.corpora import Dictionary + + +# sample data files are located in the same folder +module_path = os.path.dirname(__file__) + + +def get_tmpfile(suffix): + return os.path.join(tempfile.gettempdir(), suffix) + + +class TestDictionary(unittest.TestCase): + def setUp(self): + self.texts = [ + ['human', 'interface', 'computer'], + ['survey', 'user', 'computer', 'system', 'response', 'time'], + ['eps', 'user', 'interface', 'system'], + ['system', 'human', 'system', 'eps'], + ['user', 'response', 'time'], + ['trees'], + ['graph', 'trees'], + ['graph', 'minors', 'trees'], + ['graph', 'minors', 'survey']] + + def testDocFreqOneDoc(self): + texts = [['human', 'interface', 'computer']] + d = Dictionary(texts) + expected = {0: 1, 1: 1, 2: 1} + self.assertEqual(d.dfs, expected) + + def testDocFreqAndToken2IdForSeveralDocsWithOneWord(self): + # two docs + texts = [['human'], ['human']] + d = Dictionary(texts) + expected = {0: 2} + self.assertEqual(d.dfs, expected) + # only one token (human) should exist + expected = {'human': 0} + self.assertEqual(d.token2id, expected) + + # three docs + texts = [['human'], ['human'], ['human']] + d = Dictionary(texts) + expected = {0: 3} + self.assertEqual(d.dfs, expected) + # only one token (human) should exist + expected = {'human': 0} + self.assertEqual(d.token2id, expected) + + # four docs + texts = [['human'], ['human'], ['human'], ['human']] + d = Dictionary(texts) + expected = {0: 4} + self.assertEqual(d.dfs, expected) + # only one token (human) should exist + expected = {'human': 0} + self.assertEqual(d.token2id, expected) + + def testDocFreqForOneDocWithSeveralWord(self): + # two words + texts = [['human', 'cat']] + d = Dictionary(texts) + expected = {0: 1, 1: 1} + self.assertEqual(d.dfs, expected) + + # three words + texts = [['human', 'cat', 'minors']] + d = Dictionary(texts) + expected = {0: 1, 1: 1, 2: 1} + self.assertEqual(d.dfs, expected) + + def testBuild(self): + d = Dictionary(self.texts) + expected = {0: 2, 1: 2, 2: 2, 3: 2, 4: 2, 5: 3, 6: 2, 7: 3, 8: 2, + 9: 3, 10: 3, 11: 2} + self.assertEqual(d.dfs, expected) + + expected = {'computer': 0, 'eps': 8, 'graph': 10, 'human': 1, + 'interface': 2, 'minors': 11, 'response': 3, 'survey': 4, + 'system': 5, 'time': 6, 'trees': 9, 'user': 7} + self.assertEqual(d.token2id, expected) + + def testFilter(self): + d = Dictionary(self.texts) + d.filter_extremes(no_below=2, no_above=1.0, keep_n=4) + expected = {0: 3, 1: 3, 2: 3, 3: 3} + self.assertEqual(d.dfs, expected) + + def test_doc2bow(self): + d = Dictionary([["žluťoučký"], ["žluťoučký"]]) + + # pass a utf8 string + self.assertEqual(d.doc2bow(["žluťoučký"]), [(0, 1)]) + + # doc2bow must raise a TypeError if passed a string instead of array of strings by accident + self.assertRaises(TypeError, d.doc2bow, "žluťoučký") + + # unicode must be converted to utf8 + self.assertEqual(d.doc2bow(['\u017elu\u0165ou\u010dk\xfd']), [(0, 1)]) + + def test_saveAsText_and_loadFromText(self): + """`Dictionary` can be saved as textfile and loaded again from textfile. """ + tmpf = get_tmpfile('dict_test.txt') + d = Dictionary(self.texts) + d.save_as_text(tmpf) + # does the file exists + self.assertTrue(os.path.exists(tmpf)) + + d_loaded = Dictionary.load_from_text(get_tmpfile('dict_test.txt')) + self.assertNotEqual(d_loaded, None) + self.assertEqual(d_loaded.token2id, d.token2id) + + def test_from_corpus(self): + """build `Dictionary` from an existing corpus""" + + documents = ["Human machine interface for lab abc computer applications", + "A survey of user opinion of computer system response time", + "The EPS user interface management system", + "System and human system engineering testing of EPS", + "Relation of user perceived response time to error measurement", + "The generation of random binary unordered trees", + "The intersection graph of paths in trees", + "Graph minors IV Widths of trees and well quasi ordering", + "Graph minors A survey"] + stoplist = set('for a of the and to in'.split()) + texts = [[word for word in document.lower().split() if word not in stoplist] + for document in documents] + + # remove words that appear only once + all_tokens = sum(texts, []) + tokens_once = set(word for word in set(all_tokens) if all_tokens.count(word) == 1) + texts = [[word for word in text if word not in tokens_once] + for text in texts] + dictionary = Dictionary(texts) + corpus = [dictionary.doc2bow(text) for text in texts] + dictionary_from_corpus = Dictionary.from_corpus(corpus) + + #we have to compare values, because in creating dictionary from corpus + #informations about words are lost + dict_token2id_vals = sorted(dictionary.token2id.values()) + dict_from_corpus_vals = sorted(dictionary_from_corpus.token2id.values()) + self.assertEqual(dict_token2id_vals, dict_from_corpus_vals) + self.assertEqual(dictionary.dfs, dictionary_from_corpus.dfs) + self.assertEqual(dictionary.num_docs, dictionary_from_corpus.num_docs) + self.assertEqual(dictionary.num_pos, dictionary_from_corpus.num_pos) + self.assertEqual(dictionary.num_nnz, dictionary_from_corpus.num_nnz) + + #endclass TestDictionary + + +if __name__ == '__main__': + logging.basicConfig(level=logging.WARNING) + unittest.main() diff --git a/gensim-develop/gensim/test/test_corpora_hashdictionary.py b/gensim-develop/gensim/test/test_corpora_hashdictionary.py new file mode 100644 index 0000000000..540a98b593 --- /dev/null +++ b/gensim-develop/gensim/test/test_corpora_hashdictionary.py @@ -0,0 +1,187 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + +""" +Unit tests for the `corpora.HashDictionary` class. +""" + +import logging +import tempfile +import unittest +import os +import zlib + +from gensim.corpora.hashdictionary import HashDictionary + + +# sample data files are located in the same folder +module_path = os.path.dirname(__file__) + + +def get_tmpfile(suffix): + return os.path.join(tempfile.gettempdir(), suffix) + + +class TestHashDictionary(unittest.TestCase): + def setUp(self): + self.texts = [ + ['human', 'interface', 'computer'], + ['survey', 'user', 'computer', 'system', 'response', 'time'], + ['eps', 'user', 'interface', 'system'], + ['system', 'human', 'system', 'eps'], + ['user', 'response', 'time'], + ['trees'], + ['graph', 'trees'], + ['graph', 'minors', 'trees'], + ['graph', 'minors', 'survey']] + + def testDocFreqOneDoc(self): + texts = [['human', 'interface', 'computer']] + d = HashDictionary(texts, myhash=zlib.adler32) + expected = {10608: 1, 12466: 1, 31002: 1} + self.assertEqual(d.dfs, expected) + + def testDocFreqAndToken2IdForSeveralDocsWithOneWord(self): + # two docs + texts = [['human'], ['human']] + d = HashDictionary(texts, myhash=zlib.adler32) + expected = {31002: 2} + self.assertEqual(d.dfs, expected) + # only one token (human) should exist + expected = {'human': 31002} + self.assertEqual(d.token2id['human'], expected['human']) + self.assertEqual(list(d.token2id.keys()), list(expected.keys())) + + # three docs + texts = [['human'], ['human'], ['human']] + d = HashDictionary(texts, myhash=zlib.adler32) + expected = {31002: 3} + self.assertEqual(d.dfs, expected) + # only one token (human) should exist + expected = {'human': 31002} + self.assertEqual(d.token2id['human'], expected['human']) + self.assertEqual(list(d.token2id.keys()), list(expected.keys())) + + # four docs + texts = [['human'], ['human'], ['human'], ['human']] + d = HashDictionary(texts, myhash=zlib.adler32) + expected = {31002: 4} + self.assertEqual(d.dfs, expected) + # only one token (human) should exist + expected = {'human': 31002} + self.assertEqual(d.token2id['human'], expected['human']) + self.assertEqual(list(d.token2id.keys()), list(expected.keys())) + + def testDocFreqForOneDocWithSeveralWord(self): + # two words + texts = [['human', 'cat']] + d = HashDictionary(texts, myhash=zlib.adler32) + expected = {9273: 1, 31002: 1} + self.assertEqual(d.dfs, expected) + + # three words + texts = [['human', 'cat', 'minors']] + d = HashDictionary(texts, myhash=zlib.adler32) + expected = {9273: 1, 15001: 1, 31002: 1} + self.assertEqual(d.dfs, expected) + + def testDebugMode(self): + # two words + texts = [['human', 'cat']] + d = HashDictionary(texts, debug=True, myhash=zlib.adler32) + expected = {9273: {'cat'}, 31002: {'human'}} + self.assertEqual(d.id2token, expected) + + # now the same thing, with debug off + texts = [['human', 'cat']] + d = HashDictionary(texts, debug=False, myhash=zlib.adler32) + expected = {} + self.assertEqual(d.id2token, expected) + + + def testRange(self): + # all words map to the same id + d = HashDictionary(self.texts, id_range=1, debug=True) + dfs = {0: 9} + id2token = {0: {'minors', 'graph', 'system', 'trees', 'eps', 'computer', 'survey', 'user', 'human', 'time', + 'interface', 'response'}} + token2id = {'minors': 0, 'graph': 0, 'system': 0, 'trees': 0, 'eps': 0, 'computer': 0, 'survey': 0, 'user': 0, + 'human': 0, 'time': 0, 'interface': 0, 'response': 0} + self.assertEqual(d.dfs, dfs) + self.assertEqual(d.id2token, id2token) + self.assertEqual(d.token2id, token2id) + + # 2 ids: 0/1 for even/odd number of bytes in the word + d = HashDictionary(self.texts, id_range=2, myhash=lambda key: len(key)) + dfs = {0: 7, 1: 7} + id2token = {0: {'minors', 'system', 'computer', 'survey', 'user', 'time', 'response'}, + 1: {'interface', 'graph', 'trees', 'eps', 'human'}} + token2id = {'minors': 0, 'graph': 1, 'system': 0, 'trees': 1, 'eps': 1, 'computer': 0, 'survey': 0, 'user': 0, + 'human': 1, 'time': 0, 'interface': 1, 'response': 0} + self.assertEqual(d.dfs, dfs) + self.assertEqual(d.id2token, id2token) + self.assertEqual(d.token2id, token2id) + + + def testBuild(self): + d = HashDictionary(self.texts, myhash=zlib.adler32) + expected = {5232: 2, + 5798: 3, + 10608: 2, + 12466: 2, + 12736: 3, + 15001: 2, + 18451: 3, + 23844: 3, + 28591: 2, + 29104: 2, + 31002: 2, + 31049: 2} + + self.assertEqual(d.dfs, expected) + expected = {'minors': 15001, 'graph': 18451, 'system': 5798, 'trees': 23844, 'eps': 31049, 'computer': 10608, + 'survey': 28591, 'user': 12736, 'human': 31002, 'time': 29104, 'interface': 12466, 'response': 5232} + + for ex in expected: + self.assertEqual(d.token2id[ex], expected[ex]) + + def testFilter(self): + d = HashDictionary(self.texts, myhash=zlib.adler32) + d.filter_extremes() + expected = {} + self.assertEqual(d.dfs, expected) + + d = HashDictionary(self.texts, myhash=zlib.adler32) + d.filter_extremes(no_below=0, no_above=0.3) + expected = {29104: 2, 31049: 2, 28591: 2, 5232: 2, 10608: 2, 12466: 2, 15001: 2, 31002: 2} + self.assertEqual(d.dfs, expected) + + d = HashDictionary(self.texts, myhash=zlib.adler32) + d.filter_extremes(no_below=3, no_above=1.0, keep_n=4) + expected = {5798: 3, 12736: 3, 18451: 3, 23844: 3} + self.assertEqual(d.dfs, expected) + + def test_saveAsText(self): + """ `HashDictionary` can be saved as textfile. """ + tmpf = get_tmpfile('dict_test.txt') + # use some utf8 strings, to test encoding serialization + d = HashDictionary(['žloťoučký koníček'.split(), 'Малйж обльйквюэ ат эжт'.split()]) + d.save_as_text(tmpf) + self.assertTrue(os.path.exists(tmpf)) + + def test_saveAsTextBz2(self): + """ `HashDictionary` can be saved & loaded as compressed pickle. """ + tmpf = get_tmpfile('dict_test.txt.bz2') + # use some utf8 strings, to test encoding serialization + d = HashDictionary(['žloťoučký koníček'.split(), 'Малйж обльйквюэ ат эжт'.split()]) + d.save(tmpf) + self.assertTrue(os.path.exists(tmpf)) + d2 = d.load(tmpf) + self.assertEqual(len(d), len(d2)) + + +if __name__ == '__main__': + logging.basicConfig(level=logging.WARNING) + unittest.main() diff --git a/gensim-develop/gensim/test/test_data/head500.noblanks.cor b/gensim-develop/gensim/test/test_data/head500.noblanks.cor new file mode 100644 index 0000000000..9d58a6667b --- /dev/null +++ b/gensim-develop/gensim/test/test_data/head500.noblanks.cor @@ -0,0 +1,250 @@ +anarch greek rule stem archon ruler merriam-webst onlin dictionari polit philosophi encompass theori attitud reject compulsori govern malatesta errico anarch state support elimin encyclopædia britannica encyclopædia britannica premium servic august anarch shorter routledg encyclopedia philosophi anarch view societi state govern desir due wider reject involuntari perman author bakunin mikhail god state pt tucker benjamin state social anarch kropotkin piotr anarch philosophi ideal malatesta errico anarch bookchin murrai anarch present pt liz highleyman anarch defin concis oxford dictionari polit view societi organ coerciv state slevin carl anarch concis oxford dictionari polit ed iain mclean alistair mcmillan oxford univers press type tradit anarch kropotkin peter anarch collect revolutionari write courier dover public fowler anarchist tradit polit thought western polit quarterli mutual exclus sylvan richard anarch companion contemporari polit philosophi editor goodwin robert pettit philip blackwel publish anarchist hold view econom legal organis societi favour collectivist anarch anarcho-synd participatori econom support market system mutual agor anarcho-capit consid extrem left-w ideolog anarch includ signific strain radic individu godwin egoism stirner libertarian anarcho-capitalist todai brook frank individualist anarchist antholog liberti transact publish xi anarcho-communist post left anarchist prefer solid form organ oxford companion philosophi singl defin posit anarchist hold reject compulsori govern consid anarchist share famili resembl anarch oxford companion philosophi oxford univers press anarchist school thought differ fundament support extrem individu complet collectiv anarchist oppos coercion support form violent revolut path anarchi utopia fowler anarchist tradit polit thought western polit quarterli origin jame northcot william godwin oil canva nation portrait galleri william godwin credit founder modern anarch claim anarchist theme work taoist sage lao tzu peter kropotkin encyclopædia britannica encyclopedia religion natur diogen sinop cynic contemporari zeno citium founder stoicism introduc similar topic modern anarch sprung secular thought enlighten jean-jacqu rousseau argument moral central freedom anarch encarta onlin encyclopedia uk version turn centuri term anarchist posit connot enter english languag english civil war term abus royalist damn foment disord time french revolut enragé began term posit sheehan sean anarch london reaktion book opposit jacobin centralis power revolutionari govern oxymoron climat william godwin develop express modern anarchist thought godwin peter kropotkin formul polit econom concept anarch give idea develop work godwin attribut anarchist write edmund burk argument larg burk vindic natur societi treatis evil exist polit institut displai incompar forc reason lustr footnot ch polit justic william godwin godwin philosoph anarchist oppos revolutionari action minim state present evil godwin william increasingli irrelev powerless gradual spread knowledg entri stanford encyclopedia philosophi mark philip godwin advoc extrem individu propos cooper labor elimin britannica concis encyclopedia retriev decemb godwin felt discrimin ground abil intoler describ anarchist pierre-joseph proudhon bbc radio program time thursdai decemb host melvyn bragg bbc john kean professor polit univers westminst ruth kinna senior lectur polit loughborough univers peter marshal philosoph historian led call founder modern anarchist theori daniel guerin anarch theori practic york monthli review press proudhon propos spontan order organ emerg central author posit anarchi order aris wish wish proudhon solut social problem ed cohen york vanguard press busi transact produc social order pierre-joseph feder principl notion anarchi polit ration posit mean industri function polit function busi transact produc social order godwin proudhon oppos violent revolutionari action anarchi form govern constitut public privat conscious form develop scienc law suffici maintain order guarante liberti consequ institut polic prevent repress method officialdom taxat reduc minimum form monarchi intens central disappear replac feder institut pattern life base commun select write pierre-joseph proudhon commun proudhon meant local self-govern liter translat municip communist arrang bernstein samuel french polit intellectu histori transact publish school thought mutual mutualist pierre-joseph proudhon self-describ anarchist mutual began centuri english french labor movement anarchist form pierre-joseph proudhon franc unit state member commun mutualist seri critic robert owen propos attribut dissid owenit possibl friendli associ mutual interest vallei forg wilbur shawn mutualist proudhon idea introduc charl dana dana charl individualist anarchist unit state includ benjamin tucker william batcheld green tucker benjamin picket duti liberti daughter mother order januari ap onlin mutualist anarch concern reciproc free associ voluntari contract feder credit currenc reform mutualist attribut need market govern intervent drive price elimin profit rent interest labor theori firm forc compet worker worker compet firm rais wage commun mutual socialist communist mutualist financi fragment boston lee shepard william batcheld green mutual system individu receiv exact pai work servic equival cost exchang servic equival cost profit discount individu labor earn share gener prosper commun individu member mutual retrospect character ideolog situat individualist collectivist form anarch avrich paul anarchist voic oral histori anarch america princeton univers press blackwel encyclopaedia polit thought blackwel publish proudhon character goal form societi synthesi commun properti pierre-joseph proudhon properti princeton ma benjamin tucker individualist anarch individualist anarch compris tradit ward colin anarch short introduct oxford univers press hold individu conscienc pursuit self-interest constrain collect bodi public author heywood andrew kei concept polit palgrav individualist anarch support properti held privat social socialist collectivist communitarian wing advoc common ownership freeden michael ideolog polit theori conceptu approach oxford univers press individualist anarch espous individu william godwin woodcock georg anarch histori libertarian idea movement broadview press henri david thoreau johnson ellwood goodli word puritan influenc america literatur clement publish encyclopaedia social scienc edit edwin robert anderson seligman alvin saunder johnson josiah warren murrai rothbard centuri philosoph max stirner promin earli individualist anarchist sketch friedrich engel earliest best-known propon individualist anarch max stirner entri stanford encyclopedia philosophi david leopold august wrote ego found text philosophi stirner philosophi egoist form individualist anarch individu pleas notic god state moral rule miller david anarch blackwel encyclopaedia polit thought blackwel publish stirner right spook mind held societi exist individu realiti support properti possess reach properti claim properti feel strong attain extend actual properti fa entitl empow michael anarch drama ernst toller suni press stirner preach self-assert foresaw associ egoist respect ruthless drew peopl radic form individualist anarch advoc boston anarchist american individualist support privat properti free market anarch word mean includ liberti individu control product product brought exchang free market privat properti deni privat properti necess anarch properti benjamin tucker freewoman novemb advoc protect liberti properti privat contractor benjamin tucker defens servic servic labor desir econom commod subject law suppli demand free market commod furnish cost product competit prevail patronag furnish articl lowest price product sale commod monopol state state monopolist charg exorbit price book anarch exclud prison offici militari symbol forc demand non-invas men victim forc anarch reign love reign justic signifi abolit applic forc real invad tucker benjamin liberti octob endors exchang labor wage tucker benjamin individu liberti select write benjamin tucker problem man emploi direct labor demand natur opportun requisit product wealth access equal term monopoli aris special privileg creat law abolish madison charl anarch unit state journal histori idea januari believ state monopoli capit defin state-sponsor monopoli schwartzman jack ingal hanson tucker nineteenth-centuri american anarchist american journal econom sociolog novemb prevent labor fulli reward nineteenth centuri american individualist monolith doctrin disagre issu includ intellectu properti right possess properti land spooner lysand carl watner liberti journal libertarian studi watner carl libertarian forum march volum vii issn major cleft occur centuri tucker abandon natur right convert egoism model stirner philosophi watner carl benjamin tucker period liberti journal libertarian studi boston anarchist tucker identifi socialist term time denot broad concept meant commit solv labor problem radic econom reform brook frank individualist anarchist antholog liberti transact publish turn centuri heydai individualist anarch pass avrich paul anarchist voic oral histori anarch america ak press reviv modif murrai rothbard anarcho-capitalist mid-twentieth centuri current broader libertarian movement levi carl microsoft encarta onlin encyclopedia miller david anarch blackwel encyclopaedia polit thought social anarch social anarch broad categori anarch categori individualist anarch term social anarch identifi communitarian form anarch emphas cooper mutual aid social anarch includ anarcho-commun libertarian social anarcho-synd social ecolog mutual collectivist anarch collectivist anarch specif tendenc confus broad categori call collectivist communitarian anarch morri christoph essai modern state cambridg univers press collectivist categori social socialist communitarian anarch categori revolutionari loui marx context iunivers form anarch commonli mikhail bakunin johann avrich paul anarchist voic oral histori anarch america ak press mutualist collectivist anarchist oppos privat ownership mean product advoc ownership collectiv initi small cohes elit group act violenc propaganda deed inspir worker revolt forcibl collectiv mean product loui marx context iunivers collectiv extend distribut incom worker paid time work receiv good distribut anarcho-commun collectivist anarchist advoc compens labor held possibl post-revolutionari transit communist system distribut guillaum jame collectivist anarch aros contemporan marxism oppos marxist dictatorship proletariat state marxist goal collectivist stateless societi bakunin mikhail anarchist commun anarcho-communist peter kropotkin believ anarchi worker spontan self-organ produc good common societi anarchist communist propos societi compos number self-govern commun collect mean product direct democraci polit organiz form relat commun feder freest form social organis puent isaac cienfuego press anarchist review issu orknei anarchist communist oppos majoritarian natur direct democraci feel imped individu liberti favor consensu democraci graeber david andrej anarch revolutionari movement twenty-first centuri anarchist commun individu receiv direct compens labour share profit payment free access resourc surplu commun miller blackwel encyclopaedia polit thought blackwel publish anarchist communist peter kropotkin murrai bookchin member societi spontan perform labour recogn benefit commun enterpris mutual aid kropotkin peter mutual aid factor evolut paperback london freedom press kropotkin peter conquest bread publish kropotkin peter field factori workshop bookchin murrai post scarciti anarch kropotkin believ privat properti oppress exploit call abolit kropotkin peter word rebel advoc common ownership kropotkin peter conquest bread putnam statu anarchist commun anarch disput individualist anarchist anarcho-capitalist incompat freedom yarro victor princ paradox liberti saturdai april number tucker benjamin labor pai appleton henri anarch true fals liberti septemb swartz clarenc lee mutual rothbard murrai anarcho-syndicalist spanish union cnt anarcho-communist societi object platform anarchist communist tendenc tradit nestor makhno argu vital organ attract particip anarchist movement establish common tactic polit line anarch serv guid movement itali retriev octob form anarchist commun strongli egoist natur christoph grai leav twentieth centuri strongli influenc radic individualist philosophi believ anarcho-commun requir communitarian natur anarchist communist emma goldman influenc max stirner kropotkin blend philosophi emma goldman anarch essai anarcho-synd common anarcho-syndicalist flag earli twentieth centuri anarcho-synd aros distinct school thought anarch berri david histori french anarchist movement greater focu labour movement previou form anarch syndic posit radic trade union potenti forc revolutionari social chang replac capit state societi democrat self-manag worker anarcho-syndicalist seek abolish wage system privat ownership mean product lead class divis import principl syndic includ solidar direct action gener strike workplac recuper self-manag anarcho-synd branch anarch mutual exclus anarcho-syndicalist subscrib communist collectivist anarchist econom system anarchist faq retriev decemb advoc propos labour organ mean creat foundat non-hierarch anarchist societi current system bring social revolut rudolf rocker lead earli anarcho-syndicalist thinker outlin view origin movement sought import futur labour pamphlet rudolf rocker retriev septemb frequent labor struggl earli twentieth centuri franc spain syndicalist organ activ todai unit nation border membership intern worker associ includ sac sweden usi itali cnt spain recently-develop school thought onward temporari autonom zone theorist hakim bei influenti figur contemporari anarchist circl anarch continu gener eclect syncret philosophi movement reviv anarch william leonard septemb anarch reviv polit scienc retriev decemb number movement school emerg anarcho-capit develop radic anti-st libertarian rejuven form individualist anarch burgeon feminist environmentalist movement produc anarchist offshoot post-left anarchi tendenc seek distanc tradit left escap confin ideolog gener argu anarch weaken long attach contrari leftist movement singl issu call synthesi anarchist thought specif anti-authoritarian revolutionari movement leftist milieu theoret move synthesi classic anarchist theori poststructuralist thought develop saul newman thinker todd gill deleuz félix guattari draw wide rang idea includ autonom post-left anarchi situation postcoloni form anarch critic formal anarchist movement insurrectionari anarch advoc inform organ activ resist state propon includ wolfi alfredo bonanno anarcho-capit anarcho-capit free-market anarch volum honor foremost contemporari expon free-market anarch contributor describ murrai rothbard ideolog commit academ economist review lawrenc white man economi liberti essai honor murrai rothbard publish journal econom literatur xxviii june page base belief freedom privat properti reject form government author intervent uphold competit free market main mechan social interact anarcho-capit oxford english dictionari oxford univers press histor anti-capitalist natur anarchist thought statu anarcho-capit anarch disput communist anarchist jha anarch encyclopedia teach civic polit scienc anmol public anarcho-capitalist distinguish free market capit peac voluntari exchang rothbard murrai futur peac capit modern polit economi jame weaver ed allyn bacon state capit murrai rothbard defin collus partnership big busi govern coercion subvert free market murrai rothbard futur peac capit murrai rothbard left prospect liberti natur rights-bas utilitarian formul anarcho-capit theori legitimaci support privat properti long obtain labor trade gift rothbard murrai libertarian forum vi june retriev august anarcho-capitalist societi propon hold voluntari market process result provis social institut law enforc defenc infrastructur compet for-profit firm chariti voluntari associ hess karl playboi magazin march state anarcho-capit law non-aggress principl enforc market creat chicago school version tame chri octob chicago school lesson thirti eighti econom affair epitom david friedman law produc market term anarcho-capit coin rothbard origin attribut america historian includ rothbard trace school mid-th centuri raico ralph ecol polytechniqu associé au cnr rothbard murrai prefac product secur gustav molinari anarcho-capit drawn influenc pro-market theorist gustav de molinari frédéric bastiat robert nozick american individualist thinker benjamin tucker lysand spooner deleon david american anarchist reflect indigen radic john hopkin univers press blackwel encyclopaedia polit thought student discipl austrian economist ludwig von mise rothbard combin laissez-fair econom teacher absolutist view human right reject state absorb studi individualist american anarchist nineteenth centuri lysand spooner benjamin tucker rothbard anarchist wing movement consid form individualist anarch adam ian polit ideolog todai manchest univers press ostergaard geoffrei anarch blackwel dictionari modern social thought ed blackwel publish differ individu boston anarchist centuri reject labor theori norm implic favor neoclass austrian school marginalist view anarcho-capitalist idea turn contribut develop agor konkin samuel edward year autarch vernor ving jame frankel true name open cyberspac frontier tor book anarcha-femin purpl black flag repres anarcha-femin anarcha-femin synthesi radic femin anarch view patriarchi male domin women fundament manifest involuntari hierarchi anarchist oppos anarcha-femin inspir late centuri write earli feminist anarchist luci parson emma goldman voltairin de cleyr anarcha-feminist radic feminist critic advoc abolit tradit concept famili educ gender role anarcha-feminist critic marriag instanc feminist anarchist emma goldman argu marriag pure econom arrang woman pai privaci self-respect life goldman marriag love red emma speak anarcha-feminist contrast view patriarchi fundament problem societi feminist struggl sexism patriarchi essenti compon anarchist struggl state capit susan brown express sentiment anarch polit philosophi oppos relationship power inher feminist brown susan femin anarch human freedom anarchist paper black rose book anarcho-primitiv cite form anarch address feminist concern anarcho-primitivist inspir work anthropologist jare diamond eleanor leacock describ typic egalitarian relationship men women forag societi agricultur gave rise form domin class distinct patriarchi sexism green anarch green black flag green anarch green anarch school thought anarch emphas natur environ primitivist anti-civil green anarchist advoc return pre-industri pre-agricultur societi nocella anthoni stephen revolut voic defens ak press critiqu industri civil perspect technolog develop alien peopl natur world attribut need strand green anarch philosophi develop theme present polit action luddit write jean-jacqu rousseau primitiv emerg influenc work theorist frankfurt school marxist theodor adorno herbert marcus anthropologist marshal sahlin richard borshai lee green anarchist derrick jensen john zerzan identifi primitivist advoc process return nomad hunter-gather lifestyl advoc permacultur techniqu element refus cal press endgam volum problem civil stori press form green anarch industri societi necessarili oppos domest agricultur green anarchist anthropologist brian morri draw influenc social ecolog murrai bookchin anarch adject anarch adject word historian georg richard esenwein refer unhyphen form anarch doctrin qualifi label communist collectivist mutualist individualist simpli understood attitud toler coexist anarchist school esenwein georg richard anarchist ideolog work class movement spain anarch adject emphas harmoni anarchist faction attempt unit share anti-authoritarian belief posit adopt fernando del mármol call toler troubl bitter debat anarchist movement avrich paul anarchist voic oral histori anarch america princeton univers press voltairin de cleyr voltairin de cleyr anarchist errico malatesta nettlau max short histori anarch fred woodworth noteworthi expon view paul avrich anarch social movement anarch social movement regularli endur fluctuat popular classic period scholar demarc working-class movement nineteenth centuri spanish civil war-era struggl fascism jonathan purki jame bowen introduct anarch matter jonathan purki jame bowen ed chang anarch anarchist theori practic global ag manchest manchest univers press intern collectivist anarchist mikhail bakunin oppos marxist aim dictatorship proletariat favour univers rebellion alli anti-authoritarian intern expuls marxist europ harsh reaction revolut context need intern workingmen associ call intern unit divers revolutionari current includ french follow proudhon blanquist freemason philadelph english trade unionist socialist social democrat due link activ movement intern signific organ karl marx lead figur intern member gener council proudhon follow mutualist oppos marx state social advoc polit abstention small properti hold unsuccess particip leagu peac freedom lpf mikhail bakunin associ join intern decid involv lpf alli anti-authoritarian socialist section intern advoc revolutionari overthrow state collectiv properti collectivist work marxist push intern revolutionari socialist direct subsequ intern polar camp marx bakunin respect figurehead bakunin characteris marx idea authoritarian predict marxist parti power leader simpli place rule class fought bakunin mikhail statism anarchi cambridg univers press conflict climax final split group hagu congress marx engin expuls bakunin jame guillaum intern headquart transfer york respons anti-authoritarian section form intern st imier congress adopt revolutionari anarchist program graham robert montreal black rose book anarch organ labor spanish anarcho-syndicalist successfulli organ autonom commun spanish revolut anti-authoritarian section intern precursor anarcho-syndicalist seek replac privileg author state free spontan organ labor resolut st imier congress anarch documentari histori libertarian idea intern anarchist congress amsterdam gather deleg countri import figur anarchist movement includ errico malatesta pierr monatt luigi fabbri benoît emma goldman rudolf rocker christiaan cornelissen theme treat congress organis anarchist movement popular educ issu gener strike antimilitar central debat concern relat anarch syndic trade union malatesta monatt oppos issu thought syndic revolutionari creat condit social revolut malatesta consid syndic suffici french malatesta thought trade-union reformist time conserv cornelissen cite trade-union trade-union compos qualifi worker oppos non-qualifi worker order defend privileg posit spanish worker feder major anarcho-syndicalist movement anarchist trade union feder special import spain success confederación nacion del trabajo nation confeder labour cnt found cnt major forc spanish work class polit plai major role spanish civil war cnt affili intern worker associ feder anarcho-syndicalist trade union found deleg repres million worker countri europ latin america largest organis anarchist movement todai spain form confederación gener del trabajo cgt cnt cgt membership estim year carlei mark trade union membership intern spire associ activ syndicalist movement includ worker solidar allianc uk solidar feder revolutionari industri unionist industri worker world claim pai member intern worker associ anarcho-syndicalist successor intern remain activ russian revolut anarchist emma goldman alexand berkman resist bolshevik consolid power russian revolut anarchist particip bolshevik februari octob revolut anarchist initi support bolshevik coup bolshevik turn anarchist left-w opposit conflict culmin kronstadt rebellion anarchist central russia imprison driven underground join victori bolshevik ukrain anarchist fought civil war white bolshevik part revolutionari insurrectionari armi ukrain led nestor makhno attempt establish anarchist societi region number month expel american anarchist emma goldman alexand berkman agit respons bolshevik polici suppress kronstadt upris left russia wrote account experi russia critic amount control bolshevik exercis bakunin predict consequ marxist rule bakunin anarchi translat edit sam dolgoff prove true victori bolshevik octob revolut result russian civil war damag anarchist movement internation worker activist bolshevik success set communist parti grew expens anarch socialist movement franc member major syndicalist movement cgt iww left organ join communist intern pari truda group russian anarchist exil includ nestor makhno conclud anarchist need develop form organis respons structur bolshev manifesto call organiz platform gener union anarchist draft group itali retriev octob support communist anarchist oppos platformist group todai includ worker solidar movement ireland north eastern feder anarchist communist north america fight fascism anti-fascist maqui resist nazi francoist rule europ rise fascism europ transform anarch conflict state itali struggl anarchist fascist italian anarchist plai kei role anti-fascist organis arditi del popolo strongest area anarchist tradit mark numer success victori includ repel blackshirt anarchist stronghold parma august marni socialist review novemb franc leagu close insurrect februari riot anarchist divid unit front polici berri david fascism revolut le libertair august spain cnt initi refus join popular front elector allianc abstent cnt support led wing elect victori cnt chang polici anarchist vote help bring popular front power month rule class respond attempt coup spanish civil war underwai respons armi rebellion movement peasant worker support arm militia control barcelona larg area rural spain collectiv land eventu fascist victori anarchist lose ground bitter struggl stalinist control distribut militari aid republican soviet union georg orwel foreign observ troop suppress collect persecut dissid marxist anarchist intern issu debat efficaci legitimaci violenc polit end controversi issu anarchist anarch philosophi embodi divers heterogen attitud tendenc school thought disagr question valu ideolog tactic common compat capit anarchist reject oxford companion philosophi nation religion anarch wide disput similarli anarch enjoi complex relationship ideolog marxism commun anarcho-capit anarchist motiv human divin author enlighten self-interest number altern ethic doctrin phenomena civil technolog primitiv insurrectionari anarch democrat process sharpli critic anarchist tendenc simultan laud anarchist attitud race gender environ chang significantli modern origin philosophi eighteenth centuri tactic level propaganda deed tactic anarchist centuri nihilist movement contemporari anarchist espous altern method nonviol counter-econom anti-st cryptographi bring anarchist societi divers anarch led wide ident term anarchist tradit led definit concern anarchist theori citat +imag padlock-silver-medium svg autism brain develop disord impair social interact commun restrict repetit behavior start child year set sign distinguish autism milder autism spectrum disord asd asperg syndrom autism highli herit genet autism complex gener unclear gene respons rare case autism strongli agent birth defect propos childhood vaccin controversi vaccin hypothes lack convinc scientif evid review estim preval case peopl autism asd asd averag male-to-femal ratio number peopl autism increas dramat partli due diagnost practic question actual preval increas unresolv autism affect part brain occur poorli understood parent notic sign year child life earli behavior cognit intervent children gain self-car social commun skill cure children autism live independ reach adulthood success autist cultur develop seek cure believ autism condit disord classif han asperg introduc modern sens word autism autism development disord human brain sign infanc childhood steadi remiss relaps impair result system brain autism pervas development disord pdd character widespread abnorm social interact commun sever restrict interest highli repetit behavior pdd form asperg syndrom closest autism sign rett syndrom childhood disintegr disord share sign autism unrel pdd pdd-no diagnos criteria met specif disord lord cook eh leventh bl amar dg neuron pmid autism asperg substanti delai languag develop american psychiatr associ diagnost statist manual mental disord ed text revis dsm-iv-tr terminolog autism bewild autism asperg pdd-no call autism spectrum disord asd autist disord freitag cm genet autist disord clinic relev review literatur mol psychiatri pmid autism call autist disord childhood autism infantil autism articl autism refer classic autist disord sourc autism refer asd geschwind dh levitt autism spectrum disord development disconnect syndrom curr opin neurobiol pmid equat asd pdd asd turn subset broader autism phenotyp bap describ individu asd trait avoid ey contact piven palmer jacobi childress arndt psychiatri pmid manifest autism cover wide spectrum rang individu sever silent mental disabl lock hand flap impair individu activ distinctli odd social approach narrowli focus interest verbos pedant commun psychologist syndrom divid high-funct autism lfa mfa hfa base iq threshold support individu requir daili life subdivis standard controversi autism divid syndrom autism sever profound mental retard congenit syndrom physic symptom tuber sclerosi cohen pichard al specif genet disord autism clinic contribut identif autism dev disord pmid individu asperg tend perform cognit autism extent overlap asperg hfa autism unclear valid asd subtyp klin rev bra psiquiatr suppl s– pmid witwer lecavali examin valid autism spectrum disord subtyp autism dev disord pmid studi report diagnos autism children due loss languag social skill month ag oppos failur progress term phenomenon includ regress autism setback autism development stagnat valid distinct remain controversi regress autism specif subtyp volkmar klin autism infanc earli childhood annu rev psychol pmid characterist autism distinguish pattern symptom singl symptom main characterist impair social interact impair commun restrict interest repetit behavior aspect atyp eat common essenti diagnosi individu symptom autism occur gener popul associ highli sharp line separ patholog sever common trait social develop peopl autism social impair lack intuit peopl grant note autist templ grandin inabl understand social commun neurotyp leav feel anthropologist mar sack anthropologist mar paradox tale knopf social impair appar earli childhood continu adulthood autist infant show attent social stimuli smile respond autist toddler strike social devianc ey contact anticipatori postur person hand bodi tool five-year-old autist children exhibit social understand approach spontan imit respond emot commun nonverb turn form attach primari caregiv sigman earli detect core deficit autism ment retard dev disabil re rev pmid displai moder attach secur usual featur disappear children higher mental develop sever asd rutger ah mj van ijzendoorn mh van ia autism attach meta-analyt review child psychol psychiatri pmid older children adult asd perform wors test face emot recognit sigman spenc sj wang autism development neuropsycholog perspect annu rev clin psychol pmid contrari common belief autist children prefer make maintain friendship prove difficult autism qualiti friendship number friend predict lone anecdot report systemat studi aggress violenc individu asd limit data suggest children mental retard autism aggress destruct properti tantrum dominick al interview parent children asd report two-third children period sever tantrum one-third histori aggress tantrum significantli common children histori languag impair commun individu autism develop natur speech meet daili commun noen van verpoorten van duijn instrument indic augment commun peopl autism intellectu disabl intellect disabil re pmid differ commun present year life includ delai onset babbl unusu gestur diminish respons desynchron vocal pattern caregiv year autist children frequent divers babbl conson word word combin gestur integr word autist children request share experi simpli repeat word echolalia revers pronoun autist children difficulti imagin plai develop symbol languag landa earli commun develop intervent children autism ment retard dev disabil re rev pmid languag disord autism pervas development disord pediatr clin north pmid problem understand point point hand object pair studi high-funct autist children ag perform equal adult individu match control basic languag task involv vocabulari spell autist group perform wors control complex languag task figur languag comprehens infer peopl size initi basic languag skill studi suggest peopl speak autist individu overestim audienc comprehend repetit behavior young boi autism precis line toi autist individu displai form repetit restrict behavior repetit behavior categor stereotypi appar purposeless movement hand flap head roll bodi rock compuls behavior intend appear follow rule arrang object same resist chang insist furnitur move refus interrupt ritualist behavior involv perform daili activ time unvari menu dress ritual close same independ valid suggest combin factor lam ks aman mg repetit behavior independ valid individu autism spectrum disord autism dev disord pmid restrict behavior limit focu interest activ preoccup singl televis program self-injuri includ movement injur injur person bite oneself dominick al report self-injuri point affect children asd singl repetit behavior specif autism autism appear elev pattern occurr sever behavior jw symon fj parker de lewi mh varieti repetit behavior autism comparison mental retard autism dev disord pmid symptom autist individu symptom independ diagnosi affect individu famili pa accardo pj gt al screen diagnosi autist spectrum disord autism dev disord erratum autism dev disord pmid paper repres consensu repres profession parent organ small fraction individu asd show unusu abil rang splinter skill memor trivia extraordinarili rare talent prodigi autist savant treffert da wisconsin medic societi retriev septemb unusu respons sensori stimuli common promin autist children good evid sensori symptom differenti autism development disord roger sj annot sensori dysfunct autism critic review empir evid child psychol psychiatri pmid respons common children pair studi autist children impair tactil percept autist adult studi autist individu problem complex memori reason task twenti question problem mark adult studi report motor problem includ poor muscl tone poor motor plan toe walk asd sever motor disturb ming wagner gc preval motor impair autism spectrum disord brain dev pmid atyp eat behavior occur three-quart children asd extent diagnost indic select common problem eat ritual food refus occur result malnutrit children autism gastrointestin gi symptom lack publish rigor data support theori autist children gi symptom usual erickson ca stigler ka corkin posei dj fitzgerald jf mcdougl cj gastrointestin factor autist disord critic review autism dev disord pmid studi report conflict result relationship gi problem asd unclear sleep problem common children development disabl evid children asd sleep problem development disabl autist children experi problem includ difficulti fall asleep frequent nocturn awaken earli morn awaken dominick al two-third children asd histori sleep problem dominick kc davi folstein atyp behavior children autism children histori languag impair re dev disabil pmid parent children asd higher level stress mont js pediatr pmid sibl children asd report greater admir conflict affect sibl sibl individu asd greater risk neg well-b poorer sibl relationship adult gi seltzer mm sibl individu autism spectrum disord life ment retard dev disabil re rev pmid delet duplic invers chromosom abnorm implic autism genet factor autism signific autism spectrum disord earli studi twin estim herit explain autism case mutat increas autism risk identifi typic autism trace mendelian single-gen mutat singl chromosom abnorm fragil syndrom delet syndrom signific interact mutat gene environ mutat gene numer candid gene locat encod protein involv neural develop function persico search wai autism maze genet epigenet environment clue trend neurosci pmid yang ms gill review gene linkag associ express studi autism assess converg evid int dev neurosci pmid larg number autist individu unaffect famili member result copi number variat cnv delet duplic genet materi meiosi sebat lakshmi malhotra al strong associ de novo copi number mutat autism scienc pmid substanti fraction autism highli herit inherit mutat autism present parent genom beaudet al autism highli herit inherit nat med pmid teratogen agent birth defect relat risk autism act week concept exclud possibl autism initi affect strong evid autism aris earli develop arndt tl cj rodier pm teratolog autism int dev neurosci pmid evid environment anecdot confirm reliabl studi extens search underwai environ health perspect pmid environment factor claim contribut exacerb autism import futur research includ food infecti diseas heavi metal solvent diesel exhaust pcb phthalat phenol plastic product pesticid bromin flame retard alcohol smoke illicit drug vaccin parent awar autist symptom child time routin vaccin parent concern vaccin led decreas uptak childhood immun increas likelihood measl outbreak overwhelm scientif evid show causal associ vaccin autism scientif evid vaccin preserv thiomers help autism doja robert immun autism review literatur neurol sci pmid taylor vaccin chang epidemiolog autism child care health dev pmid mechan extens investig autism occur understood mechan divid area pathophysiolog brain structur process autism neuropsycholog linkag brain structur behavior penn neurobiolog correl autism review research child neuropsychol pmid behavior multipl pathophysiolog autism affect part brain autism appear result development factor affect function brain system müller ra studi autism distribut disord ment retard dev disabil re rev pmid disturb brain develop final product amar dg schumann cm nordahl cw neuroanatomi autism trend neurosci pmid neuroanatom studi associ teratogen strongli suggest autism mechan includ alter brain develop concept local anomali appear start cascad patholog event brain significantli influenc environment factor casanova mf neuropatholog autism brain pathol pmid major structur human brain implic postmortem studi individu mental retard make difficult draw conclus brain weight volum head circumfer tend greater autist children lord al neurosci pmid cellular molecular base patholog earli overgrowth overgrown neural system autism characterist sign current hypothes includ excess neuron local kei brain region courchesn pierc schumann cm al map earli brain develop autism neuron pmid disturb neuron migrat earli gestat unbalanc network abnorm format synaps dendrit spine interact immun system nervou system earli embryogenesi success neurodevelop depend balanc immun respons symptom consist poorli regul immun respons report autist children aberr immun activ critic period neurodevelop part mechan form asd ashwood will van de water leukoc biol pmid autoantibodi patholog diseas asd present asd will bennett ashwood amar van de water autoantibodi autism spectrum disord asd ann acad sci pmid relationship immun disturb autism remain unclear controversi schmitz rezai neuropatholog autism stand neuropathol appl neurobiol pmid neurotransmitt abnorm detect autism notabl increas blood level serotonin lead structur behavior abnorm unclear inborn error metabol autism account case mirror neuron system mn theori autism hypothes distort develop mn interfer imit lead autism core featur social impair commun difficulti mn oper anim perform action observ anim speci perform action mn contribut individu understand peopl enabl model behavior embodi simul action intent emot mn autism ramachandran oberman lm broken mirror theori autism sci pmid thoma behrmann heeger dj mirror natur curr biol pmid studi test hypothesi demonstr structur abnorm mn region individu asd delai activ core circuit imit individu asperg correl reduc mn activ sever syndrom children asd mirror neuron system consequ dysfunct nat rev neurosci pmid individu autism abnorm brain activ circuit mn frith frith cd philo tran soc lond biol sci pmid mn theori explain normal perform autist children imit task involv goal object hamilton afdc emul mimicri social interact theoret approach imit autism exp psychol pmid studi autist adult evid alter function organ network large-scal brain network involv social emot process intact organ network sustain attent goal-direct think kennedi dp courchesn intrins function organ brain alter autism neuroimag pmid studi specif pattern signal cingul cortex differ individu asd chiu ph ma kishida kt al respons cingul cortex reveal quantit neural phenotyp high-funct autism neuron pmid technol rev februari function magnet reson imag evid theori autism theori autism hypothes autism mark high-level neural connect synchron excess low-level process ma cherkasski vl keller ta kana rk minshew nj cereb cortex pmid evid theori function neuroimag studi autist individu william dl goldstein minshew nj child neuropsychol pmid brain wave studi suggest adult asd local cortex weak function connect frontal lobe rest cortex muria webb sj dawson rest state cortic connect reflect eeg coher individu autism biol psychiatri pmid evid suggest hemispher cortex autism disord associ cortex minshew nj william dl neurobiolog autism cortex connect neuron organ arch neurol pmid neuropsycholog major categori cognit theori propos link autist brain behavior categori focus deficit social cognit hypothes autist individu develop intern rule oper handl intern effect empath handl event gener agent baron-cohen assort mate theori autism prog neuropsychopharmacol biol psychiatri pmid extend extrem male brain theori hypothes autism extrem case male brain defin psychometr individu system empath baron-cohen extrem male brain theori autism trend cogn sci pmid turn relat earlier theori mind hypothes autist behavior aris inabl ascrib mental state oneself theori mind support autist children atyp respons sally-ann test reason motiv baron-cohen lesli frith cognit pmid retriev june map mirror neuron system theori autism categori focus gener process execut dysfunct hypothes autist behavior result part deficit flexibl plan form execut function strength theori predict stereotyp behavior narrow interest hill el execut dysfunct autism trend cogn sci pmid weak execut function deficit young autist children weak central coher theori hypothes limit abil big pictur underli central disturb autism strength theori predict special talent peak perform autist peopl frith weak coher account cognit style autism spectrum disord autism dev disord pmid relat perceptu superior local orient perceptu oper autist individu dawson hubert enhanc perceptu function autism updat principl autist percept autism dev disord pmid theori map theori autism categori satisfactori social cognit theori poorli address autism rigid repetit behavior theori difficulti explain social impair commun difficulti ronald plomin time give singl explan autism nat neurosci pmid combin theori base multipl deficit prove rajendran mitchel cognit theori autism dev rev screen parent children asd notic child unusu behavior ag month four-fifth notic ag month deficit joint attent distinguish infant asd follow parent point postpon treatment affect long-term outcom sign reason child evalu specialist delai babbl month gestur point wave goodby month singl word month two-word spontan phrase includ echolalia month loss languag social skill ag american academi pediatr recommend children screen asd doctor visit formal screen test johnson cp myer sm council children disabl pediatr pmid aap octob contrast uk nation screen committe recommend screen asd gener popul screen tool fulli valid intervent lack suffici evid effect william brayn screen autism spectrum disord evid autism pmid screen tool includ modifi checklist autism toddler earli screen autist trait questionnair year inventori initi data predecessor chat children ag month suggest clinic set sensit false-neg good specif false-posit genet screen autism gener impract diagnosi diagnosi base behavior mechan london role neurobiologist redefin diagnosi autism brain pathol pmid baird cass bmj pmid autism defin dsm-iv-tr exhibit symptom total includ symptom qualit impair social interact symptom qualit impair commun symptom restrict repetit behavior sampl symptom includ lack social emot reciproc stereotyp repetit languag idiosyncrat languag persist preoccup part object onset prior ag year delai abnorm function social interact languag social commun symbol imagin plai disturb account rett syndrom childhood disintegr disord american psychiatr associ diagnost statist manual mental disord ed text revis dsm-iv-tr essenti definit world health organ intern statist classif diseas relat health problem ed diagnost instrument commonli autism research autism diagnost parent interview autism diagnost observ schedul ado observ interact child childhood autism rate scale car wide clinic environ assess sever autism base observ children pediatrician commonli perform preliminari investig development histori physic examin child warrant diagnosi evalu conduct asd specialist observ assess cognit commun famili factor standard tool account medic condit differenti diagnosi asd stage mental retard hear impair specif languag impair syndrom mantovani jf autist regress syndrom progress confus dev med child neurol pmid asd diagnos ag month diagnosi increasingli stabl year life one-year-old meet diagnost criteria asd three-year-old continu year landa rj diagnosi autism spectrum disord year life nat clin pract neurol pmid uk nation autism plan children recommend week concern complet diagnosi assess case handl quickli practic dover cj le couteur diagnos autism arch di child pmid studi averag ag evalu qualifi profession month formal asd diagnosi month reflect averag delai recommend wiggin ld baio rice examin time evalu autism spectrum diagnosi population-bas sampl dev behav pediatr suppl pmid clinic genet evalu asd diagnos symptom suggest genet genet technolog clinic geneticist link estim case genet schaefer gb mendelsohn nj genet evalu etiolog diagnosi autism spectrum disord genet med pmid medic new todai februari consensu guidelin uk limit high-resolut chromosom fragil test genet test develop ethic legal social issu emerg commerci avail test preced adequ understand test result complex autism genet mcmahon wm bati bj botkin genet counsel ethic issu autism med genet semin med genet pmid metabol neuroimag test help routin underdiagnosi overdiagnosi problem margin case increas number report asd case due diagnost practic increas popular drug treatment option expans benefit provid incent diagnos asd result overdiagnosi children uncertain symptom convers cost screen diagnosi challeng obtain payment inhibit delai diagnosi shattuck pt gross sd issu relat diagnosi treatment autism spectrum disord ment retard dev disabil re rev pmid hard diagnos autism visual impair partli diagnost criteria depend vision partli autist symptom overlap common blind syndrom cass visual impair autism current question futur research autism symptom autism asd earli childhood occasion miss adult seek retrospect diagnos friend famili understand employ adjust locat claim disabl live allow benefit nation autist societi retriev june manag main goal treatment lessen deficit famili distress increas qualiti life function independ singl treatment treatment typic tailor child intens sustain special educ program behavior therapi earli life children acquir self-car social job skill myer sm johnson cp council children disabl pediatr pmid aap octob claim intervent ag year crucial pettu harv mag substanti approach includ appli behavior analysi development structur teach educ intervent effect children howard js sparkman cr cohen hg green stanislaw comparison intens behavior analyt eclect treatment young children autism re dev disabil pmid charman howlin two-year prospect follow-up studi community-bas earli intens behaviour intervent specialist nurseri provis children autism spectrum disord child psychol psychiatri pmid limit research effect adult residenti program show mix result van reichl nc schopler effect model treatment approach adult autism autism dev disord pmid medic treat problem asd children diagnos asd prescrib psychoact drug anticonvuls common drug class antidepress stimul antipsychot oswald dp na medic children autism spectrum disord child adolesc psychopharmacol pmid antipsychot posei dj stigler ka erickson ca mcdougl cj clin invest pmid scant reliabl research effect safeti drug treatment adolesc adult asd lack research drug treatment anglei young elli chan mckinnon aust fam physician pmid doughti eggleston systemat review effect pharmacolog treatment adolesc adult autism spectrum disord autism pmid person asd respond atyp medic medic advers side effect medic reliev autism core symptom social commun impair strock nation institut mental health retriev octob jk drug treatment disappoint novarti symp discuss pmid altern therapi intervent support scientif studi lack support intervent franci dev med child neurol pmid rao pa dc murrai mj social skill intervent children asperg syndrom high-funct autism review recommend autism dev disord pmid schechtman ma pediatr ann pmid treatment approach lack empir support quality-of-lif context program focu success measur lack predict valid real-world relev scientif evid appear matter servic provid program market train avail parent request stahmer ac coll nm palinka la focu autism dev disabl pmid treatment harmless botch chelat therapi kill five-year-old autist boi brown mj willi leiker pediatr pmid treatment expens indirect cost studi estim averag cost million dollar born medic care extra educ care lost econom product ganz ml arch pediatr adolesc med pmid publicli support program inadequ inappropri child unreimburs out-of-pocket medic therapi expens likelihood famili financi problem sharp dl baker dl financi issu child autism fam econ iss childhood kei treatment issu includ residenti care job train placement sexual social skill estat plan aman mg treatment plan patient autism spectrum disord clin psychiatri suppl pmid prognosi cure children autism lack social support meaning relationship futur employ opportun self-determin burgess af gutstein se qualiti life peopl autism rais standard evalu success outcom child adolesc ment health core difficulti remain symptom sever childhood howlin autism spectrum disord psychiatri high-qual studi address long-term prognosi adult show modest improv commun skill declin studi focus autism midlif seltzer mm shattuck greenberg js trajectori develop adolesc adult autism ment retard dev disabil re rev pmid acquir languag ag iq market skill predict outcom independ live sever autism tidmarsh volkmar fr psychiatri pmid british studi adult diagnos autist children iq achiev high level independ adult friend gener work requir support independ gener live home need consider support supervis daili live need specialist residenti provis facil special asd high level support limit autonomi need high-level hospit care howlin good hutton rutter adult outcom children autism child psychol psychiatri pmid swedish studi adult exclud iq wors prognosi achiev independ gillberg gillberg autism adolesc population-bas follow-up studi individu autism diagnos childhood autism dev disord pmid diagnost practic increas avail effect earli intervent unclear find gener diagnos children epidemiolog report autism case grew dramat unknown growth autism preval review tend estim preval autism close asd cj la daniel al epidemiolog autism spectrum disord annu rev public health pmid inadequ data number underestim asd true preval eb jm autism clinic research arch di child pmid pdd-no vast major asd asperg remain asd form rarer fombonn epidemiolog autist disord pervas development disord clin psychiatri suppl pmid number report case autism increas dramat earli increas larg attribut diagnost practic referr pattern avail servic ag diagnosi public awar diagnost practic fombonn preval autism jama pmid wing potter epidemiolog autist spectrum disord preval rise ment retard dev disabil re rev pmid contribut environment risk factor rule rutter incid autism spectrum disord time mean acta paediatr pmid unknown autism preval increas period increas preval suggest direct attent fund chang environment factor continu focu genet risk autism prenat perinat risk factor review risk factor parent characterist includ advanc matern ag advanc patern ag matern place birth europ north america obstetr condit includ birth weight gestat durat hypoxia childbirth gross reichenberg prenat perinat risk factor autism arch pediatr adolesc med pmid autism condit genet disord autism case identifi mendelian single-gen condit chromosom abnorm genet syndrom folstein se genet autism complex aetiolog heterogen disord nat rev genet pmid asd genet disord di childhood autism comorbid brain dev pmid mental retard british studi autist children intellig normal rang iq mild moder retard sever profound retard iq asd autism associ weaker studi report children pdd-no asperg normal intellig chakrabarti fombonn jama pmid male boi higher risk autism girl asd sex ratio averag greatli modifi cognit impair close mental retard epilepsi variat risk epilepsi due ag cognit level type languag disord pm connect epilepsia suppl pmid metabol defect phenylketonuria autist symptom manzi loizzo al giana curatolo autism metabol diseas child neurol pmid histori exampl autist symptom treatment long autism name tabl talk martin luther stori boi sever autist wing histori idea autism legend myth realiti autism luther notetak mathesiu luther thought boi soulless mass flesh possess devil suggest suffoc mile independ live institut retriev juli victor aveyron feral child caught show sign autism medic student jean itard treat behavior program design form social attach induc speech imit wolff histori autism eur child adolesc psychiatri pmid latin word english translat autism coin swiss psychiatrist eugen bleuler defin symptom schizophrenia deriv greek word auto mean morbid refer autist withdraw patient fantasi influenc intoler disturb kuhn tr cahn ch eugen bleuler concept psychopatholog hist psychiatri pmid quot translat bleuler origin leo kanner introduc label earli infantil autism word autism modern sens han asperg vienna univers hospit adopt bleuler terminolog autist psychopath lectur german child psycholog asperg da kind german wien klin wochenschr asperg investig form asd asperg syndrom reason wide recogn separ diagnosi leo kanner john hopkin hospit autism modern sens english introduc label earli infantil autism report children strike behavior similar kanner autist disturb affect contact nerv child reprint acta pmid characterist kanner paper subject notabl autist alon insist same regard typic autist spectrum disord kanner deriv term independ asperg lyon fitzgerald asperg kanner pioneer autism autism dev disord pmid kanner reus autism led decad confus terminolog infantil schizophrenia child psychiatri focu matern depriv mid- led misconcept autism infant respons refriger mother start late autism establish separ syndrom demonstr lifelong distinguish mental retard schizophrenia development disord demonstr benefit involv parent activ program therapi fombonn psychiatri pmid late mid- evid genet role autism thought herit psychiatr condit szatmari jone mb genet epidemiolog autism spectrum disord volkmar fr autism pervas development disord ed cambridg univers press rise parent organ destigmat childhood asd deepli affect view asd boundari treatment internet help autist individu bypass nonverb cue emot share find hard deal form onlin commun work remot biever web remov social barrier autism scientist june sociolog cultur aspect autism develop commun seek cure autism simpli harmon york time decemb retriev novemb +albedo object extent diffus reflect light sun specif form term reflect albedo defin ratio diffus reflect incid electromagnet radiat unitless measur indic surfac bodi diffus reflect word deriv latin albedo white turn albu white rang valu dark bright percentag diffus reflect sun light relat surfac condit earth albedo import concept climatolog astronomi climatolog express percentag depend frequenc radiat consid unqualifi refer averag spectrum visibl light gener albedo depend direct direct distribut incom radiat except lambertian surfac scatter radiat direct cosin function albedo depend incom distribut realist case bidirect reflect distribut function requir character scatter properti surfac accur albedo approxim terrestri albedo albedo typic materi visibl light rang fresh snow charcoal darkest substanc deepli shadow caviti achiev effect albedo approach blackbodi distanc ocean surfac albedo forest desert area highest albedo landform land area albedo rang averag albedo earth higher ocean primarili contribut cloud human activ chang albedo forest clearanc farm area globe quantif effect difficult global scale classic albedo effect feedback snow cover area warm snow melt albedo decreas sunlight absorb temperatur increas convers true snow form cool cycl intens albedo effect depend size chang albedo amount insol reason potenti larg tropic earth surfac albedo regularli estim earth observ satellit sensor nasa modi instrument onboard terra aqua satellit total amount reflect radiat measur satellit mathemat model translat sampl set satellit reflect measur estim reflect reflect albedo shown applic involv terrestri albedo albedo solar zenith angl approxim proportion sum term reflect solar zenith angl reflect proport concern defin proport diffus illumin albedo reflect refer albedo reflect white sky albedo term import albedo calcul illumin condit knowledg intrins properti surfac astronom albedo albedo planet satellit asteroid infer properti studi albedo depend wavelength light angl phase angl variat time compris major part astronom field photometri small object resolv telescop studi albedo absolut albedo surfac ic content outer solar system object variat albedo phase angl inform regolith properti unusu high radar albedo indic high metal content asteroid enceladu moon saturn highest albedo bodi solar system em radiat reflect notabl high albedo bodi eri albedo object outer solar system asteroid belt albedo dark surfac thought indic primit heavili space weather surfac organ compound albedo moon strongli direct displai strong opposit effect discuss lunar albedo reflect properti terrestri terrain typic regolith surfac airless solar system bodi common albedo astronomi geometr albedo measur bright illumin observ bond albedo measur total proport electromagnet energi reflect valu differ significantli common sourc confus detail studi direct reflect properti astronom bodi express term hapk paramet describ variat albedo phase angl includ characteris opposit effect regolith surfac correl astronom albedo absolut magnitud diamet astronom albedo diamet km type albedo singl scatter albedo defin scatter electromagnet wave small particl depend properti materi refract index size particl wavelength incom radiat exampl terrestri albedo effect fairbank alaska nation climat data center data compos smooth climat mean thousand weather station world colleg weather station fairbank alaska warmer airport fairbank partli air drainag pattern larg albedo colleg result higher concentr spruce tree open snowi ground reflect heat space tropic effect famou colder region earth snow fall stronger tropic region tropic consist sunlight brazilian rancher cut dark tropic rainforest tree replac darker soil order grow crop averag temperatur area increas year-round dickinson kennedi impact region climat amazon deforest geophi re lett project amazonia character abiot water part effect due chang evapor latent heat flux small scale effect albedo work smaller scale peopl wear dark cloth summertim put greater risk heatstrok wear lighter color cloth albedo terrain albedo pine forest winter tree cover land surfac complet lowest natur occur land environ partli due color pine partli due multipl scatter sunlight tree lower reflect light level due light penetr ocean albedo depend strongli angl incid radiat dens swampland averag decidu tree averag grassi field barren field depend color soil high averag farmland desert larg beach averag vari depend color sand urban area urban area unnatur valu albedo human-built structur absorb light light reach surfac northern part world citi dark walker shown averag albedo slight increas summer tropic countri citi averag similar valu northern suburban transit zone part reason natur environ citi tropic region dark tree reason portion tropic poor citi build built materi warmer region choos lighter color build materi structur remain cooler tree tree tend albedo remov forest tend increas albedo produc local climat cool cloud feedback complic issu season snow-cov zone winter albedo treeless area higher nearbi forest area snow cover tree readili decidu tree albedo conifer tree manchest metropolitan univers retriev novemb differ decidu conifer conifer tree darker gener cone-shap seed pattern seed trap light energi decidu tree studi hadlei centr investig rel gener warm effect albedo chang cool effect carbon sequestr plant forest forest tropic midlatitud area tend cool forest high latitud siberia neutral warm bett offset potenti carbon sink boreal forest decreas surfac albedo natur volum issu snow snow albedo high ideal fresh deep snow featureless landscap antarctica averag margin snow-cov area warm snow melt lower albedo lead snowmelt posit feedback basi predict enhanc warm polar season snow cover region result global warm water water reflect light differ typic terrestri materi reflect water surfac calcul fresnel equat graph reflect smooth water refract index scale wavelength light wavi water smooth light reflect specular manner diffus glint light water commonplac effect small angl incid light wavi result reduc reflect high steep curv local increas averag incid angl reflect water high medium angl incid light increas tremend small angl incid light occur illumin side earth termin earli morn late afternoon pole mention wavi appreci reduct light reflect water reach viewer water consid albedo spite high reflect angl incid light note white cap wave white high albedo water foam smooth scale wavelength light fresnel equat appli fresh ic exhibit fresnel reflect cloud cloud sourc albedo plai global warm equat type cloud albedo valu theoret rang minimum maximum high dai earth cover cloud reflect sunlight land water cloud earth cool reflect sunlight serv blanket trap warmth albedo climat area affect artifici cloud creat contrail heavi commerci airlin traffic studi burn kuwaiti oil field saddam hussein show temperatur burn oil fire colder temperatur mile clear ski aerosol effect aerosol fine particl droplet atmospher effect direct indirect direct albedo effect gener cool planet indirect effect particl act ccn chang cloud properti black carbon effect climat black carbon particl size effect difficult quantifi ipcc estim global radi forc bc aerosol fossil fuel sar rang +abu dhabi arab transliter liter father gazel capit popul citi unit arab emir uae seat govern emir abu dhabi citi li t-shape island jut persian gulf central western coast approxim peopl live abu dhabi expatri world largest produc oil abu dhabi activ attempt economi year invest financi servic tourism abu dhabi rule khalifa bin zai al nahyan presid uae histori part abu dhabi settl millennium bc earli histori fit nomad herd fish pattern typic broader region modern abu dhabi trace origin rise import tribal confeder bani ya late centuri assum control dubai centuri dubai abu dhabi branch part wai mid-th centuri economi abu dhabi continu sustain camel herd product date veget inland oas al ain liwa oasi fish pearl dive coast abu dhabi citi occupi summer month dwell abu dhabi citi time construct palm frond wealthier famili occupi mud hut growth cultur pearl industri twentieth centuri creat hardship resid abu dhabi pearl repres largest export main sourc cash earn sheikh shakhbut al nahyan grant petroleum concess oil oil monei margin impact lowris concret build erect pave road complet sheikh uncertain oil royalti cautiou approach prefer save revenu invest develop brother zai bin sultan al nahyan oil wealth potenti transform abu dhabi rule al nahyan famili decid sheikh zai replac brother ruler carri vision develop countri august assist british sheikh zai ruler rag rich stori abu dhabi chapter london centr arab studi announc uk withdraw gulf area sheikh zai main drive forc format unit arab emir emir gain independ oil wealth continu flow area tradit mud-brick hut rapidli replac bank boutiqu modern highris locat satellit imag abu dhabi march emir abu dhabi locat oil-rich strateg unit arab emir activ member gulf co-oper council gcc border kingdom saudi arabia south sultan oman east emir border emir dubai northeast north persian gulf abu dhabi citi island locat mainland join mainland bridg bridg design zaha hadid construct bridg connect reem island island construct abu dhabi locat island suburb mainland khalifa citi bridg residenti languag literatur major inhabit abu dhabi expatri worker india pakistan egypt bangladesh sri lanka philippin britain countri arab world english tagalog tigrinya amhar bengali urdu wide spoken hindi indian expatri contribut south asian languag cultur milieu includ malayalam wide spoken kerala native-born popul arabic-speak gulf arab part clan-bas societi al nahyan famili part al-falah branch bani ya clan rule emir central place societi current ruler sheikh khalifa bin zai al nahyan hereditari ruler abu dhabi uae son sheikh zai al nahyan presid unit arab emir economi marina mall abu dhabi wealthiest emir uae term gross domest product gdp capita incom averag net worth abu dhabi citizen a million million trillion invest worldwid citi gross domest product capita reach averag incom unit arab emir rank world luxembourg norwai abu dhabi plan futur project share gcc gcc futur plan unit arab emir fast-grow economi capita incom grew provid gdp capita rank world ppp abu dhabi plai larg role world economi abu dhabi sovereign wealth fund abu dhabi invest author adia estim billion world wealthiest fund term total asset economist jan postag stamp climat sunni blue ski expect year month april septemb gener hot humid maximum temperatur averag time sandstorm occur intermitt case reduc visibl meter weather cooler novemb march period see dens fog dai oasi citi al ain km border oman regularli record highest summer temperatur countri dry desert air cooler even tradit retreat intens summer heat year humid capit citi bbc weather transport interior abu dhabi airport abu dhabi intern airport auh serv citi local time gmt hour privat vehicl taxi primari mean transport citi a pick-up fee a km public buse wide fare start a rare fare a intrac travel bu rout nearbi town baniya al ain servic dubai km start citi plan citi plan estim maximum popul accord consid ideal urban plan time citi wide road high-dens tower block northerli island popul densiti highest main street line tower rectangl tower normal grid pattern road densiti build stori villa stori low-ris build abu dhabi citi modern citi broad boulevard tall offic apart build busi shop princip thoroughfar cornich airport road sheikh zai street hamdan street khalifa street abu dhabi citi region greeneri desert strip todai includ numer park garden mail gener deliv post-offic box door-to-door deliveri commerci organ park public garden citi entranc free children entri fee adult citi cornich seasid promenad kilometr mi length garden playground bmx skateboard ring design citi road main road organis horizont street start cornich street st odd vertic evenli number cornich street khalifa street hamdan street salam street st googl map plan problem typic street citi popul surpass origin estim maximum popul design traffic congest shortag car park space overcrowd address system citi wide problem describ build locat mean direct base nearbi landmark lack comprehens reliabl frequent public transport system led complet depend privat car taxi mean transport road public transport system difficult implement requir moder amount walk larg deterr usag futur develop develop island surround citi plan increas popul citi govern abu dhabi announc plan fund campu york univers kind establish major research univers set receiv student major project qasr cultur foundat island island happi al lulu island reem island al raha formula motor race circuit ya island masdar citi cultur art abu dhabi posit cultur hub middl east mantl neighbor citi beirut cairo home number cultur institut includ cultur foundat nation theater cultur foundat home uae public librari cultur center cultur societi abu dhabi classic music societi strong visibl citi launch emir foundat grant support art advanc scienc technolog educ environment protect social develop intern prize arab fiction base abu dhabi creation major up-scal cultur district abu dhabi island begun groundwork million guggenheim museum frank gehry-design museum displai prestig collect modernist contemporari art schedul complet complet expect largest expon prestigi guggenheim museum educ abu dhabi home intern local privat school univers primari secondari school gem american academi abu dhabi abu dhabi grammar school canada abu dhabi indian school abu dhabi intern school al manara school al nahda nation school al noor indian islam school al school al raha intern school asian intern privat school canadian intern school ci emir privat school public school lycé loui massignon français american commun school abu dhabi american intern school abu dhabi british school al cambridg high school step school nurseri german school abu dhabi indian islahi school intern academ school abu dhabi intern commun school intern school choueifat abu dhabi islamia english school english high school sheikh khalifa bin zai arab pakistani school sherwood academi st joseph school noah ark nurseri flower school wisdom high school skill develop institut univers concept mental arithmet system noah ark art music institut colleg univers abu dhabi univers al intern colleg higher colleg technolog sheikh khalifa bin zai bangladesh islamia school colleg abu dhabi zai univers masdar institut scienc technolog massachusett institut technolog februari retriev petroleum institut york institut technolog york univers +wiktionari wiktionari free dictionari letter letter latin alphabet english merriam-webst intern dictionari english languag unabridg plural merriam-webst manual writer editor chicago manual style ed univers chicago press histori letter trace pictogram ox head egyptian hieroglyph proto-semit alphabet world book encyclopedia field enterpris phoenician alphabet letter linear form serv basi form correspond close hebrew aleph ancient greek adopt alphabet glottal stop letter denot phoenician semit languag sign vowel chang alpha earliest greek inscript greek dark ag date centuri bc letter rest side greek alphabet time gener resembl modern capit letter local varieti distinguish shorten leg angl cross line set etruscan brought greek alphabet itali left letter unchang roman adopt etruscan alphabet write latin result letter preserv modern latin alphabet write languag includ english letter minuscul lower-cas form form current handwrit ital type consist circl vertic stroke call latin alpha script print materi form consist small loop arc deriv majuscul capit form greek handwrit common join left leg horizont stroke singl loop demonstr uncial version shown font leg vertic serif began leg stroke develop arc result print form drop result modern handwritten form usag typograph variant includ double-stori single-stori english letter denot near-open front unround vowel pad open unround vowel father concert orthograph vowel diphthong pronunci vari dialect ac major due effect great vowel shift languag latin alphabet letter denot open unround vowel open central unround vowel intern phonet alphabet variant letter denot vowel x-sampa capit denot open unround vowel lowercas denot open front unround vowel third-most common letter english second-most common spanish french averag letter english tend number spanish french retriev english indefinit articl extend vowel prefix serv negat morphem attach amor apolit deriv greek code comput altern represent unicod capit codepoint lowercas posit numer system base higher charact repres decim binari ascii code capit lowercas binari ebcdic code capit lowercas mors code dit dah dot dash numer charact refer html xml upper case +state alabama ipa locat southern region unit state america border tennesse north georgia east florida gulf mexico south mississippi west alabama rank total land area rank size inland waterwai state rank popul million resid state counti quick fact censu bureau retriev septemb american civil war world war ii alabama southern state suffer econom hardship part continu depend agricultur significantli white rural minor domin legislatur meant urban contemporari interest consist underrepres year war alabama experienc signific recoveri economi state transit agricultur diversifi interest heavi manufactur miner extract educ high technolog todai state heavili invest aerospac educ health care bank heavi industri includ automobil manufactur miner extract steel product fabric alabama unoffici nicknam yellowhamm state state bird alabama heart dixi state tree longleaf pine capit alabama montgomeri largest citi birmingham etymolog state alabama upper creek tribe resid confluenc coosa tallapoosa river upper reach alabama river read william indian place name alabama univers alabama press serv etymolog sourc name river state word alabama believ origin choctaw languag roger william robert ward leah atkin wayn flynt alabama histori deep south state univers alabama press adopt alabama tribe alabama alabama depart archiv histori retriev august spell word vari significantli sourc usag appear account hernando de soto expedit de la vega knight elva rodrigo wrote earli tribe french french map identifi river rivièr de s spell appel includ will charl histor album alabama millbrook press griffith lucil alabama documentari histori univers alabama press state name deriv nativ american languag common estim state name nativ american origin weiss sonia complet idiot guid babi name mcmillan usa origin alabama evid mean tribe clear articl bylin appear jacksonvil republican juli origin idea mean rest notion popular write alexand beaufort meek expert muskogean languag unabl find evid support translat gener accept word choctaw word alba mean plant weed amo mean cut trim gather swanton john bureau american ethnolog bulletin retriev august result translat clearer thicket herb gather swanton john review read indian place name alabama american speech refer clear land purpos plant crop collect medicin plant medicin men geographi alabama terrain map show lake river road mount cheaha center east birmingham alabama largest state unit state squar mile km total area area water make alabama amount surfac water give largest inland waterwai system unit state geograph comparison tabl censu bureau censu year retriev septemb three-fifth land area gentl plain gener descent mississippi river gulf mexico north alabama region mountain tennesse river cut larg vallei creat numer creek stream river mountain lake geographi state netstat august retriev septemb natur alabama natur bridg rock longest natur bridg east rocki locat south haleyvil winston counti alabama gener rang elev sea level mobil bai feet appalachian mountain northeast highest point mount cheaha map height ft state border alabama includ tennesse north georgia east florida south mississippi west alabama coastlin gulf mexico extrem southern edg state nation park alabama includ horsesho bend nation militari park alexand citi river canyon nation preserv fort payn russel cave nation monument bridgeport tuskege airmen nation histor site tuskege tuskege institut nation histor site tuskege geograph search nation park servic depart interior retriev septemb alabama natchez trace parkwai selma montgomeri nation histor trail trail tear nation histor trail suburban baldwin counti gulf coast largest counti state land area water area geograph comparison tabl censu bureau retriev km meteorit impact crater locat elmor counti north montgomeri wetumpka crater site alabama greatest natur disast wetumpka public librari access meteorit hit area million year wetumpka public librari access hill east downtown wetumpka showcas erod remain impact crater blast bedrock area label wetumpka crater astroblem concentr ring fractur zone shatter rock beneath surfac wetumpka astroblem john hall alabama heritag fall number christian koeberl institut geochemistri univers vienna publish evid establish site internation recogn impact crater wetumpka public librari access urban area climat climat alabama temper averag annual temperatur temperatur tend warmer southern part state close proxim gulf mexico northern part state appalachian mountain northeast tend slightli cooler gener alabama hot summer mild winter copiou precipit year alabama receiv averag inch mm rainfal annual enjoi lengthi grow season dai southern part state summer alabama hottest unit state high temperatur averag summer entir state alabama prone tropic storm hurrican area state gulf immun effect storm dump tremend amount rain move inland weaken winter state mild nightli freez occur frequent north alabama region shown pictur state bank decatur earli januari south alabama report thunderstorm part gulf coast mobil bai averag dai year thunder report activ decreas north state north state report thunder dai year occasion thunderstorm sever frequent lightn larg hail central northern part state vulner type storm alabama rank seventh number death lightn ninth number death lightn strike capita lightn fatal injuri damag unit state retriev tornado occur common state peak season tornado vari northern southern part state alabama share dubiou distinct kansa report tornado state statist nation climat data center period januari octob tornado power kind retriev septemb long track tornado contribut alabama report tornado fatal state texa mississippi super outbreak march badli affect alabama northern part state tennesse vallei area vulner violent tornado area alabama mississippi affect tornado refer dixi allei distinct tornado allei southern plain alabama place world secondari tornado season novemb decemb addit spring sever weather season winter gener mild alabama southeastern unit state averag januari temperatur mobil birmingham snow rare event alabama area state north montgomeri receiv dust snow time winter occasion moder heavi snowfal year southern gulf coast snowfal frequent year snowfal histori nativ american peopl live area present dai alabama alabama cheroke chickasaw choctaw creek koasati mobil indian tribal record updat retriev septemb trade northeast ohio river began burial mound period bc-ad continu european contact york time almanac york time august retriev septemb meso-american influenc evid agrarian mississippian cultur french found european settlement state establish mobil theu retriev septemb southern alabama french part british west florida part spanish west florida northern central alabama part british georgia part american mississippi territori statehood delai lack coastlin rectifi andrew jackson captur spanish mobil landscap histori state retriev septemb alabama twenty-second state admit union alabama frontier settler rapidli arriv advantag fertil soil planter brought slave trader brought upper south cotton plantat expand economi central black belt featur larg cotton plantat owner built wealth labor enslav african american name dark fertil soil poor white subsist farmer censu enslav african american compris state popul free person color alabama seced union join confeder state america battl fought state alabama contribut soldier civil war slave freed histor document retriev septemb reconstruct alabama readmit union civil war state chiefli rural ti cotton planter resist work free labor sought re-establish control african american white group jim crow law segreg reduc freedom african american restor domin constitut legislatur effect disfranchis african american vote restrict planter class engag poor white support effort restrict result disfranchis poor white total white black disfranchis white black due effect cumul poll tax glenn feldman disfranchis myth poor white suffrag restrict alabama athen univers georgia press damag african-american commun pervas citizen lost abil vote fourteen black belt counti primarili african american voter roll june number regist voter drop alabama african american elig vote manag qualifi regist black voter liter shut longlast glenn feldman disfranchis myth poor white suffrag restrict alabama athen univers georgia press disfranchis end african lead civil right movement gain feder legisl mid- protect vote civil right legisl protect right poor white legislatur continu underfund school servic african american segreg state reliev pai tax southern space internet journal emori univers april retriev septemb continu racial discrimin agricultur depress failur cotton crop due boll weevil infest led ten thousand african american seek opportun northern citi left alabama earli centuri part great migrat industri job futur northern industri citi rate popul growth rate alabama tabl drop reflect outmigr time rural white black migrat citi birmingham work industri job experienc rapid growth nicknam magic citi birmingham largest citi held popul state heavi industri mine basi economi massiv popul state legislatur refus reapport hous senat seat base popul held represent maintain polit econom power agricultur area addit state legislatur gerrymand birmingham legisl seat ensur elect person live birmingham result jefferson counti home birmingham industri econom powerhous contribut one-third tax revenu state receiv tax monei state legislatur ensur tax distribut equal counti popul urban interest consist underrepres studi note rural domin minor cent total state popul major control alabama legislatur long disfranchis african american state continu one-parti democrat decad produc number nation leader industri develop relat demand world war ii brought prosper cotton fade import state develop manufactur servic base governor georg wallac white state oppos integr effort moral crusad civil right movement african american achiev restor vote civil right passag nation civil right act vote right act de jure segreg end state jim crow law invalid repeal civil right law histori depart justic januari retriev septemb vote right act case file feder court forc alabama properli redistrict popul state legislatur hous senat time alabama constitut provis period redistrict base popul implement benefit urban area develop popul underrepres year state white voter shift support republican candid presidenti elect occur neighbor southern state major white state vote increasingli republican state elect civil right law histori southern net spring retriev septemb demograph alabama popul densiti map alabama estim popul censu bureau censu bureau june retriev septemb increas prior year increas year includ natur increas censu peopl birth death increas due net migrat peopl state immigr unit state result net increas peopl migrat countri produc net increas peopl state foreign-born state popul estim illeg immigr center popul alabama locat chilton counti town jemison area jemison divis race ancestri racial makeup state comparison prior censu largest report ancestri group alabama african american american english irish german scots-irish includ report nativ american religion survei respond christian gospel religi prefer possess full understand faith need learn campbel kirsten alabama rate biblic literaci mobil regist advanc public march retriev june poll alabamian report confid church state english capit survei research center white david poll feel good state trust govern institut hasn't fallen birmingham new birmingham new april retriev june economi alabama quarter depict famou resid helen keller longleaf pine branch camellia blossom state quarter program releas march unit state bureau econom analysi total gross state product billion capita rank state alabama gdp increas place alabama number term state level gdp growth singl largest increas area durabl good manufactur html bureau econom analysi region econom account retriev octob capita incom state html state counti quick fact retriev alabama agricultur output includ poultri egg cattl plant nurseri item peanut cotton grain corn sorghum veget milk soybean peach cotton state alabama rank ten nation cotton product report alabama busi center busi econom research culverhous colleg commerc univers alabama retriev septemb alabama cooper extens system usda nass alabama statist offic retriev septemb texa georgia mississippi compris top alabama industri output includ iron steel product includ cast-iron steel pipe paper lumber wood product mine coal plastic product car truck apparel alabama produc aerospac electron product huntsvil area home nasa georg marshal space flight center armi missil command headquart redston arsen alabama home largest industri growth corridor nation includ surround state tennesse mississippi florida georgia growth due alabama rapidli expand automot manufactur industri alabama gener job alabama rank nation detroit automobil output expans site alabama earli state surpass detroit largest builder automobil north america site north mobil select german steelmak thyssenkrupp billion steel product plant promis perman job press regist retriev citi mobil alabama saltwat port busi seaport gulf mexico inland waterwai access midwest tennessee-tombigbe waterwai alabama levi person incom tax depend amount earn file statu state gener sale tax rate comparison state local retail sale tax juli retriev collect rate substanti higher depend addit citi counti sale tax corpor incom tax rate feder state local tax burden alabama rank state state countri tax foundat retriev alabama annual budget deficit high million hand state accomplish larg surplus budget surplu billion estim billion declin economi reduc surplu transport alabama state sign alabama major interst road cross run north-south roughli middl state travel central west border birmingham continu north-east corner state continu east atlanta border georgia end montgomeri provid main thoroughfar atlanta travers southernmost portion state run west east mobil interst road construct complet connect birmingham memphi tennesse major airport alabama includ birmingham intern airport bhm dothan region airport huntsvil intern airport hsv mobil region airport mob montgomeri region airport mgm muscl shoal northwest alabama region airport msl tuscaloosa region airport tcl pryor field region airport dcu rail transport amtrak schedul crescent daili passeng train run york orlean stop anniston birmingham tuscaloosa water port aerial view port mobil list north south law govern state capitol built state govern foundat document alabama govern alabama constitut ratifi amend word world longest constitut roughli forti time length constitut roig-franzia manuel washington post novemb retriev septemb alabama legisl inform system retriev septemb signific movement rewrit modern alabama constitut movement base fact alabama constitut highli central power montgomeri leav practic power local hand polici propos state approv entir alabama legislatur frequent state referendum critic current constitut claim complex length intent codifi segreg racism alabama divid equal branch legisl branch alabama legislatur bicamer assembl compos alabama hous repres member alabama senat member legislatur respons write debat pass defeat state legisl execut branch respons execut oversight law head governor alabama member execut branch includ cabinet attornei gener alabama alabama secretari state alabama commission agricultur industri alabama state treasur alabama state auditor judici branch respons interpret constitut appli law state crimin civil case highest court suprem court alabama local counti govern alabama counti counti elect legisl branch call counti commiss execut author counti due restraint alabama constitut counti jefferson lee mobil madison montgomeri shelbi tuscaloosa state home rule counti state lobbi local legisl committe state legislatur simpl local polici wast dispos land zone list alabama counti seat alabama alcohol beverag control state govern hold monopoli sale alcohol counti declar dry state sell alcohol area state polit alabama governor bob rilei current governor state bob rilei lieuten governor jim folsom democrat parti hold larg major hous legislatur due legislatur power overrid gubernatori veto mere simpl major state legislatur requir major overrid veto relationship execut legisl branch easili strain parti control branch reconstruct american civil war alabama occupi feder troop militari district gener john pope polit coalit redeem control state govern republican part suppress african american vote intimid terror white supremaci re-establish coalit white pass law segreg disenfranchis black resid process complet provis constitut provis disfranchis african american disfranchis poor white white black disfranchis impact greater african-american commun citizen disfranchis state legislatur fail perform redistrict popul grew shift state result rural minor domin state polit seri court case requir redistrict disfranchis african american state part solid south one-parti system democrat parti essenti polit parti southern state year local state elect alabama decid democrat parti primari gener token republican challeng run gener elect democrat primari elect then-incumb lieuten governor lost democrat nomin governor state democrat parti invalid elect lieuten governor ballot democrat candid candid chosen primari voter state revolt perceiv disenfranchis vote elect republican challeng gui hunt governor republican governor elect alabama reconstruct republican increasingli elect state offic democrat bare hold major state legislatur democrat don siegelman manag win governor offic corrupt probe eventu trial time coincid state primari releg siegelman term todai state republican alabama state polit gain nationwid intern attent american civil right movement major white bureaucrat time violent resist protest elector social reform georg wallac state governor remain notori controversi figur passag civil right act vote right act african american regain suffrag civil right alabama legislatur pass governor sign resolut express profound regret slaveri linger impact symbol ceremoni bill sign alabama state capitol serv capit confeder state america rawl phillip alabama offer apolog slaveri virginian pilot landmark commun retriev june english nation polit alabama support democrat presidenti candid larg margin curiou elect democrat won john kennedi ballot democrat elector alabama gave elector vote protest harri byrd republican barri goldwat carri state part opposit civil right act restor franchis african american presidenti elect alabama support nativ son american independ parti candid georg wallac richard nixon hubert humphrei democrat candid jimmi carter georgia carri state region nation democrat control region slip conserv alabama voter increasingli vote republican candid feder level presidenti elect contrast democrat candid elect state-level offic compris longstand major alabama legislatur georg bush won alabama elector vote margin percentag point vote white voter eleven counti vote democrat black belt counti african american major state senat jefferson session iii richard shelbi republican hous repres state repres member republican jo bonner terri everett mike roger robert aderholt spencer bachu democrat bud cramer artur davi health educ primari secondari educ public primari secondari educ alabama oversight alabama state board educ local oversight counti school board citi board educ individu school provid educ elementari secondari student english retriev august public school fund appropri alabama legislatur educ trust fund fy alabama appropri primari secondari educ repres increas previou fiscal year percent school adequ yearli progress ayp student profici nation child left law percent school met ayp english retriev august colleg univers harrison plaza univers north alabama florenc univers north alabama origin charter lagrang colleg alabama legislatur alabama program higher educ includ four-year public univers numer two-year commun colleg privat undergradu graduat univers public post-secondari educ alabama overseen alabama commiss higher educ colleg univers alabama offer degre program associ degre doctor level program www ach state al htm degre titl abbrevi english alabama commiss higher educ accredit academ program southern associ school colleg varieti subject focus nation intern accredit agenc www ach state al colleg univers accredit index htm accredit english alabama commiss higher educ profession sport team miscellan topic phrase heart dixi origin montgomeri capit confeder state civil war requir state law includ standard state vehicl licens plate reduc small size eclips phrase star fell alabama octob alabama altern god bless america licens plate addit charg matt disching archiv novemb retriev novemb plate consid standard plate state world electr trollei system introduc montgomeri standard emerg number haleyvil alabama februari +wrath achil benouvil musé fabr greek mytholog achil achilleu ancient greek greek hero trojan war central charact greatest warrior homer iliad take theme wrath achil achil attribut handsom hero assembl troi plato symposium quickest central myth relationship patroclu character sourc deep friendship passion love achil death divin retribut hubrist murder troilu trojan boi spurn sexual advanc kill enrag hero apollo templ jame davidson zeu nice london review book juli access octob legend begin poem statiu centuri ad state achil invulner bodi heel legend state achil kill battl arrow heel heel tendon person princip weak birth achil son mortal peleu king myrmidon immort sea nymph theti farsala thessali zeu poseidon rival hand theti prometheu fire-bring warn zeu propheci theti bear son greater father reason god withdrew pursuit wed peleu aeschylu prometheu bound pindar nemean isthmian mytholog tale offer altern version event argonautica hera allud theti chast resist advanc zeu theti loyal hera marriag bond coolli reject educ achil ca jame barri incomplet poem achillei written statiu centuri ad sourc achil born theti immort dip river styx forgot wet heel held leav vulner spot achil heel tendon clear version event earlier version stori theti anoint boi ambrosia put top fire burn mortal part bodi interrupt peleu abandon father son rage apolloniu rhode argonautica sourc statiu refer invulner contrari iliad homer mention achil wound book paeonian hero son challeng achil river scamand cast spear graze elbow draw spurt blood fragmentari poem epic cycl find descript hero death unknown author arctinu miletu ilia lesch mytilen iliou arctinu miletu trace refer invulner famou achil heel vase-paint present death arrow case arrow hit bodi peleu entrust achil chiron centaur mt pelion rais hesiod catalogu women fr mw iliad achil trojan war rage achil giovanni battista tiepolo line iliad read achil mortal experi consum rage meni anger time waver time absolut human achil event war import theme narr telephu greek left trojan war accident stop mysia rule king telephu result battl achil gave telephu wound heal telephu consult oracl state wound heal report lost plai telephu auli pretend beggar ask achil heal wound achil refus claim medic knowledg altern telephu held orest ransom ransom aid heal wound odysseu reason spear inflict wound spear heal piec spear scrape wound telephu heal sympathet magic cycnu tradit relat plutarch byzantin scholar john tzetz greek ship arriv troi achil fought kill cycnu son poseidon cycnu invulner head plutarch greek question tzetz lycophron troilu dare account destruct troi latin summari stori achil transmit mediev europ troilu youngest son priam hecuba father apollo water hors lion fountain wall troi achil fell love beauti loveli form ibycu gold thrice refin youth reject advanc refug templ apollo achil pursu sanctuari decapit god altar tzetz scholiast lycophron time troilu year short twentieth birthdai vatican mythograph report troilu live twenti troi invinc iliad achil sacrif zeu ambrosian iliad centuri illumin manuscript homer iliad famou narr deed trojan war homer epic cover week war narrat death begin withdraw battl dishonor agamemnon command achaean forc agamemnon woman name chrysei slave father chryse priest apollo beg agamemnon return agamemnon refus apollo plagu greek prophet calcha correctli determin sourc troubl speak achil vow protect achil calcha declar chrysei return father agamemnon consent command battl prize brisei brought replac chrysei angri dishonor love brisei iliad urg theti achil refus fight lead troop greek forc battl turn greek nestor declar agamemnon anger achil trojan win urg agamemnon appeas achil agamemnon agre odysseu chieftain achil offer return brisei gift achil refus urg greek sail home plan eventu hope retain glori absenc battl achil prai mother theti plead zeu trojan push greek forc trojan led hector subsequ push greek armi beach assault greek ship greek forc verg absolut destruct achil consent patroclu lead myrmidon battl achil remain camp patroclu succeed push trojan beach kill hector lead proper assault citi troi achil hector triumphant achil drag hector lifeless bodi front gate troi panoram fresco upper level main hall achilleion receiv new death patroclu antilochu son nestor achil griev friend held funer game honor mother theti comfort distraught achil persuad hephaestu armor place armor patroclu wear hector armor includ shield achil great detail poet enrag death patroclu achil end refus fight field kill men rage seek hector achil engag battl river god scamand angri achil choke water men kill god drown achil stop hera hephaestu zeu note rage god restrain sack troi show unhind rage achil defi fate troi meant destroi final achil prei achil chase hector wall troi time athena form hector favorit dearest brother deiphobu persuad hector fight face face achil vengeanc kill hector blow neck ti hector bodi chariot drag battlefield dai assist god herm hector father priam tent convinc achil permit hector funer rite final passag iliad hector funer doom troi matter time penthesilea achil temporari truce priam fought kill amazonian warrior queen penthesilea memnon death achil achil dy garden achilleion corfu death patroclu achil closest companion nestor son antilochu memnon ethiopia kill antilochu achil drawn battlefield seek reveng fight achil memnon antilochu echo achil hector patroclu memnon hector son goddess homer scholar argu episod inspir detail iliad descript death patroclu reaction episod form basi cyclic epic aethiopi compos iliad possibl centuri bc aethiopi lost scatter fragment quot author quintu smyrna epic treatment memnon mortal death immort bestow zeu lyric descript countrymen extrem grief predict hector dy breath achil kill pari arrow heel statiu older version knife visit polyxena princess troi version god apollo guid arrow ajax carri bodi achil attic black-figur lekytho ca bce sicili staatlich antikensammlungen munich version conspicu deni killer sort valor ow common concept pari coward man brother hector achil remain undef battlefield bone mingl patroclu funer game held repres lost trojan war epic arctinu miletu live death island leuk mouth danub pari kill philoctet enorm bow heracl fate armor armor object feud odysseu telamonian ajax older cousin compet give speech bravest achil deserv receiv odysseu won ajax mad grief anguish vow kill comrad start kill sheep think mad greek soldier commit suicid achil patroclu relationship patroclu kei aspect myth exact natur subject disput classic period modern time iliad clear hero deep extrem meaning friendship evid romant sexual element equivoc comment classic period todai tend interpret relationship len cultur centuri bc athen relationship commonli interpret pederast cult achil antiqu archaic heroic cult achil white island leuc black sea modern coast romania ukrain templ oracl surviv roman period gui cult achil euxin hesperia juli lost epic continu iliad attribut mileto mother theti return mourn remov ash pyre leuc mouth danub achaean rais tumulu celebr funer game plini natur histori mention tumulu longer evid insula eiu viri clara island consecr locat distanc fifti roman mile peuc danub delta templ pausania told island cover forest full anim wild tame island templ ruin squar templ meter side possibl dedic achil discov captain modern archeolog island pomponiu mela tell achil buri island name achillea ister de situ orbi ii greek geograph dionysiu bithynia live time domitian write island call leuc wild anim live white leuc island resid soul achil hero wander uninhabit vallei island jove reward men distinguish virtu virtu acquir everlast orbi descriptio quot densuşianu periplu euxin sea detail goddess theti rais island sea son achil dwell templ statu archaic work island inhabit goat graze peopl happen arriv ship sacrific achil templ deposit great holi gift crater ring preciou stone offer achil gratitud read inscript greek latin achil prais celebr word honor favor achil honor patroclu time island countless number sea bird templ morn fly sea wet wing water return quickli templ sprinkl finish sprinkl clean hearth templ wing peopl men reach island intention bring anim ship destin sacrif anim slaughter set free island honor forc island sea storm sacrifici anim god island consult oracl permiss slaughter victim chosen anim graze freeli island deposit exchang price fair case oracl deni permiss oracl add price offer oracl refus add oracl agre price suffici victim doesn’t run wait willingli caught great quantiti silver consecr hero price sacrifici victim peopl island achil appear dream navig instruct part island anchor quot densuşianu heroic cult achil leuc island widespread antiqu sealan pontic sea maritim citi econom interest tightli connect rich black sea achil leuc island vener lord master pontic black sea protector sailor navig sailor offer sacrific achil leuc dedic number import commerci port citi greek water achilleion messenia stephanu byzantinu laconia pausania nicola densuşianu densuşianu thought recogn achil aquileia north arm danub delta arm chilia conclus leuc sovereign right ponto evok modern archaic leuc reput place heal pausania report delphic pythia lord croton cure chest wound ammianu marcellinu xxii attribut heal water aqua island cult achil modern time achilleion corfu region south citi corfu greec empress austria elisabeth bavaria sissi built summer palac achil central theme monument platon romantic palac natur name achil achilleion eleg structur abound paint statu achil main hall lavish garden depict heroic tragic scene trojan war achil analyz combin grief lao peopl tribe nation word achil embodi grief peopl grief theme rais numer time iliad frequent achil role hero grief form iron juxtaposit convent view achil hero kleo glori glori war lao constru gregori nagi leonard palmer corp soldier deriv doubl mean poem hero function rightli men bring grief enemi wrongli men grief war poem part misdirect anger part leadership achilleu common attest greek earli centuri bc match earliest corinth bc delphi bc attica eli bc turn femal form firstli attest attica centuri bc ig ii relief halicarnassu femal gladiat fight roman gladiatori game referenc classic mytholog refer fight penthesilea give extra twist achil woman stori achil achil guardian palac garden achilleion corfu gaze northward citi inscript greek read achil post-homer sourc claim order achil safe war theti version peleu hide young man court lycomed king skyro achil disguis girl live daughter pyrrha red-hair girl daughter deidamia account statiu rape achil father son neoptolemu call pyrrhu father alia stori odysseu learn prophet calcha achaean unabl captur troi aid odysseu skyro guis peddler sell women cloth jewelri place shield spear good achil instantli take spear odysseu see disguis convinc join greek campaign version stori odysseu arrang trumpet alarm sound women women flee panic achil prepar defend court give ident homer odyssei passag odysseu sail underworld convers shade achil greet bless life bless death respond slave worst master king dead interpret reject warrior life indign martyrdom slight achil worship sea-god greek coloni black sea locat mythic white island inhabit death hero post-homer literatur explor pederast interpret love achil patroclu fourth centuri deep arguabl ambigu friendship portrai homer blossom unequivoc erot love affair work aeschylu plato aeschin inspir enigmat vers lycophron centuri alexandra claim achil slew troilu matter unrequit love king epiru claim descend achil son alexand great son princess olympia claim descent wai strove great ancestor visit tomb pass troi achil fought kill amazon helen marri medea death unit elysian field hade hera promis theti argonautica version myth achil relationship captiv brisei achil greek tragedi greek tragedian aeschylu wrote trilogi plai achil titl achillei modern scholar tragedi relat deed achil trojan war includ defeat hector eventu death arrow shot pari guid apollo punctur heel extant fragment achillei aeschylean fragment assembl produc workabl modern plai part achillei trilogi myrmidon focus relationship achil choru repres achaean armi convinc achil give quarrel agamemnon line surviv todai pant achil greek tragedi tragedian sophocl wrote plai achil main charact lover achil fragment surviv zeno paradox croatian elect poster achil greek philosophi philosoph zeno elea center paradox imaginari footrac swift-foot achil tortois prove achil catch tortois head start motion chang imposs student monist parmenid member eleat school zeno believ time motion illus spoken-word myth audio achil art drama achil portrai hero lazi devot love patroclu william shakespear troilu cressida achil major charact pari music base trojan war written jon english david mackai premier octob australia fiction achil appear novel ilium olympo scienc fiction author dan simmon achil elizabeth cook achil appear dant inferno wrath achil starship achil appear wall troi emphasi relationship polyxena achil appear book trilogi troi late heroic fantasi novelist david gemmel achil featur heavili firebrand marion zimmer bradlei comic book hero captain marvel endow power legendari hero achil featur comput game battlezon fiction planet orbit uranu destroi game film role achil plai gordon mitchel achil uk furi achil piero lulli ulyss rilei zeu stanlei baker helen troi arturo dominici la guerra di troia derek jacobi voic achil channel televis steve la bell hélène tv joe montana actor helen troi tv brad pitt troi televis anim televis seri class titan charact archi descend achil inherit vulner heel part invinc music achil frequent mention music achil stand led zeppelin album presenc atlant record achil refer bob dylan song temporari achil reveng song warlord achil heel album indi rock band pedro lion achil heel referenc song special rock band placebo heel song uk band topload achil song colorado-bas power metal band jag panzer album cast stone achil referenc indigo girl song ghost song melbourn band love andromeda call achil achil agoni ecstasi part manowar album triumph steel atlant record mention citadel sieg troi crüxshadow mention arrow wrath concert piec sean o'loughlin achil mention joanna mcfly achil wear necklac namesak hmnz achil leander class cruiser serv royal zealand navi world war famou part battl river plate hm ajax hm exet princ greec denmark grandson depos greek king constantin ii note +imag padlock-silver-medium svg abraham lincoln februari april sixteenth presid unit state serv march assassin outspoken oppon expans slaveri unit state short autobiographi written presidenti campaign lincoln describ protest illinoi legislatur defin posit slaveri question refer sentiment express dori kearn goodwin team rival polit geniu abraham lincoln holzer write cooper union speech holzer note cooper union prove uniqu confluenc polit cultur rhetor opportun technolog innov human geniu brought abraham lincoln center stage american polit precis time place precis messag slaveri wrong confin area exist ultim extinct lincoln won republican parti nomin elect presid year term help preserv unit state lead defeat secessionist confeder state america american civil war introduc measur result abolit slaveri issu emancip proclam promot passag thirteenth amend constitut lincoln close supervis victori war effort select top gener includ ulyss grant historian conclud handl faction republican parti bring leader faction cabinet forc cooper lincoln successfulli defus war scare unit kingdom leadership union control border slave state start war addition manag reelect presidenti elect oppon war copperhead critic refus compromis slaveri issu convers radic republican abolitionist faction republican parti critic move slowli abolish slaveri road block lincoln successfulli ralli public opinion rhetor speech gettysburg address close war lincoln held moder view reconstruct seek speedili reunit nation polici gener reconcili assassin presidenti assassin histori martyr ideal nation uniti lincoln earli life abraham lincoln born februari thoma lincoln nanci hank uneduc farmer one-room log cabin km sink spring farm southeast hardin counti kentucki part laru counti symbol log cabin abraham lincoln birthplac nation histor site time thoma lincoln abraham father respect affluent citizen kentucki backcountri purchas sink spring farm decemb cash assumpt debt farm site preserv part abraham lincoln birthplac nation histor site famili belong hardshel baptist church abraham join church church matter lincoln famili forc start perri counti spencer counti indiana note move partli account slaveri partli difficulti land deed kentucki land northwest territori kentucki proper survei farmer difficulti prove titl properti lincoln mother thirty-four year di milk sick father remarri sarah bush johnston lincoln affection stepmoth call mother rest life distant father donald econom difficulti indiana famili settl public land macon counti illinoi winter desol brutal famili consid move indiana year father reloc famili homestead cole counti illinoi twenty-two-year-old lincoln struck cano sangamon river villag salem sangamon counti year hire salem businessman denton offutt accompani friend good salem orlean flatboat sangamon illinoi mississippi river lincoln formal educ consist month school larg self-educ avid reader talent local wrestler skill ax lincoln avoid hunt fish kill anim food foot inch unusu tall strong earli polit career young abraham lincoln lincoln began polit career ag unsuccess campaign illinoi gener assembl member whig parti centerpiec platform undertak navig improv sangamon river believ attract steamboat traffic spars popul poorer area river flourish elect captain illinoi militia compani drawn salem black hawk war wrote success life gave satisfact thoma basler month lincoln ran small store salem won elect state legislatur come commentari law england began teach law admit bar move springfield illinoi year began practic law john stuart reput formid adversari cross-examin close argument lincoln respect success lawyer illinoi grew steadili prosper serv success term illinoi hous repres repres sangamon counti leader illinoi whig parti protest slaveri illinoi hous state institut found injustic bad polici march year lincoln met joshua fry speed intim friend lincoln wrote seri anonym letter publish sangamon journal mock state auditor promin democrat jame shield year lincoln enter law practic william herndon fellow whig men join fledgl republican parti lincoln death herndon began collect stori lincoln publish herndon lincoln photograph mari lincoln daguerreotyp shepherd famili novemb lincoln marri mari todd daughter promin slave-own famili kentucki coupl son robert todd lincoln born springfield illinoi august child surviv adulthood young robert attend phillip exet academi harvard colleg lincoln children born springfield illinoi di childhood teen year edward baker lincoln born march di februari springfield william willi wallac lincoln born decemb di februari washington presid lincoln term thoma tad lincoln born april di juli chicago photograph abraham lincoln daguerreotyp shepherd legisl activ whig admir parti leader henri clai lincoln elect term hous repres freshman hous member power influenti figur spoke mexican-american war attribut presid polk desir militari glori challeng presid claim texa boundari offer spot resolut demand spot soil blood spilt lincoln damag polit reput speech declar god heaven forgotten defend weak innoc permit strong band murder demon hell kill men women children lai wast pillag land week presid polk peac treati congress washington paid attent lincoln democrat orchestr angri outburst district war popular volunt warn law partner william herndon damag mount irrepar lincoln decid run reelect statement easili forgotten haunt civil war statement held appli posit taylor administr taylor peopl offer lincoln posit remot oregon territori primarili governorship accept offer end career rapidli grow state illinoi lincoln declin posit return springfield lincoln gave polit year turn energi law practic prairi lawyer histor marker counti line rout lincoln travel eighth judici district border piatt dewitt counti mid- lincoln caseload focus larg compet transport interest river barg railroad promin case repres alton sangamon railroad disput sharehold jame barret barret refus pai balanc pledg railroad ground chang origin plan rout lincoln argu matter law corpor bound origin charter charter amend public interest newer rout propos alton sangamon superior expens corpor sue barret delinqu payment won case decis illinoi suprem court eventu cite court unit state donald ch civil case won lincoln fame lawyer landmark hurd rock island bridg compani america expans west lincoln strongli support econom threat river trade ran north-to-south primarili mississippi river steamboat collid bridg built rock island railroad rock island illinoi davenport iowa railroad bridg span mississippi steamboat owner su damag claim bridg hazard navig lincoln argu court railroad won remov costli impedi western expans establish land rout bridg waterwai possibl notabl crimin trial lincoln career lawyer defend william duff armstrong charg murder case famou lincoln judici notic rare tactic time show eyewit li stand wit testifi crime moonlight lincoln produc almanac show moon date angl illumin base evid armstrong acquit donald lincoln involv case illinoi legal career case involv file writ substanti involv lincoln partner appear illinoi state suprem court time republican polit lincoln return polit respons kansas-nebraska act expressli repeal limit slaveri extent determin missouri compromis illinoi democrat stephen dougla power man senat propos popular sovereignti solut slaveri impass incorpor kansas-nebraska act dougla argu democraci peopl decid slaveri territori decis impos congress donald ch octob peoria speech lincoln stood free soil orat dai draw remnant whig free soil liberti democrat parti instrument form republican parti stir campaign republican carri illinoi elect senat lincoln obviou choic parti balanc allow elect ex-democrat lyman trumbul dougla broke presid buchanan lead fight control democrat parti eastern republican favor reelect dougla led opposit lecompton constitut admit kansa slave state accept republican nomin senat lincoln deliv famou speech hous divid stand mark govern endur perman slave free expect union dissolv expect hous fall expect ceas divid june speech creat evoc imag danger disunion caus slaveri debat ralli republican north campaign featur lincoln-dougla debat nation famou contest slaveri lincoln warn slave power threaten valu republican dougla emphas supremaci democraci set freeport doctrin local settler free choos slaveri republican legisl candid won popular vote democrat won seat legislatur reelect dougla senat lincoln eloqu transform nation polit star debat issu race discuss time period believ racial egalitarian stephen dougla inform crowd desir negro desir vote equal support lincoln black republican parti favor citizenship negro august lincoln counter favor bring social polit equal white black race septemb opposit slaveri opposit slave power chang civil war donald ch illinoi republican state convent held decatur convent lincoln receiv endors run presid elect rail candid lincoln candidaci held slaveri issu slave left parti organ york tribun editor horac greelei photo lincoln februari york citi mathew bradi dai famou cooper union speech enter presidenti nomin process distinct underdog lincoln eventu chosen republican candid elect reason express view slaveri moder rival william seward salmon chase western origin appeal newer state contend government experi acquir enemi parti weak critic western state lincoln perceiv moder win west republican agre lincoln north aggriev parti slave power tighten grasp nation govern southern connect in-law own slave lincoln misunderstood depth revolut underwai south emerg southern nation deni civil war support repeatedli reject claim elect incit secess gabor boritt war abraham lincoln question individu respons civil war ed boritt elect lincoln campaign give speech handl state counti republican organ latest techniqu sustain parti enthusiasm obtain high turnout effort convert non-republican virtual campaign south border citi st loui missouri wheel virginia parti run slate south north thousand republican speaker ton campaign poster leaflet thousand newspap editori focus parti platform lincoln life stori make boyhood poverti pioneer background nativ geniu rise obscur nicknam honest ab exploit full goal emphas superior power free labor common farm boi work top effort thoma reinhard luthin lincoln campaign nevin novemb lincoln elect presid unit state beat democrat stephen dougla john breckinridg southern democrat john bell constitut union parti republican presid win strength support north ballot state south won counti southern state lincoln gain vote total elector vote dougla elector vote breckenridg elector vote bell elector vote fusion ticket state oppon combin state lincoln major vote state won elector vote won elector colleg elect civil war secess winter lincoln elect secessionist clear state leav union south carolina lead cotton-grow state deep south upper south delawar maryland virginia north carolina tennesse kentucki missouri arkansa listen reject secessionist appeal decid stai union warn lincoln support invas territori confeder state seced lincoln offic declar nation confeder state america presid buchanan president-elect lincoln refus recogn confederaci president-elect lincoln evad assassin baltimor februari arriv disguis washington inaugur march german american turner form lincoln bodyguard sizabl garrison feder troop present readi protect capit confeder invas local insurrect photograph show march inaugur abraham lincoln front unit state capitol inaugur address lincoln declar hold contempl univers law constitut union state perpetu perpetu impli express fundament law nation govern argu purpos unit state constitut form perfect union articl confeder explicitli perpetu constitut perpetu ask rhetor constitut simpl contract requir agreement parti rescind inaugur address final attempt reunit state prevent loom war lincoln support pend corwin amend constitut pass congress amend explicitli protect slaveri state exist design appeal confederaci critic border state time lincoln adamantli oppos crittenden compromis permit slaveri territori support crittenden compromis promin republican includ william seward lincoln denounc amount perpetu coven war peopl tribe state own foot land tierra del fuego time lincoln offic confederaci establish fact leader insurrect propos rejoin union term compromis compromis deem virtual imposs buchanan allow southern state seced republican recommend conserv democrat nationalist jeremiah black joseph holt edwin stanton control buchanan cabinet januari refus accept secess lincoln republican leader adopt posit march union dismantl strict follow constitut lincoln refus action south unionist attack final happen april historian allan nevin argu lincoln miscalcul believ preserv union hold govern properti avoid war temporarili underr graviti crisi overestim strength unionist sentiment south border state misunderstood condit support unionist border state allan nevin improvis war fight begin april union troop fort sumter fire forc surrend lincoln call governor state send detach total troop recaptur fort protect capit preserv union view exist intact action seced state virginia repeatedli warn lincoln invas territori join attack state respond seced north carolina tennesse arkansa slave state missouri kentucki maryland delawar seced lincoln urgent negoti state leader promis interfer slaveri fight start rebel leader arrest border area maryland held militari prison trial arrest execut clement vallandigham exil remaind releas month part merryman emancip proclam lincoln met cabinet read emancip proclam draft juli l-r edwin stanton salmon chase abraham lincoln gideon well caleb smith william seward montgomeri blair edward bate juli congress move free slave pass confisc act goal weaken rebellion led control slave owner abolish legal institut slaveri thirteenth amend act show lincoln support congress liber slave own rebel law implement lincoln emancip proclam lincoln slaveri unit state clear north fight war preserv union abolish slaveri free slave late war measur weaken rebellion destroi econom base leadership class abolitionist critic lincoln sluggish slaveri se august lincoln explain emancip proclam announc septemb put effect januari freed slave territori union control union armi advanc south slave liber confeder hand million freed lincoln life felt sign paper proclam abolit slaveri rebel state offici war goal lincoln threw energi passag thirteenth amend perman abolish slaveri nation lincoln address issu consist letter albert hodg april septemb thirteen northern governor met altoona pennsylvania loyal war confer discuss proclam union war effort state execut fulli support presid proclam suggest remov gener georg mcclellan command union armi potomac imag america altoona ann franci pull time lincoln continu earlier plan set coloni newli freed slave comment favor colon emancip proclam attempt massiv undertak fail frederick douglass observ lincoln great man talk unit state freeli singl instanc remind differ differ color life time frederick douglass frederick douglass gettysburg address result bloodiest battl war place gettysburg juli lincoln war effort suffer great blow union armi decreas number due death soldier need replac rank lincoln draft consid odiou north immigr york draft riot juli notabl manifest discont write lincoln septemb pennsylvania governor andrew curtin warn polit sentiment turn lincoln war effort novemb lincoln fact desper need reviv union spirit war effort oper era tv radio internet lincoln messag press presenc dedic gettysburg cemeteri draw report countri mean report lincoln speak nation decis gettysburg urg union highli resolv dead di vain lincoln copperhead peac democrat men gave full measur devot reason gettysburg address lincoln propos question men di finish job countri answer question determin elect polit power lincoln rhetor undeni copperhead misfortun bixbi move lincoln call dedic unfinish work men son nobli advanc import polit consequ power gettysburg address lincoln won elect assur war continu victori achiev elect inaugur union victori gettysburg vicksburg chattanooga victori hand lincoln promot ulyss grant general-in-chief march spring campaign turn bloodi stalem lincoln support grant strategi wear lee confeder armi cost heavi union casualti elect loom easili defeat effort deni renomin convent republican parti select andrew johnson war democrat southern state tennesse run mate order form broader coalit ran union parti ticket unit republican war democrat photograph lincoln deliv inaugur address photograph lincoln give speech lincoln stand center paper hand john wilk booth visibl photograph top row center white eloqu presid republican countri fear lincoln defeat acknowledg fear lincoln wrote sign pledg lose elect defeat confederaci all-out militari effort turn white hous mark grimslei brook simpson ed collaps confederaci lincoln show pledg cabinet ask sign seal envelop democrat platform peac wing parti call war failur candid gener georg mcclellan support war repudi platform lincoln grant replac mobil parti support grant win local support war effort sherman captur atlanta septemb end defeatist jitter democrat parti deepli split leader soldier openli lincoln union parti unit energ lincoln easili reelect landslid won state captur elector vote march lincoln deliv inaugur address favorit speech time victori rebel hand slaveri dead lincoln futur conduct war effort cartoon featur lincoln william fessenden edwin stanton william seward gideon well take swing lincoln administr war sourc constant frustrat presid occupi time contenti relationship gener mcclellan general-in-chief union armi wake embarrass union defeat battl bull run retir winfield scott late inexperi militari affair lincoln want activ part determin war strategi prioriti twofold ensur washington defend conduct aggress war effort hope war quickli appeas northern public press mcclellan youth west point graduat railroad execut call activ militari servic cautiou approach month plan execut peninsula campaign object captur richmond move armi potomac boat peninsula jame york river mcclellan delai irrit lincoln insist troop need defend washington lincoln insist hold mcclellan troop defend capit decis mcclellan blame ultim failur peninsula campaign mcclellan lifelong democrat temperament conserv reliev general-in-chief releas harrison land letter offer unsolicit polit advic lincoln urg caution war effort mcclellan letter incens radic republican successfulli pressur lincoln appoint john pope republican head armi virginia pope compli lincoln strateg desir move richmond north protect capit attack pope soundli defeat battl bull run summer forc armi potomac defend washington time respons failur pope minnesota fight sioux mathew bradi photo depict presid lincoln read book youngest son tad lincoln top hat allan pinkerton john alexand mcclernand antietam lee invas maryland lincoln restor mcclellan command forc washington time battl antietam septemb ensu union victori enabl lincoln releas emancip proclam reliev mcclellan command shortli midterm elect appoint republican ambros burnsid head armi potomac burnsid promis follow lincoln strateg vision strong offens lee richmond burnsid stunningli defeat fredericksburg joseph hooker command idl talk necess militari dictat win war histori critic command hooker rout lee battl chancellorsvil reliev command earli subsequ gettysburg campaign replac georg mead union victori gettysburg mead failur pursu lee month inact armi potomac persuad lincoln bring western gener ulyss grant grant solid string victori western theater includ battl vicksburg chattanooga respond critic grant lincoln quot spare man fight grant wage bloodi overland campaign strategi war attrit character high union loss battl wilder cold harbor proportion higher confeder loss invas campaign eventu bottl lee sieg petersburg grant richmond bring war close spring lincoln author grant target civilian infrastructur hope destroi south moral weaken econom abil continu fight allow gener sherman sheridan destroi farm town shenandoah vallei georgia south carolina damag caus sherman march sea georgia total excess million sherman estim hofstadt richard unit state histori republ prentice-hal lincoln star-cross record militari leader possess keen understand strateg point mississippi river fortress citi vicksburg import defeat enemi armi simpli captur citi limit success motiv command adopt strategi late man share vision war ulyss grant insist african american troop relentlessli pursu seri coordin offens multipl theater war lincoln show keen curios militari campaign spent hour war depart telegraph offic read dispatch gener visit battl site frequent fascin watch scene war jubal anderson earli raid washington lincoln told duck avoid shot observ battl reconstruct reconstruct began war lincoln associ ponder question reintegr southern state confeder leader freed slave lincoln led moder reconstructionist polici oppos radic republican thaddeu steven hous charl sumner benjamin wade senat cooper men issu determin find reunit nation alien south lincoln urg speedi elect gener term held war area union line amnesti proclam decemb offer pardon held confeder civil offic mistreat union prison sign oath allegi critic decis state state reconqu special import tennesse lincoln appoint andrew johnson governor louisiana lincoln attempt plan restor statehood percent voter agre radic thought polici lenient pass plan bill lincoln bill radic retali refus seat repres elect louisiana arkansa tennesse donald ch april lee surrend appomattox court hous virginia war effect rebel armi surrend subsequ guerrilla warfar lincoln richmond public gestur sit jefferson davi desk symbol nation presid unit state held author entir land greet citi conquer hero freed slave sentiment epitom admir quot free face father abraham felt gener ask lincoln defeat confeder treat lincoln repli easi donald eyewit histori www home front redefin republican photograph lincoln februari april lincoln power rhetor defin issu war nation world poster extraordinari command english languag evidenc gettysburg address speech dedic cemeteri gettysburg deliv novemb speech defi lincoln predict world note long rememb lincoln inaugur address greatli admir quot speech lincoln articul rational union year historian stress lincoln redefinit republican valu earli time polit rhetor focus sanctiti constitut lincoln shift emphasi declar independ foundat american polit valu call sheet anchor republican jaffa declar emphasi freedom equal constitut toler slaver shift debat diggin conclud highli influenti cooper union speech lincoln present american theori histori offer profound contribut theori destini republican john patrick diggin lost soul american polit virtu self-interest foundat liber posit gain strength highlight moral basi republican legal foner lincoln stress moral basi republican mcpherson lincoln justifi war term legal constitut contract parti contract parti agre term nation duti guarante republican form govern state jaffa duti principl underli feder intervent reconstruct gettysburg address lincoln redefin american nation argu born conceiv liberti dedic proposit men creat equal declar sacrific battl reded nation proposit democraci equal nation birth freedom govern peopl peopl peopl perish earth emphas central nation rebuf claim state sovereignti critic lincoln move fast mencken difficult imagin untru union soldier battl fought self-determin confeder fought peopl govern mencken mention self-determin right black agre dedic nation valu mark found nation will civil liberti suspend civil war lincoln appropri power previou presid wield war power proclaim blockad suspend writ habea corpu spent monei congression author imprison suspect confeder sympath trial action vehement denounc copperhead subsequ upheld congress court domest measur lincoln believ whig theori presid left congress write law sign veto bill threaten war power sign homestead act make million acr government-held land west purchas cost morril land-grant colleg act sign govern grant agricultur univers state pacif railwai act grant feder support construct unit transcontinent railroad complet import legisl involv econom matter includ incom tax higher tariff includ creation system nation bank nation bank act allow creation strong nation financi system congress creat lincoln approv depart agricultur institut cabinet-level depart legal tender act establish unit state note paper currenc unit state histori increas monei suppli pai fight war war lincoln treasuri depart effect control cotton trade occupi south dramat incurs feder control economi lincoln senior gener john pope put sioux upris minnesota present death warrant convict sante dakota massacr innoc farmer lincoln affirm execut repriev assassin assassin abraham lincoln left henri rathbon clara harri mari todd lincoln abraham lincoln john wilk booth origin john wilk booth well-known actor confeder spy maryland formul plan kidnap lincoln exchang releas confeder prison attend april speech lincoln promot vote right black incens booth chang plan determin assassin presid harrison lowel hay lincoln kentucki univers press kentucki learn presid ladi grant attend ford theatr laid plan assign co-conspir assassin vice presid andrew johnson secretari state william seward main bodyguard ward hill lamon relat famou dream assassin lincoln left attend plai american cousin april lone bodyguard wander lincoln sat state box box balconi booth crept presid wait funniest line plai hope laughter muffl nois gunshot laughter began booth jump box aim single-shot calib henri dering head fire point-blank rang major henri rathbon momentarili grappl booth cut booth knife booth leapt stage shout sic semper tyranni latin tyrant escap broken leg suffer leap georg alfr townsend life crime captur john wilk booth york dick fitzgerald lccn twelve-dai manhunt ensu booth chase feder agent direct secretari war edwin stanton eventu corner virginia barn hous shot dy wound armi surgeon doctor charl leal initi assess lincoln wound mortal presid street theater petersen hous lai coma hour di physician attend lincoln includ armi surgeon gener joseph barn armi medic museum probe barn locat fragment lincoln skull ball lodg inch cm brain lincoln regain conscious offici pronounc dead april ag disagr historian stanton word lincoln di agre began belong state ag angel lincoln bodi return white hous bodi prepar ly repos east room presid assassin lie state armi medic museum name nation museum health medicin retain collect artifact relat assassin displai bullet fire derring pistol probe barn piec lincoln skull hair surgeon cuff stain lincoln blood lincoln funer train carri remain mourner casket son william mile km illinoi lincoln bodi carri train grand funer process state illinoi nation mourn savior unit state copperhead celebr death man consid unconstitut tyrant lincoln tomb oak ridg cemeteri springfield feet tall surmount bronz statu lincoln prevent repeat attempt steal lincoln bodi hold ransom robert todd lincoln lincoln exhum reinter concret feet thick photograph lincoln photograph man unit state time assassin presidenti appoint administr cabinet lincoln appoint polit rival high posit cabinet line faction parti battl combin lincoln historian agre simon cameron highli effect group abraham lincoln offici white hous portrait suprem court lincoln appoint justic suprem court unit state noah hayn swayn samuel freeman miller david davi stephen johnson field salmon chase chief justic major presidenti act sign presid revenu act homestead act morril land-grant colleg act revenu act pacif railwai act unit state depart agricultur nation bank act revenu act state admit union west virginia nevada religi philosoph belief march speech haven connecticut lincoln respect slaveri question settl settl philosoph basi polici rest philosoph public opinion perman maintain philosoph basi lincoln’ belief slaveri issu dai requir lincoln examin man idea lincoln strong support american whig version liber capit politician time express idea context nineteenth centuri religi belief peopl strongli influenc lincoln’ moral intellectu develop perspect teacher mentor church leader commun leader peer lincoln credit year strong influenc intellectu develop lack formal educ lincoln’ person philosophi shape amazingli retent memori passion read learn lincoln’ read relationship influenti shape person belief miller lincoln’ read studi bibl integr part intellectu root lincoln boi larg reject organ religion calvinist doctrin necess remain factor life lincoln effect doctrin human mind impel action held rest power mind control donald quot letter public lincoln deni charg polit oppon scoffer april justifi action regard emancip lincoln wrote claim control event confess plainli event control year struggl nation condit parti man devis expect god claim donald lincoln matur term presid idea divin interact human affair influenc public express person level death son willi februari caus lincoln religion answer solac wilson willie’ death summer earli fall lincoln attempt put paper privat muse divin standpoint sever war lincoln’ religi skeptic fuel exposur idea lockean enlighten classic liber econom liber consist common practic whig parti lincoln declar independ philosoph moral express philosophi februari speech independ hall philadelphia lincoln declar justif whig econom polici opposit territori expans nativist platform noth claim men creat free lincoln whig argu freedom requir econom advanc expand educ territori grow abil nation absorb grow immigr popul declar independ bibl lincoln reli order oppos territori expans slaveri declar polit document abolitionist antislaveri leader foremost moral document determin valuabl criteria shape futur nation miller legaci memori lincoln portrai beard grew beard suggest grace bedel lincoln death presid martyr repeat poll historian rank lincoln greatest presid histori appear posit contemporari admir lincoln personifi classic valu honesti integr respect individu minor right human freedom gener american organ purpos agenda continu cite imag interest rang gai log cabin republican insur corpor lincoln nation corpor lincoln automobil name ballist missil submarin abraham lincoln aircraft carrier abraham lincoln name honor liberti ship ss nanci hank name mother spanish civil war american faction intern brigad name abraham lincoln brigad lincoln memori citi name notabl capit nebraska lincoln illinoi citi name abraham lincoln presid lincoln imag numer place includ lincoln memori washington lincoln bill lincoln cent lincoln sculptur mount rushmor lincoln home nation histor site springfield illinoi addit salem illinoi reconstruct lincoln earli adult hometown ford theatr petersen hous di preserv museum lincoln shrine redland california locat smilei public librari state nicknam illinoi land lincoln counti state arkansa colorado idaho kansa main minnesota mississippi montana nebraska nevada mexico oklahoma oregon south dakota tennesse west virginia washington wisconsin wyom name lincoln abraham lincoln birthdai februari nation holidai commemor dai observ illinoi state separ legal holidai lincoln birthdai dozen state legal holidai celebr mondai februari combin dai commemor upcom birthdai februari congress establish abraham lincoln bicentenni commiss dedic renew american appreci lincoln’ legaci commiss lawmak scholar featur board lincoln historian enthusiast locat librari congress washington organ forc numer tribut program cultur event highlight two-year celebr schedul februari lincoln’ birthplac hodgenvil kentucki lincoln birthplac famili home nation histor memori abraham lincoln birthplac nation histor site hodgenvil lincoln home nation histor site springfield illinoi abraham lincoln presidenti librari museum open springfield major tourist attract state-of-the-art exhibit abraham lincoln nation cemeteri locat elwood illinoi portrait abraham lincoln lincoln portrait american dollar bill lincoln memori washington daniel chester french sculptur lincoln memori lincoln like mount rushmor lincoln cent cameo effect obvers lincoln stamp issu novemb lincoln tomb springfield elector histori congression district abraham lincoln whig peter cartwright elihu walcott liberti republican nation convent vice presidenti talli william lewi dayton abraham lincoln nathaniel prentic bank david wilmot charl sumner jacob collam john alsop king samuel clark pomeroi thoma ford henri charlei grai cassiu clai joshua gid whitfield johnson aaron pennington henri wilson illinoi unit state senat elect stephen dougla abraham lincoln republican nation convent final result ballot abraham lincoln william seward salmon chase unit state presidenti elect abraham lincoln hannib hamlin elector vote state carri john breckinridg joseph lane southern democrat elector vote state carri john bell edward everett constitut elector vote state carri stephen dougla herschel vespasian johnson northern democrat elector vote state carri unit state presidenti elect abraham lincoln andrew johnson nation union elector vote state carri georg mcclellan georg pendleton elector vote state carri +aristotl greek bc bc greek philosoph student plato teacher alexand great wrote subject includ physic metaphys poetri theater music logic rhetor polit govern ethic biologi zoologi aristotl socrat plato import philosoph western thought systemat western philosophi scienc think physic scienc profound impact mediev thought last renaiss accuraci biolog observ confirm centuri logic work earliest formal studi logic supersed late nineteenth centuri middl ag aristotelian metaphys profound influenc philosoph theolog think islam jewish tradit christian thought legaci felt christian theologi orthodox theologi cathol tradit shape scholastic aspect aristotl philosophi continu object activ academ studi todai aristotl wrote eleg treatis dialogu cicero literari style river gold thought major write lost lost rediscov time believ origin work surviv life aristotl born stageira chalcidic bc father person physician king amynta macedon aristotl train educ member aristocraci ag eighteen athen continu educ plato academi aristotl remain academi twenti year leav plato death bc travel xenocr court hermia asia minor asia aristotl travel theophrastu island lesbo research botani zoologi island aristotl marri daughter niec pythia bore daughter name pythia death aristotl invit philip macedon tutor alexand great spend year tutor young alexand aristotl return athen bc establish school lyceum aristotl conduct cours school twelv year athen wife pythia di aristotl involv stageira bore son name father nicomachu suda eromeno william georg smith dictionari greek roman biographi mytholog period athen aristotl believ compos work aristotl wrote dialogu fragment surviv work surviv treatis form part intend widespread public gener thought lectur aid student import treatis includ physic metaphys nicomachean ethic polit de anima soul poetic work connect fundament wai vari significantli style substanc aristotl studi subject time signific contribut physic scienc aristotl studi anatomi astronomi econom embryolog geographi geologi meteorolog physic zoologi philosophi wrote aesthet ethic govern metaphys polit psycholog rhetor theologi studi educ foreign custom literatur poetri combin work constitut virtual encyclopedia greek knowledg suggest aristotl person time neill alex aaron ridlei mcgraw hill alexand death anti-macedonian sentiment athen flare eurymedon hieroph denounc aristotl hold god honor aristotl fled citi mother famili estat chalci explain athenian sin philosophi jone harcourt brace jovanovich cf vita marciana di euboea natur year bc aristotl left name chief executor student antipat ask buri wife aufstieg und niedergang der römischen welt hildegard wolfgang haas logic aristotl concept logic domin form logic centuri advanc mathemat logic kant state critiqu pure reason aristotl theori logic complet account core deduct infer histori aristotl subject earlier date speak bocheński ancient formal logic amsterdam north-holland publish compani plato report syntax devis keo concern correct word logic emerg dialect earlier philosoph frequent concept reductio ad absurdum discuss understood logic implic plato difficulti logic reason concept deduct system construct reli dialect confus scienc methodolog bocheński plato believ deduct simpli follow premis focus maintain solid premis conclus logic follow plato realiz method obtain conclus benefici succeed devis method attempt publish book sophist introduc divis method rose lynn aristotl syllogist springfield charl thoma publish analyt organon todai call aristotelian logic aristotl label analyt term logic reserv dialect aristotl work origin form edit student lectur logic work aristotl compil book earli st centuri ad categori interpret prior analyt posterior analyt topic sophist refut order book teach compos list deriv analysi aristotl write basic analysi simpl term categori studi complex form syllog analyt dialect topic sophist refut volum aristotl logic organon fourth book metaphys bocheński modal logic aristotl creator syllog modal modal logic word modal refer word explain fact modal logic deal mode truth aristotl introduc qualif premis aristotl scientif method plato left aristotl detail school athen fresco raphael aristotl gestur earth repres belief knowledg empir observ experi hold copi nicomachean ethic hand plato gestur heaven repres belief form teacher plato aristotl philosophi aim univers aristotl univers call essenc plato find univers exist relat prototyp exemplar aristotl philosoph method impli ascent studi phenomena knowledg essenc plato philosoph method mean descent knowledg univers form idea contempl imit aristotl form refer uncondit basi phenomena instanti substanc univers particular sens aristotl method induct deduct plato essenti deduct priori principl jori alberto aristotel milano bruno mondadori editor aristotl terminolog natur philosophi branch philosophi examin phenomena natur world includ field regard todai physic biologi natur scienc modern time scope philosophi limit gener abstract inquiri ethic metaphys logic plai major role todai philosophi exclud empir studi natur world mean scientif method contrast aristotl philosoph endeavor encompass virtual facet intellectu inquiri larger sens word aristotl philosophi coextens reason describ scienc note term scienc carri mean cover term scientif method aristotl scienc practic poetic theoret metaphys practic scienc mean ethic polit poetic scienc mean studi poetri fine art theoret scienc mean physic mathemat metaphys logic analyt regard studi preliminari philosophi divis aristotelian philosophi consist logic theoret philosophi includ metaphys physic mathemat practic philosophi poetic philosophi period stai athen time academi lyceum aristotl conduct scientif think research renown todai fact aristotl life devot studi object natur scienc aristotle’ metaphys observ natur number origin contribut mathemat perform origin research natur scienc botani zoologi physic astronomi chemistri meteorolog scienc aristotl write scienc larg qualit oppos quantit begin sixteenth centuri scientist began appli mathemat physic scienc aristotl work area deem hopelessli inadequ fail larg due absenc concept mass veloc forc temperatur concept speed temperatur quantit understand partli due absenc basic experiment devic clock thermomet write provid account scientif observ mixtur precoci accuraci curiou error histori anim claim human male teeth femal aristotl histori anim similar vein john philoponu galileo show simpl experi aristotl theori massiv object fall faster massiv object incorrect hand aristotl refut democritu claim milki star shade earth sun rai point correctli reason bound dismiss long time current astronom demonstr size sun greater earth distanc star earth time greater sun sun shine star earth screen aristotl meteorolog tran webster rev barn place aristotl deriv simpl observ over-stretch reason todai scientif method assum think suffici fact ineffect discern valid hypothesi requir rigor experiment aristotl support law aristotl scientif blind spot largest inabl applic mathemat physic aristotl held physic chang object realiti mathemat unchang object realiti philosophi imagin relationship posit flaw cosmolog discern select metaphys wide accept centuri domin view held earth center univers geocentr scientif concept propos aristotl plato adopt dogma roman cathol church mankind center univers scientist disagre galileo consid heret erron concept eventu reject philosoph respect european thinker renaiss thinker aristotl erron posit held scienc epoch john platon berkelei univers california press aristotl scientif shortcom mislead forget great advanc scientif field instanc found logic formal scienc creat foundat biologi supersed west millennia introduc fundament notion natur compos chang studi provid knowledg underli constant studi physic scienc respect actual observ transcend physic metaphys physic element fire hot dry earth cold dry air hot wet water cold wet aether divin substanc heavenli sphere heavenli bodi star planet earthli element natur place earth centr univers water air fire natur place natur motion requir extern place bodi sink water air bubbl rain fall flame rise air heavenli element perpetu circular motion causal materi exist part constitu substratum materi reduc explan part factor element constitu ingredi form system structur compound complex composit combin relationship part-whol causat formal tell determin definit form pattern essenc synthesi archetyp embrac account term fundament principl gener law macrostructur part relationship causat effici chang chang start identifi chang suggest sort agent nonliv live act sourc chang movement rest repres current understand causal relat effect cover modern definit agent agenc event state affair final sake exist includ purpos instrument action activ final telo purpos suppos serv chang cover modern idea mental causat involv psycholog volit motiv motiv ration irrat ethic purpos behavior addition caus reciproc hard work fit vice versa function begin chang goal aristotl suggest reciproc circular causal relat mutual depend influenc effect aristotl contrari effect presenc absenc result outcom aristotl mark mode causat proper prior causat accident chanc causat proper incident spoken potenti actual gener languag refer effect gener effect assign gener effect oper actual effect essenti causal suggest tempor relat effect investig causal consist impos favorit hierarchi order final effici materi formal thoma aquina restrict causal materi effici effici causal determinist chanc regular sequenc correl natur phenomena natur scienc describ happen explain why wherefor chanc spontan spontan chanc effect chanc incident li realm accident spontan note spontan chanc understand aristotl concept chanc coincid take place chanc person set intent place result intend place person seek donat person find person donat substanti sum person seek donat met person donat purpos collect donat purpos aristotl call collect donat donat result chanc unusu chanc word time chanc specif kind chanc aristotl name luck appli human be sphere moral action aristotl luck involv choic deliber human capabl deliber choic capabl action chanc aristotl physic metaphys aristotl defin metaphys knowledg immateri highest degre abstract refer metaphys philosophi theolog scienc substanc potenti actual aristotl examin concept substanc ousia metaphys book vii conclud substanc combin matter form proce book viii conclud matter substanc substratum stuff compos matter hous brick stone timber constitut potenti hous form substanc actual hous bodi differentia predic formula compon account matter formula differentia account form aristotl metaphys viii regard chang kinesi defin physic gener corrupt b-a distinguish come growth diminut chang quantiti locomot chang space alter chang qualiti come chang persist result properti chang introduc concept potenti dynami actual associ matter form refer potenti capabl act prevent seed plant soil potenti plant prevent plant potenti be act innat learn ey possess potenti sight innat act capabl plai flute possess learn exercis act actual fulfil potenti telo principl chang sake exist potenti actual refer previou actual seed plant plant sake principl sake actual sake potenti acquir anim order sight sight aristotl metaphys ix conclus matter hous potenti form actual formal chang potenti actual hous reason logo hous builder final hous aristotl proce conclud actual prior potenti formula time substanti definit substanc matter form aristotl solv problem uniti be man plato idea anim bipe man uniti aristotl potenti matter actual form aristotl metaphys viii a-b univers particular aristotl predecessor plato argu univers form properti relat appl appl analyz form appl distinct appl univers form appl place appl book speak book appl plato argu univers form part good exist good proper univers form bertrand russel contemporari philosoph agre plato exist univers aristotl disagre plato point argu univers instanti aristotl argu univers unattach exist aristotl univers exist relat futur univers predic aristotl case univers predic object exist period time exist contemporari philosoph justifi posit assert eleat principl addit aristotl disagre plato locat univers plato spoke world form locat univers form subsist aristotl maintain univers exist univers predic aristotl form appl exist appl world form biologi medicin empir research program aristotl earliest natur historian work surviv detail aristotl research natur histori isl lesbo work reflect research includ histori anim gener anim part anim remark observ interpret sundri myth mistak strike passag sea-lif visibl observ lesbo catch fishermen observ catfish electr fish torpedo except write cephalopod mollusc octopu sepia cuttlefish paper nautilu argonauta argo descript arm cephalopod thousand year time wide disbeliev rediscoveri nineteenth centuri separ aquat mammal fish knew shark rai part group call singer charl short histori biologi oxford gave accur descript four-chamb unusu mammal-lik embryolog develop hound shark mustelu laevi emili kearn anim knowledg oxford classic dictionari ed theori biolog charl singer remark aristotl effort exhibit relationship live scala natura singer charl short histori biologi oxford aristotl histori anim classifi organ relat hierarch ladder life scala natura place complex structur function higher organ show greater vital abil move aristotl respons idea cleric aristotl believ intellectu purpos formal guid natur process teleolog view gave aristotl justifi observ data express formal design note anim time tusk horn anim horn aristotl suggest natur give anim horn tusk stave vaniti give creatur faculti degre note rumin multipl stomach weak teeth suppos compens natur preserv type balanc mason histori scienc similar fashion aristotl believ creatur arrang grade scale perfect rise plant man scala natura great chain mayr growth biolog thought lovejoi great chain system eleven grade arrang degre infect potenti express form birth highest anim laid warm wet creatur aliv lowest bore cold dry thick egg aristotl held level creatur perfect reflect form foreordain form great import type soul organ possess assert plant possess veget soul respons reproduct growth anim veget sensit soul respons mobil sensat human veget sensit ration soul capabl thought reflect aristotl de anima ii aristotl contrast earlier philosoph accord egyptian ration soul heart brain mason histori scienc notabl aristotl divis sensat thought gener previou philosoph except alcmaeon guthri histori greek philosophi analysi procreat frequent critic ground presuppos activ masculin element bring life inert passiv lumpen femal element ground aristotl consid feminist critic misogynist hard sandra merril hintikka decemb springer aristotl successor theophrastu frontispiec version expand illustr edit historia plantarum ca origin written bc aristotl successor lyceum theophrastu wrote seri book botani histori plant surviv import contribut antiqu botani middl ag name surviv modern time carpo fruit seed vessel focu formal aristotl theophrastu suggest mechanist scheme draw analog natur artifici process reli aristotl concept effici theophrastu recogn role sex reproduct higher plant discoveri lost ag mayr growth biolog thought mason histori scienc effect aristotl hellenist medicin theophrastu lyceum fail produc origin work interest aristotl idea surviv gener unquestioningli anna classic greek philosophi ag alexandria ptolemi advanc biologi medic teacher alexandria herophilu chalcedon correct aristotl place intellig brain connect nervou system motion sensat herophilu distinguish vein arteri note puls mason histori scienc ancient atomist lucretiu challeng teleolog viewpoint aristotelian idea life teleolog rise christian natur theologi remain central biolog thought essenti centuri word ernst mayr real consequ biologi lucretiu galen renaiss mayr growth biolog thought quotat europ advanc field continu middl east orient aristotl idea natur histori medicin surviv gener unquestioningli anna classic greek philosophi practic philosophi ethic aristotl consid ethic practic scienc master reason aristotl believ ethic knowledg knowledg metaphys epistemolog gener knowledg wrote treatis ethic includ notabl ethic outlin commonli call virtu ethic aristotl taught virtu proper function ey good ey proper function ey sight aristotl reason man function uncommon function activ soul aristotl identifi activ soul eudaimonia happi joi pervad good life aristotl taught achiev good life live balanc life avoid excess balanc taught vari person situat exist golden vice excess defici polit addit work ethic address individu aristotl address citi work titl polit aristotl concept citi organ consid conceiv citi manner alan william introduct polit thinker wadsworth group aristotl consid citi natur commun consid citi prior famili turn prior individu order order famou statement man natur polit anim aristotl conceiv polit organ machin collect part exist note modern understand polit commun state state foreign aristotl refer polit commun citi aristotl understood citi polit partnership social contract compact polit commun understood machiavelli subsequ citi creat avoid injustic econom stabil live good life polit partnership regard sake nobl action sake live distinguish social contract theori individu leav state natur fear violent death inconveni read social econom process ethic polit polanyi aristotl discov economi primit archaic modern economi essai karl polanyi ed dalton boston rhetor poetic aristotl consid epic poetri tragedi comedi dithyramb poetri music imit vari imit media object manner aristotl poetic music imit media rhythm harmoni danc imit rhythm poetri languag form differ object imit comedi instanc dramat imit men wors averag tragedi imit men slightli averag lastli form differ manner narr charact chang chang drama drama aristotl poetic iii aristotl believ natur mankind constitut mankind advantag anim aristotl poetic iv believ aristotl poetic compris book comedi tragedi portion focus tragedi surviv aristotl taught tragedi compos element charact style spectacl lyric poetri aristotl poetic vi charact tragedi mean drive stori plot charact chief focu tragedi tragedi imit action arous piti fear meant effect catharsi emot aristotl conclud poetic discuss superior epic tragic mimesi suggest tragedi possess attribut epic possibl possess addit attribut spectacl music unifi achiev aim mimesi shorter scope consid superior epic aristotl poetic xxvi loss work aristotl wrote eleg treatis dialogu cicero literari style river gold cicero marcu tulliu bc-bc academica retriev januari vast major write lost literari charact remain disput aristotl work lost rediscov time believ origin work surviv stori origin manuscript treatis strabo geographi plutarch parallel live sulla manuscript left aristotl successor theophrastu turn will neleu scepsi neleu supposedli write athen scepsi heir languish cellar centuri bc teo discov purchas manuscript bring athen stori repair damag stai basement introduc number error text luciu corneliu sulla occupi athen bc carri librari rome publish bc grammarian amisu philosoph andronicu rhode carn lord attribut popular belief stori fact plausibl explan rapid eclips peripatet school middl centuri absenc widespread knowledg special treatis aristotl hellenist period sudden reappear flourish aristotelian centuri lord carn introduct polit aristotl chicago chicago univers press lord voic number reserv stori condit text good suffer consider damag inexpert attempt repair incontrovert evid lord treatis circul time strabo plutarch suggest confin cellar scepsi definit edit aristotl text athen fifti year andronicu supposedli compil fourth ancient librari catalogu predat intervent list aristotelean corpu similar possess lord see number interpol polit gener confid work intact roman period aristotl work larg lost west time preserv east muslim scholar philosoph wrote extens commentari work aristotl lai foundat falsafa movement islam philosophi stimul thought al-farabi ibn sina ibn rushd influenc falsafa grew west part due gerard cremona translat spread averro demand aristotl work grew william moerbek translat number latin thoma aquina wrote theologi work moerbek translat demand aristotl write grew greek manuscript return west stimul reviv aristotelian europ ultim revit european thought muslim influenc spain fan ember renaiss legaci earli islam portray aristotl aristotl portrai nuremberg chronicl scholar opinion aristotl system thought remain influenti put singl mind historian durant philosoph contribut enlighten world durant stori philosophi unit state simon schuster single-handedli found scienc logic biologi psycholog pole bertrand russel dismiss aristotl work profound bertrand russel histori western philosophi simon schuster influenc aristotl work felt lyceum grew peripatet school aristotl notabl student includ aristoxenu dicaearchu demetriu phalerum rhode harpalu hephaest meno phoci nicomachu theophrastu alexand great tutelag aristotl mention unclear influenc relationship aristotl refer philosoph scholast thinker thoma aquina summa theologica part question thinker blend aristotelian philosophi christian bring thought ancient greec middl ag requir repudi aristotelian principl scienc art free discoveri modern scientif law empir method mediev english poet chaucer describ student happi italian poet dant aristotl circl hell german philosoph friedrich nietzsch polit philosophi aristotl durant implaus case aristotl rigid separ action product justif subservi slave virtu aret justifi ideal aristocraci martin heidegg nietzsch elabor interpret aristotl intend warrant deconstruct scholast philosoph tradit alasdair macintyr attempt reform call aristotelian tradit anti-elitist capabl disput claim liber nietzschean kelvin knight aristotelian philosophi politi press passim philosoph novelist ayn rand comment write atla shrug philosoph acknowledg debt aristotl radio program night call march cite robert mayhew ayn rand answer penguin list aristotl work +american pari symphon composit american compos georg gershwin compos inspir time gershwin spent pari form extend tone poem evok sight energi french capit gershwin best-known composit gershwin compos piec commiss york philharmon orchestr orchestr music rhapsodi blue gershwin score american pari standard instrument symphoni orchestra celesta saxophon automobil horn gershwin brought parisian taxi horn york premier composit place decemb carnegi hall walter damrosch conduct york philharmon gershwin collabor origin program note critic compos deem taylor note purpos portrai impress american visitor pari stroll citi listen street nois absorb french atmospher tone poem move blue american friend succumb spasm homesick nostalgia fatal diseas american visitor alert spectat parisian life street nois french atmospher triumphant instrument american pari score flute doubl piccolo obo english horn clarinet flat bass clarinet flat bassoon horn trumpet flat trombon tuba timpani snare drum bass drum cymbal high tom-tom xylophon glockenspiel celesta taxi horn alto saxophon tenor saxophon bariton saxophon string record american pari frequent record year record rca victor nathaniel shilkret conduct victor symphoni orchestra drawn member philadelphia orchestra gershwin hand supervis record shilkret report charg eventu ask compos leav record studio shilkret discov plai celesta solo slow section hastili ask gershwin plai solo gershwin briefli particip actual record arthur fiedler boston pop orchestra record work rca victor includ stereo record music arturo toscanini nbc symphoni orchestra record music carnegi hall commerci record toscanini music american compos film mgm releas music comedi american pari featur gene kelli lesli caron winner numer award includ pictur oscar film direct vincent minnelli featur tune gershwin conclud extens elabor danc sequenc built gershwin symphon poem arrang film johnni green part symphon composit featur good releas +academi award popularli oscar present annual academi motion pictur art scienc ampa academi motion pictur art scienc retriev april recogn excel profession film industri includ director actor writer formal ceremoni award present promin watch film award ceremoni world st academi award ceremoni held thursdai hotel roosevelt hollywood honor outstand film achiev host actor dougla fairbank director william demil academi award ceremoni held sundai februari kodak theatr lo angel honor outstand film achiev host comedi central daili show host jon stewart ampa profession honorari organ maintain vote membership actor constitut largest vote bloc number member percent academi composit vote oscar tabul certifi audit firm pricewaterhousecoop predecessor price waterhous annual award ceremoni jacki finlai bbc new mar retriev april oscar offici oscar statuett academi award merit actual oscar trophi sold cash usd gold-plat black metal base cm tall weigh lb kg depict knight render art deco style hold crusad sword stand reel film spoke spoke repres origin branch academi actor writer director produc technician academi motion pictur art scienc retriev april mgm’ art director cedric gibbon origin academi member supervis design award trophi print design scroll academi motion pictur art scienc press releas retriev april model statu gibbon introduc wife dolor del río emilio el indio fernández reluct fernández final convinc pose nake creat todai oscar sculptor georg stanlei sculpt gibbon design clai alex smith cast statu percent tin percent copper gold-plat addit oscar creat minor streamlin base origin oscar mold cast shumwai son foundri batavia illinoi contribut cast mold vinc lombardi trophi emmi award statuett approxim oscar year chicago illinoi manufactur owen fail meet strict qualiti control standard statuett cut melt academi motion pictur art scienc retriev april root oscar contest biographi bett davi claim name oscar husband bandlead harmon oscar nelson internet movi databas retriev april earliest mention print term oscar date bett davi receipt award retriev februari walt disnei quot thank academi oscar earli claim origin academy’ execut secretari margaret herrick award refer statuett remind uncl oscar columnist sidnei present name seiz bylin employe affection dub famou statuett levi oscar academi award regist trademark academi fierc protect litig threat thereof academi award ceremoni held total oscar award academi award abc retriev januari total actor won act oscar includ honorari award juvenil award ownership oscar statuett statuett legal encumb requir winner heir sell statuett offer sell academi winner refus agre stipul academi statuett academi award protect agreement sold public auction privat deal six-figur sum levi rule highli controversi impli winner award lacei rose feb forb retriev april case michael todd grandson sell todd oscar statuett illustr agre idea todd grandson attempt sell todd oscar statuett movi prop collector academi won legal battl perman injunct oscar sale transact success buyer subsequ return statuett academi treasuri academi membership ampa member invit join invit board governor behalf academi branch execut committe membership elig achiev competit nomin member submit base signific contribut field motion pictur win academi award result invit join membership automat membership propos consid annual academi publicli disclos membership press releas announc name invit join releas state vote member membership grow stricter polici size steadi academi motion pictur art scienc retriev septemb academi membership divid branch repres disciplin motion pictur member work fall branch belong group member larg nomin todai rule offici academi award rule film open previou calendar year midnight start januari midnight decemb lo angel counti california qualifi academi motion pictur art scienc retriev april rule state film feature-length defin minimum minut short subject award exist mm mm film print fp fp progress scan digit film print nativ resolut member branch nomin respect field member submit nomine pictur winner determin vote member allow vote categori includ pictur academi motion pictur art scienc retriev april academi award member present screen actor guild nomin oscar categori award night telecast major award present live televis ceremoni commonli februari march relev calendar year week announc nomine elabor extravaganza invit guest walk red carpet creation promin fashion design dai black tie dress common outfit men fashion dictat wear bowti music perform typic adher artist record nomine origin song perform song live award ceremoni fact perform promot televis broadcast academi year claim award show billion viewer internation confirm independ sourc academi explain reach figur academi award televis live unit state exclud alaska hawaii gather million viewer worldwid oscar ceremoni watch million american award ceremoni emmi golden globe grammi broadcast live east coast tape delai west coast award show televis nbc nbc continu broadcast event abc network televis festiv nbc resum broadcast abc broadcast duti contract year academi motion pictur art scienc feb press releas retriev april sixti year held late march earli april ceremoni move late februari earli march start disrupt shorten intens lobbi ad campaign oscar season film industri reason grow tv rate success ncaa men divis basketbal championship cut academi award audienc earlier date advantag abc occur highli profit import februari sweep period award show hold distinct won emmi histori win nomin paul sheehan lo angel time feb retriev april march award ceremoni postpon dai shoot presid ronald reagan washington octob award event design nation special secur event unit state depart homeland secur movi studio strictli prohibit advertis film broadcast celebr arriv academi award hybrid vehicl kelli carter usatodai mar retriev april telecast academi award leonardo dicaprio vice presid al gore announc ecolog intellig practic integr plan execut oscar present relat event academi motion pictur art scienc feb retriev april rate critic lisa de mora washington post tom o'neil lo angel time point ceremoni telecast interest histori unusu up-and-down rate trend nielsen rate measur ceremoni audienc size record histor pull bigger haul box-offic hit favor win pictur trophi million viewer tune telecast year titan gener close million box offic academi award ceremoni lord ring return king box offic earn million receiv award includ pictur drew million viewer bowl scott januari usa todai retriev novemb watch ceremoni base nielsen rate date academi award pictur midnight cowboi drew household rate april contrast ceremoni honor film perform box offic tend show weaker rate academi award award low-budget independ film crash gross million gener audienc million household rate usa todai academi award telecast watch million viewer averag household rate lowest rate watch ceremoni date washington post pictur winner ceremoni low-budget independ financ film countri men gener million prior ceremoni chart previou academi award ceremoni rate venu st academi award present banquet dinner hotel roosevelt hollywood subsequ banquet ceremoni earli held lo angel ambassador hotel biltmor hotel grauman chines theater hollywood host award shrine auditorium lo angel st academi award held academi award theater academi melros avenu hollywood academi motion pictur art scienc retriev april award present hollywood pantag theater oscar move santa monica civic auditorium santa monica california academi decid move ceremoni lo angel time dorothi chandler pavilion lo angel music center dorothi chandler pavilion host consecut oscar ceremoni academi start altern music center shrine auditorium hollywood kodak theater perman home award connect hollywood highland center squar feet space includ retail restaur nightclub establish six-screen cinema fact grand staircas column kodak theater showcas movi won pictur titl academi award critic critic note pictur academi award winner stood test time film world dai grand hotel cecil demil greatest show earth consid ag poorli impact initi releas dougla pratt movi citi new june retriev april rottentomato retriev april roger ebert dec rogerebert retriev april dislik film claim cliché grand hotel film wide critic approv name pictur highli acclaim citizen kane direct orson well rage bull direct martin scorses tim dirk filmsit org retriev april suggest actor disadvantag comedi role act award perform film consid primarili comed jack black john reilli ferrel joke academi award ceremoni paul clinton cnn retriev april comed role rare win scott bowl claudia puig susan usa todai feb retriev april act categori boast notabl exampl oscar-win perform comed role includ actor jame stewart philadelphia stori jack nicholson good actress judi hollidai born yesterdai gwyneth paltrow shakespear love support actor jack lemmon mister robert alan arkin sunshin support actress josephin hull harvei mira sorvino mighti aphrodit studio lobbi heavili film consid lead complaint nomin award larg result lobbi qualiti materi rebecca thomason bbc new feb retriev april aggress studio lobbi appear power indic movi luck oscar british academi deem award nomin competit oscar act perform comedian bob hope receiv honorari oscar contribut cinema humanitarian work academi award merit current award product pictur present director present origin screenplai present adapt screenplai present act actor present actress present support actor present support actress present technic product art direct present cinematographi present film edit present music origin song present origin score present origin music present sound mix present sound edit present sound visual effect visual effect present costum makeup costum design present makeup present anim anim featur present anim short film present documentari documentari featur present documentari short subject present misc foreign languag film present live action short film present retir award assist director danc direct engin effect treatment origin music comedi score short short reel short origin stori uniqu artist qualiti product titl write year award director categori split separ drama comedi categori time origin score categori split separ drama comedi music categori todai origin score categori categori cinematographi art direct costum design award split separ categori black white color film propos award board governor meet year consid categori date propos award approv cast reject stunt coordin reject reject michael hiltzik lo angel time aug retriev april titl design reject special award award vote special committe academi membership individu select receiv special award turn offer current special award academi honorari award present academi special achiev award academi award scientif technic present level award irv thalberg memori award present jean hersholt humanitarian award gordon sawyer award retir special award academi juvenil award +intern atom time french temp atomiqu intern high-precis atom time standard track proper time earth geoid princip realis terrestri time basi coordin univers time utc civil timekeep earth surfac tai second utc initi differ start leap second utc ftp maia usno navi mil ser dat time coordin tai scale convention tradit mean dai carri non-uniform time standard base rotat earth specif julian date gregorian calendar tai form synchronis univers time begin drift oper tai frequenc standard weight averag time atom clock nation laboratori worldwid clock compar satellit caesium atom clock standard si defin due averag stabl clock particip institut broadcast real time frequenc signal time code estim tai time code publish form utc signal mutual synchronis outlier time scale denot form tai npl utc npl utc form npl case identifi nation physic laboratori uk laboratori publish atom time scale denot form ta usno usno identifi unit state naval observatori clock institut regularli compar intern bureau weight measur bipm combin measur retrospect calcul weight averag form stabl time scale combin time scale publish monthli ftp ftp bipm fr pub tai public circular canon tai time scale express form tabl differ particip institut error public correct issu revis faulti circular errata subsequ circular publish circular tai scale revis hindsight discov error tai estim true proper time scale creat version tai consid creat realis terrestri time tt articl tt inform histori atom timekeep servic start experiment caesium atom clock nation physic laboratori uk npl formalis atom time scale scale defin unit state naval observatori usno defin epoch begin set read julian date ut instant jd calcul usno synchronis inevit imperfect depend astronom realis ut time ut publish observatori differ extrapol bureau intern de l'heur bih supersed bipm ier construct atom time scale name base atom clock clock compar listen radio time signal base bih time scale synchronis epoch extrapol time signal caesium clock npl time scale renam utc began utc discontinu time scale compos segment linear transform atom time discontinu arrang utc approxim ut compromis arrang broadcast time scale linear transform bih atom time meant time scale stabl internation synchronis approxim ut mean task navig requir sourc univers time continu serv public time broadcast si redefin term frequenc suppli caesium atom clock clock ad time scale renam ta final renam tai clear clock particip tai tick rate due gravit time dilat combin tai scale correspond averag altitud clock start julian date correct appli output particip clock tai correspond proper time sea level geoid clock averag sea level meant tai slow uncorrect time scale continu publish eal echel atomiqu libr mean free atom scale instant gravit correct start appli serv epoch barycentr coordin time tcb geocentr coordin time tcg terrestri time tt time scale defin read jd instant offset provid continu older ephemeri time tai henceforth realis tt equat tt tai tai annual period variat rate clock trace blackbodi radiat vari ambient temperatur clear correct requir bipm declar definit si refer caesium atom rest absolut temperatur temperatur correct implement tai speed tai +wiktionari altruism wiktionari free dictionari altruism selfless concern welfar tradit virtu cultur central religi tradit english idea golden rule ethic newer philosophi egoism critic concept philosoph argu moral oblig philosophi objectiv step argu altruism immor base self-sacrific altruism selfish altruism distinguish feel loyalti duti altruism focus motiv good reward duti focus moral oblig specif individu god king specif organ govern abstract concept patriot individu feel altruism duti pure altruism give regard reward benefit recognit concept long histori philosoph ethic thought topic psychologist evolutionari psycholog research sociologist evolutionari biologist ethologist idea altruism field impact field method focus field lead perspect altruism research altruism spark murder kitti genoves naissanc d'une théori la dans du le de penser en rond french stab hour passiv wit withhold help etymolog word altruism deriv french autr turn deriv latin alter coin august comt french founder positiv order describ ethic doctrin support believ individu moral oblig serv interest greater good human comt positivist social point view toler notion right notion rest individu born load oblig kind predecessor successor contemporari birth oblig increas accumul time return servic live definit formula human moral direct sanction exclus instinct benevol common sourc happi duti man serv human ethic doctrin altruism ethic doctrin prescrib refer term altruism serv place interest altruism social scienc perform act benefici view gain person benefit isn't altruist motiv act perspect benefit interest defin materi gain monei physic reward form benefit identifi includ materi immateri gain affect respect happi satisfact philosoph ident benefit psycholog egoism peopl exhibit altruist behavior altruist motiv psycholog egoist spend live benefit materi benefit materi net loss basic motiv interest alleg foundat motiv person act advanc psycholog well-b good feel problem philosophi problem love aris analysi human debat thomist philosoph problem center thoma aquina understand human express love base partli love similitud man love love like proport love love thoma aquina summa theologica york benzig bro i-ii art rep obj french philosoph pierr rousselot locat philosoph problem term pure ecstat total selfless love egotist self-interest love begin examin aristotl text nicomachean ethic book friendli feel bear arisen friendli feel bear pierr rousselot problem love middl ag histor contribut tran alan milwauke marquett univ press relat altruist act self-interest common problem french centuri moralist examin la rochefoucauld jansenist pascal nicol author claim act generos fact act vaniti stanc support mandevil la rochefoucauld write maxim call virtu collect casual action selfish interest chanc industri manag arrang valor men valiant chastiti women chast classic theori gave rise ration egoism harshli oppos adam smith theori moral sentiment great fallaci dr mandevil book repres passion wholli viciou degre direct treat vaniti refer sentiment mean sophistri establish favourit conclus privat vice public benefit adam smith theori moral sentiment vii prometheu book critic theori conflat altruism vaniti self-interest reject ground word imposs prove disprov immateri gain good feel measur proven exist peopl perform altruist act psycholog egoism accus circular logic person willingli perform act mean deriv person enjoy peopl perform act give person enjoy statement circular conclus ident hypothesi assum peopl perform act give person enjoy conclud peopl perform act give person enjoy common parlanc altruism mean help person expect materi reward person entail intern benefit good feel sens satisfact self-esteem fulfil duti impos religion ideolog simpli conscienc specul motiv altruist question human exclus altruist famili member previou co-oper potenti futur alli altruist peopl don't meet human donat intern chariti volunt time societi fortun argu individu contribut chariti gain respect statur commun altruism game theori strain plausibl claim altruist deed hope return favor influenc consequentialist perspect utilitarian game theori analysi strategi principl case pull favor decidedli non-optim strategi net expenditur effort greater net profit occasion pai attribut need difficult behavior sole explain indirect selfish ration consciou unconsci mathemat formul kin select line prison dilemma help game-theoret explan gloss fact altruist behavior attribut appar mysteri phenomenon conscienc suggest propos philosoph daniel dennett initi develop problem so-cal tragedi common larger-scal version prison dilemma game theori term free rider agent draw benefit cooper societi contribut one-to-on situat free ride easili discourag tit-for-tat strategi larger-scal societi contribut benefit pool share incred difficult shake imagin elementari societi cooper organ cooper agent interact contribut resourc draw common good imagin rogu free rider agent draw favor scratch refus return problem free ride benefici individu cost societi well-behav cooper agent avoid cheat gener obviou solut cooper evolv abil spot potenti free rider advanc refus enter reciproc arrang canon free rider respons evolv convinc disguis fool cooper cooper lead evolutionari arm race disguis detector evolutionari arm race convinc comrad genuin cooper free rider disguis answer make oneself genuin cooper erect psycholog barrier break promis advertis fact word good solut organ evolv forc cooper obviou they'v evolv theori evolut produc organ sincer moral wear heart sleev short evolut give rise phenomenon conscienc theori combin idea kin select one-to-on share benefit explain blind process produc genuin form altruism rise human conscienc critic technic game theori analysi point appear forget human be ration emot presum analysi human behavior includ human rational emot necessarili unrealist narrow treat human be mere machin call homo economicu object peopl donat anonym imposs determin altruist act compar kant affirm motiv determin moral natur act motiv act imposs singl moral act exist begin understand ration human be benefit live benign univers logic human be gain substanti emot satisfact act perceiv world place altruism moral polit altruist divid broad group promin branch altruist polit thought lysand spooner natur law write man doubt ow moral duti fellow men feed hungri cloth nake shelter homeless care sick protect defenceless assist weak enlighten ignor simpli moral duti man judg case perform aristotl classic distinct regim polit iii altruism held kind ethic guid action politician peopl posit power peopl expect set interest serv populac critic default believ ethic oblig place interest ayn rand founder objectivist philosophi argu altruism oper principl self-sacrific intrins immor defin sacrific exchang superior inferior rand argu fundament moral live entiti life live entiti univers consist law live be action surviv argu moral code arbitrari follow ration framework rand ayn addit articl nathaniel branden virtu selfish signet book sacrific rand worst kind moral transgress fundament undermin basic principl live entiti optim wors argu altruism self-sacrifici form embrac univers human kind remain exist long altruism deep ecolog norwegian philosoph arn næss propon deep ecolog suggest narrow concept egoic impli act good act altruism larger concept ecolog interconnected progress larger whole ultim incorpor life gaia hypothesi mean interest ultim requir flourish well-b life concept similar respect land ethic aldo leopold set concept altruism widest boundari moral concern seed john maci joanna al think mountain council be societi public altruism etholog evolutionari biologi scienc etholog studi behavior gener studi social evolut altruism refer behavior individu increas fit individu decreas fit actor research alleg altruist behaviour anim ideolog oppos social darwinist concept surviv fittest surviv nicest global compat theori evolut insist cooper behaviour anim expos russian zoologist anarchist peter kropotkin book mutual aid factor evolut develop game theori ultimatum game explan appar altruism tradit evolutionari analys propos mechan behaviour manipul parasit alter behavior host bound ration herbert simon conscienc kin select includ eusoci selfish gene meme influenc behavior favour spread religion reciproc altruism mutual aid sexual select handicap principl reciproc social psycholog indirect reciproc reput strong reciproc herbert ginti septemb strong reciproc human social journal theoret biologi studi altruism initi impetu georg price develop price equat mathemat equat studi genet evolut interest altruism cellular slime mould dictyostelium protist live individu amoeba starv point aggreg form multicellular fruit bodi cell sacrific promot surviv cell fruit bodi social behavior altruism share similar interact part cell gene organ distinguish abil individu reproduc indefinit absolut requir neighbor jorg moll jordan grafman neuroscientist nation institut health hospit network evid neural base altruist give normal healthi volunt function magnet reson imag research publish proceed nation academi scienc usa octob human network guid decis charit donat pna show pure monetari reward charit donat activ mesolimb reward pathwai primit part brain light respons food sex volunt gener interest make charit donat brain circuit select activ subgenu cortex septal region structur intim relat social attach bond speci altruism experi suggest superior moral faculti suppress basic selfish urg basic brain hard-wir pleasur washington post studi samuel bowl santa fe institut mexico breath life model group select altruism surviv nicest bowl conduct genet analysi contemporari forag group includ australian aborigin nativ siberian inuit popul indigen tribal group africa hunter-gather band individu consider close relat previous thought condit thought similar middl upper paleolith altruism improv fit group individu defend group kill gene individu share group pass earli custom food share monogami level altruist behaviour incom tax redistribut incom societi assembl genet climact archaeolog ethnograph experiment data examin cost-benefit relationship human cooper ancient popul model member group bear gene altruist behaviour pai tax limit reproduct opportun benefit share food inform increas averag fit group band altruist human act gain resourc group challeng time histori fisher richard decemb altruism paid ancestor newscientist new servic altruist theori evolutionari biologi contest amotz zahavi inventor signal theori correl handicap principl base observ arabian babbler bird commonli surpris alleg altruist behaviour altruism religion world religion promot altruism import moral christian buddhism sikhism place emphasi altruist moral note judaism islam hinduism religion promot altruist behavior altruism central teach jesu gospel sermon mount sermon plain biblic mediev christian tradit tension self-affirm discuss head disinterest love paulin phrase love seek interest book indoctrin self-decept roderick hinderi shed light tension contrast impostor authent self-affirm altruism analysi creativ individu contrast love love love confirm freedom shun propaganda mask assur presenc ultim confirm mere declar person experi practic practic art presenc mean love valid grasp word reflect obviou altruism central teach jesu import influenti strand christian qualifi st thoma aquina summa theologica ii articl state love neighbour interpret paulin phrase seek common good privat good common good desir good individu love neighbour leviticu matthew interpret st thoma mean love ourself exemplar love love god neighbour entireti bodili life ultim purpos love neighbour share etern beatitud desir bodili comt oppos thomist doctrin part mainstream catholic coin word altruism state sikhism altruism essenti sikh religion late guru gobind singh ji tenth guru sikhism war moghul ruler protect peopl faith fellow sikh bhai kanhaiya attend troop enemi gave water injur reviv strength began fight problem sikh warrior sikh soldier brought bhai kanhaiya guru complain action consid counterproduct hard work battl file ask guru give water wound face repli bhai kanhaiya guru respond give ointment heal wound practic coach hous guru love altruism room hatr dualiti tutelag guru bhai kanhaiya subsequ found volunt corp altruism volunt corp date engag good train volunt recruit claim sikh bhai kanhaiya successor continu tradit serv commit live servic sick wound live longer usual life span bhai successor relat genet order account except longev volunt sikh organ commit live serv sick recruit defi record longev norm time long span centuri longev determin factor freedom diseas stress factor altruist observ live calm tranquil live sikh altruism act faith founder +ang lee chines pinyin born octob academi award-win film director taiwan cnn march retriev april career overview book cinema ang lee side screen whitnei crother dillei analyz detail strike divers ang lee film lee recur theme alien margin repress taipei time decemb lee film earli chines trilogi focus interact modern tradit film light-heart comic tone mark break tragic histor realism character taiwanes filmmak martial law period wed banquet break-out hit lee proportion profit film sens sensibl brought lee true intern acclaim crouch tiger hidden dragon nomin academi award director brokeback mountain won academi award director cultur touchston sweep award ceremoni case brokeback mountain spark intens critic debat director cut crouch tiger hidden dragon premier ivi leagu campu dartmouth colleg receiv dartmouth film award meryl streep dartmouth new octob dartmouth taught kai wong filmmak lee film brokeback mountain won golden lion film award venic intern film festiv name film lo angel york boston london film critic won pictur broadcast film critic associ director guild america writer guild america adapt screenplai produc guild america independ spirit award golden globe award motion pictur drama lee win golden globe award director brokeback won film director british academi award bafta januari brokeback score lead academi award nomin includ pictur director lee won asian non-caucasian director lee film lust caution earn golden lion make director won venic golden lion biographi educ ang lee born town pingtung ho yi taipei time march southern agricultur counti taiwan republ china grew household put heavi emphasi educ chines classic ang lee parent move taiwan mainland china defeat chines civil war lee father nativ jiangxi provinc southern china imbu children studi chines cultur art calligraphi lee grandpar di cultur revolut accus black categori simplifi chines tradit chines pinyin lyco ang lee lyco lee studi nation tainan senior high school father princip expect pass annual joint colleg univers entranc examin rout univers educ taiwan fail exam disappoint father enter three-year colleg nation art school reorgan expand graduat father want professor interest art colleg earli frustrat set career path perform art finish mandatori militari servic lee studi univers illinoi urbana-champaign complet bachelor theater enrol tisch school art york univers receiv mfa classmat spike lee work crew thesi film joe bed-stui barbershop cut head graduat school lee finish mm short film shade lake won drama award short film taiwan thesi work drama fine line won nyu wasserman award outstand direct select public broadcast servic dormanc graduat lee nyu thesi drew attent william morri agenc famou talent literari agenc repres lee wma lee opportun lee remain unemploi year time full-tim househusband wife jane lin chines pinyin lín molecular biologist sole breadwinn famili arrang embarrass chines cultur put enorm pressur coupl lin support understand lee abandon career film continu gener idea movi perform wrote screenplai time retriev april lee submit screenplai push hand wed banquet competit sponsor taiwan govern inform offic win screenplai brought lee attent hsu chines pinyin promot senior manag major studio strong interest lee uniqu style fresh hsu first-tim produc invit lee direct push hand full-length featur debut debut taiwan push hand success taiwan critic box offic receiv nomin golden hors film festiv taiwan premier film festiv inspir success hsu collabor lee film wed banquet won golden bear berlin film festiv nomin foreign languag film golden globe academi award film collect eleven taiwanes intern award lee rise star lee movi base stori taiwanes american film hsu invit lee return taiwan eat drink man woman film depict tradit valu modern relationship famili conflict taipei film box offic hit critic acclaim consecut year lee film receiv foreign languag film nomin golden globe academi award british academi award eat drink man woman won award taiwan internation includ director independ spirit hollywood option film right remad tortilla soup dir maría ripol rare occas taiwanes film remad island come hollywood lee drama open door hollywood lee direct columbia tristar british classic sens sensibl switch taiwanes british film stop lee claim award film festiv sens sensibl lee time director golden bear film berlin film festiv nomin academi award won adapt screenplai emma thompson won golden globe award motion pictur drama success lee direct hollywood movi ic storm family-ori satir set suburban america ride devil american civil war drama critic highli favor work box offic impress paus lee uninterrupt popular gener audienc art school full-length movi late ic storm high vh dvd sale rental repeat screen cabl televis increas film popular audienc wuxia superhero genr hsu lee partner support invit movi base tradit chines martial art chivalri genr excit opportun fulfil childhood dream lee assembl team taiwan hong kong mainland china crouch tiger hidden dragon film surpris success worldwid chines dialogu english subtitl film highest gross foreign film countri includ unit state unit kingdom nomin pictur foreign languag film director academi award end win foreign languag film technic award success crouch tiger demonstr lee artistri gener appeal inspir establish director zhang yimou chen kaig explor wuxia film western audienc lee return hollywood direct hulk big-budget movi film base comic book superhero fill obligatori cgi special effect lee genr tortuou stori father son movi disappoint critic audienc setback lee consid retir earli father encourag continu make movi climb mountain lee decid small-budget low-profil independ film base anni proulx pulitz short stori brokeback mountain robert elder lee quot gai ranch hand wyom spite director remov subject hand brokeback mountain showcas lee skill probe depth human heart movi forbidden love wyom sheepherd immedi caught public attent initi intens debat film critic acclaim major intern film festiv won lee numer director film award worldwid addit brokeback cultur phenomenon box offic hit brokeback nomin lead oscar frontrunn pictur head march ceremoni lost crash stori race relat lo angel controversi upset specul film depict homosexu reason upset lee disappoint film win pictur ap cbsnew march honor win director asian win award lust caution brokeback mountain lee return chines topic film lust caution adapt short chines author eileen chang stori written loos base actual event place japanes china world war similar brokeback mountain ang lee adapt expand short simpl stori featur film individu figur develop sophist layer reserv emot sidetrack complic plot overstuf materi lust caution distribut focu featur premier intern film festiv summer earli fall movi receiv rate admit mpaa due strongli explicit sex scene challeng film distribut theater chain unit state refus show film director film studio decid appeal decis order permit show lust caution mainland china lee remov minut film content suitabl minor audienc govern restrict afp yahoo new septemb lust caution won golden lion biennal venic film festiv make lee award highest prize time year critic posit lust caution plai lee nativ taiwan origin full-length edit receiv stai taiwan promot film particip tradit chines holidai lee emot work wide applaud fellow chines lee admit expect film audienc pace film languag chines min lee press usa todai septemb collabor jame schamu ang lee longtim collabor writer produc jame schamu co-wrot produc film includ push hand eat drink man woman wed banquet ic storm ride devil crouch tiger hidden dragon tortilla soup hulk brokeback mountain lust caution person life lee natur citizen dedic fan calgari flame live larchmont york wife jane lin microbiologist marri younger son mason lee born student mamaroneck high school coupl son haan lee born linguist divers chines film ang chines languag film show fair amount linguist divers rare chines film except wong kar-wai push hand chu fat tai chi chuan student spoke cantones wed banquet gao would-b bride conveni spoke parent telephon wu dialect shanghaines chines restaur owner spoke mandarin tianjin accent eat drink man woman younger gener spoke mandarin taiwanes accent matriarch spoke mandarin hunan accent scene eat drink man woman man spoke taiwanes respond mandarin chow yun-fat michel yeoh critic mandarin speaker consid mandarin poor accent crouch tiger hidden dragon yeoh point decemb interview cinescap charact live beij didn’t beij accent interview craig reid remark mother-in-law strang accent hard understand yeoh respond es provinc strong accent start movi cheng pei pei accent chang zhen accent person accent understand forget crew beij thought weird lust caution languag rang cantones shanghaines mandarin suzhou dialect hindi japanes english film director film direct ang lee writer push hand chines pinyin wed banquet chines pinyin eat drink man woman tradit chines simplifi chines pinyin siao yu tradit chines simplifi chines pinyin xiǎo liter young girl small fish actor wed banquet chines pinyin hulk edit push hand chines pinyin eat drink man woman tradit chines simplifi chines pinyin produc siao yu tradit chines simplifi chines pinyin xiǎo liter young girl small fish crouch tiger hidden dragon tradit chines simplifi chines pinyin award director nation board review motion pictur sens sensibl director york film critic circl award sens sensibl director independ spirit award crouch tiger hidden dragon director motion pictur golden globe crouch tiger hidden dragon outstand directori achiev motion pictur director guild america crouch tiger hidden dragon david lean award achiev direct bafta award crouch tiger hidden dragon director boston societi film critic brokeback mountain director broadcast film critic associ brokeback mountain director dallas-fort worth film critic associ brokeback mountain director independ spirit award brokeback mountain director lo angel film critic associ brokeback mountain director york film critic circl award brokeback mountain director san francisco film critic circl award brokeback mountain director vancouv film critic circl brokeback mountain director motion pictur golden globe brokeback mountain outstand directori achiev motion pictur director guild america brokeback mountain david lean award achiev direct bafta award brokeback mountain achiev direct academi award brokeback mountain golden lion prestigi award offer venic film festiv brokeback mountain individu includ time magazin time peopl shape world golden lion prestigi award offer venic film festiv lust caution director won golden lion cayatt director won golden lion year book dillei whitnei crother cinema ang lee side screen london wallflow press note +ayn rand ipa februari januari march born alisa rosenbaum russian russian-born american novelist philosoph sourc note eschew academ philosophi work rightli consid work literatur objectivist philosophi regularli omit academ philosophi literari academia ayn rand consid philosoph work merit consider work philosophi jenni heyl cite mimi gladstein chri matthew sciabarra ed feminist interpret ayn rand penn state press wide best-sel novel fountainhead atla shrug develop philosoph system call objectiv uncompromis advoc ration individu laissez-fair capit vocifer oppos social altruism contemporari philosoph trend religion influenti controversi idea attract enthusiast admir scath denunci introduct rand write fiction non-fict emphas philosoph concept object realiti metaphys reason epistemolog ration egoism ethic polit propon laissez-fair capit staunch defend individu right believ sole function proper govern protect individu right includ properti right believ individu choos valu action sole reason mean end rand individu exist sake sacrif sacrif pursuit ration self-interest happi highest moral purpos life rand ayn voic reason dutton plume introduc objectiv articl origin appear lo angel time june held faith antithet reason rand oppos religion rand decri initi forc fraud held govern action consist protect citizen crimin aggress polic foreign aggress militari maintain system court decid guilt innoc object defin crime resolv disput polit gener minarchist libertarian term disavow connect retriev march ayn rand institut rand state i'v read libertarian wasn't idea badli teeth pull credit rand self-describ state book romant manifesto goal write project ideal man refer philosophi objectiv philosophi essenc concept man heroic happi moral purpos life product achiev noblest activ reason absolut appendix atla shrug earli life childhood educ rand born saint petersburg russia eldest daughter alisa natasha nora retriev march websit documentari film rand life zinovi rosenbaum anna borisovna rosenbaum agnost larg non-observ ethnic jew father chemist success pharmaceut entrepreneur earn privileg live pale retriev march earli ag alisa displai interest literatur film mother taught french subscrib magazin featur stori boi rand childhood hero cyru indian armi offic rudyard stori mauric champagn call mysteri vallei retriev june youth read novel sir walter scott alexandr duma père romant writer express interest romant movement discov victor hugo ag thirteen call greatest novelist world literatur hugo victor ninety-thre nbi press translat lowel bair introduct ayn rand vii xv rand wrote ideal educ curriculum aristotl philosophi von mise econom montessori educ hugo literatur long roderick march ayn rand studi histori philosophi st petersburg univers twelv time russian revolut famili life disrupt rise bolshevik parti father pharmaci confisc soviet famili fled crimea recov financi crimea fell bolshevik rand burn diari contain vitriol anti-soviet write rand return st petersburg attend univers petrograd march internet encyclopedia philosophi studi histori philosophi discov literari work edmond rostand friedrich schiller fyodor dostoevski admir rostand richli romant imagin schiller grand heroic scale admir dostoevski sens drama intens moral judgment deepli philosophi sens life roger retriev march write rand objectiv brought full circl three-wai argument chernyshevski pisarev underground man nietzsch dostoevski christian philosoph conduct russia complet three-year program depart social pedagogi includ histori philolog law receiv certif graduat diploma octob sciabarra chri matthew retriev march encount philosoph idea nietzsch love exalt heroic independ individu embrac egoism reject altruism spake zarathustra reject aspect philosophi discov write rand continu write short stori screenplai enter state institut cinema art studi screenwrit late grant visa visit american rel immigr marriag februari arriv unit state ag enter ship york citi ultim home profoundli move citi skylin describ novel fountainhead give greatest sunset world sight york skylin sky york man visibl religion feel war threaten throw space citi protect build bodi miller eric march stai rel chicago resolv return soviet union set hollywood screenwrit rand cyril contract surnam adopt ayn disput origin possibl contract letter surnam handwritten cyril strongli resembl roman letter ari biograph research dr gotthelf berlin note russia anna rand cyril contract rosenbaum note hypothesi finnish origin ayn retriev march initi rand struggl hollywood odd job pai basic live expens chanc face-to-fac meet fame director cecil demil led job extra film king king subsequ work script reader retriev march org work head costum depart rko studio harold retriev march work film intention bump aspir young actor frank o'connor caught ey marri april remain marri fifti year o'connor death ag rand natur american citizen fierc proud unit state year graduat class west point patriot bromid full knowledg metaphys epistemolog ethic polit aesthet unit state america greatest noblest origin found principl moral countri histori world rand ayn retriev march address graduat class unit state militari academi west point york march fiction rand view equal novelist philosoph reason rand support note part long tradit author wrote philosoph rich dant john milton fyodor dostoevski albert camu philosoph jean-paul sartr present philosophi fiction non-fict form articl rand appear economist state rand’ novel sell copi year exhort reader big build big earn big edit book carri postcard reader inclin learn objectiv author’ credo blend free market reason individu spout economist novemb earli work literari success sale screenplai red pawn univers studio von sternberg consid dietrich russian scenario favour project drop turner jenni march review jeff biographi ayn rand rand wrote plai night januari produc broadwai plai courtroom drama juri chosen audienc decid verdict lead end sens life homepag rand publish live rand live autobiograph novel theme brutal life communist rule russia internet encyclopedia philosophi harsh anti-communist tone met mix review period great depress red decad refer high-wat mark sympathi socialist ideal stephen cox objectivist center observ live publish height russian social popular leader american opinion fail attract audienc cox stephen retriev march frank o'connor ayn rand spent summer stoni creek connecticut frank work summer stock theatr ayn plan novella anthem dystopian vision futurist societi collectiv triumph anthem find publish unit state publish england fountainhead rand major profession success best-sel fountainhead wrote period year broadwai hollywood depart store hollywood vine hollywood modern style annex west built build addit view young ayn rand basi research construct techniqu worker architect richard neutra design intern style laemml build hollywood boulevard north man model howard roark lead charact reject twelv publish final accept bobbs-merril compani publish hous member editori board archibald ogden prais book highest term book editor final prevail cato institut retriev march eventu fountainhead worldwid success bring rand fame financi secur major motion pictur warner brother gari cooper patricia neal rand wrote screenplai sixti year publish rand sold million copi continu sell copi year success fountainhead rand wrote screenplai movi love letter atla shrug atla largest sculptur work rockefel center york citi lee lawri rene chambellan art deco style magnum opu atla shrug publish due success fountainhead initi print copi chamber whittak retriev march reprint contemporari review atla shrug nation review book intern bestsel frequent claim retriev march atla shrug influenti book america bibl retriev march show widespread claim exagger find survei retriev march detail actual survei find salmonson jessica amanda retriev march atla shrug cite interviewe book influenc popular interest influenc atla shrug rand extens statement objectiv work fiction appendix offer summari theme atla shrug role man mind societi rand upheld industrialist admir member societi fierc oppos resent popularli accord industrialist led envis industrialist america strike retreat mountain hideawai build independ free economi gold currenc american economi societi gener depriv product member slowli start collaps govern respond increas stifl control industri includ element mysteri scienc fiction deal divers issu wide-rang sex music medicin polit philosophi industri human abil objectiv ayn rand philosoph system rand philosoph system objectiv encompass posit metaphys epistemolog ethic polit aesthet objectivist theori rand objectiv term treat knowledg valu subject intrins exist tradit mean object factual identif man mind exist philosoph influenc rand greatli influenc aristotl earli inspir nietzsch vocifer oppos view kant intellectu kinship john lock conceptu idea individu product labor natur right life liberti properti retriev april refer leonard peikoff lectur describ connect rand john lock treatis govern gener philosophi ag enlighten ag reason occasion report approv specif philosoph posit includ baruch spinoza st thoma aquina respect th-centuri american rationalist brand blanshard rand believ period thousand year reason ration undergon bombard vari compet massiv sustain half-centuri branden nathaniel retriev april review blanshard book origin publish objectivist newslett februari aristotl rand greatest influenc aristotl organon logic consid aristotl greatest philosoph long roderick march rand ultim critic aristotl ethic note egoist ethic type close aristotl system guidelin requir human be live live successfulli flourish surviv qua man machan tibor retriev april younkin argu philosophi diverg aristotle’ essenc epistemolog contextu metaphys envis aristotl philosoph declar exist essenc concret younkin edward retriev april nietzsch earli life rand admir work friedrich nietzsch share nietzsch rever human potenti loath christian philosophi immanuel kant hick stephen retriev march review ronald merril idea ayn rand eventu critic philosophi emphas emot reason subject interpret realiti realiti exist independ debat extent relationship rand view nietzsch evolut rand view nietzsch allan gotthelf ayn rand describ edit live sympathet nietzschean idea bjorn faulkner karen andr charact night januari exemplifi aspect nietzsch view ronald merril author idea ayn rand identifi passag live rand omit reprint heroin entertain final reject sentiment explicitli attribut nietzsch justic sacrif weak strong mcleme scott retriev april origin lingua franca septemb rand deni close intellectu relationship nietzsch character edit live stylist grammat destruct gail wynand fountainhead view reject nietzsch great succe sacrif mass journal suggest reject tradit ethic entri identifi error nietzschean gail wynand achiev power mass cost ideal standard slave mass independ man success depend mass rand disagre nietzsch idea introduct anniversari edit fountainhead conclud nietzsch statement nobl soul rever kant ayn rand view kant philosophi led kant monster objectivist rand deepli oppos philosophi immanuel kant rand disagre strongli kant philosoph issu diverg greatest metaphys epistemolog ethic regard kant essenti philosophi metaphys epistemolog phenomen world kant real realiti perceiv man mind distort distort mechan man conceptu faculti man basic concept time space exist deriv experi realiti automat system filter conscious label categori form percept impos design percept extern world incap perceiv manner perceiv prove kant man concept delus collect delus power escap reason scienc limit kant valid long deal world perman pre-determin collect delus criterion reason valid switch object collect impot deal fundament metaphys issu exist belong noumen world noumen world unknow world real realiti superior truth mean perceiv man fact kant theori categori sourc man concept preposter invent argument amount negat man conscious conscious conscious argument essenc ran man limit conscious specif natur perceiv specif mean conscious valid man blind perceiv exist perceiv contrari rand believ man full direct awar realiti rand view kant dichotomi sever ration reason real world ethic rand critic kant claim action moral worth duti concept rand outgrowth mystic basi realiti strongli disagre kant notion moral happi kant version moral kind zombi inhabit kind kantian univers consist total abject selfless action moral kant desir perform perform sens duti deriv benefit sort materi spiritu benefit destroi moral action desir evil good rand word final issu objectivist wrote find hard advoc kant advoc doubt suggest refer read origin work seek escap subject think kant didn't kant evil man mankind histori objectivist movement rand move east street branden nathaniel retriev april york citi form group jokingli design collect includ futur feder reserv chairman alan greenspan young psycholog student name nathan blumenth nathaniel branden wife barbara leonard peikoff profoundli influenc fountainhead branden wrote rand letter invit home person meet march month turn twenti march rand launch objectivist movement group promot philosophi group origin start inform gather friend met rand weekend apart discuss philosophi collect proce plai larger formal role help edit atla shrug promot rand philosophi nathaniel branden institut nbi establish purpos collect member gave lectur nbi citi unit state wrote articl sister newslett objectivist rand develop promot objectivist philosophi fiction non-fict work give talk east-coast univers larg nbi objectivist newslett expand renam simpli objectivist contain essai rand branden associ analyz current polit event appli principl objectiv everydai life rand publish book form year rand close relationship younger branden turn romant affair consent spous last branden separ barbara enter affair young actress scott marri branden hid affair rand abruptli end relationship branden nbi close publish letter objectivist repudi branden dishonesti irrat behavior rand ayn concern objectivist york disclos affair branden remain persona grata mainlin objectivist movement group form ayn rand institut polit social view rand held moral social system laissez-fair capit polit view strongli individualist anti-statist anti-communist exalt heroic american valu ration egoism individu champion ration rand strong opposit mystic religion believ help foster crippl cultur act individu human happi success rand detest promin liber conserv politician time includ promin anti-communist harri truman ronald reagan hubert humphrei joseph mccarthi oppos involv world war world war ii retriev april excerpt rand write cite ari watch websit korean war strongli denounc pacif nation resort war purpos rightli wrongli fight justifi purpos self-defens retriev april ari websit oppos involv vietnam war ultim suicid extrem altruism intern scale observ war war american soldier dy purpos felt unilater american withdraw mistak appeas embolden communist soviet union consid anti-communist john birch societi futil capit commun rand support israel arab-isra war attack govern support individu right arab develop cultur typic nomad cultur primit resent israel sole beachhead modern scienc civil contin civil men fight savag support civil men matter ayn rand ford hall forum lectur text publish websit ayn rand institut rand consid found mother rose wilder lane isabel paterson modern american libertarian reject libertarian libertarian movement retriev januari econom express qualifi enthusiasm econom thought ludwig von mise henri hazlitt ludwig von mise institut larg result ayn effort work von mise began reach potenti audienc long roderick retriev march long cite barbara branden passion ayn rand sourc claim objectivist richard salsman claim rand econom theori implicitli support doctrin jean-baptist rand acquaint work gender sex race rand view gender role creat controversi book champion men women intellectu equal dagni protagonist atla hands-on railroad execut thought differ physiolog men women led fundament psycholog differ sourc gender role rand deni endors kind power differ men women state metaphys domin sexual relat refer man role prime mover sex necess male arous sex occur rand ayn ayn rand answer rand woman qua woman essenc feminin desir man rand theori sex impli broader ethic psycholog theori debas anim instinct believ sex highest celebr greatest valu sex physic respons intellectu spiritu mechan give concret express valu experienc abstract atla shrug hero man find sexual attract entir philosophi life show woman sleep valuat rand ayn atla shrug mccall magazin interview rand state women compet presid ration woman seek posit explain psycholog damag woman rand ayn answer reader woman presid objectivist strongli oppos modern feminist movement support goal rand ayn left anti-industri revolut feminist author susan brownmil call rand traitor sex includ camil paglia contributor feminist interpret ayn rand note rand fierc unapologet sexual heroin unbound tradit chain sex want atla shrug rand villain lillian rearden observ band wrist dagni nake arm gave feminin aspect chain lillian humbl awar wife great man content reflect taggart dagni don't rand ayn atla shrug random hous night januari fountainhead featur sex scene styliz erot combat claim border rape rand fountainhead depict rape rape engrav invit branden barbara passion ayn rand doubledai review biographi rand writer jenni turner opin sex rand’ novel extraordinarili violent fetishist fountainhead coupl hero herald whip rock drill horseback ride crack marbl act scorn love word rape act master shame contemptu possess kind raptur want atla shrug erot tension cleverli increas heroin bound plot lot spectacularli cruel handsom men sourc controversi rand view homosexu remark ford hall forum northeastern univers rand person view homosexu immor disgust ford hall forum remark cite retriev march specif state psycholog immor root homosexu involv psycholog flaw corrupt error unfortun premis retriev march number note current objectivist highli critic rand view homosexu varnel paul retriev octob forum origin publish chicago free press kurt argu rand’ view line view time gener public psychiatr commun assert slightest argument posit regard matter self-evid woman presid issu kurt march review chri matthew ayn rand homosexu human liber leap publish articl woman presid rand issu self-evid appear rand note govern prohibit homosexu behavior privileg individu sex life rand defend busi discrimin basi sexual orient race criteria rand argu right violat privat individu organ refus deal reason irrat rand oppos ethnic racial prejudic moral ground essai racism global balkan argu individu busi act prejudic govern intervent wrote racism lowest crude primit form collectiv notion man judg charact action charact action collect ancestor rand ayn racism return primit anti-industri revolut retriev march oppos government remedi problem privat racism legal moral fought privat mean econom boycott social ostrac racism return primit anti-industri revolut huac testimoni red scare rand testifi friendli wit hous committe un-american activ testimoni regard dispar person experi soviet union fanci portray film song russia rand argu film grossli misrepres socioeconom condit soviet union portrai life ussr believ temporari allianc ussr defeat nazi case portrai believ fals posit imag soviet life good reason truth dictatorship worthwhil devil churchil order defeat evil hitler good argument pretend russia rand huac testimoni cite retriev april hear rand ask feel effect investig process futil chariti rand support principl give chariti oppos notion moral duti major virtu oppos chariti social program govern cathi young character chariti fiction chiefli neg year visit lectur rand visit lectur univers begin talk yale univers princeton univers columbia univers subsequ year lectur univers wisconsin john hopkin univers harvard univers mit ayn rand bibliographi retriev octob receiv honorari doctor lewi clark colleg retriev april year gave annual lectur answer question audienc afterward declin health death grave marker frank o'connor ayn rand briefli reunit youngest sister nora live soviet union catherin retriev march rand written letter famili soviet union attempt bring unit state ceas contact read notic post offic letter american imperil russian risk stalinist repress rand receiv letter nora invit husband america sister view chang rand disappoint nora voluntarili return ussr retriev april rand underw surgeri lung cancer conflict continu wake break branden subsequ collaps nbi closest collect friend part compani late activ objectivist movement declin death husband novemb ari retriev april final project work televis adapt atla shrug plan write lorn dieterl note rand ayn journal ayn rand dutton edit david harriman rand di heart failur march street home york citi saxon wolfgang retriev februari york time march year successfulli battl cancer inter kensico cemeteri valhalla york david kellei read kipl poem gravesid rand funer attend promin follow includ alan greenspan six-foot floral arrang shape dollar sign casket legaci quot rand featur american adventur exhibit epcot centr walt disnei world rand book continu wide sold read million copi sold sold year cato ayn rand retriev april rand objectiv north america pocket interest europ australia zealand novel report popular india atla societi retriev march turkei filmmak sinan publish work gain increasingli wider audienc africa enjoi popular israel earli work mosh kroi gener rand work effect academ philosophi follow larg drawn profess anthem foundat objectivist scholarship offer resourc studi objectiv univers texa austin ashland univers ohio univers pittsburgh univers pittsburgh professor jame lennox allan gotthelf head research scholar renown illumin aristotl write duke univers professor gari hull member ayn rand institut lectur cours incorpor objectivist literatur discuss professor allan gotthelf point modern trend academ philosophi philosoph recept objectivist idea chief notion essenc concept epistemolog develop virtu theori ethic current project norm philosophi scienc logic rand death continu conflict objectivist movement led establish independ organ claim intellectu heir ayn rand institut leonard peikoff surviv member collect ayn rand design heir establish ayn rand institut center advanc objectiv ari institut regist ayn rand ayn rand institut work introduc young peopl ayn rand novel support scholarship research base idea promot principl reason ration self-interest individu right laissez-fair capit widest audienc objectivist center atla societi schism movement occur objectivist david kellei wrote question sanction defend choic speak libertarian group respons articl peter schwartz intellectu activist demand speak libertarian ostrac movement observ objectiv close system belief learn talk peopl disagre kellei descript reason break disput ayn rand institut kellei david retriev march peikoff articl intellectu activist call fact argu objectiv close system truth moral relat peikoff leonard retriev march peikoff expel kellei organ kellei found institut objectivist studi atla societi web site focus attract reader ayn rand fiction downplai role philosoph objectivist center divis deal academ ventur atla societi objectivist center publish individualist navig magazin featur mohammad cartoon cover popular interest influenc fountainhead cafe coffe shop york citi inspir objectiv sign read eat object live rich rand book continu sell larg number david boaz retriev februari atla shrug consist top seller amazon amazon retriev februari ask survei librari congress book-of-the-month club influenti book respond life rand atla shrug popular choic bibl fein esther novemb york time reader poll modern librari book novel list atla shrug fountainhead anthem live seventh eighth place nonfict list virtu selfish place book rand philosophi sixth place novemb freestar media zogbi poll conduct percent american adult read atla shrug octob valid poll disput retriev februari richard lawrenc retriev februari observ modern librari poll conduct random sampl allow vote multipl time zogbi poll result check simpl arithmet roughli million copi atla shrug sold america time million adult american consid sampl space peopl read copi magazin fraction individu acknowledg rand significantli influenc live includ harri binswang nathaniel branden barbara branden sinan roi child jame clavel edward cline chri cox mark cuban paul depodesta steve ditko terri goodkind allan gotthelf alan greenspan hugh hefner erika holzer john hosper angelina joli david kellei billi jean king anton lavei rush limbaugh frank miller ron paul michael paxton neil peart leonard peikoff ronald reagan georg reisman john ridpath robert ringer tracei ross kai nolt smith tara smith john stossel linda morri tannehil margaret thatcher clarenc thoma vinc vaughn jimmi wale individualist jan feb rand philosophi objectiv continu influenc worker art busi scienc web site updat list media refer rand work retriev april bioshock award-win video game releas summer built stori influenc ayn rand philosophi atla shrug kieron gillen august wire magazin retriev januari appear cent postag stamp usp retriev januari debut april york citi rand work academ philosophi rand work academ philosoph english-speak world lead research univers rand objectiv import philosoph specialti research area adher practition continent philosophi critic celebr self-interest similarli focu work movement death increas academ structur open studi ayn rand work ashland univers ohio cambridg univers univers pittsburgh retriev octob interview chronicl higher educ rand scholar chri matthew sciabarra laugh rand note grow interest work academ commun sharlet jeff retriev march cambridg univers press publish volum rand ethic theori written scholar tara smith philosophi professor univers texa austin book titl ayn rand norm ethic virtuou egoist notr dame philosoph review publish review smith book helen univers pittsburgh review end stress conclus fan detractor ayn rand issu rais book manifold provoc book forc debat renew vigor egoism egoism altruism dichotomi appli ethic theori ethic theori impli polit outlook smith version egoism argu find distast misguid simpli dismiss confer univers pittsburgh concept object knowledg scienc valu featur present objectivist onkar ghate allan gotthelf jame lennox darryl wright influenti academ peter railton retriev januari student activ reason promin ayn rand objectiv new popular cultur rel philosoph theori relat dozen student group dedic promot studi philosophi objectiv retriev june retriev june spread australia canada israel netherland zealand norwai retriev june club present controversi speaker topic abort religion foreign polici alli controversi conserv liber organ organ event nyu objectiv club host joint panel retriev june muhammad cartoon receiv nationwid coverag nyu censorship cartoon retriev june dozen speaker sponsor ayn rand institut retriev june organ give nationwid tour year speak objectiv ayn rand institut spent educ program advanc objectiv includ scholarship club club obtain educ materi speaker ari provid free host organiz resourc ayn rand club confer organ organ attend intellectu summer week featur dozen philosophi cours present public research critic philosoph critic notabl except gener lack attent paid rand academ philosophi essai randian argument harvard univers philosoph robert nozick appear collect socrat puzzl nozick sympathet rand polit conclus argument justifi essai critic foundat argument explicitli book virtu claim life individu ultim valu nozick argument sound explain ration prefer dy valu argu attempt defend moral selfish essenti instanc beg question nozick argu rand solut david hume famou is-ought problem unsatisfactori literari critic rand novel publish receiv unanim terribl review derid critic long melodramat chapman steve retriev april washington time februari bestsel due larg word mouth scholar english american literatur larg work rand receiv occasion posit review literari establish lorin pruett york time review wrote rand written hymn prais individu state read master book think basic concept time berlin michael letter ayn rand york plume literari encyclopedia john lewi ashland univers call work intellectu challeng fiction gener lewi john retriev novemb octob famou review rand atla shrug written conserv author whittak chamber appear nation review unrelentingli scath chamber call book sophomor remark silli call devalu term tone book shrill repriev chamber accus rand support godless system soviet claim page atla shrug voic heard pain necess command ga chamber whittak nation review intellectu activist publish repli argu chamber read book misspel name major charact quotat critiqu critic mimi gladstein author ayn rand companion call rand charact flat uninterest hero implaus wealthi intellig physic attract free doubt arrai antagonist weak pathet full uncertainti lack imagin talent gladstein mimi feminist interpret ayn rand pennsylvania state univers press rand aesthet view differ substanti academ mainstream explain essai titl goal write goal fiction project vision ideal man man man rand present theori aesthet fulli book romant manifesto philosophi literatur cult critic murrai rothbard help defin modern libertarian anarcho-capit rothbard murrai retriev march jeff walker walker jeff ayn rand cult chicago open court michael shermer founder skeptic societi shermer michael retriev march origin publish skeptic accus objectiv cult claim exhibit typic cult trait includ slavish adher unprov doctrin extrem adul founder respons fan offer cult-lik allegi rand declar blind follow precis philosophi condemn reject objectiv mystic cult rand ayn letter letter date decemb plume cite retriev june bibliographi fiction night januari live anthem fountainhead atla shrug nonfict intellectu virtu selfish nathaniel branden capit unknown ideal nathaniel branden alan greenspan robert hessen introduct objectivist epistemolog expand edit romant manifesto left anti-industri revolut philosophi posthum edit leonard peikoff posthum work earli ayn rand edit commentari leonard peikoff voic reason essai objectivist thought edit leonard peikoff addit essai leonard peikoff peter schwartz introduct objectivist epistemolog edit edit harri binswang addit materi leonard peikoff letter ayn rand edit michael berlin journal ayn rand edit david harriman ayn rand marginalia critic comment write twenti author edit robert mayhew ayn rand column written lo angel time edit peter schwartz russian write hollywood edit michael berlin return primit anti-industri revolut expand edit left edit addit essai peter schwartz art fiction edit tore boeckmann art nonfict edit robert mayhew objectiv research cd-rom collect rand work cd-rom format plai ayn rand answer edit robert mayhew film adapt rand knowledg permiss live pair film noi vivi addio kira film rome censor italian govern benito mussolini permit base anti-soviet film success public easili realiz fascism commun film re-edit version approv rand re-releas live fountainhead retriev januari hollywood film warner bro star gari cooper rand wrote rand initi insist frank lloyd wright design architectur model film relent fee high skousen barbara branden passion ayn rand film adapt atla shrug pre-product late product possibl start retriev januari affect writer strike septemb lion gate film report hire vadim perelman revis randal wallac script direct film screen star angelina joli cast rôle dagni taggart retriev octob passion ayn rand retriev januari independ film life star helen mirren eric stoltz peter fonda film base book barbara branden associ won award helen mirren includ emmi golden globe screenplai addit screenplai fountainhead rand collabor screenplai love letter film +allan dwan april decemb pioneer canadian-born american motion pictur director produc screenwrit earli life born joseph aloysiu dwan toronto ontario canada famili move unit state year univers train engin began work light compani chicago strong interest fledgl motion pictur industri essanai studio offer opportun scriptwrit job time east coast movi maker began spend winter california climat allow continu product requir warm weather number movi compani work year-round dwan began work part time hollywood york found presid east coast chapter motion pictur director associ career make seri western comedi dwan direct fellow canadian mari pickford success movi husband dougla fairbank notabl acclaim robin hood introduct talki direct child-star shirlei templ heidi rebecca sunnybrook farm year long success career span year direct motion pictur highli acclaim box offic smash sand iwo jima direct movi di lo angel ag ninety-six inter san fernando mission cemeteri mission hill california allan dwan star hollywood walk fame hollywood boulevard hollywood select film director gold lust wildflow david harum manhattan mad fairbank fine art fairbank fragment screenwrit innoc magdalen south robin hood iron mask tide empir heidi rebecca sunnybrook farm colonel rebecca sunnybrook farm musket gorilla young peopl laugh produc friendli enemi world produc mabel room yank gerti garter screenwrit brewster million driftwood calendar girl northwest outpost associ produc sand iwo jima dream jeani montana bell silver lode passion cattl queen montana tennesse partner pearl south pacif escap burma slightli scarlet restless breed river edg enchant island canadian pioneer earli hollywood read foster charl stardust shadow canadian earli hollywood +histor trend grew sixti reach peak growth seventi prove unsustain growth collaps paltri turbul eighti failur time reform success govern caus current gdp capita shrink nineti chart trend gross domest product algeria market price intern monetari fund figur million algerian dinar purchas power pariti comparison dollar exchang algerian dinar updat burden heavi foreign debt algier conclud one-year standbi arrang intern monetari fund april year sign three-year extend fund facil end april march russia agre eras billion algeria soviet-era debt visit presid vladimir putin countri russian leader centuri return presid abdelaziz bouteflika agre bui billion worth combat plane air-def system arm russia head russia state arm export rosoboronexport reuter march french radio franc intern march progress econom reform pari club debt reschedul oil ga sector expans contribut recoveri growth reduc inflat approxim narrow budget deficit algeria economi grown annual countri foreign debt fallen high billion current level billion spike oil price govern tight fiscal polici larg increas trade surplu tripl foreign exchang reserv help countri financ ongo drought effect novemb flood uncertain oil market prospect problemat govern pledg continu effort diversifi economi attract foreign domest invest energi sector success reduc high unemploy offici estim improv live standard presid bouteflika announc sweep econom reform implement significantli restructur economi economi remain heavili depend volatil oil ga revenu govern continu effort diversifi economi attract foreign domest invest energi sector success reduc high unemploy improv live standard prioriti area includ bank reform improv invest environ reduc govern bureaucraci govern announc plan sell state enterpris sale nation cement factori steel plant complet industri offer algeria sign associ agreement european union start access negoti entri world trade organ agricultur roman time algeria note fertil soil inhabit engag agricultur pursuit acr km devot cultiv cereal grain grain-grow land time french rule product increas substanti sink artesian well district requir water fertil crop rais wheat barlei oat princip cereal great varieti veget fruit citru product export consider amount cotton grown time unit civil war industri declin earli year centuri effort extend cultiv plant renew small amount cotton grown southern oas larg quantiti crin veget veget horse-hair excel fibr leav dwarf palm oliv fruit petroleum tobacco cultiv great success algeria export fig date esparto grass cork largest oat market africa wine product algeria soil favour growth vine countri word expert report subject french govern grow vine undertaken earli colonist vineyard franc attack phylloxera export wine algeria signific precautionari measur algerian vineyard attack qualiti wine prove acr km devot grape increas acr km yield gallon wine bad season ravag insect cultiv extend vineyard cover acr km produc gallon area cultiv exceed acr km year amount wine produc gallon time limit profit product reach part countri practic foreign market algerian wine franc import gallon algerian bodi respons wine cultiv call nation offic market wine product fish fish flourish minor industri fish caught princip sardin bonito smelt sprat fresh fish export franc dri preserv fish spain itali coral fisheri coast bona tuni miner algeria rich miner countri iron lead zinc copper calamin antimoni mercuri mine product iron zinc lignit algier immens phosphat bed discov tébessa yield ton phosphat bed work sétif guelma aïn beïda quarri produc stone onyx beauti white red marbl algerian onyx ain roman ancient quarri sidi ben long-lost numidian marbl salt collect margin chott reggi foreign trade algerian export french administr commerc algeria develop greatli total import export time french occup exce figur reach point progress slower figur vari consider year year total foreign trade five-sixth trade franc countri algerian good admit duty-fre french good sugar admit algeria payment duti increas french minimum tariff appli algeria foreign trade greatli diminish algeria signific export financi petroleum natur ga reserv eastern sahara algerian govern curb export slow deplet export increas signific export sheep oxen hors anim product wool skin wine cereal rye barlei oat veget fruit chiefli fig grape tabl seed esparto grass oil veget extract chiefli oliv oil iron or zinc natur phosphat timber cork crin veget tobacco import wool exce export sugar coffe machineri metal work kind cloth potteri larg import greater part franc british import consist chiefli coal cotton fabric machineri algeria trade extens franc itali term import export trade unit state spain +motto arab peopl peopl anthem arab pledg locat algeria capit largest citi algier offici languag arab french recognis region languag berber demonym algerian govern semi-presidenti republ presid abdelaziz bouteflika prime minist abdelaziz belkhadem establish hammadid dynasti ottoman rule french rule independ franc juli area total km sq mi water neglig popul estim censu densiti km sq mi gdp ppp estim total billion capita inform need gdp nomin estim total billion capita gini medium hdi medium currenc algerian dinar time zone cet utc internet tld dz call code french equal administr languag offici basi algerian arab arab vernacular common nativ languag berber languag recogn nation languag co-offici kabylia specif kabyl languag algeria arab al ipa berber offici peopl democrat republ algeria largest countri african contin largest countri world term total area cia world factbook border tunisia northeast libya east niger southeast mali mauritania southwest kilomet western sahara west morocco northwest mediterranean sea north algeria member unit nation african union arab leagu opec contribut creation arab maghreb union constitution algeria defin islam arab amazigh berber countri constitut etymolog truncat form citi older island tribe bani earli mediev geograph al-idrisi yaqut al-hamawi histori ancient histori roman arch trajan timgad algeria algeria inhabit berber imazighen bc bc carthaginian began establish settlement coast berber seiz opportun offer punic war independ carthag berber kingdom began emerg notabl numidia bc time roman republ western roman empir collaps berber independ area vandal control part remain expel gener byzantin emperor justinian byzantin empir retain precari grip east countri come arab eighth centuri islam berber dynasti convert kutama kabyli shia fatimid overthrew rustamid conquer egypt left algeria tunisia zirid vassal rebel adopt sunnism shia fatimid banu hilal popul arab tribe weaken initi arab region almoravid almohad berber dynasti west found religi reform brought period rel peac develop collaps algeria battleground successor state algerian tunisian hafsid moroccan marinid fifteenth sixteenth centuri spanish empir start attack subsum algerian coastal settlement ottoman rule hoggar algeria brought ottoman empir khair ad-din brother aruj establish algeria modern boundari north coast base ottoman corsair privat peak algier piraci american vessel mediterranean result barbari war unit state piraci act forc peopl captur boat slaveri altern pirat attack coastal villag southern western europ inhabit forc slaveri raid barbari pirat western europ ceas royal navi raid assist dutch vessel destroi port algier fleet barbari ship spanish occup algerian port time sourc concern local inhabit french colon constantin algeria pretext slight consul french invad algier alistair horn savag war peac algeria york review book classic broadwai york ny nyrb classic contrast morocco tunisia conquest algeria french long violent result disappear algerian popul french la de l'algéri op cit franc respons extermin million algerian olivi le cour grandmaison french pursu polici extermin algerian french conquest algeria slow due intens resist emir abdelkad ahm bei fatma conquest technic complet earli tuareg conquer french algeria integr part franc statu collaps fourth republ ten thousand settler franc spain itali malta move farm algerian coastal plain occupi signific part algeria citi settler benefit french govern confisc commun held land applic modern agricultur techniqu increas amount arabl land alistair horn savag war peac algeria york review book classic broadwai york ny nyrb classic algeria social fabric suffer occup literaci plummet land confisc uproot popul start nineteenth centuri peopl european descent algeria nativ spanish peopl oran nativ algerian jew typic sephard origin full french citizen algeria independ call pieds-noir contrast vast major muslim algerian veteran french armi receiv french citizenship vote post-independ nation liber front fln launch algerian war independ guerrilla campaign war newli elect presid charl de gaull understand ag empir held plebiscit offer algerian option result overwhelm vote complet independ french coloni empir million peopl popul fled countri franc month includ pieds-noir harki pro-french algerian serv french armi fear widespread repris remain algeria estim harki depend kill fln lynch mob algeria circumst extrem cruelti algeria presid fln leader ahm ben bella overthrown alli defenc minist houari boumédienn ben bella govern increasingli socialist authoritarian trend continu boumédienn govern boumédienn reli heavili armi reduc sole legal parti symbol role agricultur collectivis massiv industri drive launch oil extract facil nation benefici leadership oil crisi algerian economi increasingli depend oil led hardship price collaps oil glut foreign polici algeria member leader non-align movement disput morocco western sahara led war algeria share histori cultur heritag neighbour morocco countri hostil relat algeria independ reason morocco disput claim portion western algeria led sand war algeria support polisario front arm group sahrawi refuge seek independ western sahara host border citi tindouf algeria dissent rare toler state control media outlaw polit parti fln cement repress constitut boumédienn di rule successor chadli bendjedid open state strongli bureaucrat charact corrupt widespread modern drive brought consider demograph algeria villag tradit underw signific chang urban increas industri emerg agricultur employ substanti reduc educ extend nationwid rais literaci rate dramat increas fertil rate children mother youth popul hous crisi gener struggl relat cultur obsess war year conflict protest movement develop left-wing includ berber ident movement islam group protest one-parti rule clash univers street mass protest camp autumn forc bendjedid conced one-parti rule elect plan happen decemb islam salvat front won countri multi-parti elect militari interven cancel forc then-presid bendjedid resign ban polit parti base religion includ islam salvat front ensu conflict engulf algeria violent algerian civil war peopl kill januari june death milit govern troop great number civilian kill question respons death controversi time academ observ claim arm islam group massacr carri islam extremist algerian regim armi foreign mercenari conduct horrif massacr men women children blame islam group countri campaign discredit islam wider popul algier elect resum war wane april seri short-term leader repres militari abdelaziz bouteflika current presid elect www arab de access april main guerrilla group destroi surrend advantag amnesti program sporad fight continu area islam insurg algeria issu berber languag ident increas signific extens kabyl protest near-tot boycott local elect kabyli govern respond concess includ name tamazight berber nation languag teach school algeria recov develop emerg economi high price oil ga govern improv countri infrastructur improv industri agricultur land oversea invest algeria increas geographi topograph map algeria coastal area hilli mountain natur harbour area south coast atla fertil south atla mountain rang sahara desert ahaggar mountain arab hoggar highland region central sahara southern algeria locat km mile south capit algier west tamanghasset algier oran constantin annaba algeria main citi climat hydrolog northern algeria temper zone mild mediterranean climat li approxim latitud southern california similar climat condit broken topographi sharp local contrast prevail temperatur incid rainfal year-to-year variat climat condit common atla temperatur summer averag winter drop winter cold humid level high eastern algeria averag temperatur stepp high atla plateaux winter temperatur hover degre freez promin featur climat region sirocco dusti choke south wind blow desert gale forc wind occasion reach coastal ahaggar mountain algeria small corner torrid sahara li tropic cancer torrid zone region winter middai desert temperatur hot sunset clear dry air permit rapid loss heat night cool chilli enorm daili rang temperatur record rainfal abund coastal part atla rang mm annual amount precipit increas west east precipit heaviest northern part eastern algeria reach mm year inland rainfal plenti prevail wind easterli north-easterli summer chang westerli northerli winter carri gener increas precipit septemb decemb decreas late winter spring month absenc rainfal summer month algeria erg sand dune mountain summer time wind heavi gusti temperatur polit abdelaziz bouteflika presid algeria head state presid republ elect five-year term renew algeria univers suffrag ag presid head council minist high secur council appoint prime minist head govern prime minist appoint council minist algerian parliament bicamer consist chamber nation peopl assembl apn member upper chamber council nation member apn elect year constitut modifi amend algeria multi-parti state parti approv ministri interior date algeria legal polit parti constitut polit associ form base differ religion languag race gender region maghreb arab union tension algeria morocco relat western sahara conflict put great obstacl tighten maghreb arab union nomin establish practic weight coastal neighbor www arabicnew access april administr divis map provinc algeria number offici order algeria divid provinc wilaya district daïra municip commun provinc district municip name seat largest citi algerian constitut provinc territori collect enjoi econom freedom peopl provinci assembl polit entiti govern provinc presid elect member assembl turn elect univers suffrag year wali prefect governor direct provinc person chosen algerian presid handl ppa decis administr divis chang time independ introduc provinc number provinc non-alphabet order offici number economi fossil fuel energi sector backbon algeria economi account roughli budget revenu gdp export earn countri rank fourteenth petroleum reserv billion barrel proven oil reserv estim suggest actual amount energi inform administr report algeria trillion cubic feet tcf proven natur ga reserv eighth largest world eia march retriev jan financi econom indic improv mid- part polici reform support intern monetari fund imf debt reschedul pari club financ benefit increas oil price government’ tight fiscal polici lead larg increas trade surplu record high foreign exchang reserv reduct foreign debt govern continu effort diversifi economi attract foreign domest invest energi sector success reduc high unemploy improv live standard govern sign associ treati european union eventu tariff increas trade march russia agre eras billion algeria soviet-era debt visit presid vladimir putin countri russian leader centuri return presid bouteflika agre bui billion worth combat plane air-defens system arm russia head russia state arm export rosoboronexport reuter march french radio franc intern march algeria decid pai full debt pari club group rich creditor nation schedul reduc algerian foreign debt pari club move reflect algeria econom recoveri year agricultur roman time algeria note fertil soil algerian emploi agricultur sector consider amount cotton grown time unit civil war industri declin earli year twentieth centuri effort extend cultiv plant renew small amount cotton grown southern oas larg quantiti veget resembl horsehair excel fiber leav dwarf palm oliv fruit oil tobacco cultiv great success acr km devot cultiv cereal grain grain-grow land time french rule product increas substanti sink artesian well district requir water fertil crop rais wheat barlei oat princip cereal great varieti veget fruit citru product export algeria export fig date esparto grass cork largest oat market africa algeria bertolli oliv oil spread spread italian background demograph demograph algeria data fao year number inhabit thousand current popul algeria juli est algerian live northern coastal area minor inhabit sahara concentr oas million remain nomad partli nomad algerian algeria fourth lowest fertil rate greater middl east cypru tunisia turkei popul classifi ethnic berber arab religi sunni muslim non-sunni muslim ibadi vallei islam algeria foreign roman cathol commun exist protest christian jewish jewish commun algeria constitut total popul substanti decreas due emigr franc israel european account popul inhabit exclus largest metropolitan area coloni period larg european popul consist primarili french peopl addit spaniard west countri italian maltes east european smaller number pieds-noir concentr coast form major citi bône oran sidi bel algier popul left immedi countri independ franc dancer biskra publish march nation geograph hous medicin continu press problem algeria fail infrastructur continu influx peopl rural urban area overtax system undp algeria world highest hous unit occup rate hous govern offici publicli state countri shortfal million hous unit women percent lawyer percent judg women domin medicin increasingli women contribut household incom men sixti percent univers student women univers research ethnic group algerian berber arab languag ident algerian berber origin todai arab-berb issu case self-identif identif languag cultur racial ethnic distinct berber peopl divid ethnic group kabyl mountain north-centr area chaoui eastern atla mountain vallei tuareg south small pocket black african popul algeria turkish algerian repres popul live big citi educ young inhabit algier street kasbah algier educ offici compulsori children ag year outstand amount teacher student primari school algeria univers colleg institut higher learn univers algier found locat capit algeria algier student school system structur basic gener secondari technic secondari level basic ecol fondamental fundament school length program year ag rang ag certif diploma award brevet d'enseign moyen gener secondari lycé d'enseign général school gener teach lycé general-purpos school length program year ag rang ag certif diploma award baccalauréat de l'enseign secondair bachelor degre secondari school technic secondari lycé d'enseign techniqu technic school length program year certif diploma award baccalauréat techniqu technic bachelor degre cultur martyr monument mosqu algier modern algerian literatur split arab french strongli influenc countri histori famou novelist twentieth centuri includ moham dib albert camu kateb yacin assia djebar wide translat import novelist rachid mimouni vice-presid amnesti intern tahar djaout murder islamist group secularist view french agenc franc edit access april philosophi human jacqu derrida father deconstruct born el biar algier malek frantz fanon note thought decolon augustin hippo born tagast modern-dai souk ahra ibn khaldun born tuni wrote stai algeria algerian cultur strongli influenc islam main religion work sanusi famili pre-coloni time emir abdelkad sheikh ben badi coloni time wide note latin author apuleiu born algeria algerian music genr pop-flavor opinion folk music featur intern star khale cheb mami algeria older highli verbal chaabi style remain popular star el hadj el anka dahman el el hachemi tune melodi kabyl music exemplifi idir ait menguellet lounè matoub wide audienc classic tast andalusi music brought al-andalu morisco refuge preserv older coastal town paint moham offici site access april m'hame notabl year languag trilingu sign isser municip written arab kabyl tifinagh french algerian speak algerian arab arab spoken nativ dialect form darja popul french jacqu leclerc linguistiqu dan le mond centr intern de recherch en aménag linguistiqu media offici occas spoken languag standard arab berber imazighen form approxim popul larg speak dialect tamazight oppos arab major berber algerian arab arab remain algeria offici languag tamazight recogn nation languag french adopt april ethnologu count eighteen live languag algeria split arab tamazight languag includ languag unrel arab tamazight access april languag issu polit sensit berber minor disadvantag state-sanct arab languag polit arab partli reaction fact year french colon left state bureaucraci educ upper class complet francophon motiv arab nation promot success algerian govern french wide studi foreign languag rare spoken nativ languag independ govern pursu polici linguist arab educ bureaucraci success univers cours continu taught french school start incorpor french curriculum earli children start learn arab algerian fluent french french media commerc militari arm forc algeria consist peopl nation armi anp algerian nation navi mra algerian air forc territori air defens forc direct successor armé de libérat national aln fought french coloni occup algerian war independ peopl nation armi consist member reservist armi control presid minist nation defens current presid abdelaziz bouteflika defens expenditur account billion gdp year nation militari servic compulsori male algeria lead militari power north africa forc orient western morocco eastern libya border primari militari supplier soviet union sold type sophist equip militari trade agreement peopl republ china algeria attempt year diversifi sourc militari materi militari forc supplement gendarmeri rural polic forc control presid national metropolitan polic forc ministri interior algerian air forc sign deal russia purchas mig-smt estim billion agre return airplan purchas ussr russia build diesel submarin algeria breitbart retriev june unesco world heritag site algeria unesco world heritag site algeria includ al beni hammad capit hammadid empir tipasa phoenician roman town timgad roman ruin vallei limeston vallei larg urban oasi casbah algier import citadel natur world heritag tassili n'ajjer mountain rang +charact ayn rand atla shrug eubank call literari leader ag fact incap write peopl read peopl read irrelev complain disgrac artist treat peddler law limit sale book ten thousand copi member looter eubank appear section ben neali railroad contractor dagni taggart hire replac track rio nort line rearden metal neali incompet dagni find countri neali believ muscl power see role intellig human achiev manifest inabl organ project decis reli dagni elli wyatt run resent appear boss peopl ben neali appear section bertram scudder editori writer magazin futur typic bash busi businessmen specif articl reli innuendo sneer denunci wrote hatchet job hank rearden call octopu vocal support equal opportun bill radio interview program taggart forc threat revel relationship rearden turn tabl reveal relationship pride denounc regim aftermath scudder scapegoat lose job bertram scudder appear section betti pope wealthi socialit meaningless sexual affair jame taggart coincid meaningless life regret wake morn face empti dai deliber crude cast ridicul high social posit betti pope appear section brakeman unnam employe work taggart comet train dagni taggart hear brakeman whistl theme concerto ask piec hallei concerto dagni point richard hallei wrote concerto brakeman claim mistak recal heard piec dagni instruct train crew proce ask co-work learn run taggart transcontinent discov unknown brakeman striker dagni meet vallei brakeman appear section brook dime store shopgirl marri jame taggart chanc encount store night john galt line deem greatest success marri think heroic person taggart transcontinent horribl dagni night commit suicid confess dagni marri jim thought taggart famili posit trait thought marri dagni eddi willer represent good person lack extraordinari capac primari hero claud presid polit organ friend global progress support philip rearden lillian rearden friend believ idea air time talk action bother fact action unguid idea random pointless global progress sponsor equal opportun bill claud appear section cuffi meig thuggish personag assign weslei mouch watch work taggart transcontinent assum control compani dagni taggart leav carri pistol lucki rabbit foot dress militari uniform spiritu heir robert stadler meig fit hand project role act frankli brutal face regim frighten disgust hypocrit peopl profess similar architect gu webb fountainhead similarli behav crude brutal manner frighten hypocrit architect charact promin part respect book webb ellsworth toohei favorit place keat toohei feel mask meig promin regim find imposs continu subtl seemingli civilis method dagni taggart dagni taggart protagonist gener dagni percept battl john galt looter hold titl charg taggart transcontinent brother jame taggart due incompet dagni respons work railroad taggart romant relationship men abil francisco hank rearden john galt ultim end galt account superior talent qualiti remain good term sexual relationship dagni personifi typic struggl capitalist stop chang social polici imping capitalist goal unusu perspect book foot camp fix social polici govern maintain belief free enterpris ultim lesson taught dagni reason triumph unreason unreason perish typic randian heroin similar dominiqu francon fountainhead kira live dagni appear section dan conwai middle-ag presid railroad run railroad rule drive busi colorado lose fight resign quiet life book fish claim sacrif turn complain bow major press understand wrong altern trap moral code victim challeng moral simpli explain part galt strike privat act drop live retir tune invit hidden vallei fit dan conwai appear section mention section dick mcnamara contractor finish san sebastian line hire lai rearden metal track rio nort line chanc mysteri disappear dick mcnamara mention section eddi willer special assist vice-presid charg oper taggart transcontinent grew dagni taggart father grandfath work taggart footstep complet loyal dagni taggart transcontinent secretli love dagni willer gener assum repres common man possess creativ abil striker match moral courag capabl appreci make creation stick railwai bitter world collaps dagni shift attent loyalti save captiv galt stai broken-down train middl desert captain ship unclear striker return save eddi willer appear section elli wyatt head wyatt oil single-handedli reviv economi colorado discov oil quick-temp bound violent outburst charact introduc aggress dagni blame fact brother polici threaten busi disappear industrialist wyatt sure dramat govern pass law decre imposs continu quietli set oil well fire leav jeer note leav expertis state scienc institut unabl bring well product dagni meet hidden vallei energi encount futil daili obstruct violenc involv profess charact similar sculptor steven mallori fountainhead howard roark friend similar kind violent outburst assassin ellsworth toohei elli wyatt mention appear section francisco central charact atla shrug owner inherit world largest copper mine empir man san sebastián mine childhood friend love dagni taggart francisco began work sly teenag order learn busi student patrick henri univers classmat john galt ragnar student hugh robert stadler began work copper foundri invest stock market time twenti purchas foundri began work copper assist superintend montana quickli promot head york offic copper ag death father francisco secretli join striker began slowli destroi empir looter adopt persona worthless playboi world effect cover full francisco domingo carlo andr sebastián francisco appear mention section section includ detail histori life fred kinnan fred kinnan labour leader member looter cabal kinnan straightforward honest purpos meet decid enact direct give govern sweep power industri kinnan openli state true motiv fellow conspir galt hour speech express admir man mean kinnan admit peopl galt destroi hank rearden central charact atla shrug founder rearden steel inventor rearden metal form metal stronger steel scientist real world duplic feat live philadelphia wife lillian brother philip elderli mother gertrud appear book support gwen iv secretari charact hank rearden import role plai awar wrong world unsur rearden guid understand solut friendship francisco secret mechan reader prepar understand secret reveal explicitli galt speech rearden illustr rand theori sex lillian rearden hank rearden virtu portrai disgust sex dagni taggart rearden virtu appreci evolv sexual desir rearden torn contradict accept premis tradit view sex instinct respond sexual dagni repres highest valu rearden struggl resolv intern conflict illustr rand sexual theori rearden appear section mention section hugh identifi great advoc reason renown philosoph head depart philosophi patrick henri univers taught francisco john galt ragnar robert stadler father figur hallow young ladi hear francisco studi shock thought great name earlier centuri work cook roadsid diner prove extrem skill rand charact feel reluct work menial job dagni track discov true ident reject enthusiast offer manag dine car servic taggart transcontinent hugh mention section jame taggart presid taggart transcontinent leader looter book import antagonist taggart expert influenc peddler incap make decis reli sister dagni taggart run railroad oppos endeavor sens antithesi dagni progress moral philosophi looter reveal code nihil goal code exist taggart struggl remain unawar goal maintain pretenc live horrifi mind start grasp truth contradict lead recur absurd life desir destroi life depend horror succe final chapter suffer complet mental breakdown realiz longer deceiv respect introduct anniversari edit leonard peikoff introduc excerpt rand journal book disclos origin conceiv jame taggart religi regularli priest confess sin absolut hint final version publish connect above-ment hide taggart real goal impli taggart famili origin conceiv roman cathol background trace left publish version fit long-stand friendship latin american famili nathaniel taggart dynasti centuri founder testament kind common protest cathol jame taggart appear section mention section john galt enigmat john galt male hero atla shrug typifi randian hero trade engin develop revolutionari motor power ambient static electr potenti chang world disgust collectiv forc workplac twentieth centuri motor compani strike depriv world invalu invent increas impact persuad individu talent consid share ethic creed join strike secret seclud hide place call galt gulch francisco ragnar studi patrick henri univers dagni taggart consid galt destruct forc grant epithet convinc futil struggl nobil galt fall love john galt enshrin question john galt phrase popularli express helpless despair state world answer express rang legend true reflect aspect achiev labour lillian rearden wildli unsupport wife hank rearden marri year begin lillian frigid moocher seek destroi husband compar rearden wife own world power hors comfort ride hors fast bridl level mean reach full potenti power grevious wast lillian serv illustr rand theori sex lillian believ sex base anim instinct sexual indulg sign moral weak incap feel kind desir believ testifi moral superior theori sex lillian lack sexual capac result inabl experi unabl respond sexual experi lillian toler sex husband brute requir satisfact brute instinct section abhor francisco believ sexual adventur lillian rearden appear section looter group antagonist charact refer jame taggart friend similar moocher looter consist men women forc obtain produc seek destroi produc fact depend looter includ thompson eubank floyd ferri jame taggart orren boyl paul larkin robert stadler simon pritchett weslei mouch eugen lawson cuffi meig mexican govern time mida mulligan wealthi banker mysteri disappear protest court order loan monei incompet applic order liquid entir busi account holder receiv penni due join galt strike birth michael legal chang new articl call mida derogatori fashion mida mulligan respons creation distribut monei exclus atlanti origin owner land atlanti locat moocher group charact similar looter guilt weapon produc seek destroi produc fact depend moocher includ lillian rearden philip rearden hank rearden mother mort liddi hack compos write trite score movi modern symphoni listen believ melodi primit vulgar lillian rearden friend member cultur elit mort liddi appear section presid amalgam switch signal compani connecticut businessman see wrong moral code destroi societi dream busi reason good societi unabl grappl abstract issu frighten controversi dagni taggart hire produc switch rearden metal reluct build unproven technolog ridden cajol accept contract pressur public opinion discontinu product switch forc dagni find altern sourc appear section mysteri worker menial worker taggart transcontinent dine eddi willer employe cafeteria eddi find easi talk mysteri worker lead eddi reveal import inform dagni taggart taggart transcontinent ayn rand choos record eddi side convers eddi tell supplier contractor dagni depend remark consist men disappear mysteri reader discov true ident mysteri worker john galt mysteri worker appear section unnam newsstand owner work taggart termin twenti year own cigarett factori work newsstand collector cigarett brand occasion chat dagni taggart occas section dagni ask collect bemoan fact brand brand disappear examin cigarett dagni hugh brand carri sign dollar orren boyl head steel friend jame taggart looter investor san sebastian mine orren boyl appear mention section owen kellogg assist manag taggart termin york catch dagni taggart ey compet men staff state ohio divis decid superintend return york kellogg inform quit job admit love work leav notic work transient labor unsuccess unmotiv businessman owen kellog eventu reach settl atlanti owen kellogg appear section paul larkin unsuccess middle-ag businessman friend rearden famili member looter section larkin visit philadelphia warn hank rearden troubl washington section meet looter work plan bring rearden jame taggart friend hank rearden challeng loyalti larkin assur taggart paul larkin appear section philip rearden younger brother hank rearden moocher live brother home philadelphia complet depend believ sourc susten evil love destroi career spend time perfunctorili work social group resent brother chariti request grant job brother burden feel inadequaci earn livelihood confront brother job mutual benefici arrang philip shrug argument irrelev job entitl sole base monei fact famili ti philip rearden appear section quentin daniel enterpris engin hire dagni taggart reconstruct john galt motor partwai process quentin withdraw effort reason john galt dagni set meet quentin hope convinc resum work john galt narrowli dagni pursuit quentin lead galt gulch ragnar origin striker world famou pirat ragnar norwai son bishop scion norwai ancient nobl famili attend patrick henri univers friend john galt francisco studi hugh robert stadler pirat disown excommun price head norwai portug turkei ragnar seiz relief ship unit state europ progress ragnar begin time activ american water spot delawar bai reportedli ship fleet world navi peopl assum pirat simpli take seiz good protagonist pride make person profit proce creativ motiv restor creativ peopl monei view unjustli specif incom tax payment purpos maintain network inform intern revenu servic possibl countri provid detail copi tax receipt talent mention skill account proce good seiz oper expens deposit account open mida mulligan bank name industrialist amount incom tax hand gold join striker background book person appear risk life meet hank rearden night hand bar gold advanc payment encourag rearden persever increasingli difficult situat robber ideolog principl superfici resembl robin hood consid robin hood arch-enemi sworn pursu destroi robin hood person long dead principl permiss rob rich give poor principl rand view highli pernici convers rearden claim limit attack govern properti touch privat properti previou chapter mention sink ship belong copper destroi orren boyl plant coast main boyl attempt produc rearden metal constitut robberi consent collus owner friend francisco aim help francisco effort destroi compani reaction boyl violat govern sanction rearden intellectu properti term exist time write marri actress kai ludlow relationship hidden world ludlow famou film star retir drop sight mention striker strong reserv conduct common struggl member crew name book evid access hidden vallei captain basi locat give captur prolong success pirat career requir secret haven atlant coast book crew mention prepar form commun ship convert modest ocean liner refresh knowledg aristotl prepar full-tim philosoph hint poster rememb hugh discipl pirat ayn rand verbal report tribut victor hugo hugo han iceland hero count pun skjold mean shield gold ragnar recal ragnar lodbrok famou vike leader pirat exploit motiv seek loot attribut ragnar appear section inaccuraci norwegian letter swedish norwegian equival skjöld exist scandinavian surnam fashion spell word shield skjold norwegian sköld swedish nobl class norwai black death middl ag forc survivor revert subsist farm rearden mother name gertrud moocher live son hank rearden home philadelphia involv church-bas chariti work berat rearden insult selfish child dote weak son philip rearden rearden mother appear section richard hallei dagni taggart favorit compos mysteri disappear even greatest triumph section learn richard hallei spent year struggl unappreci compos ag opera phaethon perform time audienc boo heckl base greek myth phaethon steal father chariot di audaci attempt drive sun sky hallei chang stori triumph phaethon succe year hallei wrote obscur nineteen year phaethon perform time receiv greatest ovat opera hous heard appear critic felt paid due long worthi approv dai hallei retir sold right music disappear richard hallei mention section appear section robert stadler professor patrick henri univers mentor francisco john galt ragnar sell-out great promis squander social approv detriment free work state scienc institut invent pervert militari includ instrument demis project charact model robert oppenheim part creation nuclear weapon simon pritchett prestigi head depart philosophi patrick henri univers consid lead philosoph ag looter repres philosophi ag crude reductionist believ man collect chemic believ standard definit fluid reason superstit futil seek mean life duti philosoph show understood explain book metaphys contradict univers cocktail parti pritchett appear section striker peopl mind strike exploit looter demon societi depend exist leader striker john galt striker includ hugh francisco ragnar richard hallei brakeman charact join striker book includ dagni taggart elli wyatt hank rearden dick mcnamara owen kellogg thompson head state essenti mean presid unit state specif refer world atla shrug presid prime minist refer simpli head state countri standard peopl state share common form govern thompson titl reflect fact process evolv peopl state looter intellig undistinguish polit master public relat back-room deal rand note model presid harri truman weslei mouch member looter begin storylin incompet lobbyist hank rearden reluctantli emploi washington initi weslei mouch power signific looter member group feel impun eventu power looter countri econom dictat illustr rand belief government-run economi place power hand incompet bureaucrat posit similar influenc privat sector busi pun word mooch modu operandi weslei mouch appear section mention section wet nurs toni young bureaucrat govern watch mill start cynic follow code experi mill transform respect admir produc shot attempt inform hank rearden govern plot succe warn rearden di minor charact airport attend airport wyatt oil field tell dagni taggart section hank rearden left york reveal li rearden told dagni fly minnesota bartend work expens barroom york frequent jame taggart looter section board director taggart transcontinent group men loyal jame taggart year taggart presid board member resign protest leav taggart board repres peopl approv peopl incap make decis notabl taggart treat approv board scientif test truth section learn board approv develop san sebastian line numer board member quit protest mention section bum open book question john galt chat moment eddi willer help establish reader eddi sens uneas section unnam businessman interrupt convers dagni taggart hank rearden parti section aback contrast dagni appear night appear busi suit dagni note reaction realiz hope rearden react purpos come parti chief engin phone eddi willer boss dick mcnamara close busi quit explan section chief engin maintain taggart transcontinent time compet men disappear imit innov unenthusiast work rearden metal dagni taggart tell design bridg built rearden metal reject design copi steel bridg account properti alloi offend bridg good copi bridg taught imit appear section clarenc eddington econom consult jame taggart blame decis build san sebastian line mention section conductor work taggart comet section explain dagni taggart wait broken light chang repres type incompet worker concern rule blame dave mitchum superintend colorado divis taggart transcontinent partial respons kip death dagni father unnam presid taggart transcontinent prior jame taggart section learn astonish proud daughter sad appar overli support desir work railroad stop dagni mother mention section worri daughter appar lack interest boi understood dagni desir work railroad lack understand give dagni guidanc support kind care limit floyd ferri looter crowd take credit weslei mouch project consid stupid contribut project hendrick famou brain surgeon develop method prevent stroke join galt strike american medic system put govern control engin appear briefli section dagni taggart wake find taggart comet stall side explain stop repres type incompet worker concern rule blame fireman appear briefli section dagni taggart find taggart comet stall fireman show amus happen francisco father head copper son rais francisco worthi heir mine empir proud establish francisco father francisco purchas dilapid copper ag publicist detest famili promin displai plant francisco father photo plant offic di francisco appear section gerald starn ivi starn surviv children jed starn brother eric institut communist program twentieth centuri motor kill worker moral convinc john galt quit factori drove compani bankruptci gerald dy alcohol ivi ascet continu insist plan perfect failur father compani due worker gilbert vail allegedli cuckold francisco wife assert francisco deni francisco affair year villa and gilbert shot wife surviv sue divorc threaten spill detail sordid privat life scandal reach crescendo tabloid francisco arriv town wit farc mention section jame taggart secretari unhappi job explain taggart francisco senor bore taggart jed starn found twentieth centuri motor profit compani kind america death jeff allen tramp stow taggart train dagni cross-countri trip throw ride guest allen learn full stori collaps twentieth centuri motor compani hint john galt true background jock benson friend betti pope told jame taggart run railroad sister judg narragansett american jurist rule favor mida mulligan case brought incompet loan applic narragansett rule revers appeal retir join strike staunch support inalien right theori final page rewrit unit state constitut state right explicitli jule mott taggart transcontinent man mexico citi fall gui mexican govern nation san sebastian line appear section mention section kip chalmer washington man decid run elect legisl california campaign taggart transcontinent train carri encount split rail result destruct diesel point kind left world chill show bureaucraci coal-burn steam engin attach train stead pull eight-mil tunnel action blame result suffoc passeng destruct taggart tunnel emma chalmer kip mother gain influenc death kip ma start project louisiana command thousand railcar move harvest result year wheat crop minnesota reach rest countri rot storag soybean crop lost reap earli liz blain friend betti pope ayer head ayer music publish compani section dagni taggart call inquir richard hallei written concerto coleman employe taggart transcontinent mention section beacham friend rearden mother chariti work parish school mention briefli section gilbert vail claim love affair francisco villa and shot husband leav francisco gilbert vail surviv su divorc point wife promis reveal sordid detail privat life press section learn francisco el paso texa and time vail claim vail mention section nathaniel taggart mention briefli section section legend nathaniel taggart put wife collater loan consent beauti dignifi southern ladi good famili disinherit ran taggart poor adventur time dagni dagni taggart namesak weston friend lillian rearden attend rearden anniversari parti mention section whitcomb woman move circl lillian rearden mention section william hast widow william hast grai hair pois distinguish groom dagni lead discov hugh work cook roadsid diner nathaniel taggart meant symbol so-cal robber baron america industri ag nat taggart founder taggart transcontinent built railroad govern handout ran busi reason turn profit began penniless adventur end wealthiest men countri stori told kill state legisl offic destroi railroad put wife collater loan earn monei forc fraud apolog wealthi success hate men time mention section nat taggart son built bridg fall piec replac rearden metal bridg mention section unnam newspaperman seedi deliber rude speak hank rearden section passeng number taggart comet section tell dagni taggart long train stop wake passeng number talk conductor fireman engin dagni taggart approach find train stop act sort problem unusu happen tell understand railroad passeng number econom professor train pass rearden steel section focus fact hank rearden proudli put compani scoff dismiss individu unimport passeng number journalist gaze steel mill focus fact hank rearden proudli put compani decid ridicul rearden futur column call sort man stick pop harper chief clerk offic taggart transcontinent complain imposs typewrit world simpl devic attitud happen happen attitud explain lifetim labor clerk appear section presid unnam presid unit locomot work incompet industrialist consid direct sign dagni taggart find compani fail deliv order refus give answer talk hour mention section sebastian ancestor francisco fled spain time inquisit settl argentina found copper stori told section simon member rearden household staff mention section spinster tell dagni john galt legend section tom colbi head steelwork union chapter rearden steel workforc rearden steel highest paid countri colbi rare challeng boss eddi willer striker smart side moocher looter retir rearden steel assur hank rearden side waiter serv drink looter section unnam worker rearden steel section hand night order rearden metal pour smile hank rearden acknowledg accomplish acknowledg rearden receiv william hast deceas year dagni meet widow head laboratori twentieth centuri motor compani galt work starn heir factori hast quit galt join strike year plan charact exclud final version introduct anniversari edit leonard peikoff introduc excerpt rand journal book origin intend call strike journal reveal charact origin plan book delet final version father amadeu peikoff tell father amadeu taggart priest confess sin priest suppos posit charact honestli devot good practic consist moral merci rand drop told imposs charact convinc quotat rand journal includ passag describ john galt repres main charact includ father amadeu galt repres sourc conflict uneasi realis galt endeavor man virtu perfect man mean fit destroi ideal sake evil interestingli rand successfulli similar book live main charact communist andrei paraphras posit charact honestli devot good practic consist ideolog marxism word idealist dedic communist total devot parti lai life commun sympathet convinc major charact book anti-communist andrei lover book heroin kira rand explicitli repres charact specif biograph detail staci rearden peikoff mention origin conceiv book charact name staci rearden sister hank rearden told role suppos eventu drop appar parasit rearden brother mother wife rand conclus charact rearden suffici fulfil literari philosoph purpos +wikibook wikibook book topic atla shrug atla shrug ayn rand publish unit state rand work fiction concentr write exclus philosophi polit cultur critic thousand page length consid magnum opu rand ayn journal ayn rand edit david harriman dutton harriman quot interview rand atla shrug climax complet goal set ag express want fiction write approxim word atla shrug longest novel written european languag book explor number philosoph theme rand subsequ develop philosophi objectiv unit state survei librari congress book month club atla shrug book differ reader live bibl michael shermer mind market time book xx philosophi write theme atla shrug role mind man exist present moral ration self-interest rand ayn capit unknown ideal signet main conflict book surround decis individu mind strike refus contribut invent art busi leadership scientif research idea kind rest world societi hamper interf work underpai confisc profit digniti rightfulli earn peac cohes world disintegr lack individu product work mental effort striker crucial societi exploit deni freedom acknowledg self-interest gradual collaps civil trigger strike titl allus greek titan atla liter hold world shoulder discuss happen hold civil suddenli decid stop mytholog analog convers protagonist francisco hank rearden part chapter francisco convinc rearden under-appreci tell rearden suggest atla shrug world atla shrug societi stagnat independ product achiev began social demon punish accomplish societi healthi prosper allow encourag reward self-reli individu achiev independ person happi flourish extent peopl free achiev reward extent individu ownership privat properti strictli respect hero john galt live life laissez-fair capit live consist belief addit plot obviou statement signific industrialist mental work societi explicit conflict rand draw wider philosoph conclus implicit plot charact statement posit express varieti topic includ sex polit friendship chariti childhood part theme broad arrai idea fact interrel basic philosophi signific idea societi life atla shrug portrai fascism social commun form state intervent societi system fatal flaw rand claim fundament polit book polit portrai result attempt displai imag ideal person individu mind posit societi peikoff leonard introduct anniversari edit ayn rand atla shrug signet rand argu independ individu achiev enabl societi surviv thrive embrac requir ration moral code argu time coerc self-sacrific societi self-destruct similarli dismiss faith empir reason god higher author mind book posit religion specif dialogu set galt gulch inspir ourai colorado rand inspir complet greatli expand small vallei includ idea stori atla shrug meant place deliber vagu section popul york citi million histor york citi reach million peopl place earli centuri technolog polit situat actual histori interpret take place year futur impli world laps socialist morass global stagnat occur technolog growth popul growth growth kind war econom depress event centuri distant memori scholar academician line rand idea commentari novel depict utopian dystopian societi line excerpt interview playboi magazin rand state todai capitalist societi mix economi mixtur freedom control present domin trend move dictatorship action atla shrug take place time societi reach stage dictatorship time strike impli take place point futur concept societ stagnat wake collectivist system central plot rand work anthem atla shrug countri peopl state exampl earli centuri technolog atla shrug post-war advanc nuclear weapon helicopt comput jet plane mention briefli technolog televis novelti assum cultur signific radio broadcast promin fact televis appear book reflect fact televis appear fifti ten year write book rand technolog innov write book introduc advanc fiction invent weapon mass destruct tortur devic power plant highli advanc strong steel alloi action atla shrug occur unit state import event world peopl state mexico chile argentina piraci sea plot plot split part part extent follow dagni taggart no-nonsens railroad execut attempt compani aliv repeat encroach societi move collectiv altruism statism peopl repeat platitud dagni greatli resent john galt reflect helpless mean don't import question don't answer leader innov industri world disappear appar declin civil make difficult sustain life-long aspir run trans-continent railroad famili gener deal charact personifi archetyp rand consid school philosophi live work world case unconsci hank rearden self-mad businessman great integr career hinder feel oblig wife francisco dagni childhood friend love king copper industri appear worthless playboi purpos destroi busi jame taggart dagni brother presid railroad peripher awar troubl face compani countri gener short term ultim self-destruct choic progress myth real john galt francisco action increasingli reflect state cultur sens hank dagni experi futil attempt surviv societi hate great dagni hank find remnant motor turn atmospher static electr kinet energi astound feat find evid mind atlas world disappear destroy dagni hank deal irration appar contradict atmospher search creator motor destroy drain world prime mover effort secur abil live ration live question john galt answer close john galt man disgust non-product member societi law guilt leech creat product member societi exalt qualiti leech worker inventor pledg live life sake man man live found enclav separ rest countri product member societi fled galt speech john galt speech core atla shrug galt explain philosophi objectiv speech encompass metaphys epistemolog ethic polit idea speech long span page paperback edit interrupt occur paragraph appear chapter john galt speak section book atla shrug centenni edit signet book speech refer approxim hour long charact protagonist dagni taggart oper vice presid taggart transcontinent hank rearden owner rearden steel john galt francisco owner copper social concept looter moocher rand hero continu fight looter moocher societi surround looter confisc earn point gun figur speak govern offici demand back threat forc looter polici govern offici confisc state seed grain feed starv citizen state exploit polici railroad regul illeg sell railroad suppli side common factor forc properti peopl produc earn ultim destruct moocher demand earn claim needi unabl earn beg curs peopl hate talent talent don't possess moocher benign glanc portrai destruct looter destroi product guilt motiv legal loot perform govern loot mooch level world atla shrug portrai loot offici dagni taggart work mooch brother hank rearden struggl loot industri compani steel mooch demand foreign aid starv countri europ sanction victim sanction victim defin willing good suffer hand evil accept role sacrifici victim creat valu entir stori atla shrug answer question happen sanction revok atla shrug reliev burden carri world revok sanction concept origin think ayn rand foundat moral theori hold evil parasit good exist good toler quot galt speech evil impot power extort evil impot weapon triumph willing good serv moral requir sanction victimhood rand claim adher concept rand assign virtu trait ration selfish rand contend moral selfish licens pleas guid whim mean exact disciplin defin pursu ration self-interest code ration self-interest reject form human sacrific oneself oneself atla shrug numer charact admit wrong world put finger concept grasp sanction victim person grasp concept john galt vow stop motor world creator world withhold sanction glimps concept section hank rearden feel duty-bound support famili hostil section principl state explicitli dan conwai suppos sacrif turn complain social class atla shrug endors belief societi hope rest adopt system pure laissez-fair john galt polit system build contain singl moral premis man obtain valu resort physic forc claim right exist translat one’ right work mean properti charact assess neg posit base product effort respect right intellectu honesti moral integr necessarili reflect class background social class repres hero villain atla shrug hero john galt hank rearden work class background dagni taggart francisco wealthi famili villain fred kinnan work class background jame taggart betti pope wealthi famili compar aristocraci theori sex reject tradit altruist moral code rand reject sexual code view logic implic altruism rand introduc theori sex atla shrug base broader ethic psycholog theori debas anim instinct sex rand highest celebr human valu physic respons intellectu spiritu valu concret express experienc abstract theori sex ident espous platon dialogu symposium atla shrug charact sexual attract embodi embodi valu higher valu rand standard charact lack clear purpos find sex devoid mean illustr contrast relationship hank rearden lillian rearden dagni taggart relationship jame taggart brook lillian rearden final relationship dagni john galt illustr theori section recount dagni relationship francisco section recount hank lillian rearden courtship lillian attitud sex section recount basi dagni seemingli uncondit love rearden compani looter compani john galt movement compani atla shrug gener divid group oper hard work charact join john galt movement own looter moocher group owner compani oper antagonist charact name steel hank rearden compani name wyatt oil elli wyatt taggart transcontinent copper name founder present owner nielsen motor hammond car ayer music publish present compet name compani striker minor except ayer ayer music publish compani hand orren boyl name influence-peddl compani steel compani amalgam switch signal compani except phoenix durango railroad run compet entrepreneur striker join actual striker galt gulch twentieth centuri motor compani origin run jed starn mismanag twentieth centuri hand heir seed thought strike john galt mind comparison real-lif railwai jame jerom hill empir builder built great northern railwai wai similar taggart transcontinent commonli note actual railwai compani book maintain track atlant pacif unit state term transcontinent railroad refer line rocki mountain midwest pacif ocean compani tend area mississippi river transfer point compani activ east comparison real life railwai industri taggart transcontinent part book driven act manner reli compani western part traffic emerg measur part gradual collaps compani entir world dagni pleas resort date book public railwai usa face declin begun passeng increasingli switch road transport air transport grow quickli detail amtrak passeng rail servic amtrak railroad effici type transport land fiction technolog book center industri capit ayn rand mention technolog book addit normal technolog introduc fiction invent includ refractor rai gulch mirag rearden metal sonic death rai project motor power static electr sophist electr tortur devic rearden metal rearden metal fictiti metal alloi invent hank rearden lighter tradit steel stronger steel steel iron greenish-blu ingredi iron copper metal seldom real-world alloi initi rearden metal stick neck dagni taggart place order rearden metal rail rebuild dy rio nort line metal proven looter seek place market deni industrialist profit formula metal extort rearden dub miracl metal project project project xylophon invent scientist state scienc institut requir ton rearden metal sonic weapon capabl destroi radiu scientist claim project preserv peac squash rebellion mechan destroi book emit sonic puls destroi mile radiu includ cuffi meig stadler taggart bridg span mississippi river effect lifelin york citi galt motor john galt invent type electr apparatu book motor motor revolutionari static electr atmospher main sourc energi requir small amount convent fuel run convers mechan motor super-effici capabl revolution industri world approxim perpetu motion machin kind machin spontan convert thermal energi mechan work convent heat engin convert thermal energi mechan work transfer thermal energi reservoir theori power drawn environ possibl approxim casimir effect extrem obscur scientif controversi time atla shrug written book sourc static electr air suggest physic tap addition motor metaphor person rearden dagni abil convert dispers energi resourc materi dagni discov discard prototyp motor superfici section part chapter part chapter dagni learn galt work version motor gener electr galt gulch project tortur devic invent floyd ferri introduc john galt tortur consist victim ti mattress electrod attach wrist ankl hip electr pass combin inflict pain victim electr amount pass victim calcul maximum pain inflict perman physic damag victim wai akin larg immobil taser locat scienc institut rand mention technolog unavail time invent exampl voic activ door lock gulch power station door lock galt ny lab drill recept atla shrug gener dislik critic popular success unit state survei librari congress book month club atla shrug book differ reader live bibl michael shermer mind market time book xx earli recept review shortli public major newspap magazin initi review larg neg critic book literari qualiti polit vision retriev august list review bibliograph inform critic conserv magazin nation review whittak chamber wrote critic review atla shrug argu implicit endors atheism randian man marxian man center godless world chamber whittak nation review decemb intellectu activist robert publish repli argu chamber read misspel name major charact quotat ayn rand associ nathaniel branden argu atla shrug encourag emot repress rand major objectivist fountainhead contradictori messag note book show rand understood human social interact branden claim rare find hero heroin talk simpl human level launch philosoph sermon believ increas reader question psycholog impact state john galt claim contempt moral condemn respons wrongdo clash recommend psychologist kind behavior wrongdo repeat branden nathaniel prais hand howard dickman reader digest wrote turn million reader idea liberti book import messag profound happi libertarian cato institut held joint confer atla societi objectivist organ celebr fortieth anniversari public atla shrug cato polici report novemb decemb conserv associ justic suprem court clarenc thoma cite atla shrug favorit novel robert jame retriev neolibertarian larri elder larri elder retriev june articl titl celebr rand fan objectivist magazin individualist robert jame trace grow influenc major hollywood star sport champion public figur individualist retriev june chip mellor libertarian institut justic write adopt philosophi wholeheartedli write transitori interest countless individu work secur liberti inspir work ayn rand uniqu abil depict heroism ideal romanc creativ individu rand inspir reader defens free mind free market institut justic retriev june three-month onlin poll subject articl headlam bruce york time juli late edit east coast subject articl yardlei jonathan voic peopl speak bad doesn't washington post august final edit retriev proquest histor newspap reader select novel twentieth centuri administ publish modern librari atla shrug vote number fountainhead battlefield earth lord ring list chosen modern librari panel author scholar work rand randomhous retriev june list form vote cast battlefield earth book scienc fiction writer scientolog founder ron hubbard top ten pulitz prize-win journalist rai jenkin compar rand popular hubbard call goddess great american cult jenkin rai ayn rand centuri baltimor sun februari retriev point work deplor critic dai literari critic harold bloom includ critic antholog edit american women fiction writer chelsea hous c-span televis seri american writer list rand twenty-two survei figur american literatur primarili mention fountainhead atla shrug film adapt film right atla shrug purchas baldwin entertain group lion gate entertain pick worldwid distribut right screenwrit randal wallac creat screenplai fleme michael varieti septemb angelina joli confirm plai role dagni taggart mcclintock pamela varieti septemb brad pitt rumor cast john galt mcclintock pamela varieti april fan rand work imdb septemb atla shrug project develop imdb lionsgat hire director vadim perelman direct film +anthropolog greek anthropo human logo speech lit talk human be studi human anthropolog origin natur scienc human social scienc wolf eric peril idea race cultur peopl current anthropolog term françoi péron discuss encount tasmanian aborigin flanneri futur eater ecolog histori australasian land peopl chatswood south wale ethnographi primari method text written result practic anthropolog element work franz boa bronisław malinowski late earli centuri social anthropolog distinguish social scienc disciplin emphasi in-depth examin context cross-cultur comparison socio-cultur anthropolog natur compar disciplin import place long-term experienti immers area research participant-observ cultur anthropolog emphas cultur rel find frame cultur critiqu promin unit state boa argument th-centuri racial ideolog margaret mead advocaci gender equal sexual liber current critic post-coloni oppress promot multicultur histor institut context anthropologist eric wolf anthropolog scientif human humanist scienc contemporari anthropologist claim number earlier thinker forebear disciplin sourc claud lévi-strauss claim montaign rousseau import influenc ancient mediev writer scholar consid forerunn anthropolog conduct wrote detail studi custom peopl includ greek writer herodotu call father histori roman historian tacitu wrote surviv contemporari account ancient celtic german peopl candid scholar carri compar studi person mediev persian scholar rayhān centuri wrote peopl custom religion indian subcontin akbar ahm al-beruni anthropologist rain wrote detail compar studi religion cultur middl east mediterranean south asia walbridg explain greek god islam journal histori idea richard tapper islam anthropolog anthropolog islam anthropolog quarterli anthropolog analysi islam text activ led establish sustain tradit compar studi custom belief wai human behavior experi shape particip group peopl share histori scholar modern anthropolog outgrowth ag enlighten period european attempt systemat studi human behavior varieti increas centuri result european colon wave tradit jurisprud histori philolog sociolog evolv close resembl modern view disciplin inform develop social scienc anthropolog part develop systemat studi ancient civil disciplin classic egyptolog inform archaeolog eventu social anthropolog studi east south asian languag cultur time romant reaction enlighten produc thinker johann gottfri herder wilhelm dilthei work form basi cultur concept central disciplin tabl natur histori cyclopaedia anthropolog emerg develop natur histori expound author buffon occur european colon centuri program ethnograph studi origin era studi human primit overseen coloni administr tendenc late centuri enlighten thought understand human societi natur phenomena behav accord principl observ empir wai studi languag cultur physiolog artifact european coloni studi flora fauna place earli anthropolog divid propon unilin argu societi pass singl evolutionari process primit advanc form non-lin theorist tend subscrib idea diffusion stock georg race cultur evolut essai histori anthropolog london free press th-centuri social theorist includ anthropologist view non-european societi window pre-industri human academ disciplin began differenti centuri anthropolog grew increasingli distinct biolog approach natur histori hand pure histor literari field classic common critic social scienc scholar economist sociologist psychologist western countri focu disproportion western subject anthropolog focus disproportion clifford jame georg marcu write cultur poetic polit ethnographi berkelei univers california press chang part centuri anthropologist increasingli studi western subject variat class region ethnic western societi social scientist increasingli global view field twentieth centuri academ disciplin institution divid broad domain natur biolog scienc seek deriv gener law reproduc verifi experi human gener studi local tradit histori literatur music art emphasi understand individu event era social scienc gener attempt develop scientif method understand social phenomena generaliz method distinct natur scienc social scienc develop statist descript gener law deriv physic chemistri explain individu case gener principl field psycholog anthropolog field histori easili fit categori branch anthropolog draw domain wallerstein immanuel anthropolog sociolog dubiou disciplin current anthropolog anthropolog emerg coloni power mention gener path countri southern central europ itali greec successor austro-hungarian ottoman empir encount multipl distinct cultur organ languag europ led continu emphasi cross-cultur comparison recept kind cultur relativ varieti cultur relativ anthropolog spiro melford reflect cultur determin relativ special refer emot reason cultur human natur theoret paper melford spiro edit kilborn lang chicago univers chicago press successor state continent europ hand anthropologist join folklorist linguist nationalist nation-build enterpris ethnologist countri tend focu differenti local ethnolinguist group document local folk cultur repres prehistori nation museum form public educ gellner ernest languag solitud wittgenstein malinowski habsburg dilemma york cambridg univers press scheme russia occupi middl posit hand larg asian region highli distinct pre-industri non-liter peopl similar situat america hand russia particip degre nationalist discours central eastern europ revolut anthropolog ussr soviet bloc countri highli shape conform marxist theori social evolut gellner ernest ed soviet western anthropolog york columbia univers press anthropolog countri anthropolog britain tylor th-centuri british anthropologist tylor octob januari jame georg frazer januari gener consid anteced modern sociocultur anthropolog britain tylor undertook field trip mexico frazer deriv materi compar studi extens read classic materi literatur histori greec rome work earli european folklorist report missionari travel contemporan ethnologist tylor advoc strongli unilin form uniform mankind tylor laid groundwork theori cultur diffusion state wai group similar cultur form technolog independ invent inherit ancestor distant region transmiss race sic tylor earli histori mankind develop civil london john murrai tylor formul earli influenti anthropolog concept cultur complex includ knowledg belief art moral law custom capabl habit acquir man member societi tylor primit cultur research develop mytholog philosophi religion art vol london john murrai stock note tylor concern describ map distribut element cultur larger function gener assum victorian idea progress idea non-direct multilin cultur develop propos anthropologist tylor theoriz origin religi feel human be propos theori anim earliest stage note religion compon believ import belief supernatur be oppos moral system cosmolog jame georg frazer scottish scholar broad knowledg classic concern religion myth magic compar studi influenti numer edit golden bough analyz similar religi belief symbol worldwid tylor frazer interest fieldwork interest examin cultur element institut fit turn centuri number anthropologist dissatisfi categor cultur element histor reconstruct increasingli specul influenc younger scholar approach predomin british anthropologist concern analyz societi held present synchron analysi diachron histor analysi emphas long-term year immers fieldwork cambridg univers financ multidisciplinari expedit torr strait island organ alfr court haddon includ river linguist botanist specialist find expedit set standard ethnograph descript decad polish-born anthropolog student bronisław malinowski begin expect period fieldwork model collect list cultur item outbreak world war strand guinea subject austro-hungarian empir resid british coloni possess effect confin guinea year malinowski bronisław diari strict sens term york harcourt brace world time undertak intens fieldwork british anthropologist classic ethnographi argonaut western pacif advoc approach fieldwork standard field nativ point view particip observ theoret advoc functionalist interpret examin social institut function meet individu british anthropolog expans moment interwar period kei contributor bronisław malinowski meyer fort jack goodi review radcliffe-brown publish semin work carri initi fieldwork andaman island style histor reconstruct read work french sociologist durkheim marcel mauss radcliffe-brown publish account research entitl simpli andaman island paid close attent mean purpos ritual myth time develop approach structural-function focus institut societi work balanc creat equilibrium social system function harmoni contrast malinowski function french structur examin conceptu structur languag symbol malinowski radcliffe-brown influenc stem fact boa activ train student aggress built institut further programmat ambit case radcliffe-brown spread agenda social anthropolog teach univers british commonwealth late postwar period appear string monograph edit volum cement paradigm british social anthropolog bsa famou ethnographi includ nuer edward evan evans-pritchard dynam clanship meyer fort well-known edit volum includ african system kinship marriag african polit system max gluckman colleagu institut student manchest univers collect manchest school bsa direct introduct explicitli theori emphasi conflict conflict resolut attent wai individu negoti social structur possibl britain anthropolog great intellectu impact contribut eros christian growth cultur relativ awar surviv primit modern life replac diachron mode analysi synchron central modern cultur thoma william american histor review edmund leach student mari dougla nur yalman introduc french structur style lévi-strauss british anthropolog continu emphas social organ econom pure symbol literari topic differ british french american sociocultur anthropolog diminish increas dialogu borrow theori method todai social anthropolog britain engag internation social theori branch direct countri british commonwealth social anthropolog institution separ physic anthropolog primatolog connect depart biologi zoologi archaeolog connect depart classic egyptolog countri smaller british north american univers anthropologist institution link scholar folklor museum studi human geographi sociolog social relat ethnic studi cultur studi social work anthropolog unit state begin earli centuri earli centuri anthropolog unit state influenc presenc nativ american societi coloni power includ britain franc spain portug countri latin america encount coloni subject manifest wai curios admir desir reform civil nativ practic simpl puzzlement societi function social polit system motiv earli ethnograph practic concern christian missionari coloni administr seek commun nativ peopl ascertain incorpor help gain fund institut attent statement ethnologist amateur missionari coloni administr distinguish commit scholar era prior profession anthropolog plai polit debat definit human citizenship conflict pursuit pure knowledg facilit intercultur understand hand potenti exploit oppress coerciv knowledg put concern earli anthropologist major sourc controversi self-examin disciplin mid-th centuri claim anthropolog project coloni misconcept grown critic perspect boasian anthropolog franz boa pioneer modern anthropolog call father american anthropolog cultur anthropolog unit state influenc greatli readi avail nativ american societi ethnograph subject field pioneer staff bureau indian affair smithsonian institut bureau american ethnolog men john weslei powel frank hamilton cush lewi henri morgan lawyer rochest york advoc ethnolog scholar iroquoi compar analys religion govern materi cultur kinship pattern prove influenti contribut field anthropolog scholar dai edward tylor morgan argu human societi classifi categori cultur evolut scale progress rang savageri barbar civil gener morgan technolog bowmak potteri indic posit scale influenti idea karl marx dedic da kapit morgan franz boa establish academ anthropolog unit state opposit sort evolutionari perspect boasian anthropolog polit activ suspici research dictat govern wealthi patron rigor empir skeptic overgener attempt establish univers law boa studi immigr children demonstr biolog race immut human conduct behavior result nurtur natur influenc german tradit boa argu world full distinct cultur societi evolut measur civil believ cultur studi particular argu cross-cultur gener natur scienc fought discrimin immigr african american nativ north american stock georg race cultur evolut essai histori anthropolog london free press american anthropologist adopt agenda social reform theori race continu popular target anthropologist todai so-cal field approach origin boasian anthropolog divid disciplin crucial interrel field sociocultur biolog linguist prehistor anthropolog ruth benedict boa posit columbia univers american museum natur histori train develop multipl gener student gener student includ alfr kroeber robert lowi edward sapir ruth benedict produc richli detail studi indigen north american cultur wealth detail attack theori singl evolutionari process kroeber sapir focu nativ american languag help establish linguist gener scienc free histor focu indo-european languag public alfr kroeber textbook anthropolog mark turn point american anthropolog decad amass materi boasian felt grow urg gener obviou studi carri younger boasian margaret mead ruth benedict influenc psychoanalyt psychologist sigmund freud carl jung author sought understand individu person shape wider cultur social forc grew work come ag samoa chrysanthemum sword remain popular american public mead benedict impact disciplin anthropolog expect boa plan ruth benedict succe chair columbia anthropolog depart sidelin ralph linton mead limit offic amnh anthropolog canada canadian anthropolog began part coloni world ethnolog data record travel missionari canada jesuit missionari father leclercq le jeun sagard provid oldest ethnograph record nativ tribe domain canada true anthropolog began govern depart geolog survei canada georg mercer dawson director dawson support anthropolog creat impetu profess canada expand prime minist wilfrid laurier establish divis anthropolog geolog survei anthropologist recruit england usa set foundat uniqu canadian style anthropolog earli scholar includ brilliant linguist boasian edward sapir oxford graduat mariu barbeau diamond jen born rural québec barbeau rhode scholar eventu classmat jen studi tylor marett oxford canada barbeau jen work nation museum canada home-grown anthropologist establish archiv kei sourc ethnograph folklor materi preston tremblai canadian world encyclopedia georg mercer dawson mcgill montreal franz boa sapir barbeau conduct ethnograph research collect materi cultur peopl northwest coast haida jen research arctic copper inuit actual work varieti area canada record tradit song studi languag collect artifact museum essenti sole respons develop profess canada sapir left develop slow rel expans due colon britain usa academ posit anthropolog canadian univers award thoma mcilwraith univers toronto univers hire anthropologist ubc mcgill phd anthropolog grant grant late brought boom univers develop profession anthropolog peopl doctor anthropolog emploi canada master degre harri hawthorn built depart ubc set standard anthropolog research guid public polici classic report feder govern coauthor tremblai survei contemporari indian canada canadian anthropolog character combin americanist interest nativ american tribe peopl british anthropolog concern social function process francophon concern small rural ethnic isol commun studi issu dispar continu chang environ cultur ecolog person cultur symbol predomin discours world war vietnam war era anthropolog franc durkheim anthropolog franc clear genealog british american tradit part french writer influenti anthropolog train held faculti posit sociolog philosophi field anthropolog comment marcel mauss nephew influenti sociologist durkheim founder french anthropolog tradit mauss belong durkheim anné sociologiqu group durkheim examin state modern societi mauss collabor henri hubert robert hertz drew ethnographi philolog analyz societi european nation state work mauss prove endur relev essai gift semin analysi exchang reciproc huxlei lectur notion person compar studi notion person selfhood cross-cultur mauss marcel categori human mind notion person notion collin luke ed categori person anthropolog philosophi histori cambridg york cambridg univers press origin categori de l’esprit humain la notion de personn cell de huxlei memori lectur appear journal royal anthropolog institut interwar year french interest anthropolog dovetail wider cultur movement surreal primitiv drew ethnographi inspir marcel griaul michel leiri exampl peopl combin anthropolog french avant-gard time ethnologi restrict museum musé de l'homm found paul rivet anthropolog close relationship studi folklor claud lévi-strauss help institution anthropolog franc addit enorm influenc structur exert multipl disciplin lévi-strauss establish ti american british anthropologist time establish center laboratori franc provid institut context anthropolog train influenti student mauric godeli françois héritier prove influenti world french anthropolog distinct charact franc anthropolog todai result fact anthropolog carri nation fund research laboratori cnr academ depart univers influenti writer includ pierr clastr explain book tribe paraguai primit societi activ oppos institut state stateless societi evolv societi state activ choic conjur institut author separ function societi leader spokesperson group deal group intern relat author violent remov attempt abus posit import french social theorist foucault lévi-strauss pierr bourdieu train formal philosophi sociolog eventu held chair sociolog collèg de franc mauss work topic sociolog anthropolog fieldwork kabyl algeria place solidli anthropolog analysi function reproduct fashion cultur capit european societi place solidli sociolog countri anthropolog greec portug influenc british anthropolog greec centuri scienc folklor call form scienc interior theoret weak connot field deepli chang world war ii wave anglo-american anthropologist introduc scienc genevièv l'anthropologi en grèce terrain numéro se preuv mar en lign mi en lign le octobr url le juin french itali develop ethnolog relat studi receiv attent branch learn author giorgio bernardo bernardi ugo bianchi michal jack goodi allison david kertzer vittorio antonio marazzi roi miller laura minelli david moss leonard moss princ peter greec denmark diana pinto pietro scotti tullio tentori current anthropolog germani norwai countri show divis conflict scholar focus domest socio-cultur issu scholar focus societi anthropolog world war ii increas dialogu anglophon anthropolog wwii british american distinct tradit war british american anthropologist borrow idea approach began speak collect anthropolog mid- anthropolog tend increasingli model natur scienc anthropologist lloyd faller clifford geertz focus process modern newli independ state develop julian steward lesli white focus societi evolv fit ecolog approach popular marvin harri econom anthropolog influenc karl polanyi practic marshal sahlin georg dalton challeng standard neoclass econom account cultur social factor emploi marxian analysi anthropolog studi england british social anthropolog paradigm began fragment max gluckman peter worslei experi marxism author rodnei needham edmund leach incorpor lévi-strauss structur work structur influenc number develop includ cognit anthropolog componenti analysi author david schneider clifford geertz marshal sahlin develop fleshed-out concept cultur web mean signif prove popular disciplin keep time anthropolog politic algerian war independ opposit vietnam war fanon frantz wretch earth transl constanc farrington york grove weidenfeld marxism popular theoret approach disciplin nugent stephen journal royal anthropolog institut volum number june author volum reinvent anthropolog worri anthropolog relev issu power examin eric wolf europ peopl histori central disciplin book anthropolog coloni encount ponder anthropolog ti coloni inequ immens popular theorist antonio gramsci michel foucault move issu power hegemoni spotlight gender sexual popular topic relationship histori anthropolog influenc marshal sahlin drew lévi-strauss fernand braudel examin relationship social structur individu agenc influenti issu nietzsch heidegg critic theori frankfurt school derrida lacan late author georg marcu jame clifford ponder ethnograph author anthropolog knowledg authorit reflect trend research discours initi feminist academi excus comment specif pioneer critic clifford jame georg marcu write cultur poetic polit ethnographi berkelei univers california press kei aspect feminist method de rigueur part anthropolog ethnographi reflex explicitli address author methodolog cultur gender racial posit influenc ethnograph analysi part gener trend postmodern popular contemporan gellner ernest postmodern reason religion london york routledg anthropologist pai attent wide varieti issu pertain contemporari world includ global medicin biotechnolog indigen right virtual commun anthropolog industri societi approach anthropolog field approach princip unit state sydel silverman current anthropolog supplement inquiri debat human scienc contribut current anthropolog anthropolog defin holist base four-field approach ongo disput sens theoret pragmat structur american academ institut support shore bradd strang fate holism anthropolog new anthropolog holist sens concern human be time place dimens human evolutionari biophys sociopolit econom cultur linguist psycholog academ program approach four-field approach anthropolog encompass physic anthropolog archaeolog linguist cultur anthropolog social anthropolog definit anthropolog holist four-field approach disput lead anthropologist daniel ed jame clifford ian hodder rena lederman michael silverstein duke univers press introduct review robert borofski american anthropologist june aa robin fox artifact centuri social evolutionari thought inappropri impos scientif positiv cultur anthropolog pressur integr socio-cultur anthropolog inher human anthropolog inher natur scienc critic inappropri imposit positiv belief proper knowledg deriv scientif method cultur anthropolog critic argument rais develop sociobiolog late cultur anthropologist marshal sahlin field holism american anthropolog origin field approach debat export internation american academ influenc smart josephin search anthropolog china disciplin caught web nation build socialist capit global gustavo lin ribeiro arturo escobar ed world anthropolog disciplinari transform system power oxford berg publish detail section relat natur scienc human field biolog physic anthropolog seek understand physic human studi human evolut adapt popul genet primatolog subfield relat field includ paleoanthropolog studi evolutionari histori human speci anthropometr forens anthropolog osteolog nutrit anthropolog socio-cultur anthropolog investig long term intens field studi includ participant-observ method cultur social organ peopl languag econom polit organ law conflict resolut pattern consumpt exchang kinship famili structur gender relat childrear social religion mytholog symbol univers term cultur anthropolog british univers tend call field social anthropolog centuri emphas analysi social organ cultur symbol european countri socio-cultur anthropolog ethnolog term coin defin adam kollár han vermeulen german invent völkerkund ethnolog discours europ asia sara eigen mark larrimor ed german invent race english-speak countri denot compar aspect socio-cultur anthropolog subfield relat field includ psycholog anthropolog folklor anthropolog religion ethnic studi cultur studi anthropolog media cyberspac studi diffus social practic cultur form linguist anthropolog seek understand process human commun verbal non-verb variat languag time space social languag relationship languag cultur branch anthropolog bring linguist method bear anthropolog problem link analysi linguist form process interpret sociocultur process linguist anthropologist draw relat field includ anthropolog linguist sociolinguist pragmat cognit linguist semiot discours analysi narr analysi salzmann zdeněk languag cultur societi introduct linguist anthropolog boulder westview press archaeolog studi contemporari distribut form artifact materi modifi human activ intent understand distribut movement ancient popul develop human social organ relationship contemporari popul contribut significantli work popul geneticist histor linguist historian archaeolog involv wide varieti field techniqu remot sens survei geophys studi core excav laboratori procedur composit analys date studi radiocarbon optic stimul luminesc date measur formal variabl examin wear pattern residu analys archaeologist predominantli studi materi produc prehistor group includ modern histor ethnograph popul archaeolog regard separ relat field north america close relat anthropolog field materi cultur deal physic object creat live group mean understand cultur valu number subfield mode anthropolog cut divis medic anthropolog consid subfield socio-cultur anthropolog anthropologist studi medic topic biolog variat popul interact cultur biologi linguist analysi understand commun health ill archaeolog techniqu understand health ill histor prehistor popul similarli forens anthropologist techniqu physic anthropolog archaeolog practic medic anthropologist environment ecolog anthropolog grow subfield concern relationship human environ bring cultur time deal broad rang topic environmentalist movement wildlif habitat conserv tradit ecolog knowledg practic biocultur anthropolog broad term describ synthes cultur biolog perspect appli anthropolog consid emphasi subfield sens standard appli anthropologist work govern agenc nongovernment agenc privat industri techniqu subfield address matter polici implement impact assess educ market research product develop anthropolog program promin univers begun divid field emphas human critic theori interpret semiot approach emphas evolutionari theori quantit method explicit theori test idiograph descript institut pressur rejoin high-profil split depart biolog anthropolog archaeolog program move depart anthropolog depart biologi relat field occas discuss american anthropolog associ remain form four-field organ persist north american univers infer list subfield anthropolog methodolog divers disciplin incorpor qualit method quantit method case studi base field histor central place literatur sociocultur linguist anthropolog increasingli supplement approach technolog advanc spur methodolog innov anthropolog subfield radiocarbon date popul genet gp digit audio-record technolog spur develop anthropolog research controversi anglo-american anthropolog decad centuri american cultur anthropolog develop power influenc franz boa student struggl racial determin ethnocentr th-centuri cultur evolution addit impact great depress world war ii american anthropolog develop pronounc obviou left-w liber tone disciplin deep involv cultur put vulner posit campu upheav late subsequ cultur war polit anthropolog pervas concern realiti notion anthropolog complicit moral unaccept project signific topic disciplin cultur studi post-coloni asad talal ed anthropolog coloni encount atlant highland nj human press van breman jan akitoshi shimizu anthropolog coloni asia oceania richmond surrei curzon press central element discours claim disciplin grew coloni leagu deriv kei notion conscious gough pel cf lewi gellner ernest postmodern reason religion london york routledg assum exploit relationship relationship british anthropologist coloni forc africa assumpt support evid desai gaurav subject coloni african self-fashion coloni librari durham nc duke univers press asad talal ed anthropolog coloni encount atlant highland nj human press idea social polit problem aris anthropologist power peopl studi form colonialist theft anthropologist gain power expens subject rabinow dwyer mcgrane anthropologist argu gain power exploit knowledg artifact peopl studi peopl studi gain lose exchang deloria critic write publish respons wide-rang claim product polit concern atmospher time trencher critiqu claim disciplin ahistor dealt object sic time detriment fabian claim anthropologist regularli exotic equal assur inappropri univers human natur lewi herbert american anthropologist lutz catherin compar explain behavior conscious white kirkpatrick ed person experi explor pacif berkelei lo angel univers california press critic render compel work focus peopl topic close author home specif section detail explicitli polit concern entangl govern intellig agenc hand anti-war polit franz boa publicli object particip world war war publish expos condemn particip american archeologist espionag mexico cover scientist anthropologist contemporari activ alli war effort axi nazi germani fascist itali imperi japan serv arm forc work intellig offic strateg servic oss offic war inform david price work american anthropolog cold war detail account pursuit dismiss anthropologist vocal left-w sympathi hand attempt accus anthropologist complic cia govern intellig activ vietnam war year turn surprisingli anthropologist hugo nutini activ stillborn project camelot horowitz lewi ed rise fall project camelot contrari anthropologist student teacher activ antiwar movement great resolut condemn war aspect pass overwhelmingli annual meet american anthropolog associ aaa decad vietnam war tone cultur social anthropolog increasingli politic domin liber tone earlier gener replac radic mix vari degre marxist feminist anarchist post-coloni post-modern foucauldian identity-bas d'andrad roi moral model anthropolog current anthropolog profession anthropolog bodi object anthropolog benefit state code ethic statement proscrib anthropologist give secret brief associ social anthropologist uk commonwealth asa call scholarship ethic danger aaa current profession state relat govern host govern secret research secret report debrief kind agre anthropolog warfar part christian scienc monitor report counterinsurg effort focu grasp meet local afghanistan rubric concern express bioprospect struggl self-represent nativ peopl repatri indigen remain materi cultur anthropologist lead issu polit controversi emphasi american anthropolog cultur relativ long-stand dismiss concept race develop sociobiolog late oppos cultur anthropologist marshal sahlin argu posit reduct detail section relat natur scienc human author john randal baker continu develop biolog concept race rise genet proven central develop front genet continu advanc scienc scholar luca cavalli-sforza continu transform advanc notion race develop genet trace migrat peopl mitochondri y-chromosom dna marker major discuss anthropolog focu cultur author argu anthropolog origin develop studi cultur term time societi space non-european non-western societi classic urban anthropolog ulf introduct semin explor citi inquiri urban anthropolog mention world habitu receiv attent anthropologist tradition special cultur look start track late ulf explor citi inquiri urban anthropolog exist work focus peopl topic close author home argu field studi histori sociolog contrari focu disproportion west jack goodi cambridg univers press franc studi exist contemporari societi tradition left sociologist increasingli chang marc cultur anthropolog start scholar isac chiva journal terrain fieldwork develop center found marc le centr d'anthropologi de mond contemporain anthropolog research center contemporari societi approach focus modern world topic terrain present british manchest school report institut academ apartheid sort anthropolog focus focus contemporari societi apartheid rang contact statu open conflict countri greater germani norwai signific franc +remain ancient rome itali excav map archaeologist roman theater alexandria egypt archaeolog archeolog archæolog greek primal ancient logo studi scienc studi human cultur recoveri document analysi interpret materi remain environment data includ architectur artifact featur landscap archaeolog aim understand mankind humanist endeavor renfrew bahn goal archaeolog vari debat aim respons goal includ document explan origin develop human cultur understand cultur histori chronicl cultur evolut studi human behavior ecolog prehistor histor societi archaeologist concern studi method disciplin theoret philosoph underpin underli question archaeologist task survei area order find site excav site order recov cultur remain classif analysi preserv import phase archaeolog process import sourc inform broad scope disciplin great deal cross-disciplinari research archaeolog draw anthropolog histori art histori classic ethnolog geographi geologi watter watter physic inform scienc chemistri statist paleoecolog paleontolog paleozoolog paleobotani origin definit part europ world disciplin root antiquarian studi latin ancient greek natur affin field histori archaeolog ancient china develop antiquarian pursuit specif scholar-offici desir reviv ancient relic state ritual pursuit chines peer critic shen kuo assert archaeolog pursuit studi function discov method manufactur ancient time studi interdisciplinari approach fraser haber disciplin shen offici historian poet essayist ouyang xiu compil analyt catalogu ancient rub stone bronz pioneer idea earli epigraphi archaeolog ebrei north america archaeolog sub-field branch anthropolog branch cultur anthropolog studi live cultur societi linguist studi languag includ origin languag languag group physic anthropolog includ studi human evolut physic genet characterist import applic stoneheng unit kingdom archaeolog mean learn exist behavior peopl millennia thousand cultur societi billion peopl written record exist record misrepres incomplet write todai exist human civil millennium bc small number technolog advanc civil contrast homo sapien exist year speci homo million year human evolut civil coincident best-known open inquiri historian centuri studi pre-histor cultur arisen liter civil event import human practic offici record knowledg earli year human civil develop agricultur cult practic folk religion rise citi archaeolog kevin green archaeolog introduct ten indu glyph discov northern gate dholavira year written record exist incomplet invari bias extent societi literaci restrict elit class clergi bureaucraci court templ literaci aristocrat restrict deed contract interest world-view elit live interest populac write produc peopl repres gener popul find librari preserv poster written record tend reflect bias assumpt cultur valu possibl decept limit rang individu fraction larger popul written record trust sole sourc materi record closer fair represent societi subject inaccuraci sampl bia differenti preserv addit scientif import archaeolog remain polit cultur signific descend peopl produc monetari collector simpli strong aesthet appeal peopl identifi archaeolog recoveri aesthet religi polit econom treasur reconstruct societi view espous work popular fiction raider lost ark mummi king solomon mine unrealist subject treat accus pseudosci invari level propon pseudoarchaeolog endeavour real fiction repres modern archaeolog histori archaeolog pot qianlong reign qing dynasti china histori archaeolog increas professionalis increas rang techniqu obtain data site examin excav ancient monument collect antiqu place thousand year extract valuabl aesthet pleas artifact centuri systemat studi physic remain began carri notabl earli develop found rome eduard gerhard institut archaeolog correspond instituto di corrispondenza archeologica institut für archäologisch korrespondenz archaeolog method develop interest amateur profession includ augustu pitt river william flinder petri process continu centuri peopl mortim wheeler highli disciplin approach excav greatli improv qualiti evid obtain centuri develop urban archaeolog rescu archaeolog import factor develop archaeolog scienc greatli increas amount data obtain branch archaeoastronomi archaeolog deal studi ancient tradit astronomi cultur context archaeolog theori singl theori archaeolog definit disput mid-th centuri gener consensu archaeolog close relat histori anthropolog major phase histori archaeolog theori unit state develop late earli centuri commonli refer cultur cultur histori emphasi histor particular trigger american southwest cultur histor archaeolog intim ti direct histor approach trigger approach continu pursu american southwest american northwest coast mesoamerica and oceania siberia world area appear continu live indigen popul archaeolog remain group pursu direct histor approach ethnohistor earli histor record plai import role articul connect modern peopl archaeolog literari sourc context case hadrian wall number primarili american archaeologist lewi binford kent flanneri rebel paradigm cultur histori binford flanneri propos archaeolog scientif anthropolog hypothesi test scientif method import part processu archaeolog trigger postmodern movement aros led british archaeologist michael shank shank tillei shank tillei shank shank christoph tillei tillei daniel miller miller tillei miller al ian hodder hodder hodder hodder hodder hodder hodder question processu appeal scientif positiv imparti emphasis import self-crit theoret reflex approach term post-processu archaeolog approach critic lack scientif rigor valid processu post-processu debat histor processu emerg paradigm seek incorpor focu process post-processu archaeolog emphasi reflex histori archaeolog theori borrow wide rang influenc includ neo-darwinian evolutionari thought phenomenolog postmodern agenc theori cognit scienc function gender-bas feminist archaeolog system theori method survei mont alban archaeolog site modern archaeolog project begin survei region survei attempt systemat locat previous unknown site region site survei attempt systemat locat featur interest hous midden site goal accomplish larg method survei wide practic earli dai archaeolog cultur historian prior research content discov locat monument site local populac excav plainli visibl featur gordon willei pioneer techniqu region settlement pattern survei viru vallei coastal peru willei willei survei level promin rise processu archaeolog year billman feinman survei work benefit perform preliminari exercis place excav requir time expens requir process larg volum soil search artifact survei larg region site expens archaeologist emploi sampl method redman form non-destruct archaeolog survei avoid ethic issu concern descend peopl destroi site excav gather form inform settlement pattern settlement structur survei data commonli assembl map show surfac featur artifact distribut simplest survei techniqu surfac survei involv comb area foot mechan transport search featur artifact visibl surfac surfac survei detect site featur complet buri earth overgrown veget surfac survei includ techniqu auger corer shovel test pit aerial survei conduct camera attach airplan balloon kite bird's-ey view quick map larg complex site aerial photograph document statu archaeolog dig aerial imag detect visibl surfac plant grow buri man structur stone wall develop slowli type featur midden develop rapidli photograph ripen grain colour rapidli matur reveal buri structur great precis aerial photograph time dai show outlin structur shadow aerial survei emploi infrar ground-penetr radar wavelength thermographi archaeolog geophys effect beneath ground magnetomet detect minut deviat earth magnet field caus iron artifact kiln type stone structur ditch midden devic measur electr resist soil wide archaeolog featur electr resist contrast surround soil detect map archaeolog featur compos stone brick higher resist typic soil organ deposit unfir clai tend resist archaeologist metal detector tantamount treasur hunt deem effect tool archaeolog survei exampl formal archaeolog metal detector includ musketbal distribut analysi english civil war battlefield metal distribut analysi prior excav nineteenth centuri ship wreck servic cabl locat evalu metal detectorist contribut archaeolog record detail record result refrain rais artifact archaeolog context uk metal detectorist solicit involv portabl antiqu scheme region survei underwat archaeolog geophys remot sens devic marin magnetomet side-scan sonar sub-bottom sonar excav archaeolog excav discov prehistor cave vill austria archaeologist sift pow remain wake island archaeolog excav exist field domain amateur remain sourc major data recov field project reveal type inform access survei stratigraphi three-dimension structur verifi primari context modern excav techniqu requir precis locat object featur proven proveni record involv determin horizont locat vertic posit primari law archaeolog similarli associ relationship nearbi object featur record analysi archaeologist deduc artifact featur phase activ excav site reveal stratigraphi site occupi success distinct cultur artifact cultur lie ancient cultur excav expens phase archaeolog research destruct process carri ethic concern result site excav entireti sampl import excav survei common larg mechan equip backho jcb excav remov topsoil overburden method increasingli great caution dramat step expos area trowel hoe ensur featur appar task form site plan decid method excav featur dug natur subsoil excav portion order produc visibl archaeolog section record featur pit ditch consist part cut fill cut describ edg featur featur meet natur soil featur boundari fill understand featur fill distinct natur soil cut fill consecut number record purpos scale plan section individu featur drawn site black white colour photograph record sheet fill describ context inform serv perman record now-destroi archaeolog describ interpret site analysi artifact structur excav collect surfac survei properli studi gain data process analysi time-consum part archaeolog investig uncommon final excav report major site year publish basic artifact clean catalogu compar publish collect order classifi typolog identifi site similar artifact assemblag comprehens rang analyt techniqu archaeolog scienc mean artifact date composit examin bone plant pollen collect site analyz techniqu zooarchaeolog palynolog text deciph techniqu frequent provid inform contribut greatli understand site academ sub-disciplin academ disciplin larg number archaeolog sub-disciplin characteris specif method type materi lithic analysi music archaeobotani geograph chronolog focu eastern archaeolog mediev archaeolog themat concern maritim archaeolog landscap archaeolog battlefield archaeolog specif archaeolog cultur civilis egyptolog histor archaeolog histor archaeolog studi cultur form write england archaeologist uncov long-lost layout mediev villag abandon crise centuri equal lost layout centuri parterr garden swept chang fashion downtown york citi archaeologist exhum centuri remain african burial ground ethnoarchaeolog ethnoarchaeolog archaeolog studi live peopl gould gould yellen yellen gould yellen yellen approach gain notorieti emphasi middl rang theori featur processu movement earli ethnoarchaeolog research focus hunt gather forag societi ethnoarchaeolog continu vibrant compon post-processu current archaeolog approach al schott sillito experiment archaeolog experiment archaeolog repres applic experiment method develop highli control observ process creat impact archaeolog record ascher shimada shimada frison context context logic positiv processu goal improv scientif rigor archaeolog epistemolog experiment method gain import experiment techniqu remain crucial compon improv inferenti framework interpret archaeolog record archaeometri archaeometri field studi aim systemat archaeolog measur emphas applic analyt techniqu physic chemistri engin live field research frequent focus definit chemic composit archaeolog remain sourc analysi glascock al cultur resourc manag cultur resourc manag crm call heritag manag britain branch archaeolog account research unit state western europ unit state crm archaeolog grow concern passag nation histor preserv act archaeolog countri todai proce direct relat requir measur unit state vast major taxpay scholar politician crm help preserv nation histori prehistori lost expans citi dam highwai statut mandat construct project public land involv public fund damag unstudi archaeolog site applic crm unit kingdom limit government-fund project ppg requir planner archaeolog materi consider determin applic develop result numer archaeolog organis undertak mitig work advanc construct work archaeolog sensit area develop expens england ultim respons care histor environ rest depart cultur media sport associ english heritag scotland wale northern ireland respons lie histor scotland cadw environ heritag servic northern ireland goal crm identif preserv mainten cultur site public privat land remov cultur valuabl materi area destroi human activ propos construct studi involv cursori examin determin signific archaeolog site present area affect propos construct exist time monei allot excav initi survei test excav presenc extraordinarili valuabl site construct prohibit crm thrive entiti unit state europ archaeologist privat compani level govern engag practic disciplin cultur resourc manag critic crm conduct privat compani bid project submit propos outlin work expect budget unheard-of agenc respons construct simpli choos propos ask fund crm archaeologist face consider time pressur forc complet work fraction time allot pure scholarli endeavour compound time pressur vet process site report requir submit crm firm state histor preserv offic perspect differ report submit crm firm oper deadlin multi-year academ project result cultur resourc manag archaeologist success produc academ qualiti document corpor world pace annual ratio open academ archaeolog posit inclus post-doc temporari tenur track appoint annual number archaeolog ma msc phd student grossli disproportion dearth academ posit predict excess educ individu join rank year crop non-academ emploi archaeologist cultur resourc manag consid intellectu backwat individu strong back weak mind flanneri reap benefit massiv pool educ profession result crm offic increasingli staf advanc degre individu track record produc scholarli articl notch trowel show trench popular view archaeolog largest archaeolog site middl east bet she'an israel earli archaeolog larg attempt uncov spectacular artifact featur explor vast mysteri abandon citi pursuit continu fascin public book film video game king solomon mine mummi raider lost ark tomb raider testifi public interest discoveri aspect archaeolog product research conduct dramat local copán vallei king bulk activ find modern archaeolog sensat archaeolog adventur stori tend ignor painstak work involv carri modern survei excav data process archaeologist refer portray pseudoarchaeolog archaeolog portrai mainstream media sensat wai advantag disadvantag practition point childhood excit indiana jone film tomb raider game inspir enter field archaeologist reliant public support question work discuss strong public interest subject spark signific find celebr archaeologist great deal harder archaeologist gain polit financi support requir public outreach motiv desir halt loot curb pseudoarchaeolog secur greater public fund appreci work archaeologist mount campaign seek stop loot combat peopl illeg artifact protect site alert peopl live archaeolog site threat loot common method public outreach includ press releas encourag school field trip site excav profession archaeologist audienc work public increasingli realiz work benefit non-academ audienc respons educ inform public archaeolog local heritag awar aim increas civic individu pride project commun excav project public present archaeolog site knowledg uk popular archaeolog program time team meet ancestor result huge upsurg public interest archaeologist provis public involv outreach larger project local archaeolog organ oper commun archaeolog framework expand public involv smaller-scal local project archaeolog excav undertaken well-train staff work quickli accur requir observ health safeti indemn insur issu involv work modern build site tight deadlin chariti local govern bodi offer place research project part academ work defin commun project flourish industri sell place commerci train excav archaeolog holidai tour archaeologist prize local knowledg liais local histor archaeolog societi reason commun archaeolog project start common archaeologist assist public locat archaeolog site profession archaeologist fund time particip archaeolog opportun contact local societi organ pseudoarchaeolog pseudoarchaeolog umbrella term activ claim archaeolog fact violat commonli accept archaeolog practic includ fiction archaeolog work discuss actual activ non-fict author scientif method processu archaeolog specif critiqu contain post-processu type write erich von däniken chariot god subsequ lesser-known work expound theori ancient contact human civilis earth technolog advanc extraterrestri civilis theori theori ancient astronaut theori exclus däniken idea origin work natur mark renunci well-establish theori basi limit evid interpret evid preconceiv theori mind hypothet futur examin archaeolog extraterrestri theoret base scienc fiction work recognis sub-disciplin archaeolog claim valid form archaeolog follow commonli accept practic scientif method processu archaeolog focus anomal discoveri remain adher orthodox theori thought loot looter pit morn excav vallei peru june small hole left prospect probe footprint stela king name adad-nirari object stolen iraq nation museum loot connect iraq war archaeolog site peopl search hoard buri treasur ancient problem instanc tomb egyptian pharaoh loot antiqu archaeolog stimul interest ancient object attract unwelcom attent looter place commerci demand artifact encourag loot illicit antiqu trade smuggl item privat collector looter damag destroi archaeolog site deni archaeologist valuabl inform recov excav ultim rob peopl opportun sheet popular conscious associ loot poor world countri fals assumpt sheet lack financi resourc polit chronic worldwid problem inhibit effect protect archaeolog site hodg director southwest museum lo angel ca releas statement museum longer purchas accept collect loot context hodg convict transport artifact illeg remov privat properti state indiana munson al descend peopl unit state exampl case kennewick man illustr tension nativ american archaeologist summar conflict remain respect burial sacr site academ benefit studi year american archaeologist dug indian burial ground place consid sacr remov artifact human remain storag facil studi case human remain studi archiv reburi western view differ tribal peopl west view time linear nativ cyclic western perspect long-gon nativ perspect disturb dire consequ present consequ american indian attempt prevent archaeolog excav site inhabit ancestor american archaeologist believ advanc scientif knowledg valid reason continu studi contradictori situat address nativ american grave protect repatri act nagpra sought reach compromis limit research institut possess human remain due part spirit archaeologist begun activ enlist assist indigen peopl descend studi archaeologist oblig re-examin constitut archaeolog site view nativ peopl constitut sacr space nativ peopl natur featur lake mountain individu tree cultur signific australian archaeologist explor issu attempt survei site order give protect develop work requir close link trust archaeologist peopl time studi cooper present set challeng hurdl fieldwork benefit parti involv tribal elder cooper archaeologist prevent excav area site sacr archaeologist gain aid interpret find activ effort recruit aborigin peopl archaeolog profess repatri trend heat controversi nation group scientist repatri nativ artifact origin descend occur june commun member elder number algonquian nation ottawa area conven kitigan zibi reserv quebec inter ancestr human remain burial good date year ceremoni mark journei span thousand year mile remain artifact includ bead tool weapon origin excav site ottawa vallei includ morrison allumett island part canadian museum civilization’ research collect decad late elder algonquin commun confer reburi eventu decid tradit redcedar birchbark box line redcedar chip muskrat beaver pelt inconspicu rock mound mark reburi site close box size buri negoti time tens kitigan zibi commun museum reach agreement kennewick man repatri candid sourc heat debat +agronomist measur record corn growth process agricultur scienc broad multidisciplinari field encompass part exact natur econom social scienc practic understand agricultur veterinari scienc anim scienc exclud definit agricultur agricultur scienc term confus cover concept agricultur set activ transform environ product anim plant human agricultur concern techniqu includ applic agronom research agronomi research develop relat studi improv plant-bas agricultur agricultur scienc includ research develop product techniqu irrig manag recommend nitrogen input improv agricultur product term quantiti qualiti select drought-resist crop anim develop pesticid technolog simul model crop growth in-vitro cell cultur techniqu transform primari product product product preserv packag dairi product prevent correct advers environment effect soil degrad wast manag bioremedi theoret product ecolog relat crop product model tradit agricultur system term subsist agricultur feed poorest peopl world system interest retain level integr natur ecolog greater industri agricultur sustain modern agricultur system food product demand global basi special attent paid major produc china india brazil usa agricultur scienc local scienc except theoret agronomi research agronomi field strongli relat local area consid scienc ecoregion close link soil properti climat place peopl agricultur product system reli local weather soil characterist specif crop studi local feel understand product system area human dimens interact natur histori agricultur scienc agricultur scienc began mendel genet work modern term date chemic fertil output plant physiolog understand eighteenth centuri germani todai intensif agricultur develop develop countri refer green revolut close ti progress select improv crop anim high product develop addit input artifici fertil phytosanitari product oldest largest human intervent natur environment impact agricultur gener intens agricultur industri develop popul growth rais question agricultur scientist led develop emerg field includ technolog field assum solut technolog problem li technolog integr pest manag wast treatment technolog landscap architectur genom agricultur philosophi field includ refer food product essenti non-essenti econom fact interact approach provid fertil field deeper understand agricultur scienc technolog biotechnolog comput scienc data process storag technolog advanc develop research field includ genet engin improv statist analysi precis farm balanc natur human scienc agricultur scienc seek understand interact tradit agricultur includ interact religion agricultur non-materi compon agricultur product system promin agricultur scientist robert bakewel norman borlaug luther burbank loui pasteur gregor mendel dumont georg washington carver agricultur scienc agricultur crisi agricultur scienc seek feed world popul prevent biosafeti problem affect human health environ requir promot good manag natur resourc respect environ increasingli concern psycholog wellb concern food product consumpt system econom environment social aspect agricultur scienc subject ongo debat crise avian flu mad cow diseas issu genet modifi organ illustr complex import debat field relat disciplin agricultur econom agricultur engin agricultur philosophi agricultur plant scienc soil scienc aquacultur agronomi biosystem engin environment scienc food scienc horticultur irrig water manag anim scienc plant fertil anim human nutrit plant protect anim health water scienc biotechnolog genet engin microbiolog wast manag theoret product ecolog +histori scienc alchemi arab refer earli form investig natur earli philosoph spiritu disciplin combin element chemistri metallurgi physic medicin astrolog semiot mystic spiritu art part greater forc alchemi practic mesopotamia ancient egypt persia india japan korea china classic greec rome muslim civil europ complex network school philosoph system span year renel alchemist sir william dougla alchemi philosoph spiritu disciplin alchemi art greek word mean separ join compar primari dictum alchemi latin solv coagula separ join best-known goal alchemist transmut common metal gold call silver plant alchemi creation panacea elixir life remedi supposedli cure diseas prolong life indefinit discoveri univers solvent scienc document start middl ag european alchemist invest effort search philosoph stone legendari substanc believ essenti ingredi goal philosoph stone believ mystic amplifi user knowledg alchemi attain alchemist enjoi prestig support centuri pursuit goal mystic philosoph specul domin literatur mundan contribut chemic industri invent gunpowd or test refin metalwork product ink dye paint cosmet leather tan ceram glass manufactur prepar extract liquor prepar aqua vita water life popular experi european alchemist start middl ag alchemist increasingli view metaphys aspect true foundat alchemi organ inorgan chemic substanc physic state molecular materi process mere metaphor spiritu entiti spiritu state ultim spiritu transform sens liter mean blind hide true spiritu philosophi odd mediev christian church necess lead stake rack inquisit charg heresi blavatski theosoph publish compani ii transmut common metal gold univers panacea symbol evolut imperfect diseas corrupt ephemer state perfect healthi incorrupt everlast state philosoph stone repres mystic kei evolut appli alchemist twin goal symbol evolut ignor enlighten stone repres hidden spiritu truth power lead goal text written view cryptic alchem symbol diagram textual imageri late alchem work typic multipl layer mean allegori refer equal cryptic work labori decod order discov true mean alchem catech paracelsu denot usag metal symbol philosoph speak gold silver extract matter suppos refer vulgar gold silver mean vulgar silver gold dead philosoph full life paracelsu retriev april psycholog alchem symbol occasion psychologist philosoph carl jung reexamin alchem symbol theori began show mean alchem work spiritu path alchem philosophi symbol method enjoi renaiss post-modern context ag movement jung alchemi western dedic achiev individu interpret alchemi vessel gnostic surviv purg renaiss sens jung view alchemi compar yoga west act alchemi improv mind spirit alchemist interpretaion chines alchem text term analyt psycholog serv function magnum opu great work mystic interpret stage nigredo blacken individu purif burnout sun alchemi sol niger albedo whiten spiritualis enlighten rubedo redden unif man god unif limit unlimit magnum opu creation sanctum deriv sacrum need complet process achiev magnum opu modern alchemi islam alchemi forerunn modern scientif chemistri alchemist laboratori tool todai tool sturdi good condit mediev period europ transmut attempt fail alchemist unwittingli unstabl chemic wors unsaf condit centuri alchemi consid scienc europ instanc isaac newton devot consider time write studi alchemi isaac newton occult studi optic physic famou emin alchemist western world roger bacon saint thoma aquina tycho brahe thoma brown parmigianino declin alchemi began centuri birth modern chemistri precis reliabl framework matter transmut medicin grand design univers base ration materi nineteenth centuri establish chemist baron carl reichenbach work concept similar alchemi odic forc research enter mainstream scientif discuss matter transmut goal alchemi enjoi moment sun centuri physicist convert platinum atom gold atom nuclear reaction gold atom unstabl isotop last second broke report table-top element mean electrolysi sonic pivot cold fusion controversi claim reliabl duplic alchemi tradit medicin tradit medicin involv transmut alchemi pharmacolog combin pharmacolog spiritu techniqu chines medicin alchem tradit pao zhi transform natur temperatur tast bodi part access toxic ayurveda samskara transform heavi metal toxic herb remov toxic process herbal medicin similar effect process activ present dai juniu manfr practic handbook plant alchemi herbalist guid prepar medicin essenc tinctur elixir heal art press nuclear transmut ernest rutherford artifici disintegr convert nitrogen oxygen amsco school public english amsco school public artifici transmut element perform rutherford rutherford bombard nitrogen energet alpha particl move fast overcom electr repuls target nuclei alpha particl collid absorb nitrogen nuclei proton eject process oxygen hydrogen nuclei creat alchemi subject histor research histori alchemi vigor academ field obscur hermet languag alchemist gradual deciph historian awar intellectu connect disciplin facet western cultur histori sociolog psycholog intellectu commun kabbal spiritu rosicrucian mystic movement cryptographi witchcraft evolut scienc philosophi histori extract symbol kei centuri book alchemi symbol one-to-on correspond symbol astrolog time alchemi encompass philosoph tradit span millennia contin gener penchant cryptic symbol languag hard trace mutual influenc genet relationship famou alchemist includ wei chines alchemi geber rhaze arab alchemi nagarjuna indian alchemi albertu magnu european alchemi anonym author mutu liber publish franc late centuri claim guid make philosoph stone seri symbol illustr tent outlin egyptian alchemi bce bce begin alchemi greek alchemi bce ce studi librari alexandria chines alchemi ce wei write kinship indian alchemi ce present relat metallurgi nagarjuna import alchemist alchemi geber introduc experiment method theori philosoph stone creation life chemistri ii present alkindu avicenna refut alchemi tusi discov conserv mass european alchemi present saint albertu magnu build arab alchemi european chemistri present boyl write sceptic chymist lavoisi write element chemistri dalton publish atom theori etymolog alchemi gener deriv mother french arab art transform scholar arab borrow word greek argu origin chines alchemist call popular speech suffix ad describ art chemist chemistri connect alchemi egypt sourc background probabl found passag concept ancient answer deep human motiv mediev europ egypt invad egypt call khem seventh centuri follow moon god discov egyptian master art work gold call art land account word born mysteri mind space time unexplain volum publish orbi publish limit westport connecticut +automat depend ads-b aviat system compos extend es transpond univers access transceiv uat datalink equip aircraft airport surfac vehicl period broadcast state vector horizont vertic posit horizont vertic veloc aviat relat inform ads-b support improv airspac reduc ceil visibl restrict improv surfac surveil enhanc safeti conflict manag ads-b vehicl period broadcast state vector inform know vehicl entiti receiv expect acknowledg repli ads-b automat sens pilot control action requir inform issu depend surveil sens inform obtain depend suitabl navig broadcast capabl sourc vehicl june minimum aviat system perform standard automat depend ads-b rtca benefit ads-b ads-b intend increas safeti effici safeti benefit includ john june feder aviat administr improv visual acquisit gener aviat visual flight rule vfr reduc runwai incurs airport surfac provis graphic weather gener aviat cockpit ads-b enabl increas capac effici support enhanc visual approach close space parallel approach reduc space final approach reduc aircraft separ enhanc oper high altitud airspac increment evolut free flight concept surfac oper visibl condit visual meteorolog condit vmc capac airspac weather condit improv atc servic airspac theori oper ads-b consist compon transmit subsystem includ messag gener transmiss function sourc propag medium receiv subsystem includ messag recept report assembl function receiv vehicl ground system sourc state vector transmit inform user applic consid part ads-b system relationship surveil radar relationship address ad commonli recogn type ad aircraft applic ads-b ads-b inher base negoti one-to-on peer relationship aircraft provid ad inform ground facil requir receipt ad messag report emploi futur air navig system fan aircraft commun address report system acar commun protocol flight area radar coverag ocean polar report period aircraft control air traffic region relationship broadcast servic ads-b link provid broadcast servic potenti broadcast capabl transmit aircraft measur meteorolog data traffic inform supplement ads-b air-to-air servic provid complet situat awar cockpit traffic atc system import servic ads-b link airspac aircraft transmit ads-b inform ground ads-b station transmit surveil target inform ads-b data link unequip aircraft aircraft transmit ads-b link uplink deriv ground surveil sourc ground radar primari secondari target multi-later system target airport surfac ads-b system target equip ads-b link multilink gatewai servic multilink gatewai servic companion achiev interoper altitud termin airspac aircraft primarili oper high altitud airspac equip es aircraft oper primarili altitud airspac equip uat aircraft share air-to-air ads-b data termin area type ads-b link ads-b ground station ground-to-air broadcast relai ads-b report receiv link aircraft link flight inform weather text weather graphic notam ati similar inform inher ads-b requir sourc data extern aircraft broadcast unit perform requir period broadcast servic uat link area ground surveil infrastructur ads-b physic layer link solut propos physic layer relai ads-b posit report mhz mode extend es univers access transceiv uat vhf digit link vdl mode addit simpl highli effect low-cost low-rang implement ads-b concept spread rapidli gener aviat glider helicopt consequ low-rang atc downlink es faa announc dual link decis mhz es uat medium ads-b system unit state mhz extend ads-b link air carrier privat commerci oper high perform aircraft univers access transceiv uat ads-b link typic gener aviat user europ offici chosen physic layer ads-b number technolog influenti eurocontrol cascad program es exclus eurocontrol juli retriev es exist mode transpond tso stand mhz transmitt support messag type extend es messag period messag posit veloc head time futur intent basic es offer intent current flight manag system provid data call trajectori chang point enabl aircraft send extend messag transpond modifi tso c-a aircraft posit statu inform rout transpond atc ground station aircraft mhz mode receiv receiv signal requir enhanc accept process addit extend inform es support servic univers access transceiv uat system specif design ads-b oper uat cost greater uplink capac es mhz resid tacan assign portion aeronaut spectrum transmiss airborn ads-b report broadcast ground-bas aeronaut inform uat user access ground-bas aeronaut data receiv report proxim traffic report proxim aircraft multilink gatewai servic ads-b report es equip aircraft equip radar traffic vdl mode vdl mode system util exist aeronaut vhf frequenc radio frequenc physic layer ads-b transmiss vdl mode protocol self-organ mean master ground station requir medium short messag transmiss larg number user vdl mode system consider northern europ ads-b support applic ads-b data link support number airborn ground applic applic oper concept algorithm procedur standard user train cockpit displai traffic inform cockpit displai traffic inform cdti gener displai flight crew surveil inform aircraft includ posit traffic inform cdti obtain multipl sourc includ ads-b tca direct air-to-air transmiss ads-b messag support displai proxim aircraft cdti addit traffic base ads-b report cdti function displai current weather condit terrain airspac structur obstruct detail airport map inform relev phase flight airborn collis avoid ads-b valuabl technolog enhanc aca oper incorpor ads-b provid benefit decreas number activ interrog requir aca increas effect rang high densiti airspac reduc unnecessari alarm rate incorpor ads-b state vector aircraft intent inform aca displai cdti provid posit identif traffic extend collis avoid feet ground level detect runwai incurs eventu aca function base sole ads-b requir activ interrog aircraft transpond conflict manag at conform monitor applic applic benefit ads-b includ improv search rescu enhanc flight light control oper airport ground vehicl aircraft rescu firefight vehicl oper altitud height keep perform measur gener aviat oper control implement timet faa ads-b implement broken segment time line ground segment implement deploy expect complet nation airspac system airborn equipag user driven expect complet voluntarili base perceiv benefit regulatori action rulemak faa cost equip ads-b capabl small benefit airspac surveil area serv radar faa intend provid similar servic na radar provid nm en rout nm termin radar standard step implement ads-b capabl view improv na throughput enhanc capac faa segment ads-b deploy voluntari equipag rule make activ pocket develop exploit equip deploy area provid proof concept integr atc autom system deploi na faa segment ads-b ground station deploi na in-servic decis due time frame complet deploy occur time frame equipag expect propos rule final airport situat awar combin detail airport map airport multilater system ads-b system enhanc aircraft displai potenti significantli improv final approach runwai occup awar ocean ads-b provid enhanc situat awar safeti ocean manoeuvr addit aircraft equip gulf mexico gulf mexico atc radar coverag incomplet faa locat ads-b mhz receiv oil rig relai inform receiv aircraft equip ads-b extend houston center expand improv surveil coverag faa segment ads-b equipag base user perceiv benefit expect provid increas situat awar effici benefit segment aircraft choos equip advanc mandat benefit preferenti rout specif applic limit radar decommiss time frame ultim goal reduct secondari surveil radar infrastructur faa implement ads-b cdti decreas approach space airport improv capac oper visual approach oper termin ceil mva unit state cargo airlin associ cargo carrier notabl unit parcel servic up oper hub airport oper larg night benefit carrier envis merg space arriv depart traffic manag flow environment friendli effici area navig decent profil combin cdti crew eventu aid control assist visual acquisit traffic limit separ aircraft benefit carrier fuel time effici idl descent shorter traffic pattern typic radar vector embry-riddl aeronaut univers erau equip train aircraft main campus florida arizona uat ads-b capabl situat safeti enhanc univers make gener aviat retriev juli addit fleet erau fleet combin glass cockpit ads-b februari retriev juli univers north dakota und receiv faa grant test ads-b begun outfit piper warrior fleet ads-b packag univers north dakota novemb retriev australia burnett basin oper trial successfulli conclud june trial instal singl ads-b ground station bundaberg equip number aircraft ads-b avion modifi oper air traffic manag system process displai ads-b inform airservic australia august retriev upper airspac program program aim provid near-term safeti oper benefit high level airspac includ instal approxim ads-b ground station strateg locat australia provid air traffic surveil feet continent airspac radar coverag site expect instal oper mid airservic australia septemb retriev australian transit satellit technolog initi plan develop major longer term program design ads-b primari mean ground air air air surveil australian enrout airspac includ instal addit ads-b ground station provid air traffic surveil airspac cover enrout radar facil intend lead decommiss number radar site mandatori aircraft ads-b equip requir appli fund option support gener aviat oper explor airservic australia august retriev august canada canada plan ads-b provid coverag northern airspac hudson bai radar coverag ads-b initi deploi hudson bai basin servic expect extend cover rest canadian arctic eventu rest canada transport canada civil aviat januari retriev nav canada februari press releas retriev sweden lfv group sweden implement nationwid ads-b network ground station instal commenc spring network fulli oper base vdl mode standard network ground station support servic ads-b augment point-to-point commun allow aircraft equip vdl transceiv fuel consumpt reduc flight time system design consider ads-b concern ads-b protocol capac carri ads-b messag aircraft allow radio channel continu support legaci servic es ads-b messag compos pair data packet greater number packet transmit aircraft lesser number aircraft particip system due fix limit channel data bandwidth system capac defin establish criterion worst environ make minimum requir system capac es tca exist user channel es ads-b reduc capac exist system faa nation program offic intern aviat regul address concern ads-b transmiss ads-b messag locat aircraft mean guarante inform inappropri addition concern integr ads-b transmiss ads-b messag produc simpl cost measur spoof locat multipl phantom aircraft disrupt safe air travel foolproof mean guarante integr mean monitor type activ concern ads-b depend system function independ extent ads-b stand depend independ mean verifi surveil consid depend mean gener aviat concern ads-b remov anonym vfr aircraft oper icao transpond code specif assign aircraft monitor aircraft servic volum ads-b system current mode transpond code offer casual anonym ads-b identifi aircraft uniqu world public access ads-b law prevent listen decod ads-b transmiss cellular phone law easili implement recept crime ongo debat hobbyist displai real-tim activ person screen delai minut network displai feel gp data freeli detect target receiv popular gener expens market kinet avion product airnav kinet product design close proprietari system year secret longer commun end-us hand good custom support dealer airnav open design commun end-us devic design portabl work base configur user suppli expens low-loss coax antenna receiv due microwav loss correct design cut circuit board move receiv antenna digit remain comput modif video grade coax ohm product special single-us receiv radio intermedi frequenc ads-b data flow antenna lna pre-amp bandwidth filter puls extract logarithm amplifi chip chip oper ads-b frequenc mhz analog puls appli high speed analog digit convert mhz kinet fpga field-programm gate arrai frame detect detect packet person comput usb interfac sb negoti secret kei data flow initi consum grade devic receiv easili overload nearbi aircraft closer airport shorter rang volum detect normal airport user line-of-sight horizon microwav signal mountain build altitud unclutt horizon kei maximum detect aircraft fade-out bank receiv locat limit user mile easili antenna window sill direct +anthem land der berg land strome german land mountain land river locat austria locat austria orang european contin camel white european union camel legend capit largest citi vienna offici languag german local hungarian slovenian croatian demonym austrian govern feder parliamentari republ presid heinz fischer chancellor alfr gusenbau independ austrian state treati forc juli declar neutral octob austrian empir austrian republ eu access januari area total km sq mi water popul estim censu densiti km sq mi gdp ppp estim total billion capita gdp nomin estim total billion capita gini hdi high currenc euro eur time zone cet utc summer dst cest utc internet tld call code slovenian croatian hungarian offici recognis region languag austrian sign languag protect minor languag countri prior austrian schill eu domain share european union member state paramet error paramet beg mid dle austria german help·info offici republ austria german republik republik help·info landlock countri central europ border germani czech republ north slovakia hungari east slovenia itali south switzerland liechtenstein west capit citi vienna danub river cia map origin modern austria date ninth centuri territori upper austria increasingli popul document offici document word develop modern german word brook-shepherd mean eastern realm eastern empir austria parliamentari repres democraci compris feder state lonni johnson european countri declar perman neutral lonni johnson countri includ concept everlast neutral constitut austria member unit nation jelavich join european union cia par etymolog german translat english eastern realm deriv german ostarrîchi latin austria etymolog connect australia deriv latin australi mean south reich empir connot understood context austrian austro-hungarian empir holi roman empir context modern republ term origin vernacular translat mediev latin region marchia orientali translat eastern march eastern borderland situat eastern edg holi roman empir mirror ostmark short period appli anschluss germani friedrich heer import austrian historian centuri state book der kampf um die identität austrian ident german form ostarrîchi translat latin word result older term origin celtic languag ancient austria year major part actual countri call celtic popul hallstatt cultur meant east eastern rig realt modern german reich realm essenti ostarrîchi austria celtic eventu latin noricum roman conquer roman countri austria noricum design roman provinc current offici design republ austria republik cia govern origin fall austro-hungarian empir republ german austria republik deutschösterreich state forc chang republ austria treati saint-germain chang austro-fascist regim feder state austria restor regain independ birth austrian republ period monarchi austria austrian empir kaisertum offici design exist empir strongli multiethn austro-hungarian compromis empir austria-hungari reflect dual monarchi charact histori prehistori middl ag coat arm habsburg emperor settl prehistor time lonni johnson central european land austria occupi pre-roman time celtic tribe celtic kingdom noricum claim roman empir provinc fall roman empir austria part part south danub area invad bavarian slav avar charlemagn conquer area encourag colon christian johnson part eastern francia core area encompass austria bequeath hous babenberg area marchia orientali leopold babenberg johnson record show austria written ostarrîchi refer territori babenberg march term ostmark histor ascertain appear translat marchia orientali centuri character settlement countri privilegium elev austria statu duchi babenberg acquir duchi styria death frederick ii line babenberg extinct johnson otakar ii bohemia effect control duchi austria styria carinthia reign defeat dürnkrut hand rudolf germani lonni johnson world war austria histori larg rule dynasti habsburg rise habsburg fourteenth fifteenth centuri habsburg began accumul provinc vicin duchi austria duke albert austria chosen successor father-in-law emperor sigismund albert reign year emperor holi roman empir habsburg except habsburg began accumul land hereditari land archduk maximilian son emperor frederick iii marri heiress maria burgundi acquir countri famili lonni johnson brook-shepherd son philip fair marri heiress castil aragon acquir spain italian african world appendag habsburg battl mohác austrian ruler expand territori bring bohemia part hungari occupi ottoman rule lonni johnson ottoman expans hungari led frequent conflict power evid so-cal long war austria european power congress vienna jean-baptist isabei long reign leopold culmin austrian conflict turk success defens vienna lonni johnson seri campaign result return hungari austrian control treati carlowitz part reign emperor charl vi austria relinquish impress gain larg due charl apprehens immin extinct hous habsburg charl offer concret advantag territori author exchang worthless recognit pragmat sanction daughter maria theresa heir rise prussia dualism began germani map austria-hungari austria engag war revolutionari franc last begin prove unsuccess austria defeat napoleon meant holi roman empir year abolit holi roman empir lonni johnson empir austria found transform austria-hungari austria part alli forc invad franc conquer napoleon war austria emerg congress vienna contin domin power russia prussia german confeder german deutscher bund found presid austria austria prussia lead power german confeder central institut bundesversammlung frankfurt unsolv social polit nation conflict german inhabit part revolut creat unifi germani johnson frankfurt parliament st paul church elect arch duke johann habsburg administr german empir german empir option greater germani großdeutschland german-speak territori habsburg empir greater austrian solut german confeder territori smaller german solut kleindeutsch german confeder austria austria relinquish german-speak territori german empir parliament offer crown prussian king friedrich wilhelm austria grew germani prussia grew austria prussia fought denmark free independ duchi schleswig holstein austria prussia agre solut administr schleswig holstein led austro-prussian war austria german state defeat prussia battl königgrätz bohemia austria leav german confeder subsequ longer part german polit lonni johnson schulz empir german empir north austria-hungari south austro-hungarian compromis ausgleich dual sovereignti empir austria kingdom hungari franz joseph rule death novemb lonni johnson german-hungarian rule divers empir includ slav group pole ukrainian czech slovak sloven serb croat larg italian romanian commun result rule austria-hungari increasingli difficult ag emerg nationalist movement central govern accommod respect minor entitl school languag world war aftermath assassin archduk franz ferdinand sarajevo gavrilo princip member serbian nationalist group black hand johnson outbreak world war lead downfal austro-hungarian empir war left countri polit chao econom ruin central power austria-hungari bulgaria germani turkei defeat empir broken austria german-speak part republ treati saint-germain remain subordin territori independ state million german austrian live alli inspir border austrian republ nation czechoslovakia yugoslavia hungari itali larg german minor newly-establish czechoslovakia entir histor german popul bohemia moravia austrian silesia cut motherland austria austria depriv tyrol award itali prize enter war alli side brook-shepherd austria sustain loss present dai major sourc friction itali todai situat south tyrol resolv serv model inter-ethn transnat cooper europ austria offici republ german austria republik deutschösterreich territori claim control includ region assign neighbor nation entent power forbid german austria unit germani forbad chang republ austria brook-shepherd monarchi dissolv parliamentari democraci set constitut novemb autumn austria grant intern loan supervis leagu nation brook-shepherd purpos loan avert bankruptci stabil currenc improv gener econom condit grant loan austria pass independ state control exercis leagu nation time real ruler austria leagu commission vienna commission dutchman formal part austrian govern austria fallen intern receivership openli lord croner financi advis bankrupt khedivi govern egypt centuri earlier austrofasc reich austrian republ last chancellor engelbert dollfuss dissolv parliament establish autocrat regim tend italian fascism austrofasc order partli check power nazi advoc union germani lonni johnson brook-shepherd big parti time social democrat paramilitari armi fought brook-shepherd heimwehr integr vaterländisch front paramilitari arm conserv parti support fascist regim republikanisch schutzbund militari arm social democrat outlaw exist underground civil war break johnson austrian civil war februari member schutzbund execut brook-shepherd social democrat parti outlaw member imprison emigr year fascist introduc constitut cement dollfuss power juli assassin nazi coup attempt lonni johnson brook-shepherd successor kurt schuschnigg struggl austria independ restor habsburg contempl march german troop occupi countri lonni johnson establish plebiscit confirm union germani hitler nativ austria lost austrian citizenship proclaim anschluss germani incorpor reich austria ceas exist independ state nazi call ostmark renam collaps reich defeat germani war karl renner astut set provision govern vienna april year tacit approv soviet forc lonni johnson declar austria secess reich defeat germani alli occup germani austria divid british french soviet american zone govern alli commiss austria lonni johnson larg ow karl renner action april set provision govern subtl differ treatment austria alli austrian govern recogn toler power austria gener treat origin invad germani liber alli eastern part austria includ greater vienna area lai soviet zone capit equal divid occup zone vienna travel zone border leav enter soviet zone difficult time-consum time berlin air lift soviet militari pressur increas successfulli overcom skill militari polit diplomat influenc part alli austria regain full independ conclud austrian state treati occupi power octob austria declar perman neutral act parliament remain dai lonni johnson histori polit system republ character system mean post polit import split evenli member social democrat labour parti peopl parti conserv lonni johnson interest group represent mandatori membership worker businesspeopl farmer grew consider import consult legisl process legisl pass reflect widespread consensu lonni johnson consensu system larg held year non-coalit govern era pass austria todai major polit parti labour parti conserv green environment social-liber right-w nationalist share parliamentari mandat remain divid parti austria member european union brook-shepherd retain constitut neutral eu member sweden major parti contrari opinion futur statu austria militari neutral support neutral role eu neutral eu member sweden argu stronger integr eu secur polici futur nato rule politician perman neutral form part austrian constitut two-third major austrian parliament need chang polici polit austrian parliament vienna polit system parliament austria locat vienna nation largest citi capit austria feder parliamentarian democrat republ feder constitut reintroduc state feder republ lonni johnson head state feder presid elect popular vote chairman feder govern feder chancellor appoint presid govern remov offic presidenti decre vote confid chamber parliament nationalrat parliament austria consist chamber composit nationalrat determin year gener elect citizen year allow vote fill seat extens term year effect elect gener threshold percent parti feder elect remain possibl gain direct seat region elect district nationalrat domin chamber format legisl austria upper hous parliament bundesrat limit veto nationalrat case ultim pass respect bill vote time refer lit vote persist convent call conven june decid suggest reform constitut fail produc propos receiv third vote nationalrat constitut amend reform import part final report gener agre expect implement polit develop februari conserv peopl parti form coalit controversi nationalist freedom parti head jörg haider time member state european union eu condemn austria coalit froze diplomat contact measur commonli refer sanction motion diplomat unfriendli controversi haider chose join govern continu wield influenc sidelin time republ austria displeas intern opinion popul vote kurt waldheim presid revel activ wehrmacht intellig offic world war ii septemb coalit peopl parti freedom parti dissolv shake-up freedom parti novemb peopl parti larg gain gener elect lot coalit talk parti peopl parti form govern freedom parti februari wolfgang schüssel chancellor gener elect held octob social democrat emerg largest parti peopl parti lost vote polit realiti prohibit major parti form coalit smaller parti januari peopl parti social democrat form grand coalit social democrat alfr gusenbau chancellor foreign polici embassi austria london austrian state treati end occup austria world war ii recogn austria independ sovereign state octob feder assembl pass constitut law austria declar free perpetu neutral section law state futur time austria join militari allianc permit establish foreign militari base territori austria shape foreign polici basi neutral austria began reassess definit neutral fall soviet union grant overflight right un-sanct action iraq contempl particip eu evolv secur structur join partnership peac subsequ particip peacekeep mission bosnia austria attach great import particip organis econom co-oper develop intern econom organ plai activ role organ secur cooper europ osc energi polit countri began construct nuclear-pow electricity-gener station zwentendorf river danub unanim vote parliament referendum vote approxim nuclear power lonni johnson parliament subsequ unanim pass law forbid nuclear power gener electr austria produc electr hydropow renew energi sourc wind solar biomass powerpl electr suppli renew energi amount total austria rest produc ga oil powerpl militari austrian guard compani parad juli champ elysé pari manpow austrian arm forc bundesh reli conscript male reach ag eighteen fit recruit month long militari servic postpon circumst conscienti object legal oblig serv institution month civilian servic women volunt profession soldier main sector bundesh joint forc consist land forc air forc luftstreitkräft intern mission international special forc mission support kommando command support kommando austria expend gdp defens armi soldier conscript head state austrian presid heinz fischer nomin commander-in-chief bundesh practic realiti command austrian arm forc exclus exercis minist defens norbert cold war importantli remov heavili guard iron curtain separ austria hungari austrian militari assist austrian border guard prevent border cross illeg immigr assist hungari join eu schengen area intent purpos abolish intern border control treati state politician call prolong mission legal heavili disput accord austrian constitut arm forc deploi limit number case defend countri aid case nation emerg wake natur disast gener auxiliari polic forc self-declar statu perman neutral austria long proud tradit engag un-l peacekeep humanitarian mission austrian forc disast relief unit all-volunt unit close ti civilian specialist rescu dog handler enjoi reput quick standard deploy time hour effici sar unit larger conting austrian forc deploi bosnia kosovo golan height state feder republ austria divid state german state divid district bezirk citi district subdivid municip gemeinden citi compet grant district municip state mere administr divis distinct legisl author separ feder govern geographi topographi austria austria larg mountain countri due locat alp central eastern alp northern limeston alp southern limeston alp partli austria total area austria km sq mi quarter consid ly countri meter ft high mountain alp west austria flatten land plain east countri map austria austria divid area biggest area austrian alp constitut austria total area austrian foothil base alp carpathian account area foothil east area surround peripheri countri amount total landmass greater mountain area alp situat north austrian granit plateau locat central area bohemian mass account austria austrian portion vienna basin compris remain climat greater part austria li cool temper climat zone humid westerli wind predomin countri domin alp alpin climat predomin east pannonian plain danub vallei climat show continent featur rain alpin area austria cold winter summer temperatur warm reach degre celsiu highest mountain austria economi modern vienna austria richest countri world term gdp capita well-develop social market economi high standard live austria largest industri firm nationalis year privatis reduc state hold level compar european economi labour movement strong austria larg influenc labour polit highly-develop industri intern tourism import part nation economi germani histor main trade partner austria make vulner rapid german economi austria member state european union gain closer ti european union economi reduc econom depend germani addit membership eu drawn influx foreign investor attract austria access singl european market proxim eu aspir economi growth gdp acceler year reach austrian nation bank german educ respons educ oversight austria li partli austrian state bundesländ partli feder govern option kindergarten educ children ag year school attend compulsori year ag fifteen programm intern student assess coordin oecd rank austria educ world significantli higher oecd averag primari educ last year germani secondari educ includ main type school base pupil abil determin grade primari school gymnasium gift children lead matura requir access univers hauptschul prepar pupil vocat educ educ htl institut higher technic educ hak commerci academi institut higher educ econom busi matura austrian univers system open student pass matura examin bill allow introduct entranc exam studi medicin eu student charg fee semest univers studi oecd report critic austrian educ system number student attend univers number academ compar oecd countri demograph paint canaletto vienna eighteenth centuri austria popul estim octob popul capit vienna exce million million suburb repres quarter countri popul vast cultur offer high standard live contrast capit citi exce million inhabit largest citi graz home inhabit linz salzburg innsbruck citi inhabit german-speak austrian countri largest group form roughli austria popul austrian feder state carinthia styria home signific indigen slovenian speak minor member austrian censu unoffici number sloven group speak bundesland burgenland part hungarian austria-hungari austrian citizen speak hungarian speak croatian remain number austria peopl descent surround countri east bloc nation so-cal guest worker gastarbeit descend refuge yugoslav war conflict form import minor group austria gypsi offici recogn ethnic minor austria censu inform publish statistik austria year statistik austria die bevölkerung nach und german total foreign nation live austria speak german mother tongu immigr germani switzerland liechtenstein windisch slovenian south tyrolian part northern itali largest popul linguist ethnic group foreign nation yugoslavia serbian largest number croatian turkish nation nativ tongu english albanian polish hungarian romanian arab slovenian includ windisch minor slovakian czech persian italian russian french chines spanish bulgarian popul rest fall sharpli mother tongu popul preval german turkish serbian croatian hungarian bosnian ftp www statistik pub statistik austria die bevölkerung nach und page german offici languag german spoken resid countri austria mountain terrain led develop distinct german dialect dialect countri belong austro-bavarian group german dialect except dialect spoken western-most bundesland vorarlberg belong group alemann dialect distinct grammat standard austrian german differ german spoken germani austrian state introduc standardis test citizen assur languag abil cultur knowledg abil integr austrian societi viennes state govern german polit ethnic group estim slovenian austrian state carinthia carinthian sloven croatian hungarian burgenland recogn minor enjoi special right austrian state treati slovenian austrian state styria estim number recogn minor enjoi special right state treati juli state bilingu topograph sign region live german popul requir state treati fulli implement carinthian afraid slovenian territori claim point fact yugoslav troop enter state world war offici slovenian atlas show part carinthia slovenian cultur territori current governor jörg haider fact matter public argument autumn refus increas number bilingu topograph sign carinthia poll kärntner conduct januari state carinthian favour increas bilingu topograph sign origin requir set state treati fulfil point view interest phenomenon call state slovenian split group actual slovenian windisch tradit german slav base differ languag austrian slovenian taught slovenian standard languag school slovenian spoke local slovenian dialect german school term windisch appli group mean distinct theori gener accept fell decad religion charl holi roman emperor charl spain austrian habsburg ruler major figur counter-reform twentieth centuri austria popul regist roman cathol german statistik austria retriev decemb consid protest number declin decad roman catholic suffer increas number seced church austrian cathol oblig pai mandatori tax calcul incom austrian roman cathol church act ed incent leav church popul declar religion remain peopl member eastern orthodox church jewish note austrian jewish commun vienna count reduc sole world war influx eastern european yugoslav nation albania turkei larg contribut substanti muslim minor austria regist member muslim commun buddhism legal recogn religion austria censu eurobaromet poll retriev austrian citizen respond god answer sort spirit life forc answer sort spirit god life forc northern central germani origin reform austria bavaria heart counter-reform sixteenth seventeenth centuri absolut monarchi habsburg impos strict regim maintain catholic power influenc austrian lonni johnson brook-shepherd habsburg view vanguard roman catholic confess religion oppress emperor joseph ii issu patent toler allow christian confess limit freedom worship religi freedom declar constitut austro-hungarian ausgleich pai tribut fact monarchi home numer religion roman catholic greek serbian romanian russian bulgarian orthodox christian austria neighbour ottoman empir centuri calvinist lutheran protest austria continu remain larg influenc catholic republ cathol leader theodor innitz ignaz seipel lead posit close austria govern increas influenc time austrofasc treat state religion engelbert dollfuss kurt schuschnigg cathol leader welcom german anschluss austria germani austrian catholic stop support nazism religi public figur involv resist reich stricter secular impos austria religi influenc polit declin cultur music wolfgang amadeu mozart austria european power cultur environ gener broad contribut form art notabl music austria birthplac famou compos wolfgang amadeu mozart joseph haydn franz schubert anton bruckner johann strauss johann strauss gustav mahler member viennes school arnold schoenberg anton webern alban berg vienna long import center music innov eighteenth nineteenth centuri compos drawn citi due patronag habsburg vienna european capit classic music baroqu period slavic hungarian folk form influenc austrian music vienna statu began rise cultur center earli focus instrument includ lute ludwig van beethoven spent part life vienna austria current nation anthem chosen world war ii replac tradit austrian anthem joseph haydn composit initi attribut mozart compos mozart austria produc notabl jazz musician keyboardist josef zawinul help pioneer electron influenc jazz notabl compos falco internation acclaim pop rock musician art architectur belveder palac baroqu architectur austrian artist architect find painter gustav klimt oskar kokoschka egon schiel friedensreich hundertwass photograph ing morath architect otto wagner scienc philosophi econom sigmund freud austria cradl numer scientist intern reput ludwig boltzmann ernst mach victor franz hess christian doppler promin scientist nineteenth centuri twentieth centuri contribut lise meitner erwin schrödinger wolfgang pauli nuclear research quantum mechan kei develop present-dai quantum physicist anton zeiling note scientist demonstr quantum teleport addit physicist austria birthplac greatest philosoph twentieth centuri ludwig wittgenstein karl popper addit biologist gregor mendel konrad lorenz mathematician kurt gödel engin ferdinand porsch siegfri marcu austrian focu austrian scienc medicin psycholog start mediev time paracelsu emin physician theodor billroth clemen von pirquet anton von built achiev centuri vienna school medicin austria home psychologist sigmund freud alfr adler paul watzlawick han asperg psychiatrist viktor frankl austrian school econom promin main competit direct econom theori relat austrian economist joseph schumpet eugen von böhm-bawerk ludwig von mise friedrich hayek noteworthi austrian-born includ manag thinker peter drucker governor california arnold schwarzenegg literatur complement statu land artist scientist austria countri poet writer novelist home novelist arthur schnitzler stefan zweig thoma bernhard franz kafka robert musil poet georg trakl franz werfel franz grillparz rainer maria rilk adalbert stifter writer karl krau famou contemporari playwright novelist nobel prize winner elfried jelinek writer peter handk cuisin austria cuisin deriv cuisin austro-hungarian empir addit nativ region tradit influenc hungarian czech jewish italian bavarian cuisin dish method food prepar borrow austrian cuisin multi transcultur cuisin europ typic austrian dish includ wiener schnitzel knödel sachertort macaroni dish fresh pinzgauer chees parslei chanterel dish nativ yellow tan mushroom mushroom delici thick austrian soup regular meal candi pez invent austria austria famou apfelstrudel sport ski slope sankt anton arlberg popular sport austria alpin ski austria show constant domin similar sport snowboard ski-jump wide popular popular team sport austria footbal austria rare intern success disciplin uefa european footbal championship jointli held switzerland footbal austria profession nation leagu major team sport includ ic hockei basketbal +motto samoa le atua samoan samoa god anthem star-spangl banner amerika samoa locat american samoa capit pago pago seat govern offici languag english samoan govern governor togiola tulafono unit state unincorpor territori treati berlin deed cession tutuila deed cession area total km sq mi water popul estim censu densiti km sq mi currenc unit state dollar usd time zone internet tld call code spanish spoken map american samoa american samoa samoan amerika sāmoa sāmoa unincorpor territori unit state locat south pacif ocean southeast sovereign state samoa main largest popul island tutuila manu island rose atol swain island includ territori american samoa part samoan island chain locat west cook island north tonga mile km south tokelau west island walli futuna group censu show total popul total land area km sq mi histori contact gener believ samoan island origin inhabit earli bc encyclopædia britannica retriev februari samoa reach european explor eighteenth centuri histori eastern samoa american samoa inextric bound histori western samoa independ samoa manu'a island american samoa oldest histori polynesia connect tui manua titl connect histori archipelago fiji tonga cook island tokelau pacif manu'a occup tongan year rule samoa ad-ad manu'a island group remain independ island tutuila polit connect island independ samoa samoa island polit connect todai chiefli system famili connect strong system custom origin famou earli chief samoa women relat earli western contact includ battl eighteenth centuri french explor island tutuila samoan blame west give reput feroc earli nineteenth centuri rarotongan missionari samoa island group western missionari led john william congregationalist london missionari societi offici bring christian samoa year samoan congregationalist church independ indigen church south pacif march german naval forc invad villag samoa destroi american properti american warship enter samoan harbor prepar fire german warship gun fire typhoon sank american german ship compulsori armistic call lack warship territori intern rivalri nineteenth centuri settl treati berlin germani divid samoan archipelago formal occupi smaller group eastern island note harbor pago year western island independ state samoa possess samoa navi built coal station pago pago bai pacif squadron appoint local secretari navi secur deed cession tutuila deed cession sovereign tui forc sign deed cession seri naval trial trial ipu pago pago aboard pacif squadron gunboat world war time mau movement western samoa zealand protector american samoa mau movement led samuel sailel riplei leon villag wwi war veteran meet america prevent disembark ship brought home american samoa allow return american samoa mau movement suppress navi congress committe investig statu american samoa led american part overthrow hawaiian kingdom famou aviat ed musick crew di pan american world airwai samoan clipper pago pago survei flight auckland zealand take-off aircraft experienc troubl musick turn pago pago crew began dump fuel prepar emerg land spark fuel pump caus explos tore aircraft mid-air world war ii marin samoa outnumb local popul huge cultur influenc young samoan men ag combat train militari personnel samoan serv capac wwii includ combat medic personnel code personnel ship repair war organ act depart attempt incorpor samoa defeat congress primarili effort samoan chief led tuiasosopo mariota effort led creation local legislatur american samoa fono meet villag territori de facto de jure capit capit citi section inform time governor replac local elect technic consid unorgan congress pass organ act territori american samoa self-govern constitut effect juli territori american samoa unit nation list non-self-govern territori list disput territori govern offici polit governor togiola tulafono polit american samoa take place framework presidenti repres democrat depend governor head govern pluriform multi-parti system american samoa unincorpor unorgan territori unit state administ offic insular affair depart interior constitut ratifi effect execut power exercis govern legisl power vest chamber legislatur american polit parti republican democrat exist american samoa politician align parti judiciari independ execut legislatur tradit villag polit samoa island continu american samoa independ samoa interact current boundari languag custom protocol fono council chiefli system fono place level samoan bodi polit famili villag region nation matter matai chief elect consensu fono extend famili villag concern matai fono matai decid distribut famili exchang tenanc commun land major land american samoa independ samoa commun matai repres small famili group great extend famili reach island american samoa independ samoa nation person born american samoa american nation unit state citizen statu confer peopl born district american samoa swain island peopl born unorgan atol note swain island claim support independ tokelau part countri samoan entitl elect non-vot deleg unit state hous repres deleg democrat eni hunkin faleomavaega receiv deleg democrat republican nation convent administr divis american samoa administr divid district unorgan atol district unorgan atol subdivid villag pago pago capit american samoa world factbook cia retriev februari largest villag locat eastern side tutuila island counti district mistakenli cite capit due fact list constitut american samoa offici seat govern geographi american samoa locat geograph region oceania total land area km squar mile slightli larger district columbia consist rug volcan island coral atol frequent hit typhoon decemb march due posit south pacif ocean addit rose atol locat american samoa southernmost point territori unit state offici protest neighbor samoa protest issu samoa name western samoa chang offici shorter form offici view american samoa form detract samoan ident american samoa public offici document american samoa refer samoa western samoa territori claim tokelau nationalist swain island claim support independ tokelau part countri swain island tokelauan enjoi linguist cultur affin tokelauan refer swain unsuccess unit nations-sponsor referenda independ tokelau administ zealand reviv dormant sourc tension american zealand govern concern pursu chang territori statu swain island issu exist claus draft independ treati espous unit tokelauan nationalist matter potenti sourc diplomat tension direct impass depend extent unit state govern show willing support unit decolon effort expens current territori integr american samoa economi employ island fall equally-s categori approxim worker public sector tuna canneri rest privat sector feder employe american samoa activ militari personnel member coast guard armi reserv unit overwhelm major public sector employe work american samoa govern tuna canneri starkist samoa pack export million dollar worth can tuna unit state earli samoan economi highlight congress mention minimum wage bill request samoan deleg unit state hous repres eni faleomavaega fair labor standard act incept contain special provis american samoa cite limit economi american set base recommend special industri committe meet bi-annu origin act contain provis territori phase territori develop divers economi demograph american samoa small zip code island primari school secondari school oper american samoa depart educ american samoa commun colleg found post-secondari educ island cultur cultur american samoa western samoa upolu militari agricultur occup distinguish civil american samoa sovereign samoa sport ethnic samoan american samoa plai nation footbal leagu articl espn estim samoan male american samoan samoan live unit state time plai nfl american number ventur profession wrestl anoa'i famili american samoa nation soccer team consid newest team world distinct suffer worst loss intern soccer histori lost australia fifa world cup qualifi match april +wiktionari alien wiktionari free dictionari alien refer scienc engin alien biologi term introduc speci lifeform nativ planet earth extraterrestri life space alien extraterrestri life depict film televis popular literatur extraterrestri life popular cultur film televis alien film seri alien film film ridlei scott turn inspir relat work alien film film sequel film alien film alien movi alien resurrect film fourth alien movi alien predat film seri comic book seri seri video game seri alien predat requiem film alien predat seri sixth alien seri alien alien alien creatur alien movi spin-off alien comic book group comic book seri alien seri number novel base seri alien video game number video game alien arcad game arcad shoot konami alien law order special victim unit episod law order special victim unit alien cancel film script satyajit rai english alien film alien america show comput alienwar comput corpor divis dell alien softwar comput program convert linux packag format alien alic environ softwar grid middlewar cern music alien regga group vocal group jamaica member includ barri brown rod taylor alien funk band scotland alien album album metal project strap young lad alien album album irish celtic rock band horslip atlien album rap group outkast alien song song pennywis alien dai song song christian rock group dai alien exist song rock band song appear album enema state alian band polish punk rock regga ska band popular fan underground music miscellan alien law ow polit allegi countri govern person nativ citizen countri resid person refer human law call individu corpor alien signifi literatur critic embodi perspect sens alien technolog maker uhf rfid tag alien sun singaporean actress +galileo refer father modern astronomi histor astronomi concern classif descript phenomena sky astrophys attempt explain phenomena differ physic law todai distinct disappear profession astronom highli educ individu typic phd physic astronomi emploi research institut univers spend major time work research duti teach build instrument aid oper observatori letter profession astronom unit state small american astronom societi major organ profession astronom north america approxim member number includ scientist field physic geologi engin research interest close relat astronomi intern astronom union compris member countri involv astronom research phd level number profession astronom world-wid larger popul small town huge commun amateur astronom citi amateur astronomi club meet regular basi host star parti commun astronom societi pacif largest gener astronom societi world compris profession amateur astronom educ nation hobbi peopl amateur astronom devot hour month stargaz read latest develop research amateur span rang so-cal armchair astronom ambiti telescop instrument discoveri assist profession astronom research modern astronom contrari classic imag astronom peer telescop dark hour night rare modern profession astronom eyepiec larger telescop common charge-coupl devic camera record long deep exposur allow sensit imag creat light ad time ccd photograph plate common method observ modern astronom spend time telescop spend week year observ rest time reduc data chang raw data process imag analyz astronom work astronom survei space observatori data work radio telescop larg arrai autom maintain telescop oper astronom gener fund research grant nation govern nation scienc foundat nasa home institut work univers astronom serv faculti spend time teach undergradu graduat class univers outreach program includ public telescop time planetarium public servic encourag interest field +foraminiferan ammonia sol amoeboid unicellular lifeform consist contractil vacuol nucleu cytoplasm basic structur move feed mean temporari cytoplasm project call pseudopod fals feet appear number group cell multicellular anim amoeboid instanc human white blood cell consum pathogen protist exist individu amoeboid cell form point life-cycl famou organ amoeba proteu amoeba various describ close rel organ similar amoeboid gener morpholog categori amoeboid divid morpholog categori base form structur pseudopod pseudopod support regular arrai microtubul call form call divid filos amoeba strang group giant marin amoeboid fall categori pseudopod blunt cell divid layer clear ectoplasm surround granular endoplasm includ amoeba move bodi mass flow anterior pseudopod vast major form monophylet group call amoebozoa includ slime mould group includ protist transform amoeboid flagel form filos pseudopod narrow taper vast major filos amoeba includ produc shell cercozoa flagel tend amoeboid form nake filos amoeba compris group close rel anim fungi pseudopod cytoplasm strand branch merg form net notabl foraminifera larg group marin protist gener produc multi-chamb shell sort nake amoeboid notabl relationship divid radiolaria radiolaria marin protist complex intern skeleton includ central capsul divid cell granular endoplasm frothi ectoplasm buoyant includ freshwat marin form captur small prei simpl scale spine skelet element group polyphylet tradition amoeboid protozoa group subphylum various rank class phylum categori formal base form phylogeni newer system gener separ abandon amoeboid includ major supergroup amoebozoa includ amoeba slime mould rhizaria includ cercozoa foraminifera radiolarian class amoeboid appear separ group includ line alga list subphylum subphylum phylum unicellular life form move cytoplasm flow speci cytoplasm extens call pseudopodia locomot feed subphylum includ protozoa common amoeba foraminifera radiolaria member subphylum reproduc asexu fission reproduc sexual subdivid class +printabl ascii charact number decim origin code american standard code inform interchang ascii charact encod base english alphabet ascii code repres text comput commun equip devic work text modern charact encod support charact origin histor basi ascii work ascii began edit standard publish histori origin ascii standard major revis updat defin code charact non-print obsolet control charact affect text process printabl charact exclud space march presid lyndon johnson mandat comput purchas unit state feder govern support ascii state approv recommend secretari commerc standard record standard code inform interchang magnet tape paper tape comput oper comput relat equip configur brought feder govern inventori juli capabl standard code inform interchang format prescrib magnet tape paper tape standard media lyndon johnson march american presid project overview charact encod ascii specifi correspond digit bit pattern charact symbol graphem control charact digit devic commun process store commun character-ori inform written languag ascii charact encod intern organ standard decemb internet assign number author registri altern version access august compat extens common comput person comput workstat prefer mime encod us-ascii internet assign number author januari access august ascii control charact prescrib elementari line-ori format ascii defin mechan describ structur appear text document scheme markup languag address page document layout format histori ascii strictli seven-bit code mean pattern binari digit rang decim repres charact ascii introduc comput eight-bit byte group bit call octet nativ data type seven-bit ascii encod eighth bit commonli pariti bit error check commun line device-specif function machin pariti check typic set eighth bit januari tex primer scientist english crc press american nation standard institut call american standard associ asa unit state america standard institut develop ascii base earlier teleprint encod system circa ivan idelson ferranti uk propos code charact track paper tape british standard committe influenc ascii ascii enter commerci seven-bit teleprint code american telephon telegraph twx teletyp wide-area exchang network twx origin earlier five-bit baudot code compet telex teleprint system bell system plan upgrad six-bit code deriv project contain punctuat control charact baudot code persuad join american standard associ part ansi subcommitte start develop ascii compar earlier telegraph code propos bell code ascii underw re-ord conveni sort alphabet list ad featur devic teleprint bob bemer introduc featur escap sequenc histori origin ascii standard second-to-last paragraph british colleagu hugh mcgregor ross help popular work bemer code ascii call code europ februari emploi ibm time ascii publish asa subsequ updat ansi final ansi intern standard bodi ratifi charact encod iso iec ident ident ascii extens charact english alphabet symbol unit state symbol unit kingdom pound sterl countri need adapt version ascii ascii suit usa countri canada version support french encod refer ascii true ascii strictli defin ansi standard ascii incorpor unicod charact set symbol ascii charact numer code set compat ascii signific advantag ascii control charact ascii reserv code number decim control charact code origin intend carri printabl inform control devic printer ascii provid meta-inform data stream store magnet tape charact repres line feed function printer advanc paper charact repres backspac printabl represent unicod charact area reserv repres control charact print displai perform intend function browser displai properli control kei sequenc caret notat tradit kei sequenc input control charact caret repres control ctrl kei held press kei sequenc represent softwar repres control charact charact escap code program languag languag influenc java perl backspac charact enter press backspac kei system delet charact enter press delet del kei enter press backspac kei system escap sequenc part iso languag specif understood compil escap charact enter press escap esc kei system carriag return charact enter press return ret enter kei system ambigu surround backspac mismatch intent human softwar transmit backspac interpret softwar receiv transmitt expect backspac eras previou charact receiv expect delet eras previou charact receiv echo backspac echo uninterpret control charact similar mismatch direct yield delet displai origin ascii standard short descript phrase control charact ambigu left intent charact slightli differ termin link data stream accident delet mean influenti singl devic interpret charact teletyp seri print termin paper tape reader punch option paper tape popular medium long-term program storag cost wai fragil magnet tape teletyp machin assign code dc xon dc xoff delet de-facto standard kei show symbol charact underscor noncompli code shift interpret delet previou charact adopt earli timeshar system eventu fade xoff abbrevi transmit handshak signal warn sender stop transmiss impend overflow xon transmit resum send persist dai system manual output control techniqu system retain mean replac resum output code offici name delet teletyp label origin standard gave detail interpret control code interpret code vari origin teletyp mean intent standard charact nul zero specif paper tape punch bit pattern top exist mark obliter tape design hand edit produc space extra nul blank tape block charact rub replac put empti space video termin began replac print charact lost dec system interpret delet remov charact cursor interpret common unix system system backspac mean delet paper tape remov charact cursor interpret common todai control code mean origin escap charact code origin intend send control charact liter invok mean mean escap encount url encod languag string system charact reserv mean time mean coopt eventu drift modern esc termin start command sequenc form ansi escap code esc termin band charact termin oper teco vi text editor inher ambigu control charact combin histor usag creat problem transfer plain text file system clearest newlin problem oper system print termin question termin line text carriag return linefe return print carriag begin line advanc line move carriag requir charact mark line introduc unnecessari complex question interpret charact encount simplifi matter plain text file unix system line feed separ line similarli older macintosh system carriag return plain text file dec oper system charact mark line compat teletyp de facto standard copi cp oper system ms-do eventu microsoft window transmiss text internet protocol e-mail world wide web charact dec oper system cp track file length unit disk block mark actual text file cp compat case ms-do ms-do record exact etx text sens wide program abort signal unix eot transmiss appear face similar termin store file code mention retain semblanc origin mean code origin intend stream delimit link control termin lost mean relat letter start header ansi magnet tape connect termin system system recogn termin log modern system carriag return escap enquir mean abbrevi refer null-termin ascii string string control charact refer control charact control charact includ carriag return line feed white space charact decim ascii printabl charact code space charact denot space word produc keyboard code printabl charact repres letter digit punctuat mark miscellan symbol seven-bit ascii nation charact combin hardwar softwar permit overstrik simul addit intern charact scenario backspac preced grave accent american british standard standard call open singl quotat mark breath mark invert vel structur featur digit repres valu binari prefix mean convert bcd ascii simpli matter bcd nibbl separ prefix lowercas uppercas letter differ bit pattern singl bit simplifi case convers rang test avoid convert charact letter singl bitwis oper fast case convers import search algorithm contrast ebcdic lowercas uppercas letter occupi consecut posit alias rfc publish june ongo recogn case-insensit alias ascii suitabl internet canon ascii variant us-ascii prefer mime irv ibm cp alias us-ascii ascii achiev widespread find option charset paramet content-typ header mime messag equival meta element html document encod declar part prolog xml document variant comput technolog spread world standard bodi corpor develop variat ascii order facilit express non-english languag alphabet class variat ascii extens misus term cover variant includ preserv ascii rang petscii code commodor intern system uniqu code base common incompat interoper iso iec attempt remedi ascii english languag bia creat compat problem remain addit code reassign language-specif variant escap code defin nation variant appli piec text rare imposs variant work charact code repres text-process system gener cope variant german french swedish programm similar eventu improv technolog brought out-of-band mean repres inform encod eighth bit byte free bit add addit assign ibm develop code page code page replac graphic symbol smilei face map addit graphic charact upper posit oper system do support manufactur ibm pc support hardwar digit equip corpor develop multin charact set popular vt termin eight-bit standard iso iec deriv mac os roman develop true extens ascii leav origin intact ad addit charact definit charact enabl represent charact broader rang languag standard continu suffer incompat limit latin variant mislabel origin ascii remain common charact encod todai unicod unicod iso iec univers charact set uc wider arrai charact encod form begun supplant iso iec ascii rapidli environ ascii limit charact unicod uc support charact separ concept uniqu identif natur number call code point encod binari format call permit compat ascii latin charact assign unicod uc code point code earlier standard ascii consid encod scheme small subset unicod uc convers encod form binary-compat ascii code point mean properli encod ascii file valid file encod form resembl ascii repres charact unicod bit charact requir convers compat order collat data order standard alphabet order main deviat capit lowercas letter charact extend charact set slang express order program alphanumer sort mean sort numer regard charact set alphanumer sort arrai byte view charact set refin version order convert uppercas letter lowercas compar ascii valu deriv term refer collat order ascii deriv term refer process chang render ascii charact includ mention cultur asteroid ascii name charact encod +austin refer geograph locat unit state austin texa state capit texa austin arkansa austin colorado austin chicago illinoi austin indiana austin minnesota austin nevada austin oregon austin counti texa counti texa canada austin manitoba austin ontario austin quebec peopl austin surnam peopl surnam austin augustin hippo saint augustin notic english version austin friar refer augustinian colleg austin colleg colleg sherman texa univers texa austin primari univers texa campu busi austin automobil compani short-liv american automobil compani relat austin motor compani american austin austin motor compani british car manufactur american austin car compani short live unit state automobil austin brand brand own kellogg compani vessel uss austin schooner sloop-of-war origin texa navi uss austin destroy escort uss austin amphibi transport dock pop cultur austin song singl blake shelton austin tv mexican post-rock band austin beani babi kangaroo beani babi produc ty austin power comedi charact creat portrai mike myer austin kangaroo backyardigan +bounc ball anim consist frame anim move frame fantasmagori emil cohl anim storytel medium consist rapid displai sequenc imag artwork model posit order creat illus movement optic illus motion due phenomenon persist vision creat demonstr number wai common method present anim motion pictur video program form present anim exist anim refer activ fx commun user mean action encourag user interact servic connect moder histori earli exampl attempt captur phenomenon motion draw paleolith cave paint anim depict multipl leg superimpos posit attempt convei percept motion zoetrop praxinoscop common flip book earli popular anim devic invent devic produc movement sequenti draw technolog mean anim develop advent motion pictur film singl person consid creator art film anim peopl project consid type anim time french filmmak georg méliè creator special effect film trip moon techniqu stop camera roll chang scene continu roll film similar idea stop-mot anim méliè accident happen techniqu camera broke shoot bu drive camera fix hors happen pass méliè continu film result bu appear chang hors stuart blackton possibl american filmmak techniqu stop-mot hand-drawn anim introduc filmmak edison pioneer concept turn centuri copyright work date film enchant draw humor phase funni face film version blackton lightn artist routin util modifi version earli stop-mot techniqu seri blackboard draw move reshap phase funni regularli cite true anim film blackton consid true anim french artist cohl began draw cartoon strip creat film call fantasmagori film larg consist stick figur move encount manner morph object wine bottl transform flower section live action hand enter scene film creat draw frame paper shoot frame neg film gave pictur blackboard fantasmagori anim film creat tradit hand-drawn anim success blackton cohl artist began experi anim artist winsor mccai success newspap cartoonist creat detail anim requir team artist painstak attent detail frame drawn paper invari requir background charact redrawn anim mccai note film nemo gerti dinosaur sink lusitania product anim short film typic refer cartoon industri cartoon short produc shown movi theater success earli anim produc john randolph brai anim earl hurd patent cel anim process domin anim industri rest decad techniqu tradit anim tradit anim hors anim rotoscop edward muybridg centuri photo call cel anim tradit anim process anim film centuri individu frame tradition anim film photograph draw drawn paper creat illus movement draw differ slightli draw trace photocopi transpar acet sheet call cel fill paint assign color tone side line draw complet charact cel photograph one-by-on motion pictur film paint background rostrum camera tradit cel anim process obsolet begin st centuri todai draw background scan drawn comput system softwar program color draw simul camera movement effect final anim piec output deliveri medium includ tradit mm film newer media digit video tradit cel anim preserv charact work remain essenti year anim produc term describ cel anim extens comput technolog exampl tradition anim featur film includ pinocchio unit state anim farm unit kingdom akira japan tradit anim film produc aid comput technolog includ lion king sen chihiro kamikakushi spirit japan le triplett de bellevil full anim refer process produc high-qual tradition anim film regularli detail draw plausibl movement fulli anim film varieti style realist design work produc walt disnei studio cartooni style produc warner bro anim studio disnei anim featur exampl full anim non-disnei work american tail iron giant limit anim involv detail styliz draw method movement pioneer artist american studio unit product america limit anim method styliz artist express gerald mcbo bo yellow submarin uk anim produc japan primari produc cost-effect anim content media televis work hanna-barbera filmat tv anim studio internet web cartoon rotoscop techniqu patent max fleischer anim trace live-act movement frame frame sourc film copi outlin anim draw lord ring basi inspir charact anim disnei film styliz express manner wake life scanner darkli film stop-mot anim describ anim creat physic manipul real-world object photograph frame film time creat illus movement type stop-mot anim name type media creat anim clai anim scene tv commerci clai anim abbrevi claymat figur clai similar malleabl materi creat stop-mot anim figur armatur wire frame similar relat puppet anim manipul order pose figur altern figur clai film bruce bickford clai creatur morph varieti shape exampl clay-anim work includ gumbi show morph short uk wallac gromit short uk jan dimens dialogu czechoslovakia amaz bickford trap door uk cutout anim type stop-mot anim produc move piec materi paper cloth exampl includ terri gilliam anim sequenc monti python fly circu uk la planèt sauvag fantast planet franc czechoslovakia skazka tale tale russia pilot episod tv seri south park silhouett anim monochrom variant cutout anim charact visibl black silhouett exampl includ adventur princ achm weimar republ princ princess franc graphic anim flat visual graphic materi photograph newspap clip magazin manipul frame-by-fram creat movement time graphic remain stationari stop-mot camera move creat on-screen action model anim refer stop-mot anim creat interact exist part live-act world intercut matt effect split screen emploi blend stop-mot charact object live actor set exampl includ work rai harryhausen film jason argonaut work willi o'brien film king kong film motion variant model anim techniqu creat motion blur frame film present tradit stop-mot techniqu invent industri light magic phil tippett creat special effect scene film empir strike object anim refer regular inanim object stop-mot anim oppos special creat item object anim brickfilm incorpor plastic toi construct block lego pixil involv live human stop motion charact number surreal effect includ disappear reappear allow peopl slide ground effect exampl pixil includ norman mclaren neighbour canada puppet anim typic involv stop-mot puppet figur interact construct environ contrast real-world interact model anim puppet gener armatur steadi constrain move joint exampl includ le roman de renard tale fox franc film trnka nightmar christma tv seri robot chicken puppetoon creat techniqu develop georg pál film typic version puppet frame simpli manipul exist puppet comput anim short gif anim stop motion comput anim encompass varieti techniqu unifi idea anim creat digit comput experiment anim techniqu drawn film anim techniqu footag produc creat imag film stock norman mclaren len lye anim techniqu make anim film manipul slow dry oil paint sheet glass pinscreen anim screen fill movabl pin move press object screen screen lit side pin cast shadow techniqu creat anim film rang textur effect difficult achiev tradit cel anim sand anim sand move backlight piec glass creat frame anim film creat interest effect anim light contrast techniqu approach charact anim special effect anim +imag padlock-silver-medium svg lycian apollo earli imperi roman copi centuri bce greek origin louvr museum greek roman mytholog apollo greek import many-sid olympian deiti ideal kouro beardless youth apollo various recogn god light sun truth propheci archeri medicin heal music poetri art apollo son zeu leto twin sister chast huntress artemi apollo greek-influenc etruscan mytholog roman mytholog apollo patron delphi pythian apollo apollo oracular god prophet deiti delphic oracl medicin heal apollo god mediat son asclepiu apollo god bring ill-health deadli plagu abil cure god custodi charg apollo dominion colonist patron defend herd flock leader muse apollon director choir apollo function patron god music poetri herm creat lyre instrument common attribut apollo hymn sung apollo call paean hellenist time centuri bce apollo helio identifi greek helio god sun sister artemi similarli equat selen goddess moon iconographi type hoffmann helio journal american research center egypt cf latin text joseph fontenros declar unabl find conflat apollo sol augustan poet centuri conjur aenea latinu aeneid xii joseph fontenros apollo sol latin poet centuri bc transact american philolog associ apollo sun-god ovid american journal philolog apollo sol oath aenea latinu classic philolog april apollo helio sol remain separ be literari mytholog text centuri ce etymolog etymolog apollo uncertain instanc popular etymolog attest ancient author plato cratylu connect redeem purif simpl refer thessalian form final suggest repeat plutarch moralia sens uniti hesychiu connect apollo doric mean assembl apollo god polit life explan fold case apollo god flock herd burkert hold greek religion deriv form apollo equat anatolian god possibl mean father lion father light greek apollo greek verb mean destroi suggest de grummond nanci thomson etruscan myth sacr histori legend philadelphia pa univers pennsylvania museum archaeolog anthropolog mackenzi donald myth babylonia assyria gutenberg apollo hurrian hittit divin aplu wide evok plagu year aplu suggest akkadian aplu enlil mean son enlil titl god nergal link shamash babylonian god sun origin cult apollo radiant halo roman floor mosaic el djem tunisia late centuri appear greek etruscan apollo aegean iron ag bce bce anatolia homer pictur side trojan achaean trojan war close affili luwian deiti s turn travel west east late bronz ag bce hittit hurrian aplu croft john wrote mail list apollo greek proven anatolian luwian travel west east hurrian aplu god plagu resembl mous god apollo hurrian aplu deriv babylonian aplu mean son titl babylonian plagu god nergal son enlil homer apollo god plagu resembl mous god apollo apotropa situat god origin bring plagu invok merg time fusion mycenaean doctor god linear paean homer greek physician god writer word mere epithet apollo capac god heal linear paean origin separ deiti homer left question unansw hesiod separ poetri paean invok independ god heal equal difficult separ paean paeon sens healer paean sens song believ refer ancient associ heal craft sing spell shift concern origin sens healer gradual give hymn phrase song origin address apollo god dionysu helio asclepiu apollo fourth centuri bce paean formula adul object implor protect diseas misfortun offer protect render apollo recognis god music apollo role slayer python led associ battl victori roman custom paean sung armi march enter battl fleet left harbour victori won apollo link oracl wish outcom ill apollo kill python delphi oracl vanquish unconsci terror golden-hair sun archer shoot arrow insight death god music lyre heal belong realm father asclepiu god medicin muse part retinu music histori dream poetri danc belong apollo adoni roman greek origin ashmolean museum cult site unusu olymp deiti apollo cult site widespread influenc delo delphi cult practic delian apollo pythian apollo apollo delphi distinct shrine local burkert theophor name apollodoru apollonio citi name apollonia met greek world apollo cult fulli establish written sourc commenc bce oracular shrine apollo famou oracl delphi notabl claru oracular shrine aba phoci bore toponym epithet apollon import consult croesu herodotu oracular shrine includ didyma oracl coast anatolia south west lydian luwian sardi priest lineag receiv inspir drink heal spring locat templ hierapoli bambyc syria modern manbij treatis de dea syria sanctuari syrian goddess contain robe beard imag apollo divin base spontan movement imag lucian attrib de dea syria delo oracl delian apollo summer heiron sanctuari apollo adjac sacr lake place god born corinth oracl corinth town tenea prison supposedli trojan war bassa peloponnes aba phoci delphi pythia fill pneuma apollo spring adyton patara lycia season winter oracl apollo place god delo delphi oracl patara woman claru west coast asia minor delphi holi spring gave pneuma priest drank segesta sicili oracl son apollo oropu north athen oracl amphiarau son apollo oropu sacr spring mile east delphi trophoniu son apollo kill brother fled cave consult oracl festiv chief apollonian festiv delia pythia attribut symbol apollo apollo griffin musei capitolini rome apollo common attribut bow arrow attribut includ kithara advanc version common lyre plectrum sword common emblem sacrifici tripod repres prophet power pythian game held apollo honor year delphi bai laurel plant expiatori sacrific make crown victori game palm sacr apollo born delo anim sacr apollo includ wolv dolphin roe deer swan cicada symbol music song hawk raven crow snake referenc apollo function god propheci mice griffin mythic eagle-lion hybrid eastern origin god colon apollo gave oracular guidanc coloni height colon bce greek tradit help cretan arcadian colonist citi troi stori reflect cultur influenc revers direct hittit cuneiform text mention minor asian god call connect citi wilusa attest hittit inscript gener regard ident greek ilion scholar interpret apollo’ titl simpli read born lycia effect sever god suppos link wolv possibl folk etymolog literari context apollo repres harmoni order reason characterist contrast dionysu god wine repres ecstasi disord contrast role god reflect adject apollonian dionysian greek thought qualiti complementari god brother apollo winter left hyperborea leav delphic oracl dionysu contrast appear shown side borghes vase apollo golden greek ideal moder virtu oppos gluttoni roman apollo roman worship apollo adopt greek quintessenti greek god apollo direct roman equival roman poet refer phoebu tradit delphic oracl consult earli period king rome reign tarquiniu superbu livi occas pestil bc apollo templ rome establish flaminian field replac older cult site apollinar livi punic war bc ludi apollinar apollonian game institut honor instruct propheci attribut marciu livi time augustu consid special protect apollo son worship develop chief god rome liebeschuetz continu chang roman religion oxford oxford univers press battl actium fought sanctuari apollo augustu enlarg apollo templ dedic portion spoil institut quinquenni game honour suetoniu augustu cassiu dio erect templ god palatin hill cassiu dio sacrific prayer palatin apollo diana form culmin secular game held bce celebr dawn era inscription latina selecta translat mari beard john north simon price religion rome volum sourcebook cambridg cambridg univers press hbk pbk art art apollo depict handsom beardless young man kithara apollo bow hand reclin tree lycian apollo apollo type apollo belveder marbl sculptur rediscov late centuri centuri epitom ideal classic antiqu european renaiss nineteenth centuri marbl hellenist roman copi bronz origin greek sculptor leochar bc lifes so-cal adoni site villa suburbana labicana roman suburb ashmolean museum oxford illustr left identifi apollo modern scholar intend cult object pastich fourth-centuri hellenist model type intend roman connoisseur centuri ad displai villa late centuri ce floor mosaic el djem roman illustr identifi apollo helio effulg halo god divin naked conceal cloak mark increas convent modesti empir halo apollo mosaic museum souss convent represent head tilt lip slightli part large-ei curl hair cut lock graze neck develop centuri bce depict alexand great bieber time mosaic execut earliest depict christ beardless halo mytholog birth hera discov leto pregnant zeu father ban leto give birth terra firma mainland island wander leto newli creat float island delo mainland real island gave birth island surround swan zeu secur delo bottom ocean island sacr apollo state hera kidnap ilithyia goddess childbirth prevent leto labor god trick hera let offer necklac yard long amber mythograph agre artemi born assist birth apollo artemi born dai apollo island ortygia help leto cross sea delo dai give birth apollo apollo born seventh dai month thargelion delian tradit month delphian tradit seventh twentieth dai full moon held sacr youth youth apollo kill chthonic dragon python live delphi castalian spring spring emit vapor caus oracl delphi give prophesi apollo kill python punish python child gaia apollo omin aspect marsya satyr dare challeng music contest flai lost apollo brought arrow plagu greek dishonor priest chryse apollo arrow plagu struck niob excess proud son daughter disparag apollo mother leto children apollo artemi admetu zeu struck apollo son asclepiu lightn bolt resurrect dead transgress themi steal hade subject apollo reveng kill cyclop fashion bolt zeu apollo banish tartaru sentenc year hard labor punish intercess mother leto time serv shepherd king admetu phera thessali admetu treat apollo return god confer great benefit admetu apollo help admetu win alcesti daughter king pelia convinc fate admetu live time place time admetu die parent assum gladli die refus cooper alcesti place heracl manag persuad thanato god death return world live trojan war apollo shot arrow infect plagu greek encamp trojan war retribut agamemnon insult chryse priest apollo daughter chrysei captur demand return achaean compli indirectli caus anger achil theme iliad diomed injur aenea iliad apollo rescu aphrodit rescu aenea diomed injur aenea envelop cloud apollo pergamo sacr spot troi apollo aid pari kill achil guid arrow bow heel interpret motiv reveng sacrileg murder troilu god son hecuba altar god templ niob queen thebe wife amphion niob boast superior leto fourteen children niobid male femal leto apollo kill son practic athlet beg life artemi daughter apollo artemi poison arrow kill version myth number niobid spare chlori amphion sight dead son kill kill apollo swear reveng devast niob fled mount asia minor turn stone wept tear form river achel zeu turn peopl thebe stone buri niobid ninth dai death god entomb consort children love affair ascrib apollo late develop greek mytholog love-stori told karl kerenyi god greek vivid anecdot qualiti favourit painter renaiss stand promin modern imagin femal lover explan connect apollon daphn laurel leav priestess emploi delphi told libaniu fourth-centuri ce teacher rhetor libaniu apollo chase nymph daphn daughter peneu scorn ovid tell roman audienc phoebu apollo chaff cupid toi man weapon suit man cupid wound arrow golden dart simultan ero shot leaden arrow daphn caus repuls apollo spirit chase apollo daphn prai mother earth altern father river god chang laurel tree sacr apollo apollo affair human princess name leucothea daughter sister clytia leucothea love apollo disguis leucothea mother gain entranc chamber clytia jealou sister want apollo told truth betrai sister trust confid enrag order leucothea buri aliv apollo refus forgiv clytia betrai belov griev clytia wilt slowli di apollo chang incens plant heliotrop sunflow sun dai kidnap ida love apollo zeu choos chose ida ground apollo immort tire grew castalia nymph apollo love fled dive spring delphi base mt parnasso name water spring sacr clean delphian templ inspir poet cyren apollo son name aristaeu patron god cattl fruit tree hunt husbandri bee-keep culture-hero taught human dairi skill net trap hunt cultiv oliv hecuba wife king priam troi apollo son name troilu oracl prophesi troi defeat long troilu reach ag twenti aliv ambush kill achil apollo fell love cassandra daughter hecuba priam half-sist promis cassandra gift propheci seduc reject enrag apollo gift abil futur curs futur tragedi coroni daughter phlegya king lapith apollo liaison pregnant asclepiu coroni fell love son elatu crow inform apollo affair inform disbeliev crow turn crow black previous white punish spread untruth truth sister artemi kill coroni result crow sacr gave task announc import death apollo rescu babi gave centaur chiron rais phlegya irat death daughter burn templ apollo delphi apollo kill plai ion apollo father ion creusa wife xuthu creusa left ion die wild apollo ask herm save child bring oracl delphi rais priestess liaison spirit acanthu tree death apollo transform sun-lov herb male lover apollo hyacinthu jacopo caraglio italian engrav apollo etern beardless kouro promin male relationship greek god expect god god palaestra athlet gather place youth compet nude god repres ideal educ ideal erast lover boi sergent lover younger style greek pederast relationship time apollo young belov di accident reflect function myth part rite passag youth di order reborn adult hyacinth male lover hyacinthu spartan princ beauti athlet pair practic throw discu hyacinthu struck head discu blown zephyru jealou apollo love hyacinthu hyacinthu di apollo account fill grief curs immort wish join lover mortal death zephyru wind touch speak blood slain lover apollo creat hyacinth flower memori death tear stain flower petal mean ala festiv hyacinthu celebr sparta male lover descend heracl apollo gave boi tame deer companion accident kill javelin lai asleep undergrowth ask apollo tear fall apollo turn sad boi cypress tree sad tree sap form droplet tear trunk birth herm herm born mount cyllen arcadia stori told homer hymn herm mother maia secretli impregn zeu maia wrap infant blanket herm escap asleep herm ran thessali apollo graze cattl infant herm stole number cow cave wood pylo cover track cave tortois kill remov insid cow intestin tortois shell lyre apollo complain maia son stolen cattl herm replac blanket wrap maia refus apollo claim zeu interven claim event side apollo herm began plai music lyre invent apollo god music fell love instrument offer exchang cattl lyre apollo master lyre herm invent kind call syrinx apollo exchang caduceu syrinx herm stori apollo gave order oracl delphi orest kill mother clytemnestra lover aegisthu orest punish fierc eriny furi femal personif vengeanc crime relentlessli pursu furi orest ask intercess athena decre juri peer apollo act attornei odyssei odysseu surviv crew land island sacr helio sun god sacr cattl odysseu warn men tiresia circ told kill at cattl helio zeu destroi ship men save odysseu apollo contest cinyra son commit suicid lost apollo kill attempt storm mt olympu apollo rode swan land hyperborean winter month swan lent belov hyacinthu ride apollo turn cephissu sea monster music contest pan pan audac compar music apollo challeng apollo god kithara trial skill tmolu chosen umpir pan blew pipe rustic melodi gave great satisfact faith follow mida happen present apollo struck string lyre tmolu award victori apollo mida agre judgment dissent question justic award apollo suffer deprav pair ear longer caus ear donkei marsya flai marsya titian marsya satyr challeng apollo contest music aulo ground toss invent athena cheek puffi marsya lost flai aliv cave phrygia hubri challeng god blood turn river marsya variat apollo plai instrument lyre upsid marsya instrument flute apollo hung tree flai aliv man myth magic richard cavendish graeco-roman epithet cult titl apollo greek deiti number epithet appli reflect varieti role duti aspect ascrib god apollo great number appel greek myth occur latin literatur chief phoebu shine commonli greek roman apollo role god light apollo role healer appel includ iatro euripid andromach mean healer call restrain evil avert evil refer roman averruncu avert evil plagu god defend rat locust apollo grasshopp roman call apollo drive midg heal aspect roman refer apollo medicu physician templ dedic apollo medicu rome templ bellona sun-god worship radiant god apolloniu rhode apollodoru god archeri apollo god bow silver bow roman refer apollo carri bow pastor apollo wander apollo director foundat oversaw coloni doric allot land supervis citi coloni mean womb associ delphi delphi pythio pythian homer hymn connect epitheton dolphin common epithet stem birth mt meant wolfish lycia lycia place postul cult origin specif god propheci apollo loxia obscur watch heaven roman apollo attribut epithet leader muse epithet apollo worship eli templ agora surnam mean character god avert evil smith dictionari greek roman biographi mytholog london epithet worship boeotian town reputedli found son epithet actium princip place worship ovid metamorphos xiii strabo celtic epithet cult titl apollo worship roman empir tradition celtic land heal sun god equat celtic god similar charact dictionari celtic myth legend miranda green thame hudson apollo great horseman possess great hors apollo worship indr hors celtic world close link sun corpu inscriptionum latinarum xiii pagan celtic britain ross god celt green london apollo belenu epithet apollo part gaul north itali noricum part modern austria apollo belenu heal sun god font historia religioni celtica zwicker berlin corpu inscriptionum latinarum xi xii xiii le cult de en provenc occidental en gaul ogam le cheval sacr dan la gaul de l'est revu archeologiqu de l'est du centre-est du cult de gauloi dan romain revu celtiqu apollo titl apollo shrine wiltshir apollo god heal origin independ heal god excav shrine apollo nettleton societi antiquari london apollo heal spring god equat apollo celtic heritag hungari szabo budapest sanctuair de la gaul pari la religion de celt de vri pari apollo god inscript britain local fusion apollo apollo sea epithet apollo alesia worship god heal possibl physician alesia archeologi histoir le gall pari apollo apollo templ burgundi god heal ey apollo mankind apollo worship place fin d'anneci maine-et-loir corpu inscriptionum latinarum xiii recept apollo featur postclass art literatur perci byssh shellei compos hymn apollo god instruct muse form subject igor stravinski apollon musagèt apollo gave nasa apollo lunar program media apollo hyacinthu read timothi carter note +andr kirk agassi born april world profession american tenni player won grand slam singl tournament olymp gold medal singl male player won grand slam singl event career player open era won grand slam singl titl won tenni master cup part win davi cup team won olymp gold medal won atp master seri tournament player tenni magazin name greatest male player sciatica caus bulg disc spondylolisthesi vertebr displac bone spur interfer nerv agassi retir profession tenni septemb lose open agassi marri steffi graf children founder andr agassi charit foundat rais million at-risk children southern nevada atp tour retriev februari foundat open andr agassi colleg preparatori academi la vega public charter school at-risk children andr agassi preparatori academi retriev februari earli life agassi born la vega nevada emmanuel mike elizabeth betti agassi maiden dudlei retriev august father iranian armenian assyrian ancestri retriev februari cnn retriev februari repres iran box olymp game emigr unit state intent child win tenni grand slam tournament learn tenni watch tape champion systemat approach game call agassi older sibl guinea pig develop coach techniqu hone andr infant hang tenni ball crib gave agassi paddl balloon high chair agassi start plai tenni ball collect fill garbag can ball agassi hit ball dai andr year practic pro jimmi connor rosco tanner mike began work la vega casino belong armenian american tycoon kirk kerkorian mike kirk good friend andr middl kirk kirk kerkorian mike agassi renown domin andr hammer match bang fenc disgust andr lost point scream offici ask leav ag thirteen andr teach guru nick bollettieri tenni academi florida meant stai week father afford ten minut watch agassi ralli bollettieri call mike check free gari smith sport illustr retriev februari agassi unhappi academi grew rebelli drank beer smash racquet grew mohawk haircut televis tournament wore rip denim jean know father homophobia wore pink lipstick grew pinki fingernail paint pink year academi agassi emotionless depress bollettieri eventu lost temper told agassi leav agassi indiffer ask want agassi repli leav turn pro turn profession ag tournament la quinta california won match john austin lost match mat wiland year agassi rank world plai style agassi emploi baselin style plai player typic contact ball baselin exception difficult profession requir great reaction time short backsw extraordinari hand-ey coordin attribut help aggress return serv john mcenro jim courier call agassi servic return plai tenni includ brad gilbert call ball striker histori tenni agassi abil hit sharpli angl winner baselin earli career agassi point quickli typic induc weak return deep hard shot plai winner extrem angl ad backhand drop shot repertoir effect drop shot tour partli due fact agassi groundstrok forc oppon plai baselin rare occas charg net agassi ball air hit swing vollei winner requir except time reflex agassi famou enter bat cage hit mph fastbal bat run machin gari smith sport illustr retriev februari agassi reded tenni focus physic condit fittest player tour remark endur rare appear tire court condit groundstrok agassi central strategi wear oppon agassi minim time point oppon recoveri time agassi continu put pressur oppon return ball earli deep angl attempt dictat plai center baselin oppon scrambl control point agassi pass opportun attempt winner hit slightli conserv shot minim error oppon run penchant run player point point earn nicknam punish year career injuri notabl rob agassi consist speed court coverag result player consist hit sharp angl pace run gave troubl weak agassi began plai aggress shot oppon defens deni opportun run agassi court limit option baselin increas error agassi serv strength game improv steadili career liabil averag serv effect serv hard slice ac oppon ad court send oppon wide court serv deuc side shot corner send oppon scrambl reli heavi kick serv serv earli career tenni career agassi turn profession won top-level singl titl itaparica end year rank won tournament decemb year surpass million career prize monei plai tournament fastest histori reach level year-end rank ivan lendl mat wiland young up-and-com player agassi embrac rebel imag grew hair rocker length sport ear wore color shirt push sartori boundari boast cheeseburg diet endors canon rebel camera imag ad line agassi addit plai australian open grand slam event year career agassi chose plai wimbledon publicli state plai event tradition predominantli white dress code player event requir conform observ time specul agassi real motiv strong baselin game suit wimbledon grass court surfac strong perform tour meant agassi quickli tip futur grand slam champion teenag reach semifin french open open open began seri near-miss reach grand slam final french open lost set andré gómez grand slam final pete sampra open time agassi plai sampra won match told coach felt bad sampra draw agassi happi face lendl mcenro final plan sampra hit ball handl favorit match lost sampra rivalri american player domin rivalri tenni rest decad agassi help unit state win davi cup year agassi reach consecut french open final face fellow bollettieri academi alumnu jim courier courier emerg victor set final agassi decid plai wimbledon lead week specul media cloth wear eventu emerg complet white outfit reach quarterfin occas surpris agassi grand slam breakthrough wimbledon french open open enjoi success defeat goran set final agassi dispatch wimbledon champion bori becker john mcenro baselin triumph wimbledon lleyton hewitt ten year slower higher bounc grass suit baselin plai agassi name bbc oversea sport person year agassi kei player unit davi cup win team davi cup titl year agassi win doubl titl career cincinnati master partner petr korda agassi miss earli part year injuri troubl struggl major event first-round exit open wrist surgeri late year agassi start slowli lose week french open wimbledon agassi emerg hard court season win canada master event comeback culmin man captur open unseed player beat michael stich final agassi run includ set fourth-round victori compatriot michael chang agassi shave bald head break imag style agassi attend australian open time won attempt beat sampra set final agassi sampra met tournament final hardcourt agassi win agassi won master seri event cincinnati master miami master canada master titl total agassi compil career-best win streak summer hardcourt circuit end lost huge anticip open final sampra agassi reach world rank time april held rank novemb total week term win loss record agassi year won match lost higher win percentag season won match lost agassi kei player unit state davi cup win team final davi cup titl agassi career success year agassi fail reach grand slam final suffer surpris earli loss hand compatriot chri woodruff doug flach french open wimbledon clear high point agassi win men singl gold medal olymp game atlanta beat sergi bruguera spain final agassi successfulli defend singl titl cincinnati master miami master point agassi career wrist injuri resurfac plai match year won top-level titl rank sank world novemb agassi subject intens public surround high-profil turbul marriag actress brook shield marriag end divorc agassi serv agassi reded tenni began rigor condit program work rank plai challeng seri tournament circuit profession player rank world top remark one-tim rebel emerg graciou thought athlet admir younger player win match bow blew two-hand kiss spectat side court gestur humbl acknowledg support tenni plai classic match period notabl rival pete sampra popular australian patrick rafter agassi won titl leapt world start year world make highest jump top player singl calendar year won titl ten final runner-up miami master lose marcelo río world result win tournament agassi enter histori book set love beat andrei medvedev five-set french open final male player join rod laver fred perri roi emerson don budg won grand slam singl titl career male player histori won grand slam titl surfac clai grass hard court tribut adapt men won grand slam titl clai grass court agassi male tenni player win career golden slam french open victori reach wimbledon final lost sampra rebound wimbledon defeat win open beat todd martin set ralli set deficit final agassi end world sampra record consecut year-end top rank time agassi end year number agassi began captur australian open titl beat sampra five-set semifin yevgeni kafelnikov four-set final male player reach consecut grand slam final rod laver achiev grand slam roger feder duplic feat appear ten consecut grand slam final time agassi player laver reign champion grand slam event miss wimbledon titl pete sampra held wimbledon open australian open titl simultan jimmi connor won event time grass court feder duplic sampra connor feat hold grand slam titl french open agassi reach semifin wimbledon lost set rafter match consid plai wimbledon bbc sport retriev octob inaugur tenni master cup lisbon agassi reach final defeat marat safin semifin russian hope youngest world histori tenni agassi eventu lost gustavo kuerten loss allow kuerten crown year-end world agassi finish rank world male tenni player rank top decad finish agassi open successfulli defend australian open titl straight-set final win arnaud clément enrout beat cramp rafter front sell crowd turn aussi australian open wimbledon met semifin agassi lost close match rafter set open agassi lost quarterfin sampra break serv entir match open disappoint agassi injuri forc skip australian open two-tim defend champion duel agassi sampra final open battl sampra emerg victori set left sampra edg career meet match prove sampra career agassi open finish victori miami master rome master madrid master help finish oldest year-end year month agassi won eighth final grand slam titl career australian open beat rainer schüttler straight set final march won sixth career consecut miami master process surpass wife steffi graf winner event final straight win tournament broke previou record set sampra agassi win streak continu win match miami master bow agustin calleri victori agassi youngest year oldest winner miami master recaptur world rank quarterfin victori xavier maliss queen club championship oldest top rank male player year dai held rank occas week agassi rank slip injuri forc withdraw event manag reach open semifin lost juan carlo ferrero surrend world rank ferrero year-end tenni master cup agassi lost final feder finish year rank world agassi won cincinnati master bring career total top-level singl titl record atp master seri titl won atp master tournament mont carlo hamburg second-oldest singl champion cincinnati tournament histori tournament began surpass ken rosewal won titl ag agassi began quarterfin loss feder australian open agassi deep run tournament withdraw event due injuri won fourth titl lo angel reach final roger cup fall world rafael nadal agassi defin improb run open final beat razvan ivo karlov straight set toma berdych set agassi won consecut set match advanc final notabl match quarterfin victori jame blake ralli set win five-set victim xavier maliss fourth robbi ginepri semifin final agassi face feder seek consecut open titl grand slam titl year feder defeat agassi set agassi gave scare agassi break set split set tenni master cup shanghai agassi roll ankl racquetbal accid tore ligament unabl walk week commit tournament seed plai nikolai davydenko robin match agassi movement notic hinder backhand return serv lost straight set withdrew tournament critic tournament director dealt withdraw agassi finish rank time year-end top rank ti connor time rank top year agassi left nike year sign endors deal adida agassi poor start recov ankl injuri suffer leg pain lack match plai agassi withdrew australian open ankl injuri injuri pain forc withdraw event eventu skip entir clai court season includ french open caus rank drop top time agassi return grass court season plai tune-up wimbledon wimbledon agassi announc plan retir open defeat world eventu finalist rafael nadal convent agassi lose player interview court match press june retriev octob agassi plai event summer hardcourt season result quarterfin loss countrywid classic lo angel fernando gonzález chile result unseed open agassi short dramat run final open due extrem pain agassi forc receiv anti-inflammatori inject match tough four-set win andrei pavel agassi face seed marco baghdati earlier advanc australian open final wimbledon semifin agassi won younger baghdati succumb muscl cramp final set match agassi obviou pain court fell rank benjamin becker germani set agassi receiv minut stand ovat crowd match deliv memor retir speech agassi earn million prize-monei career sampra feder addit agassi earn million year endors tenni player career fourth sport time retir retir open agassi particip seri chariti tournament continu work chariti septemb agassi surpris guest comment andi roddick roger feder open quarterfin person famili life agassi date fame american singer barbra streisand earli marri actress brook shield april februari file suit nation enquir claim print fals fabric statement coupl case dismiss file divorc shield grant april french open agassi steffi graf surpris champion won grand slam titl ball danc tradit champion danc even began date graf retir reach wimbledon final juli marri octob son jaden gil born octob year daughter jaz ell born octob coupl live la vega area vacat home agassi older sister rita marri late tenni legend pancho gonzal gonzal di la vega agassi paid funer agassi staunch democrat donat democrat candid philanthropi agassi particip chariti organ found andr agassi charit associ assist youth la vega award atp arthur ash humanitarian award effort disadvantag youth regularli cite charit social involv player profession tenni agassi chariti take form assist children athlet potenti boi girl club see children year boast world class junior tenni team basketbal program agassi star rigor system encourag mix academ athlet agassi open andr agassi colleg preparatori academi la vega tuition-fre charter school at-risk children area iron agassi finish formal educ due decis turn pro child-rel program agassi support andr agassi charit foundat clark counti residenti facil abus neglect children call child haven andr donat fund child haven six-room classroom build name agassi center educ foundat assist build andr agassi cottag medic fragil children facil open decemb accommod development delai handicap children children quarantin infecti diseas hous approxim bed children special special attent need feel comfort surround agassi muhammad ali lanc armstrong warrick dunn jeff gordon mia hamm toni hawk andrea jaeger jacki joyner-kerse mario lemieux alonzo mourn cal ripken found athlet hope charit organ help profession athlet involv charit inspir million non-athlet volunt support commun quot pete retir grow gui compet long big part career pretti special sens person regret open i'v motiv overcom challeng overcom hurdl obstacl face plenti motiv defeat jame blake quarterfin agassi morn peopl wasn't winner tenni awesom don't i'v felt good john mcenro top gui point put sampra put laver put borg won eleven put feder put agassi thrown breath gui happi mat wiland ask top tenni player time agassi pete sampra roger feder björn borg top order ti john mcenro ivan lendl jimmi connor place agassi wiland limit can’t serv vollei won slam high energi level borg gear point abnorm ey wouldn’t phenomen return see ball guid he’ plai grand slam final tell wast year career couldn’t last long tenni agassi borg septemb plai final match lose open benjamin becker agassi gave depart remark fan scoreboard lost todai scoreboard doesn't year loyalti pull court life i'v inspir will succe lowest moment i'v generos shoulder stand reach dream dream reach year memori rest life rafael nadal main rival roger feder present-dai tenni agassi refer point world tenni he’ chang style imag left mark game career statist grand slam final singl win runner-up atp master seri final win runner-up career final singl win atp runner-up doubl win runner-up singl perform timelin note design atp run men tour nh tournament held particip tournament sr ratio number singl tournament won number tournament plai event held stockholm essen stuttgart atp tour career earn video game andr agassi tenni sne sega genesi game gear master system mobil phone agassi tenni gener ps gba smash court pro tournament ps +austro-asiat languag larg languag famili southeast asia scatter india bangladesh latin word south greek asia south asia languag vietnames khmer mon long record histori vietnames khmer offici statu vietnam cambodia rest languag spoken minor group austro-asiat languag disjunct distribut india bangladesh southeast asia separ region languag spoken wide believ austro-asiat languag autochthon languag southeast asia eastern indian subcontin languag region includ indo-european tai-kadai dravidian sino-tibetan languag result migrat peopl austro-asiat word tibeto-burman languag eastern nepal linguist attempt prove austro-asiat languag relat austronesian languag form austric superfamili classif linguist tradition recogn primari divis austro-asiat mon-khmer languag southeast asia northeast india nicobar island munda languag east central india part bangladesh ethnologu identifi austro-asiat languag mon-khmer munda evid classif publish linguist classif influenc subject percept racial dichotomi speaker languag tradition classifi mon-khmer tradition classifi munda famili written boldfac type accept valid clade relationship famili austro-asiat debat addit tradit classif propos accept tradit mon-khmer valid unit note data compet classif publish evalu peer review gérard wide cite classif encyclopædia britannica languag time miss munda north munda korku south munda koraput munda mon-khmer eastern mon-khmer khmer cambodian bahnar includ vietnames northern mon-khmer khasi meghalaya india palaung khmuic southern mon-khmer mon malaya nicobares nicobar island ilia peiro peiro lexicostatist classif base percentag share vocabulari mean languag distantli relat due languag contact start point proper genealog classif nicobares munda mon-khmer khasi nuclear mon-khmer mang northern mk northern mk northern mon-khmer palaung central mon-khmer khmer dialect monic bahnar gérard count cognat compar reconstruct clade attempt classifi base share innov munda languag india languag nuclear mon-khmer languag addit unclassifi languag southern china +afro-asiat languag constitut languag famili languag sil estim million speaker spread north africa east africa west africa central africa southwest asia includ million speaker arab term afro-asiat coin joseph greenberg replac earlier term hamito-semit name famili includ hodg erythraean tucker famili includ languag subfamili berber languag chadic languag egyptian languag semit languag cushit languag omot languag classifi part cushit beja languag subclassif controversi wide classifi part cushit peopl regard languag omot classif famili remain controversi partli lack data harold fleme tent suggest treat independ branch afro-asiat origin homeland urheimat agreement exist speaker live afro-asiat urheimat languag gener believ origin northeast africa scholar igor diakonoff lionel bender propos ethiopia includ major divers afro-asiat languag famili divers group close geograph proxim consid telltal sign linguist geograph origin research christoph ehret put western red sea coast sahara minor alexand suggest linguist homeland levant specif identifi afro-asiat natufian cultur semit branch stai put semit languag form afro-asiat subfamili extant africa scholar histor time semit speaker cross south arabia ethiopia eritrea disput view suggest semit branch origin ethiopia fleme harold ethiop languag histori test linguist hypothes archaeolog documentari context ethnohistori autumn view base similar semit ancient egyptian languag develop common ancestr tongu nile cross sinai dry phase bce pre-potteri neolith ppnb phase levant beatrix prehistori egypt egyptian pharaoh blackwel hunter-gather mesolith cultur cross sinai northern egypt adopt anim domest agricultur creat juri yarin call nomad pastor complex spread south shore red sea north eastward edg fertil crescent levant develop appear cultur semi-arid zone semit amorit cultur perrot le deux premier feuill syria xli mellaart jame neolith east london thame hudson tonal languag omot chadic cushit branch afro-asiat ehret semit berber egyptian branch tone phonem divers exist afro-asiat group lack common vocabulari agricultur item suggest languag dispers commenc neolith find common vocabulari potteri contain suggest technolog proto-semit vessel arab drink bowl cup goblet glass tumbler sabaean cup ethiop geez vessel gourd jar jug bucket lowland east cushit vessel gourd oromo vessel gourd egyptian qd pot lowland east kushit recept oromo receptacl west chadic calabash koda pot vessel pot bomhard alan indo-european nostrat hypothesi signum ehret ehret christoph antiqu agricultur ethiopia journal african histori uni berkelei press suggest earli afro-asiat languag involv domest ethiopian food crop disput suggest word cushit possibl omot famili common cognat agricultur present wavi line potteri wide sahara bce barnett william hoop john ed emerg potteri washington smithsonian institut press neolith agricultur technolog arriv bce beatrix prehistori egypt egyptian pharaoh blackwel set context dispers ethiopian farmer move highland direct nubian sudan attempt translat meroit script area show signific afro-asiat characterist linguist lionel bender suggest area southern nile centr dispers afro-asiat languag occur bender lionel upsid date potteri agricultur set approxim earli late date linguist dispers climat period wet sahara phase larg river lake dispers afro-asiat respons oper sahara pump fagan brian long hot summer climat chang civilis london grant book burrough william climat chang prehistori reign chao cambridg univers press common featur cognat common featur afro-asiat languag includ system singular feminin mark sound vso typolog svo tendenc set emphat conson various realiz glottal pharyng implos morpholog word inflect intern prefix suffix cognat includ build ehret attest chadic semit bny cushit hous berber bn omot dime build creat m-t die ehret attest chadic hausa mutu egyptian mwt mt coptic mu berber pr semit mwt cushit die similar pie base die evid favor afro-asiat indo-european languag classif hypothet nostrat superfamili mot semit god death s-n attest chadic berber egyptian l- tongu ehret lick attest semit egyptian ns ls coptic la berber il chadic hausa harsh possibl omot dime lick s-m ehret attest semit sm berber ism chadic hausa suna cushit omot berber form ism omot form semit loanword egyptian smi report announc offer cognat d-m blood ehret attest berber semit dam chadic arguabl omot compar cushit red verbal system semit berber cushit includ beja provid evid prefix conjug afro-asiat subfamili show evid caus affix similar suffix appear group niger-congo languag semit berber cushit includ beja chadic support possess suffix classif histori mediev scholar link branch afro-asiat earli centuri hebrew grammarian judah ibn quraysh tiaret algeria perceiv relationship berber semit group arab hebrew arama centuri european began suggest relationship benfei suggest languag famili semit berber cushit call ethiop year newman suggest relationship semit hausa long remain topic disput uncertainti friedrich müller name tradit hamito-semit famili grundriss der sprachwissenschaft defin consist semit group hamit group egyptian berber cushit exclud chadic group classif reli part non-linguist anthropolog racial argument hamit hypothesi leo reinisch propos link cushit chadic urg distant affin egyptian semit foreshadow greenberg suggest reson marcel cohen reject idea distinct hamit subgroup includ hausa chadic languag compar hamito-semit vocabulari joseph greenberg strongli confirm cohen reject hamit ad sub-classifi chadic languag propos afro-asiat famili scholar accept classif harold fleme propos recognit omot branch previous believ subgroup cushit met gener accept scholar includ harold fleme robert question tradit inclus beja cushit view gain gener accept agreement exist sub-classif branch mention christoph ehret harold fleme joseph greenberg agre omot branch split rest ehret group egyptian berber semit north afro-asiat subgroup paul newman group berber chadic egyptian semit question inclus omot fleme divid afroasiat erythraean group cushit semit ad semit beja propos tent branch erythraean lionel bender advoc consist berber cushit semit chadic omot remot branch vladimir orel olga group berber semit group chadic egyptian split cushit independ branch afro-asiat cushit sprachbund valid famili alexand basi lexicostatist group berber chadic distantli semit cushit omot +motto virtu unita fortior latin strength unit stronger anthem el gran mon pare catalan great charlemagn father locat andorra locat circl inset european contin white legend capit largest citi andorra la vella offici languag catalan demonym andorran govern parliamentari democraci co-princip french co-princ nicola sarkozi episcop co-princ joan enric vive sicília head govern albert pintat independ area total km sq mi water popul estim censu densiti km sq mi gdp ppp estim total billion capita unrank currenc euro eur time zone cet utc summer dst cest utc internet tld ad call code prior french franc spanish peseta small amount andorran diner divid mint cat share catalan-speak territori andorra catalan andorra offici princip andorra catalan principat d'andorra small landlock countri western europ locat eastern pyrene mountain border spain catalonia franc northern catalonia occitania isol prosper countri tourism statu tax haven peopl andorra list highest human life expect earth averag year birth est origin histori andorra unknown origin joan pre-roman andorra deriv arab word forest local toponym iberian origin histori tradit hold charl great charlemagn grant charter andorran peopl return fight moor overlordship territori pass local count urgel eventu bishop dioces urgel eleventh centuri disput aros bishop northern neighbour andorra conflict resolv sign andorra sovereignti share count foix titl ultim transfer french head state bishop la seu d'urgel catalonia spain gave small princip territori polit form year titl pass king navarr henri navarr king henri iv franc issu edict establish head french state bishop urgel co-princ andorra period french empir annex catalonia divid département andorra annex part district département andorra declar war imperi germani world war part fight remain offici state belliger includ versail peac treati franc occupi andorra result social unrest elect juli adventur name bori issu proclam urgel declar bori sovereign princ andorra simultan declar war bishop urgel arrest spanish author juli ultim expel spain french detach garrison andorra prevent influenc spanish civil war franco spain francoist troop reach andorran border stage war world war ii andorra remain neutral import smuggl rout vichi franc spain rel isol andorra exist mainstream european histori ti countri franc spain time thrive tourist industri develop transport commun remov countri isol polit system modern year member unit nation polit andorra co-princip presid franc bishop urgel spain co-princ duumvir polit andorra place framework parliamentari repres democraci prime minist andorra head govern pluriform multi-parti system execut power exercis govern legisl power vest govern parliament judiciari independ execut legislatur respons defend andorra rest spain franc andorra militari forc parish map andorra parish label andorra la vella encamp la massana ordino sant de franc spain andorra consist parish andorra la vella encamp la massana ordino sant de geographi due locat eastern pyrene mountain rang andorra consist predominantli rug mountain averag height highest coma pedrosa dissect narrow vallei shape combin main stream river leav countri spain andorra lowest point andorra surfac area km andorra climat similar temper climat higher altitud mean averag snow winter slightli cooler summer economi spa center casa de la val andorran parliament tourism mainstai andorra tini well-to-do economi account roughli gdp estim million tourist visit annual attract andorra duty-fre statu summer winter resort andorra compar advantag erod economi adjoin franc spain open provid broader avail good tariff bank sector tax haven statu contribut substanti economi agricultur product limit land arabl food import tobacco grown local princip livestock activ domest sheep rais manufactur output consist cigarett cigar furnitur andorra natur resourc includ hydroelectr power miner water timber iron or lead patent law andorra andorra full member european union enjoi special relationship treat eu member trade manufactur good tariff non-eu member agricultur product andorra lack currenc surround nation prior french franc spanish peseta replac eu singl currenc euro demograph andorran minor countri spaniard portugues frenchmen briton italian resid andorra popul censu bureau andorra longest life expect year nation languag catalan romanc languag andorra nation franc monaco turkei sign council europ framework convent nation minor religion popul andorra predominantli roman cathol cultur andorran coat arm andorran parliament andorran flag balconi ordino offici histor languag catalan languag stem immigr histor link close geograph proxim spanish french commonli spoken andorra long histori rich folklor abund folk tale root origin andalusia south netherland north andorran cultur catalan essenc signific easili identifi contribut conglomer catalan cultur writer renown catalonia region michèl gazier ramon andorra andorra home folk danc surviv sant de andorran folk music similar neighbor catalan charact presenc danc sardana andorran folk danc includ andorra la vella saint ann danc andorra nation holidai ladi meritxel dai septemb +mathemat statist arithmet simpli list number sum member list divid number item list list statist popul popul call popul list statist sampl call result statist sampl commonly-us type averag refer simpli averag term arithmet prefer mathemat statist distinguish averag median mode introduct denot set data sampl typic denot horizont bar variabl enunci bar symbol greek mu denot arithmet entir popul random number defin probabilist expect random number set collect random number probabilist individu sampl collect expect sampl practic differ typic unobserv observ sampl popul sampl drawn randomli treat random variabl attribut probabl distribut sampl distribut comput random variabl expect long-term arithmet occur repeat measur content law larg number result sampl estim unknown expect valu note mean defin includ gener gener harmon arithmetic-geometr weight mean exampl number add divid number add divid problem report central tendenc describ skew distribut easili misinterpret arithmet greatli influenc outlier distort occur median median descript central tendenc classic averag incom arithmet misinterpret impli peopl incom higher fact case present averag led peopl incom number averag arithmet incom higher peopl incom high incom outlier skew result higher contrast median incom resist skew averag number peopl median incom modal incom peopl carelessli relat averag peopl incorrectli assum peopl incom higher nearer inflat averag instanc report averag net worth medina washington arithmet annual net worth yield surprisingli high number bill gate score arithmet score situat arithmet wrong measur central tendenc altogeth stock fell year rose year incorrect report averag increas year year period arithmet correct averag case geometr yield averag increas year reason percent start point stock start fall stock rise arithmet rise stock rose year averag result final figur arithmet actual increas care cyclic data phase angl arithmet degre degre yield result degre adjac degre correct averag gener applic oversight lead averag artifici move middl numer rang solut problem optim formul redefin differ modular distanc +american footbal confer logo american footbal confer afc confer nation footbal leagu nfl afc creat nfl merg american footbal leagu afl earli nfl cleveland brown pittsburgh steeler colt agre join afc afl team nfl team form nation footbal confer nfc initi align unpopular fan citi merger expans team join afc left make current total seattl seahawk tampa bai buccan join leagu temporarili nfc afc arrang last season team switch confer seahawk eventu return nfc result realign expans jacksonvil jaguar join afc due reloc controversi cleveland brown afc franchis call baltimor raven offici establish brown reactiv oiler left houston arrang similar brown raven retain franchis oiler owner bud adam chang team tennesse titan specif preclud nfl team oiler result leagu eventu put afc expans team houston name houston texan current team organ divis north south east west team team plai team divis home regular season addit game team assign schedul nfl previou game assign basi team final divis stand previou season remain game split roster nfl divis assign shift year instanc regular season team afc west plai game apiec team afc south nfc north divis competit consist common oppon except game assign strength team prior divis stand divis winner face divis winner afc divis schedul plai nfc oper system footbal season playoff game involv top team afc divis champion place stand top remain team wild card record team remain plai afc championship game winner receiv lamar hunt trophi afc champion plai nfc champion super bowl super bowl xli afc won super bowl nfc won lose consecut super bowl afc won ten lose coach afc championship game coach pro bowl week super bowl logo american footbal leagu logo basi current american footbal confer logo origin american footbal confer logo blue star afl logo current red star afl fan upset merger afl gave logo part nfl hate rival merg leagu creat logo afc element afl logo specif star surround afc logo basic remain unchang debut bold introduc star blue afl logo current red unexplain reason afl blue afc red +anim farm novella georg orwel famou satir allegori soviet totalitarian publish book reflect event lead stalin era orwel democrat socialist member independ labour parti year critic josef stalin suspici stalin experi nkvd spanish civil war book chosen time magazin english-languag novel time magazin number modern librari list th-centuri novel overview plot allegori anim plai role bolshevik revolutionari overthrow oust human owner farm set commun anim equal dispar start emerg speci class describ societi ideolog chang manipul individu posit polit power includ idea utopia seemingli imposs corrupt power charact real life counterpart event charact anim farm parallel earli histori soviet union orwel explicit case napoleon connect stalin letter march publish dog import charact novella enabl georg orwel discov express happen russia charact parallel real world care comparison orwel intent explicit simpli repres generalis concept pig major inspir fuel revolut book interpret base karl marx lenin socialist georg orwel agre marx respect aspect lenin interpret satir anim farm marxism lenin revolut corrupt occur similar christoph hitchen hitchen agre book aim principl russian revolut face-valu credit revolut betrai revolut monstrou incept major present posit orwel slip flaw admiss larg free abus rest anim suffer napoleon berkshir boar main tyrant anim farm napoleon begin gradual build power puppi mother dog jessi bluebel rais viciou dog secret polic drive snowbal farm napoleon usurp full power fals propaganda squealer threat intimid dog anim line gradual command privileg justifi dictatori rule book napoleon fellow pig learn walk upright start behav similar human orwel model joseph stalin set dictatorship repress despot wors imperi russian govern supplant bolshevik french version anim farm napoleon call césar french spell caesar snowbal white boar napoleon rival inspir leon trotski win anim driven farm napoleon snowbal genuin work good farm devis plan anim achiev vision utopia chase farm napoleon dog rumour spread napoleon evil corrupt secretli sabotag anim effort improv farm squealer small fat porker serv napoleon public speaker inspir vyacheslav molotov russian paper pravda squealer twist abus languag excus justifi extol napoleon action repres propaganda stalin justifi action work georg orwel point show politician languag squealer limit debat complic confus disori make claim pig extra luxuri order function properli question persist threat jone return justif privileg squealer statist convinc anim life anim dim memori life revolut convinc minimu poetic pig write nation anthem anim farm sing beast england ban repres admir stalin ussr maxim gorki minimu compos replac beast england equat main compos nation anthem soviet union replac international gabriel alexand vasilyevich alexandrov sergei mikhalkov pinkey small piglet tast napoleon food poison piglet hint children napoleon albeit note gener anim subjug idea anim inequ rebel pig pig complain napoleon takeov farm quickli silenc execut base great purg stalin regim closest parallel rebel pig nikolai bukharin alexei rykov grigori zinoviev lev kamenev human jone repres nichola ii russia depos tsar face sever financi difficulti dai lead revolut charact nod loui xvi implic repres autocrat ineffect capitalist incap run farm anim properli jone heavi drinker anim revolt drink feed care iron napoleon obsess drink frederick tough owner well-kept neighbour farm repres adolf hitler nazi parti gener pilkington easy-go crafti owner foxwood neighbour farm overgrown weed book repres western power britain card game metaphor tehran confer parti flatter cheat game ironi scene present pig civil kind human defi fought present tehran confer allianc soviet union form unit state britain capitalist countri soviet union fought earli year revolut napoleon pilkington draw ac spade game highest-rank card time fight loudli symbol begin tension soviet superpow whymper man hire napoleon repres anim farm human societi loos base western intellectu georg bernard shaw lincoln steffen visit hors hors clover molli boxer boxer main charact tragic avatar work class proletariat loyal kind dedic anim farm naiv slow ignor blind trust leader led death profit heroic physic work repres stakhanovit movement maxim work harder reminisc jurgi upton sinclair jungl clover boxer friend fellow draft hors help care boxer split hoof blame forget origin command squealer revis clover compassion shown protect babi duckl major speech albeit vain open narrat remark recov figur give birth fourth foal upset anim execut dog held great respect younger hors ultim replac boxer molli self-cent vain white mare like wear ribbon mane eat sugar cube repres luxuri pamper groom human repres upper-class peopl bourgeoisi nobil fled west russian revolut effect domin russian diaspora quickli leav farm mention anim benjamin wise donkei show emot anim question lack express answer live long life dead donkei dedic boxer dearli upset boxer benjamin wrong time repres cynic societi specul benjamin repres role jew societi mose repres role church russian orthodox church russia repres rasputin pigeon snowbal napoleon regularli send pigeon spread word rebellion anim farm repres comintern organ communist parti goal spread commun signific allegori book emploi read varieti level orwel wrote book experi spanish civil war book homag catalonia intend strong condemn stalinist corrupt origin socialist ideal prefac ukrainian edit prepar orwel gave idea set book farm ukrainian edit earli propaganda book print distribut soviet citizen ukrain million displac person europ world war american occup forc consid edit propaganda print illeg press hand confisc copi anim farm soviet author polit book affect britain orwel report ernest bevin terrifi letter herbert read august embarrass publish gener elect year book compar movement overthrow head corrupt undemocrat govern organ eventu corrupt oppress succumb trap power violent dictatori method analog african coloni zimbabw democrat republ congo succeed african-born ruler accus corrupt wors european colonist supplant book ponder focu power person healthi societi book leav slightli ambigu regard largest overrid theme anim farm famou quot lord acton power corrupt absolut power corrupt absolut allus histori geographi current scienc refus human refer anim farm call manor farm indic diplomat limbo soviet exist earli histori ditch effort re-tak farm battl cowsh analog russian civil war western capitalist govern soldier remov bolshevik power battl cowsh fought similar tactic battl cowpen american revolut napoleon snowbal argu anim farm rule napoleon favour acquir weapon defend farm snowbal favour farm countri rebel similar stalin want social countri trotski theori perman revolut squealer constantli chang command napoleon order refer constant line adjust communist theori peopl power li anim event rememb refer revis histori text glorifi stalin regim major di skull displai tree stump similarli lenin embalm bodi put displai lenin tomb red squar post-mortem remain note tomb karl marx adorn extrem larg bust like lend credibl major closer refer karl marx lenin marx tomb locat highgat cemeteri london version horn hoof flag base hammer sickl flag anim farm consist green field hoof horn book green repres field england hoof horn analog hammer sickl bear resembl communist russia flag napoleon steal idea windmil windmil consid symbol soviet five-year plan concept develop trotski adopt stalin ban trotski soviet union claim idea failur windmil gener expect creatur comfort subsequ search saboteur refer accus show trial british engin work electrif project ussr mose raven leav farm return similar russian orthodox church underground brought give worker hope boxer motto napoleon synonym duce ha sempr mussolini chant hail benito mussolini rule itali rise napoleon order collect egg act defianc hen destroi egg give napoleon stalin collectiv period earli ukrainian peasant burn crop farm hand govern napoleon mass execut unfair alleg crime similar stalin execut polit enemi crime tortur forc falsifi confess napoleon replac farm anthem beast england inan composit pig poet minimu anim farm anim farm thou harm stalin replac nation anthem international hymn soviet union international glorifi revolut peopl origin version hymn soviet union glorifi stalin heavili death entir section anthem replac remov orwel refer napoleon bonapart ban french nation hymn la marseillais napoleon work frederick eventu betrai anim farm destroi windmil anim farm repel human attack anim wound kill similar stalin’ molotov-ribbentrop pact nazi germani betrai hitler invad soviet union soviet union won war tremend price roughli million soviet soldier unconfirm civilian result incred estim million dead utter destruct western soviet union prize collect farm stalin creat deton windmil battl ensu refer battl stalingrad sell farm excess timber suppli repres offer raw materi unit state exchang weapon war lend-leas napoleon chang anim farm manor echo red army’ chang red armi soviet armi appeal profession organ armi common peopl dog allegori nkvd kgb elit polic forc rule terror stalin hand charact boxer allus financi state russia time public term leg good leg bad symbol simplif april these worker understand napoleon creat award order green banner refer soviet union order red banner napoleon receiv titl father anim terror mankind refer stalin grandiloqu titl british censorship suppress prefac world war ii appar orwel anti-russian literatur major publish hous touch includ regular publish gollancz publish sought reject book ground govern advic assum civil servant gave order soviet spy taylor orwel life write leonard moor partner literari agenc christi moor publish jonathan cape explain decis advic senior offici ministri inform flagrant anti-soviet bia unaccept choic pig domin class thought offens import assum man name peter smollett unmask soviet agent orwel origin prepar prefac complain british govern suppress book self-impos british self-censorship british peopl suppress critic ussr world war ii alli sinist fact literari censorship england larg voluntari british press govern interven gener tacit agreement wouldn’t mention fact iron prefac censor publish edit book orwel georg august guardian orwel georg august statesman societi issn archiv org retriev controversi estat orwel declar hostil public snowbal chanc parodi anim farm author john reed cultur refer refer novella frequent work popular cultur popular music televis seri adapt poster anim farm poster anim farm anim film book basi anim featur film britain full-length anim movi direct john hala joi batchelor quietli commiss american cia version soften theme stori slightli reduc role mose charact repres religion ad epilogu anim successfulli revolt pig immedi icon conclud imageri depict stage adapt popular stage adapt renown british theatr director playwright ian wooldridg ian wooldridg adapt text engagingli relev london even standard origin perform newcastl playhous publish nick hern book london product perform wild rice theatr compani jubile hall raffl hotel singapor northern stage courtyard theatr west yorkshir playhous player queen colleg oxford live-act film live action film direct john stephenson voic kelsei grammer snowbal patrick stewart napoleon ian holm squealer differ complet song plot gener resembl book film diverg book addit epilogu jess dog anim escap return year post-napoleon era anim farm updat analog fall soviet union film jess femal dog main charact protagonist narrat edit paper text hardcov paper text hardcov prebound hardcov anniversari edit paperback anniversari edit mass market paperback anniversari edit cloth text larg type edit hardcov paperback paperback e-book hardcov hardcov nineteen eighty-four paperback centenni edit hardcov hardcov anim farm connect hardcov anim farm relat read softcov anim farm +amphibian class amphibia greek life taxon anim includ live tetrapod four-leg vertebr amniot egg ectotherm term anim bodi heat regul extern environ previous cold-blood gener spend part time land amphibian adapt terrestri exist modern tetrapod amniot live speci amphibian studi amphibian reptil herpetolog amphibian breath lung gill skin classif tradition amphibian includ tetrapod amniot divid subclass extinct subclass subclass divers paleozo earli mesozo group subclass small paleozo group subclass frog toad salamand newt subclass includ speci cladist revolut classif modifi chang discard paraphylet group uniqu defin featur share primit characterist classif vari prefer phylogeni author stem-bas node-bas classif gener amphibian defin group includ common ancestor live amphibian frog salamand descend includ extinct group temnospondyl tradition disband subclass mean larg number basal devonian carbonifer tetrapod group amphibian earlier book longer formal amphibia fire salamand salamandra salamandra amphibian includ subclass superord consid clade mean thought evolv common ancestor extinct group suggest salamand aros separ ancestor carrol author disagre superord includ order anura anura sub-ord order practic consider favour arrang superord tradition divid order extinct famili consid part superord includ order singl triassic subclass famili jurass miocen extinct superord genu triassic extinct order anura frog toad jurass speci famili order caudata urodela salamand newt jurass speci famili order gymnophiona apoda caecilian jurass speci famili actual number speci partli depend taxonom classif common classif classif websit univers california berkelei classif herpetologist darrel frost american museum natur histori onlin refer databas amphibian speci world extern link number speci cite follow frost system reproduct caecilian san antonio zoo purpos reproduct amphibian bound fresh water toler brackish water true seawat amphibian frog speci adapt radiat eleutherodactylu pacif tropic frog water whatsoev reproduc direct develop ecolog evolutionari adapt allow complet independ free-stand water frog live wet tropic rainforest egg hatch miniatur version adult pass tadpol stage egg speci adapt arid semi-arid environ water lai egg symbiosi singl cell alga live jelly-lik layer egg evolv time larva tadpol breath exterior gill hatch start transform gradual adult appear process call metamorphosi typic anim leav water terrestri adult interest except gener reproduct interestingli evid put east carolina univers suggest speci frog dendrob engag homosexu activ result reproduct rate year slowli decreas obviou part amphibian metamorphosi format leg order support bodi land gill replac respiratori organ lung skin develop gland avoid dehydr ey develop eyelid adapt vision water eardrum develop lock middl ear frog toad tail disappear conserv golden toad monteverd costa rica casualti amphibian declin abund dramat declin amphibian popul includ popul crash mass local extinct note decad locat world amphibian declin perceiv critic threat global biodivers number believ involv includ habitat destruct modif over-exploit pollut introduc speci climat chang destruct ozon layer ultraviolet radiat shown damag skin ey egg amphibian diseas chytridiomycosi amphibian declin poorli understood topic ongo discuss global strategi stem crisi releas form amphibian conserv action plan www amphibian org develop lead expert field call action detail requir curtail amphibian declin extinct year cost amphibian specialist group world conserv union iucn spearhead effort implement comprehens global strategi amphibian conserv januari evolutionarili distinct global endang edg chief helen meredith identifi natur endang speci edg amphibian remark unusu speci planet alarm top receiv conserv attent top endang speci list endang anim speci includ chines giant salamand distant rel newt tini gardin seychel limbless caecilian south african ghost frog lungless mexican salamand malagasi rainbow frog chile darwin frog rufum midwif toad evolutionari histori major group amphibian develop devonian period fish similar modern coelacanth fin evolv leg amphibian meter long length land safe giant fish shark ocean land problem live entir live land primarili food amphibian consum water point skin amphibian water-tight carbonifer period amphibian move food chain began occupi ecolog posit find crocodil amphibian notabl eat land type fish water permian period triassic period amphibian start competit led drop size temper zone leav pole amphibian hibern winter crocodil allow amphibian higher latitud protect reptil modern mudskipp rough glimps kind lifestyl adapt mudskipp close relat +alaska ipa russian state unit state america northwest north american contin largest state area substanti margin wealthiest capita racial divers elissa retriev nask patrick fitzgerald alaska world book onlin refer center area alaska purchas russian empir march land administr organ territori state januari alaska deriv aleut mean mainland liter object action sea direct ransom elli deriv word american anthropologist alyeska great land aleut word deriv root geographi alaska acr public land own nation forest servic bureau land manag state alaska state border state hawaii alaska coastlin state combin benson carl septemb geophys institut univers alaska fairbank retriev novemb non-contigu state continent north america mile km canadian territori separ alaska washington state alaska exclav unit state part continent part contigu exclav unit state northwest angl minnesota point robert washington alburgh vermont alaska capit citi locat mainland north american contin inaccess land road connect juneau rest north american highwai system state border yukon territori british columbia canada east gulf alaska pacif ocean south bere sea bere strait chukchi sea west beaufort sea arctic ocean north alaska largest state unit state land area squar mile km larg texa largest state larger sovereign nation port walter southeast alaska nushagak river southwest alaska mount sanford wrangel mountain kenai river kenai peninsula scheme describ state geographi label region south central alaska southern coastal region state popul anchorag grow town palmer wasilla lie area petroleum industri plant transport tourism militari base form core economi alaska panhandl southeast alaska home alaska larger town includ state capit juneau tidewat glacier extens forest tourism fish forestri state govern anchor economi southwest alaska larg coastal border pacif ocean bere sea spars popul unconnect road system import fish industri fish caught western bere sea bristol bai world largest sockey salmon fisheri southwest alaska includ katmai lake clark nation park numer wildlif refug region compris western cook inlet bristol bai watersh alaska peninsula aleutian island wet stormi weather tundra landscap larg popul salmon brown bear carib bird marin mammal alaska interior home fairbank geographi mark larg braid river yukon river kuskokwim river arctic tundra land shorelin alaskan bush remot crowd part state encompass nativ villag small town nome bethel kotzebu famous barrow northernmost town unit state northern town contigu north american contin citi greenland northwest territori nunavut north island northeast corner alaska cover arctic nation wildlif refug cover acr km northwest cover larger nation petroleum cover acr km million acr arctic alaska remot wilder locat nation petroleum mile km mile town villag geograph point remot perman habit usa numer island alaska mile km tidal shorelin island chain extend west southern tip alaska peninsula call aleutian island activ volcano aleutian unimak island home mount moder activ volcano rise feet sea level chain volcano extend mount spurr west anchorag mainland north america largest tide occur turnagain arm south anchorag tidal differ feet sourc turnagain second-greatest tide north america area canada larger tide porco peter june long fundi citi tide aren't close anchorag daili new alaska million lake acr ha larger marshland wetland permafrost cover squar mile km northern western southwest flatland frozen water form glacier ic cover squar mile km land squar mile km tidal zone bere glacier complex southeastern border yukon canada cover squar mile km aleutian island cross longitud alaska consid easternmost state westernmost alaska aleutian extrem point unit state intern date line jog west state entir continent unit state legal dai octob report unit state bureau land manag approxim alaska own manag feder govern public land includ multitud nation forest nation park nation wildlif refug bureau land manag manag million acr km state arctic nation wildlif refug manag unit state fish wildlif servic remain land area state alaska own manag region dozen local nativ corpor creat alaska nativ claim settlement act privat interest remain land total alaska administr divid borough oppos counti function state three-tier system decentr state counti township alaska tier state borough ow popul densiti land locat unorgan borough impli intermedi borough govern administ state govern censu alaska area statu popul statist purpos unit state censu bureau divid territori censu area anchorag merg citi govern greater anchorag area borough form municip anchorag citi proper bedroom commun eagl river chugiak peter creek girdwood bird indian fairbank separ borough fairbank north star borough municip citi fairbank climat climat juneau southeast panhandl cooler version seattl mid-latitud ocean climat köppen climat classif cfb southern section subarct ocean climat köppen cfc northern part annual basi wettest warmest part alaska milder temperatur winter high precipit year juneau averag inch mm precipit year area receiv inch mm oregon climat servic oregon state univers access octob region alaska averag daytim high temperatur freez winter month climat anchorag south central alaska mild alaskan standard due region proxim seacoast area rain southeast alaska snow dai tend clearer averag anchorag receiv inch mm precipit year inch mm snow area south central receiv snow subarct climat köppen dfc due short cool summer barrow alaska northernmost citi unit state climat western alaska determin larg part bere sea gulf alaska subarct ocean climat southwest continent subarct climat north temperatur moder north area area tremend amount varieti precipit northern side seward peninsula technic desert inch mm precipit annual locat dillingham bethel averag inch mm precipit climat interior alaska extrem true subarct climat hottest coldest temperatur alaska occur area fairbank summer temperatur reach s°f winter temperatur fall precipit interior inch mm year precipit fall winter stai entir winter highest lowest record temperatur alaska interior highest fort yukon june nation ocean atmospher administr retriev januari western region climat center desert research institut retriev januari ti pahala hawaii lowest high temperatur unit state nation ocean atmospher administr retriev januari statewid librari electron doorwai univers alaska fairbank januari retriev januari lowest alaska temperatur prospect creek januari degre lowest temperatur record north america snag yukon canada ned rozel januari geophys institut univers alaska fairbank retriev januari climat extrem north alaska expect area north arctic circl arctic climat köppen long cold winter short cool summer juli averag temperatur bare freez barrow weather underground access octob precipit light part alaska place averag inch mm year form snow stai ground entir year histori miner prospector climb chilkoot trail klondik gold rush upper paleolith period bc asiat group cross bere land bridg western alaska time european contact russian explor area popul alaska nativ group european contact alaska occur year vitu bere led expedit russian navi aboard st peter crew return russia bear sea otter pelt judg finest fur world small associ fur trader began sail shore siberia aleutian island perman european settlement found russian-american compani carri expand colon program earli mid- effort russian fulli colon alaska coloni profit william seward secretari state engin alaskan purchas million gold rush alaska nearbi yukon territori brought thousand miner settler alaska alaska grant territori statu world war ii outer aleutian island attu kiska part continent unit state occupi enemi war recoveri matter nation pride construct militari base contribut popul growth alaskan citi alaska grant statehood januari massiv good fridai earthquak kill peopl level villag discoveri oil prudho bai complet trans-alaska pipelin led oil boom exxon valdez hit reef princ william sound spill million gallon crude oil mile km coastlin todai battl philosophi develop conserv contenti debat oil drill arctic nation wildlif refug demograph alaska estim popul increas alaska rank state popul alaska dens popul state peopl squar kilomet squar mile state wyom squar mile dens popul jersei peopl squar kilomet squar mile race ancestri censu alaska resid white american indian alaska nativ largest proport state multiraci mixed-rac peopl largest group peopl state total popul largest self-report ancestri group state german alaska nativ american indian irish british american norwegian vast spars popul region northern western alaska primarili inhabit alaska nativ numer southeast anchorag fairbank part south-centr southeast alaska white northern western european ancestri wrangell-petersburg area resid scandinavian ancestri aleutian larg filipino popul state black popul live anchorag fairbank sizabl black popul languag russian orthodox church sitka alaska censu alaska resid ag older speak english home common languag spanish yupik tagalog total alaskan speak state indigen languag local nativ languag religion alaska identifi pacif northwest state washington oregon religi statist collect associ religion data archiv alaska resid member religi congreg evangel protest member roman cathol mainlin protest cathol largest singl denomin southern baptist orthodox mormon alaska state membership report associ religion data archiv retriev decemb larg eastern orthodox popul result earli russian colon missionari work alaska nativ russian orthodox church establish kodiak intermarriag alaskan nativ help russian immigr integr societi result russian orthodox church earli russian orthodox church gradual establish alaska alaska largest quaker popul percentag state associ religion data archiv jew alaska christian church adher jewish popul excel economi trans-alaska pipelin transport oil alaska import export north slope valdez alaska rank nation craft breweri capita gross state product billion per-capita gsp nation alaska economi reli heavili petroleum extract state revenu deriv industri alaska main export product exclud oil natur ga seafood primarili salmon cod pollock crab agricultur repres fraction alaskan economi agricultur product primarili consumpt state includ nurseri stock dairi product veget livestock manufactur limit foodstuff gener good import employ primarili govern industri natur resourc extract ship transport militari base signific compon economi fairbank anchorag industri output crude petroleum natur ga coal gold preciou metal zinc mine seafood process timber wood product grow servic tourism sector tourist contribut economi support local lodg alaska economi heavili depend increasingli expens diesel fuel heat transport electr power light wind hydroelectr power abund underutil propos state-wid energi system special low-cost electr interti judg uneconom time report due gal fuel price long distanc popul april cost gallon ga urban alaska todai higher nation averag price rural area gener significantli higher vari wide depend transport cost season usag peak nearbi petroleum develop infrastructur factor perman fund alaska perman fund legisl control appropri establish manag surplu state petroleum revenu construct trans-alaska pipelin system initi princip fund grown billion result oil royalti capit invest program start dividend fund annual growth paid year elig alaskan rang cost live cost good alaska long higher contigu state chang part anchorag lesser extent fairbank cost live drop year feder govern employe unit state postal servic usp worker active-duti militari member receiv cost live allow set base pai cost live highest countri introduct big-box store anchorag fairbank wal-mart march juneau price rural alaska suffer extrem high price food consum good compar rest countri due limit transport infrastructur rural resid citi purchas food good bulk warehous club costco sam club embrac free ship offer onlin retail purchas item cheapli commun tax alaska lowest individu tax burden cnn monei tax friendli state retriev state state sale tax state levi individu incom tax financ state govern oper alaska depend primarili petroleum revenu report regularli state revenu sourc depart issu annual overview oper includ state law affect tax divis alaska state sale tax municip collect local sale tax typic local tax levi includ raw fish tax hotel motel tax sever tax liquor tobacco tax game pull tab tax tire tax fuel transfer tax percentag revenu collect state tax licens fee petroleum aviat motor fuel telephon cooper share municip alaska properti tax incorpor municip borough state assess properti tax fairbank highest properti tax state sale incom tax assess fairbank north star borough sale tax vote time approv lead law maker increas tax dramat good liquor tobacco averag capita properti tax paid municip exclud oil ga properti data tax foundat rank alaska busi friendli tax polici superior state wyom nevada south dakota transport road sterl highwai alaska road connect compar rest state road system cover small area state link central popul center alaska highwai princip rout state canada state capit juneau access road spur debat decad move capit citi road system uniqu featur road system anton anderson memori tunnel link seward highwai south anchorag isol commun whittier mile km tunnel longest road tunnel north america complet mile km interst tunnel part big dig project boston massachusett tunnel longest combin road rail tunnel north america rail alaska railroad run seward anchorag denali fairbank north pole spur whittier palmer local railroad famou summertim passeng servic plai vital part move alaska natur resourc coal gravel port anchorag whittier seward alaska railroad railroad north america caboos regular servic gravel train offer flag stop rout countri stretch mile km track area inaccess road transport cabin area marin transport citi villag state access sea air alaska well-develop ferri system alaska marin highwai serv citi southeast alaska peninsula system oper ferri servic bellingham washington passag skagwai inter-island ferri author serv import marin link commun princ wale island region southeast work concert alaska marin highwai tourist sea travel popular alaska cruis air transport alaska airlin boe citi serv road sea reach air account alaska extrem well-develop bush air servic alaskan novelti anchorag lesser extent fairbank servic major airlin air travel cheapest effici form transport state anchorag complet extens remodel construct ted steven anchorag intern airport accommod upsurg tourism latest year data million total arriv alaska count million air travel million visitor state alaska offic econom develop novemb retriev septemb state alaska offic econom develop novemb retriev septemb regular flight villag town state commerci challeng provid alaska airlin major airlin offer in-stat travel jet servic combin cargo passeng boe anchorag fairbank region hub bethel nome kotzebu dillingham kodiak larger commun major southeast alaska peninsula commun bulk remain commerci flight offer small region commut airlin era aviat penair frontier fly servic smallest town villag reli schedul charter bush fly servic gener aviat aircraft cessna caravan popular aircraft state servic attribut alaska bypass mail program subsid bulk mail deliveri alaskan rural commun program requir subsidi carrier offer passeng servic commun quintessenti alaskan plane bush seaplan world busiest seaplan base lake hood locat ted steven anchorag intern airport flight bound remot villag airstrip carri passeng cargo lot item store warehous club alaska highest number pilot capita state estim resid pilot feder aviat administr transport alaskan transport method dogsl modern time dog mush sport true mean transport race held state iditarod trail sled dog race km trail anchorag nome race commemor famou serum run nome musher dog togo balto much-need medicin commun nome mean transport fail musher world anchorag march compet cash prize prestig area serv road rail primari transport summer all-terrain vehicl winter snowmobil snow machin commonli refer alaska law govern polit lean alaska republican-lean state strong libertarian tendenc presidenti elect state elector colleg vote won republican nomine alaska support democrat nomine support lyndon johnson landslid year elect close state vote democrat presidenti candid time presid georg bush won state elector vote margin percentag point vote citi juneau midtown anchorag stronghold democrat parti matanuska-susitna borough south anchorag typic strongest republican show regist voter choos non-partisan undeclar affili attempt close primari alaska state relax marijuana polici possess ounc substanc legal alaska possess pervas strong independ movement favor secess alaskan independ parti label signific state-level parti oper centuri februari alaska parti stump independ world net daili retriev state govern decemb sarah palin sworn woman youngest governor alaska run mate lieuten governor sean parnel palin two-term mayor wasilla alaska alaska state legislatur consist senat member serv four-year term hous repres serv two-year term domin conserv gener republican state governor conserv elect offici republican banner republican walli hickel elect offic term jump republican ship briefli join alaskan independ parti ticket long reelect subsequ offici rejoin republican fold alaska court system level alaska suprem court court appeal superior court district court superior district court trial court superior court court gener jurisdict district court hear type case includ misdemeanor crimin case civil case valu suprem court court appeal appel court court appeal requir hear appeal lower-court decis includ crimin prosecut juvenil delinqu habea corpu suprem court hear civil appeal discret hear crimin appeal local polit commun work issu relat land develop fish tourism individu right alaska nativ organ commun activ nativ corpor ownership larg tract land deliber resourc conserv develop issu represent congress senat ted steven alaska member congress republican senat ted steven appoint posit death senat bob bartlett decemb lost re-elect campaign longest-serv republican senat nicknam senator-for-lif steven crucial forc gain feder monei state resign senat elect governor republican frank murkowski held state senatori posit governor appoint daughter state repres lisa murkowski successor public pressur state legislatur amend constitut elimin gubernatori appoint futur won full six-year term alaska sole repres don young re-elect consecut term senior hous influenti republican hous member import citi town alaska popul citi anchorag home peopl live urban area richest locat alaska capita incom halibut cove sitka juneau anchorag largest citi area notabl rapid growth town mat-su vallei wasilla palmer project experi popul growth anchorag largest citi alaska educ alaska depart educ earli develop administ school district alaska addit state oper board school includ mt edgecumb high school sitka nenana student live center nenana galena high school galena dozen colleg univers alaska accredit univers alaska includ univers alaska anchorag univers alaska fairbank univers alaska southeast sheldon jackson colleg alaska pacif univers univers state rank new world report popul attend attend colleg current issu alaska long problem alcohol abus rural commun alaska outlaw import dry wet damp term describ commun law liquor consumpt problem relat alaska high rate fetal alcohol syndrom fa contribut high rate suicid controversi topic resid alaska problem brain drain young peopl includ highest academ achiev leav state graduat high school function sort walkabout return state univers alaska successfulli combat offer partial four-year scholarship top alaska high school graduat alaska scholar program domest abus violent crime notori high level state part link alcohol abus cultur alaska popular annual event world ic art championship fairbank alaska hummingbird festiv ketchikan sitka whale fest stikin river garnet fest wrangel stikin river featur largest springtim concentr american bald eagl world alaska nativ heritag center celebr rich heritag alaska cultur group purpos enhanc self-esteem nativ peopl encourag cross-cultur exchang peopl librari main librari state alaska state librari juneau elmer rasmuson librari fairbank librari anchorag uaa apu consortium librari anchorag alaska state delawar rhode island carnegi librari food due northern climat steep terrain farm occur alaska farm mat-su vallei anchorag kenai peninsula short summer limit type crop grown primari crop potato carrot lettuc cabbag long dai summer veget reach record size alaska abund seafood primari fisheri bere sea seafood food item cheaper state hunt subsist primarili carib moos sheep common state remot bush commun tradit nativ food eskimo ic cream consist reindeer fat seal oil local berri food alaska transport state expens due high ship cost music influenc music alaska includ tradit music alaska nativ folk music brought immigr russia europ promin musician alaska includ singer jewel tradit aleut flautist mari youngblood folk singer-songwrit libbi roderick group metal band crazyfist establish music festiv alaska includ alaska folk festiv fairbank summer art festiv anchorag folk festiv athabascan old-tim fiddl festiv sitka jazz festiv sitka summer music festiv promin symphoni alaska anchorag symphoni orchestra fairbank symphoni orchestra juneau symphoni notabl anchorag opera state profession opera compani volunt semi-profession organ state offici state song alaska alaska flag adopt celebr flag alaska movi film alaska promin movi film alaska wild mgm academi award win classic eskimo mala magnific star alaska rai mala expedit set mgm studio hollywood alaska film bill biggest pictur arriv alaska set camp hollywood northwest alaska live durat film loui mayer spare expens make need stai famou chef hotel roosevelt hollywood blvd site oscar alaska cook eskimo premier fame astor theatr time squar york studio receiv largest amount feedback histori studio time eskimo critic acclaim releas worldwid result inupiat eskimo actor rai mala intern movi star eskimo signific win oscar film edit academi award preserv inupiat cultur film motion pictur film nativ languag inupiat psycholog thriller insomnia star al pacino robin william extens shot canada set alaska horror featur dai night set barrow alaska film zealand film white fang star ethan hawk film hain alaska john sayl film limbo star david strathairn mari elizabeth mastrantonio kri kristofferson film juneau state symbol state bird willow ptarmigan adopt territori legislatur small inch arctic grous live willow open tundra muskeg plumag brown summer chang white winter willow ptarmigan common alaska state fish king salmon adopt state flower wild nativ forget-me-not adopt territori legislatur perenni alaska hyder arctic coast west aleutian state fossil woolli mammoth adopt state gem jade adopt state insect skimmer dragonfli adopt state land mammal moos adopt state marin mammal bowhead whale adopt state miner gold adopt state song alaska flag state sport dog mush adopt state tree sitka spruce adopt +wiktionari architectur wiktionari free dictionari art scienc design structur architectur refer architectur magazin defunct magazin architectur label record label architectur record record label technic architectur technic definit engin system system architectur represent engin system comput architectur system architectur comput inform architectur system architectur structur inform flow knowledge-bas system softwar architectur system architectur softwar system hardwar architectur system architectur hardwar system naval architectur scienc design water-born vessel landscap architectur design man-mad land construct vehicl architectur automobil platform common vehicl enterpris architectur architectur framework align organ system cytoarchitectur arrang interact cellular structur architectur architectur histori studi evolut histori architectur product design product architectur system design product product famili +agricultur product food feed fiber good systemat grow harvest plant anim life form agricultur commonli refer studi practic agricultur agronomi agricultur scienc agricultur encompass subject includ aquacultur cultiv anim husbandri horticultur subject partit cultiv includ organ farm intens farm anim husbandri includ ranch herd intens pig farm agricultur product includ fodder starch sugar alcohol resin fiber cotton wool hemp silk flax fuel methan biomass ethanol biodiesel cut flower ornament nurseri plant tropic fish bird pet trade legal illeg drug biopharmaceut tobacco marijuana opium cocain histori agricultur central element human histori agricultur progress crucial factor worldwid socio-econom chang militarist special rare hunter-gather cultur commonplac agricultur agro-industri societi farmer capabl produc food famili tribe villag city-st nation empir freed devot project food acquisit jare diamond argu develop civil requir agricultur estim percent world worker emploi agricultur rel signific farm drop steadili begin industri time histori servic sector overtook agricultur econom sector emploi peopl worldwid intern labour organ fact agricultur emploi one-third world popul agricultur product account percent gross world product aggreg gross domest product overview amount workforc dedic agricultur decreas agricultur plai kei role develop human civil wide believ domest plant anim allow human settl give previou hunter-gather lifestyl neolith revolut industri revolut vast major human popul labor agricultur develop agricultur techniqu steadili increas agricultur product widespread diffus techniqu time period call agricultur revolut remark shift agricultur practic occur centuri respons technolog haber-bosch method synthes ammonium nitrat tradit practic recycl nutrient crop rotat anim manur synthet nitrogen mine rock phosphat pesticid mechan greatli increas crop yield earli centuri increas suppli grain led cheaper livestock global yield increas experienc centuri high-yield varieti common stapl grain rice wheat corn introduc part green revolut green revolut export technolog includ pesticid synthet nitrogen develop world develop world thoma malthu famous predict earth support grow popul technolog green revolut allow world produc surplu food york time agricultur output govern subsid agricultur ensur adequ food suppli agricultur subsidi link product commod wheat corn rice soybean milk subsidi develop countri note protectionist ineffici environment damag york time centuri agricultur character enhanc product synthet fertil pesticid select breed mechan water contamin farm subsidi propon organ farm sir albert howard argu earli overus pesticid synthet fertil damag long-term fertil soil feel lai dormant decad environment awar increas movement sustain agricultur farmer consum policymak year backlash perceiv extern environment effect mainstream agricultur water pollut world bank result organ movement major forc movement european union certifi organ food began reform common agricultur polici cap phase farm subsidi european commiss decoupl growth organ farm renew research altern technolog integr pest manag select breed mainstream technolog develop includ genet modifi food late increas farm biofuel push price grain feed poultri dairi cow cattl caus higher price wheat soybean maiz year york time septemb epidem stem rust wheat caus race ug spread africa asia caus major concern scientist magazin issu retriev april leonard usda ar approxim world agricultur land degrad africa current trend soil degrad continu contin feed popul unu institut natur resourc africa practic agricultur practic lie spectrum depend intens technolog method li subsist farmer farm small area limit input produc food meet famili li intens agricultur includ tradit labor intens farm south-east asia rice paddi modern agricultur includ industri agricultur organ farm sustain farm industri agricultur involv larg field number anim high resourc input pesticid fertil high level mechan oper achiev economi scale requir larg amount capit form land machineri twentieth centuri agricultur practic agricultur chemistri mechan agricultur chemistri includ applic chemic fertil chemic insecticid pest control chemic fungicid analysi soil makeup nutrit farm anim mechan increas farm effici product region world due tractor gin short engin cotton gin semi-automat baler thresher combin agricultur machineri nation academi engin unit state agricultur mechan greatest engin achiev centuri earli centuri american farmer produc food peopl due advanc agricultur technolog singl farmer feed peopl tractor plough alfalfa field agricultur includ hydropon plant breed hybrid gene manipul manag soil nutrient improv weed control genet engin yield crop capabl natur occur plant higher yield diseas resist modifi seed germin faster grown acceler schedul genet engin plant proven controversi case plant genet engin compani monsanto work develop plant irrig drainag conserv sanitari engin import arid area reli constant irrig larg scale farm process pack market agricultur product close relat activ influenc scienc method dehydr increas market farm product food preserv meat pack industri anim includ hors mule oxen camel llama alpaca dog cultiv field harvest crop wrangl anim transport farm product buyer anim husbandri refer breed rais anim meat harvest anim product milk egg wool continu basi breed care speci work companionship airplan helicopt truck tractor combin western increasingli eastern agricultur seed sprai oper insect diseas control harvest aerial topdress transport perish product radio televis dissemin vital weather report inform market report concern farmer comput essenti tool farm manag plough rice paddi water buffalo indonesia year aspect intens industri agricultur subject increas debat widen sphere influenc held larg seed chemic compani meat packer food processor sourc concern farm commun gener public issu type feed anim bovin spongiform encephalopathi cattl concern effect intens agricultur environ field ripen barlei patent protect compani develop type seed genet engin allow seed licens farmer comput softwar licens user chang balanc power favor seed compani allow dictat term condit previous unheard indian activist scientist vandana shiva argu compani guilti biopiraci soil conserv nutrient manag import concern advanc farmer stewardship role land increas contamin waterwai wetland nutrient nitrogen phosphoru concern address enlighten farmer stricter law enforc countri increas consum awar agricultur issu led rise community-support agricultur local food movement slow food commerci organ farm etymolog word agricultur english adapt latin agri ager field cultiv strict sens tillag soil liter read word yield tillag field field histori sumerian harvest sickl bce bake clai field museum ancient origin ancient egyptian farmer copi archaeolog preserv specimen modern artist guess origin color sourc develop independ geograph distant popul systemat agricultur appear southwest asia fertil crescent modern-dai iraq syria israel bce began select cultiv food plant desir characterist evid earlier sporad wild cereal bce so-cal founder crop agricultur emmer einkorn wheat hull barlei pea lentil bitter vetch chick pea flax bce small-scal agricultur reach egypt bce indian subcontin farm wheat barlei attest archaeolog excav mehrgarh balochistan bce mid-scal farm entrench bank nile time agricultur develop independ east rice wheat primari crop chines indonesian farmer domest mung soi azuki taro complement sourc carbohydr highli organ net fish river lake ocean shore area brought great volum essenti protein collect method farm fish inaugur human popul boom dwarf previou expans continu todai bce sumerian develop core agricultur techniqu includ larg scale intens cultiv land organ irrig special labour forc waterwai shatt al-arab persian gulf delta confluenc tigri euphrat domest wild auroch mouflon cattl sheep usher large-scal anim food fiber beast burden shepherd join farmer essenti provid sedentari semi-nomad societi maiz manioc arrowroot domest america bce potato tomato pepper squash varieti bean canna tobacco plant develop world extens terrac steep hillsid andean south america year greek roman built techniqu pioneer sumerian fundament advanc greek macedonian struggl poor soil manag domin societi year roman note emphasi cultiv crop trade reciproc suction piston pump water-rais machin rod mechan invent al-jazari agricultur middl ag middl ag muslim farmer north africa east develop dissemin agricultur technolog includ irrig system base hydraul hydrostat principl machin noria water rais machin dam reservoir wrote location-specif farm manual instrument wider adopt crop includ sugar cane rice citru fruit apricot cotton artichok aubergin saffron muslim brought lemon orang cotton almond fig sub-trop crop banana spain renaiss present dai tractor plough alfalfa field invent field system crop rotat middl ag import moldboard plow vastli improv agricultur effici global exchang previous local crop livestock breed occur kei crop involv exchang includ tomato maiz potato cocoa tobacco world varieti wheat spice coffe sugar cane world import anim export world hors dog dog present pre-columbian america number breed suit farm work food anim hors includ donkei poni dog quickli fill essenti product role western hemispher farm earli agricultur techniqu implement seed stock cultivar improv yield land unit time middl ag rapid rise mechan late centuri form tractor farm task speed scale previous imposs advanc led effici enabl modern farm unit state argentina israel germani nation output volum high qualiti produc land unit practic limit agricultur output china largest world account one-sixth world share eu india usa intern monetari fund crop world product major crop specif crop cultiv distinct grow region world million metric ton base fao estim crop alter tractor chaser bin agricultur scientist record corn growth net protect wine grape bird domest plant centuri increas yield improv diseas resist drought toler eas harvest improv tast nutrit crop plant care select breed enorm effect characterist crop plant plant breeder greenhous glasshous hothous area techniqu gener plant year continu effort improv plant select breed improv pastur grass clover zealand extens x-rai ultraviolet induc mutagenesi effort primit genet engin produc modern commerci varieti grain wheat corn barlei stadler spragu proceed nation academi scienc unit state america depart agricultur missouri agricultur experi station retriev octob berg paul maxin singer georg beadl uncommon farmer emerg genet centuri cold spring harbor laboratori press averag yield corn maiz usa increas ton hectar ha bushel acr ha bushel acr similarli worldwid averag wheat yield increas ha ha south american averag wheat yield ha african ha egypt arabia ha irrig contrast averag wheat yield countri franc ha variat yield due variat climat genet level intens farm techniqu fertil chemic pest control growth control avoid lodg ruttan vernon winter retriev octob proceed nation academi scienc colloquium irvin california univers nebraska retriev octob convers note bushel wheat pound lb kg bushel corn pound kg mechan develop earli agricultur scientist bred tomato resist mechan handl varieti critic harder poor textur genet engin begun emploi larg part world speed select breed process wide modif herbicid resist gene plant toler exposur glyphos non-system kill plant chemic control weed crop oilse rape expens system herbicid appli kill weed harm crop cheap safe glyphos appli modifi crop effici kill weed harm resist crop modif plant produc toxin reduc damag insect contrast requir insecticid appli crop aquacultur farm fish shrimp alga close agricultur apicultur cultur bee tradition honei increasingli crop pollin livestock farm practic livestock vari dramat world-wid type anim livestock gener enclosur fed food intention bred livestock enclos fed access natur food allow breed freeli approxim agricultur land product livestock perman pastur fao databas environment impact sever soil eros wheat field washington state univers environment problem natur environ produc harm by-product neg effect loss biodivers surplu nitrogen phosphoru river lake detriment effect herbicid fungicid insecticid biocid convers natur ecosystem type arabl land consolid divers biomass speci soil eros deforest deplet miner soil particul matter includ ammonia ammonium off-gass anim wast contribut air pollut weed scienc feral plant anim odor agricultur wast soil salin water crisi unit nation livestock sector primarili cow chicken pig emerg top signific contributor environment problem scale local global livestock product occupi land agricultur land surfac planet retriev jun largest sourc greenhous world’ greenhous ga emiss measur equival comparison transport emit produc human-rel nitrou oxid time global warm potenti human-induc methan time warm gener ammonia contribut acid rain acidif ecosystem genet eros crop livestock biodivers genet eros crop livestock biodivers propel major factor varieti replac land clear overexploit speci popul pressur environment degrad overgraz polici chang agricultur system main factor replac local varieti domest plant anim high yield exot varieti speci larg number varieti dramat reduc commerci varieti includ gmo introduc tradit farm system research main problem relat agro-ecosystem manag gener tendenc genet ecolog uniform impos develop modern agricultur attribut need agricultur anim husbandri green revolut popular convent hybrid increas yield fold creat high-yield varieti hand breed plant anim hybrid origin develop countri hybrid local varieti rest develop world creat high yield strain resist local climat diseas hybrid local breed improv perform lead loss local breed time loss genet materi adapt breed specif local condit view world consequ loss genet divers biodivers place food suppli jeopardi highli special breed suffici genet materi adapt diseas environ intens breed program devind sharma contact triveni apart paschim vihar india email ndf vsnl net centr altern agricultur media caam genet modifi organ gmo organ genet materi alter genet engin techniqu gener recombin dna technolog genet engin todai alarm genet pollut artifici creat genet engin plant anim laboratori evolv natur convent hybrid live breed alarm interbre natur evolv wild varieti genet modifi gm crop todai common sourc genet pollut wild varieti domest varieti deriv natur hybrid michael pollan york time decemb norman john hopkin univers press hardcov book review hybrid abound natur biotechnolog nbt review steven strauss stephen zaid al glossari biotechnolog genet engin fao research technolog paper searchabl biotechnolog dictionari univers minnesota non-indigen includ transgen speci gmo bring version pollut veget kingdom so-cal genet pollut term refer uncontrol diffus gene transgen genom plant type unrel speci gene present natur grass modifi resist herbicid pollin convent grass mile creat weed immun wide obviou consequ crop genet pollut basi debat gmo agricultur facet pollut bologna univers web site scienc commun modifi tue jul polici agricultur polici focus goal method agricultur product polici level common goal agricultur includ food safeti ensur food suppli free contamin food secur ensur food suppli meet popul food qualiti ensur food suppli consist qualiti poverti reduct conserv environment impact econom stabil agricultur petroleum agricultur dramat increas product due larg petrochem deriv pesticid fertil increas mechan allow world popul grow doubl year energi unit deliv food grown modern techniqu requir ten energi unit produc deliv vast major energi input fossil fuel sourc modern agricultur current heavi relianc petrochem mechan warn decreas suppli oil dramat natur peak oil kenneth deffey januari english ryan mcgreal octob english rais hammer werner zittel jorg schindler english energi watch group dave cohen octob english rembrandt koppelaar english peak oil netherland inflict major damag modern industri agricultur system larg food shortag list publish articl book support thesi section food land water popul oil shortag factor make organ agricultur sustain farm method convers occur recondit soil restor nutrient lost monocultur agricultur techniqu petroleum-bas technolog time farmer modern method report yield high convent farm artifici fertil pesticid farmer begun rais crop corn non-food effort mitig peak oil led rise wheat price precursor social unrest develop countri situat exacerb event futur rise food fuel cost factor impact abil charit donor send food aid starv popul agricultur safeti health satellit imag circular crop field characterist center pivot irrig haskel counti kansa late june healthi grow crop green corn grow leafi stalk sorghum resembl corn grow slowli smaller paler wheat brilliant gold harvest occur june brown field harvest plow lie fallow year unit state agricultur rank hazard industri unit state nation institut occup safeti health retriev octob farmer high risk fatal nonfat injuri work-rel lung diseas noise-induc hear loss skin diseas cancer chemic prolong sun exposur farm industri famili share work live premis risk injuri ill death averag year worker die farm work death caus tractor overturn dai agricultur worker suffer injuri result perman impair unit state nation institut occup safeti health retriev octob young worker agricultur danger industri young worker account work-rel fatal young worker industri young victim agricultur ag niosh unpublish analys censu fatal occup injuri special research file niosh bureau labor statist includ detail data research file exclud data york citi morgantown wv depart health human servic public health servic center diseas control prevent nation institut occup safeti health divis safeti research surveil field investig branch special studi section unpublish databas young agricultur worker ag risk fatal injuri time risk young worker workplac bl report youth labor forc washington dc depart labor bureau labor statist agricultur work expos young worker safeti hazard machineri confin space work elev work livestock estim million children adolesc year ag resid farm youth perform work farm addit youth live farm addit children adolesc hire work farm averag children kill annual farm approxim percent death work-rel estim children adolesc injur farm injuri due farm work +aldou leonard huxlei juli novemb english writer promin member famou huxlei famili spent part life unit state live lo angel death novel wide-rang output essai publish short stori poetri travel write film stori script huxlei humanist interest life spiritu subject parapsycholog philosoph mystic life huxlei consid academ circl leader modern thought intellectu highest rank thodi philip huxlei biograph introduct scribner advoc lsd includ death bed biographi earli year famili tree aldou huxlei born godalm surrei england son writer profession herbalist leonard huxlei wife julia arnold found prior field school niec matthew arnold sister humphrei ward grandson thoma henri huxlei promin english naturalist centuri man darwin bulldog brother julian huxlei note biologist huxlei began learn father well-equip botan laboratori continu school name hillsid teacher mother supervis year termin hillsid educ eton colleg huxlei mother di fourteen year suffer ill kerat punctata left practic blind year huxlei aldou biographi bibliographi appendix summer di swan st perenni classic ed harper row publish aldou near-blind disqualifi servic world war eyesight recov suffici studi english literatur balliol colleg oxford graduat class honour educ balliol huxlei financi indebt father earn live taught french year eton eric blair pen georg orwel pupil rememb incompet hopeless teacher couldn’t disciplin blair impress word crick bernard georg orwel life penguin book short emploi acquir provis air ministri desir career administr busi huxlei lack inherit mean propel appli literari work huxlei complet unpublish ag seventeen began write earli twenti earlier work includ import novel dehuman aspect scientif progress famous brave world pacifist theme eyeless gaza brave world huxlei portrai societi oper principl mass product pavlovian condit huxlei strongli influenc matthia alexand includ charact eyeless gaza middl year left ladi ottolin morrel maria huxlei lytton strachei duncan grant vanessa bell world war huxlei spent time garsington manor home ladi ottolin morrel work farm labour met bloomsburi figur includ lawrenc bertrand russel clive bell crome yellow caricatur garsington lifestyl marri maria nij belgian woman met garsington child matthew huxlei career epidemiologist famili live itali part time huxlei visit friend lawrenc lawrenc death edit letter huxlei move hollywood california wife maria son matthew friend gerald heard time huxlei wrote end mean live tao mexico work explor fact peopl modern civil agre world peac justic brotherli agre achiev heard introduc huxlei vedanta medit vegetarian principl ahimsa huxlei befriend krishnamurti teach greatli admir vedantist circl swami prabhavananda introduc christoph isherwood circl long huxlei wrote book wide held spiritu valu idea perenni philosophi discuss teach renown mystic world aldou huxlei close friend occident colleg presid remsen bird huxlei time live southern california spent time colleg locat eagl rock neighborhood lo angel colleg portrai tarzana colleg summer di swan collect year jame tait black memori prize fiction huxlei incorpor bird period tap hollywood incom write skill introduct busi friend anita loo prolif novelist screenwrit receiv screen credit pride prejudic paid work number film experi hollywood success wrote synopsi alic wonderland walt disnei reject ground understand word huxlei leisur develop idea suitabl movi mogul demand fast dynam dialogu life ill teen left huxlei blind eyesight poor partial recoveri enabl studi oxford huxlei encount bate method eyesight teacher margaret corbett teach method reloc hollywood forty-acr ranchito high desert hamlet llano california northernmost lo angel counti huxlei claim sight improv dramat result bate method util extrem pure natur light southwestern american desert report time year read glass strain drive car dirt road ranch wrote book success bate method art publish uk huxlei undoubtedli believ vision improv evid suggest huxlei fool bennett cerf reportedli present huxlei spoke hollywood banquet wear glass appar read paper lectern difficulti gardner martin fad fallaci scienc reprint courier dover quot bennett cerf huxlei vision octob huxlei wrote georg orwel author nineteen eighty-four congratul orwel fine profoundli import book letter orwel contain predict gener world leader discov infant condit effici instrument govern club prison lust power complet satisfi suggest peopl love servitud flog kick obedi smith grover letter aldou huxlei chatto windu post-war world war ii huxlei appli unit state citizenship deni arm defend america remain unit state turn offer knight bachelor macmillan govern huxlei interest field psychic research grew keener work strongli influenc mystic experi psychedel drug octob mystic aleist crowlei dine huxlei berlin dai rumour persist crowlei introduc huxlei peyot occas introduc mescalin psychiatrist humphri osmond decemb huxlei dosag lsd huxlei pioneer self-direct psychedel drug search enlighten famous microgram lsd lai dy psychedel drug experi essai door percept titl deriv line book marriag heaven hell william blake heaven hell write psychedel frequent read earli hippi live lo angel huxlei friend rai bradburi sam weller biographi bradburi dissatisfi huxlei huxlei encourag bradburi psychedel drug huxlei wife maria di breast cancer marri laura author wrote biographi huxlei huxlei diagnos cancer year health deterior wrote utopian island gave lectur banana potenti esalen institut foundat form human potenti movement deathb unabl speak huxlei written request wife lsd ug intramuscular account death book timeless moment oblig inject coupl hour di pm novemb ag media coverag death overshadow new assassin presid john kennedi occur dai death irish author lewi huxlei ash inter famili grave watt cemeteri compton guildford surrei england huxlei child matthew huxlei februari author educ anthropologist promin epidemiologist work rang promot univers health care establish standard care nurs home patient mental ill investig question social sanction drug matthew marriag documentari filmmak ellen hovd end divorc wife di surviv wife franziska reed huxlei children marriag trevenen huxlei tessa huxlei literari theme crome yellow attack victorian edwardian social principl led world war terribl aftermath huxlei antic hai book express mood disenchant earli intend reflect huxlei state letter father life opinion ag violent disrupt standard convent valu current present epoch huxlei reput iconoclasm emancip grew condemn explicit discuss sex free thought fiction antic hai burn cairo year huxlei book receiv disapprov ban time exclus brave world point counter point island time magazin list uproar critic incens proclaim decis blasphem huxlei full interest opinion arrest idea describ aim novelist arriv technic perfect fusion point counter point huxlei wrote true type thought-provok fiction main idea pessim cultur futur societi pessim sprang larg visit unit state septemb june recount experi jest pilat happen america revalu valu radic alter wors establish visit conceiv idea write satir encount huxlei aldou british literatur word word word la spiga languag widespread fear american exist europ mid-nineteenth centuri brave world island form cornerston huxlei damn indict american commerci brave world orwel nineteen eighty-four yevgeni zamyatin help form anti-utopian dystopian tradit literatur synonym futur world human spirit subject condit control island act antonym brave world great philosoph novel time devot time small hous llano mojav desert life contempl mystic experiment hallucinogen drug suggest door percept mescalin lyserg acid uniqu exploit visionari experi offer provok outrag passion defens bate method art book cult text psychedel huxlei appear sleev landmark album pepper lone heart club band award aldou huxlei receiv american academi art letter award merit film notabl work includ origin screenplai disnei anim alic wonderland reject literari bradshaw david introduct aldou huxlei barren leav vintag classic edn vintag random hous vauxhal brigad road london xii product brave world point counter point eyeless gaza ap essenc screenwrit pride prejudic co-author screenplai jane eyr john houseman work screenplai madam curi credit director ken russel film devil star vanessa redgrav adapt huxlei devil loudun made-for-televis adapt brave world quotat wikiquot collect quotat relat aldou huxlei great truth greater practic point view silenc truth simpli mention subject totalitarian propagandist influenc opinion effect eloqu denunci psycholog totalitarian perfectli card gener pharmacolog method make peopl love servitud produc kind painless concentr camp entir societi peopl fact liberti enjoi distract desir rebel propaganda brainwash brainwash enhanc pharmacolog method reason bewild tragic charact human exist fact social organ fatal men creat organ conveni find victim home-mad monster heroin live longer man take heroin year di man live roast beef water potato ninety-f pass twenty-four month etern year live time experi experi man man text pretext silenc nearest express inexpress music music night liberti doesn't exist liberti world gild cage antic hai democraci freedom theme broadcast editori democraci freedom strictli pickwickian sens brave world revisit religion anim absurd horribl magic religion dog ritual urin hope persuad heaven send rain ass brai liturgi cloudless ski cat attempt abstin cat meat wheedl felin spirit benevol man behav gratuit folli price pai intellig intellig point counter point bibliographi novel crome yellow antic hai barren leav point counter point brave world eyeless gaza summer di swan time stop ap essenc geniu goddess island short stori limbo mortal coil mexican young archimed grace candl jacob hand fabl late collect short stori poetri burn wheel jonah defeat youth leda arabia infelix cicada philosoph song travel write road jest pilat author recount experi travel countri offer observ peopl cultur custom mexiqu bai drama mortal coil plai world light discoveri adapt franci sheridan essai collect margin road essai proper studi vulgar literatur music night text pretext oliv tree word mean art perenni philosophi scienc liberti peac theme variat tomorrow tomorrow tomorrow door percept heaven hell adoni alphabet collect essai brave world revisit literatur scienc philosophi end mean perenni philosophi biographi nonfict devil loudun grei emin select letter children literatur crow pearblossom travail tribul geoffrei peacock collect text pretext collect short stori +wiktionari ada ada wiktionari free dictionari mean ada peopl variant transliter hebrew adah ada lovelac née ada byron ada countess holland ada sister charlemagn ada gospel trier produc ada de warenn countess northumbria huntingdon ada caria satrap depos brother restor alexand great ada choi hong kong actress ada negri italian poet ada nicodem australian actress ada wong charact video game resid evil resid evil ada castlevania charact video game castlevania legaci dark st ada th-centuri french abbess place ada afghanistan ada saskatchewan canada ada ghana ada greec ada nigeria ada serbia ada oregon histor ada counti idaho ada divis oklahoma ada alabama ada arkansa ada kansa ada louisiana ada minnesota ada ohio ada oklahoma ada virginia ada wisconsin ada west virginia ada township michigan ada township north dakota ada township south dakota ada river zealand ada program languag ada orchid genu orchid ada demon demon name ada dog actor plai colin sitcom space cultur ada ardor famili chronicl vladimir nabokov ada film film direct daniel mann susan hayward dean martin ada kal charact typic swedish göteborg genr comedi non-english word ada mean island turkish serbian ada mean father sindarin elvish ada mean daughter igbo ada mean pois grandeur hindi abbrevi ada +aberdeen citi scotland refer aberdeen aberdeen railwai station univers aberdeen africa sierra leon aberdeen sierra leon south africa aberdeen eastern cape asia hong kong aberdeen harbour australia australia aberdeen south wale aberdeen railwai station south wale aberdeen tasmania tasmania north america canada aberdeen brunswick aberdeen nova scotia aberdeen nova scotia aberdeen bai nunavut aberdeen lake nunavut aberdeen township ontario macdonald merideth aberdeen addit ontario quebec aberdeen saskatchewan aberdeen saskatchewan aberdeen fraser vallei region district british columbia aberdeen kamloop area citi kamloop british columbia aberdeen grei counti ontario aberdeen prescott russel counti ontario unit state america aberdeen arkansa aberdeen california aberdeen florida aberdeen georgia aberdeen idaho aberdeen indiana aberdeen kentucki aberdeen massachusett aberdeen maryland aberdeen mississippi aberdeen montana aberdeen township jersei aberdeen north carolina aberdeen ohio aberdeen pennsylvania aberdeen south dakota aberdeen texa aberdeen washington aberdeen west virginia aberdeen band american rock band aberdeen movi movi direct han petter moland star stellan skarsgård lena headei aberdeen citi band american rock band aberdeen prove ground armi instal maryland unit state america aberdeen group firm angu cattl aberdeen angu aberdeen centr asian-them shop mall richmond british columbia canada aberdeen station richmond futur rapid transit station serv mall oper aberdeen map pc game battlefield aberdeen bestiari centuri bestiari aberdeen univers +program languag alga program languag marin red alga hawaii alga larg divers group simpl plant-lik organ rang unicellular multicellular form largest complex marin form call seawe consid plant-lik photosynthet abil simpl lack distinct organ higher plant leav vascular tissu prokaryot cyanobacteria commonli refer blue-green alga tradition includ alga older textbook modern sourc regard outdat nabor murrai introduct botani pearson educ san fransisco ca american heritag dictionari english languag fourth edit alga restrict term alga eukaryot organ allabi ed concis dictionari botani oxford univers press oxford true alga nucleu enclos membran chloroplast bound membran ecolog alga cambridg univers press london alga constitut paraphylet polyphylet group repres singl evolutionari direct line level grade organ develop time earli histori life earth alga lack leav root organ character higher plant distinguish protozoa photosynthet photoautotroph group member deriv energi photosynthesi uptak organ carbon unicellular speci reli extern energi sourc reduc lost photosynthet apparatu alga photosynthet machineri ultim deriv cyanobacteria produc oxygen byproduct photosynthesi photosynthet bacteria purpl green sulfur bacteria ecolog alga promin bodi water common terrestri environ terrestri alga inconspicu common moist tropic region dry alga lack vascular tissu adapt live land alga situat snow expos rock symbiosi fungu lichen sort alga plai signific role aquat ecolog microscop form live suspend water column call phytoplankton provid food base marin food chain high densiti so-cal algal bloom alga discolor water outcompet poison asphyxi life form seawe grow shallow marin water record depth human food harvest substanc agar carrageenan fertil studi alga lineag alga thoma supergroup eukaryot alga denot reflect tabl endosymbiot event note dot line studi marin freshwat alga call phycolog algal collect repres access inventori herbarium specimen classif cyanobacteria tradition includ alga refer blue-green alga work alga exclud due larg differ lack membrane-bound organel presenc singl circular chromosom presenc peptidoglycan cell wall ribosom size content eukaryot biologi ed loso jonathan mason kenneth singer susan mcgraw-hil chloroplast conduct photosynthesi special infold cytoplasm membran call thylakoid membran differ significantli alga occupi similar ecolog nich modern definit alga eukaryot conduct photosynthesi membrane-bound organel call chloroplast chloroplast circular dna similar structur cyanobacteria repres reduc cyanobacteri endosymbiont exact natur chloroplast line alga reflect endosymbiot event tabl list major group alga lineag relationship shown figur left note group member longer photosynthet retain plastid chloroplast lost harvei divid alga divis base pigment biochem criterion plant systemat harvei divis red alga rhodophyta brown alga green alga chlorophyta dixon dixon biologi rhodophyta oliv boyd edinburgh form alga simpler alga unicellular flagel amoeboid coloni non-motil form develop independ group common organiz level occur life cycl speci coloni small regular group motil cell individu non-motil cell embed mucilag coccoid individu non-motil cell cell wall non-motil cell embed mucilag filament string non-motil cell connect branch parenchymat cell form thallu partial differenti tissu line higher level organ reach full tissu differenti brown alga reach length kelp thoma seawe natur histori museum london red alga green alga complex form green alga charal charophyta lineag eventu led higher land plant point plant alga stop presenc reproduct organ protect cell layer characterist alga group plant earth evolv shallow freshwat alga chara million year isomorph altern gener fossil isol land plant spore suggest land plant long million year alga symbios speci alga form symbiot relationship organ symbios alga suppli organ substanc host organ provid protect algal cell host organ deriv energi requir alga exampl includ lichen fungu host green alga cyanobacterium symbiont fungal algal speci lichen capabl live independ habitat requir greatli lichen pair coral alga zooxanthella symbiont coral notabl dinoflagel hard coral loss zooxanthella host coral bleach spong green alga live close surfac spong breadcrumb spong alga protect predat spong oxygen sugar account spong growth speci life-cycl rhodophyta chlorophyta heterokontophyta main algal phyla life-cycl show tremend variat consider complex gener asexu phase seawe cell diploid sexual phase cell haploid fusion male femal gamet asexu reproduct advantag permit effici popul increas variat sexual reproduct variat costli wast gamet fail mate strict altern sporophyt gametophyt phase asexu phase includ fragment thallu thoma seawe natur histori museum london lobban harrison seawe ecolog physiolog cambridg uivers press number distribut british isl uk biodivers steer group report estim algal speci uk freshwat marin seawe checklist freshwat alga report speci overestim error john john whitton brook freshwat alga flora british isl cambridg univers press cambridg smithsonian collect alga specimen world-wid thought speci red alga brown alga green alga australia estim speci red alga speci brown alga approxim speci green alga total speci alga australia huisman marin plant australia univers western australian press australian biolog resourc studi speci averag figur coastlin south african west coast bolton anderson hall ed seawe south african west coast bolu marin speci california abbott hollenberg marin alga california stanford univers press california entiti list check-list britain ireland hardi guiri hardi guiri check-list atla seawe britain ireland phycolog societi london distribut public attempt discuss gener distribut alga sea world-wid note comment author florist discontinu determin geograph featur antarctica long distanc ocean gener land mass distanc norwai faro iceland show great distribut dispers speci ship water current alga quickli entangl drift mat kain noron marin ecolog cole sheath biologi red alga cambridg univers press red speci introduc pacif europ mediterranean hariot armata harvei guiri geograph taxonom guid european seawe econom import seawe resourc europ potenti ed guiri blunden john wilei son armata nativ australia peregrina nativ pacif invad europ britain ireland hardi guiri check-list atla seawe britain ireland british phycolog societi london cullinan phycolog south coast ireland cork univers press univers colleg cork northumberland durham england hardi aspinal atla seawe northumberland durham northumberland biolog record centr hancock museum univers newcastl tyne special public northern ireland morton marin alga northern ireland ulster museum belfast ireland counti doneg morton marin macroalga counti doneg ireland bull ir soc isl man knight park manx alga algal survei south isl man mem typ br pl arctic kjellman alga arctic sea handl greenland lund marin alga east greenland taxonom part grønland faro island marin alga warm ed botani base danish investig part copenhagen reprint atlant east coast europ le c-f meinesz guid de de mer d'europ delachaux switzerland de la côte atlantiqu marocain rabat de côte français pari canari island marin alga canari island tenerif gran canaria chlorophycea biol marin alga canari island tenerif gran canaria phaeophycea biol marin alga canari island part biol marin alga canari island iii part biol marin alga canari island iii part biol north america taylor marin alga northeastern coast north america univers michigan press ann arbor abbott hollenberg marin alga california stanford univers press california south africa bolton anderson seawe south african west coast bolu herbarium number public jointli financ fourcad bequest research committe univers cape town foundat research develop zealand lindauer chapman aiken marin alga zealand part nova hedwigia chapman marin alga zealand part iii issu lehr cramer chapman dromgool marin alga zealand part iii issu lehr cramer chapman parkinson marin alga zealand part iii issu lehr cramer chapman marin alga zealand part iii issu lehr cramer alga seawe fertil fertil centuri seawe fertil orwel write centuri refer drift weed south wale kind or gather lai heap heat rot strong loathsom smell rotten cast land muck thereof good corn barlei spring tide great rig sea fetch sack hors bracket carri mile cast land doth ground corn grass chapman chapman seawe methuen london alga human wai fertil soil condition sourc livestock feed thoma seawe natur histori museum london speci aquat microscop cultur clear tank pond harvest treat effluent pump pond algacultur larg scale import type aquacultur place commonli soil condition dredg sea floor crush form powder harvest coast brittani franc falmouth cornwal extens western ireland popular fertil dai organ garden investig falmouth predomin blunden al blunden farnham jephson barwel fenn plunkett composit bed econom interest northern brittani cornwal ireland proceed intern seawe symposium blunden campbel smith guiri hession griffin chemic physic character calcifi red algal deposit appli chemic analysi show contain caco mgco dry weight energi sourc alga biodiesel algacultur bioethanol biobutanol estim produc vastli superior amount veget oil compar terrestri crop grown purpos alga grown produc biohydrogen german research name han work univers chicago observ alga studi chlamydomona reinhardtii switch product oxygen product hydrogen discov chang year scientist fail repeat find late professor anastasio meli research univers california berkelei discov alga cultur medium depriv sulfur switch product oxygen normal photosynthesi product hydrogen enzym respons reaction hydrogenas hydrogenas lost function presenc oxygen meli deplet amount sulfur alga interrupt intern oxygen flow allow hydrogenas environ react caus alga produc hydrogen chlamydomona good strain product hydrogen alga grown produc biomass burn produc heat electr pollut control alga wastewat treatment facil reduc greater amount toxic chemic alga captur fertil runoff farm subsequ harvest enrich alga fertil alga bioreactor powerpl reduc emiss pump pond kind tank alga feed altern bioreactor instal top smokestack technolog pioneer massachusetts-bas stabil substanc chondru crispu confus stellatu common irish moss carrageenan irish gaelic chondru crispu excel stabilis milk product react milk protein product includ petfood toothpast ice-cream lotion algin cream lotion absorb skin de seawe cosmet guiri blunden seawe resourc europ potenti john wilei son nutrit seawe import sourc food asia excel sourc vitamin includ niacin rich iodin potassium iron magnesium calcium mondragon mondragon seawe pacif coast sea challeng public monterei california alga commerci cultiv nutrit supplement popular speci spirulina platensi cyanobacteria blue-green alga hail superfood algal speci cultiv nutrit includ chlorella green alga dunaliella dunaliella salina high beta-caroten vitamin supplement china speci alga eaten chines veget fat choi cyanobacterium roughli speci alga everydai cook japan mondragon mondragon seawe pacif coast sea challeng public monterei speci edibl ireland palmaria palmata linnaeu kuntz palmata linnaeu kuntz common duls red alga dri bought shop ireland eaten raw fresh dri cook spinach similarli antarctica eaten chile common porphyra common purpl laver collect varieti wai laver bread british isl ireland collect jelli stew boil prepar involv fry fat convert pinkish jelli heat frond saucepan water beat fork collect peopl part asia specif china korea gim japan nori coast california british columbia hawaiian maori zealand instant pud sauc cream ulva lactuca common sea lettuc local scotland ad soup salad alaria e common fresh cook greenland iceland scotland ireland oil alga high level unsatur fatti acid arachidon acid polyunsatur fatti acid high incisa green alga reach triglycerid pool al phytochemistri fact fish oil fatti acid docosahexaeno acid commonli dha eicosapentaeno acid epa bioscienc corpor discov sourc dha alga manufactur dha alga fish dha explain casei senior scientist alga eaten smaller marin life copepod eaten slightli larger fish dha pass food chain biggest fish origin sourc alga refer npr org link articl alga fatti acid commerci alga agar lewi stanlei commerci product algal lembi ed alga human affair cambridg univers press cambridg natur pigment produc alga altern chemic dye color agent paper product todai recycl chemic ink paper recycl ink alga easier break interest food industri replac color agent color deriv algal pigment algea pharmaceut captur sequestr stationari combust system photosynthesi microalga sewag treat alga cosmet microalga israel speci green alga grown water tank expos direct sunlight heat bright red color harvest natur pigment food salmon algin wet ton macrocysti harvest annual california algin extract abalon feed refer guiri blunden ed seawe resourc europ potenti john wilei son mumford miura porphyra food cultiv econom lembi ed alga human affair cambridg univers press collect preserv specimen seawe specimen collect preserv research preserv specimen year carl von refer specimen collect shore tide collect dive dredg algal specimen collect holdfast stipe lamina specimen alga reproduc identif research collect detail locat site note preserv press paper preserv liquid alcohol solut cent formalin seawat formalin report carcinogen huisman marin plant australia univers western australia press nedland western australia ecolog biolog exposur scale ecolog shore british isl includ discuss shore shelter expos exposur scale lewi lewi ecolog rocki shore english univers press london exposur scale stage expos shore expos shore shore shelter shore shelter shore factor indic differ exposur scale detail expos shore wide zone upper tide level porphyra zone barnacl level pygmaea local abund zone domin barnacl limpet corallin belt littor rhodophyta alaria upper sublittor expos shore show belt high tide porphyra pygmaea mid shore domin barnacl limpet fucu rhodophyta rhodophyta corallina alaria laminaria digitata domin upper sublittor shore show belt high tide clear fucu serratu limpet barnacl short fucu vesiculosu fucu serratu rhodophyta stellatu laminaria small alga common sublittor shelter shore show narrow zone high water full sequenc fucu spirali fucu vesiculosu fucu serratu ascophyllum nodosum laminaria digitata domin upper sublittor shelter shore show narrow zone domin littor full sequenc ascophyllum cover rock laminaria chondru common name alaria dickson brtish seawe kew seri eyr spottiswood edibl kelp ascophyllum nodosum knot wrack chondru crispu irish moss chorda filum sea lace peregrina oyster thief fucu wrack fucu horn wrack fucu serratu fucu vesiculosu fucu spiral spiral wrack sea oak elongata sea thong laminaria digitata tangl laminaria hyperborea laminaria sea belt sugar kelp pinnatifida pepper duls padin pavonia peacock palmaria palmata duls canaliculata channel wrack vulgar cockscomb goat tang elongata lobster horn porphyra purpl laver laver ulva lactuca sea lettuc exampl hypnoid red alga ascophyllum nodosum charal green alga codium fucu ulva lactuca laminaria macrocysti stellatu canaliculata palmaria palmata porphyra +statist analysi varianc anova collect statist model procedur observ varianc partit compon due explanatori variabl initi techniqu analysi varianc develop statistician geneticist fisher fisher anova fisher analysi varianc due fisher f-distribut part test statist signific overview conceptu class model model assum data normal popul differ mean model model assum data describ hierarchi popul differ constrain hierarchi model mix effect model describ situat fix random effect present model practic type anova depend number treatment appli subject experi one-wai anova test differ independ group typic one-wai anova test differ group two-group case releg t-test gossett special case anova relat anova one-wai anova repeat measur subject subject repeat measur mean subject treatment note method subject carryov effect factori anova experiment studi effect treatment variabl commonli type factori anova read design independ variabl variabl level distinct valu factori anova multi-level higher order analys higher number factor rare calcul lengthi result hard interpret wish test independ group subject subject repeat measur perform factori anova factor independ repeat measur type mix effect model multivari analysi varianc depend variabl model model model analysi varianc appli situat experiment appli treatment subject experi respons variabl valu chang experiment estim rang respons variabl valu treatment gener popul model random effect model treatment fix occur treatment factor level sampl larger popul treatment random variabl assumpt method contrast treatment differ anova model model concern make infer sampl factor larg manufactur plant machin produc product statistician studi plant interest compar machin infer machin interest variabl assumpt independ case requir design normal distribut group normal kolmogorov-smirnov normal test test f-test extrem deviat normal lindman claim ferguson takan kruskal-w test nonparametr altern reli assumpt normal homogen varianc varianc data group leven test homogen varianc form common assumpt error independ ident distribut fix effect model anova complex assumpt expect varianc residu factor drawn popul logic anova partit sum squar fundament techniqu partit total sum squar compon relat effect model show model simplifi anova type treatment level number degre freedom abbrevi partit similar specifi chi-squar distribut describ sum squar f-test f-test comparison compon total deviat one-wai anova statist signific test compar test statist f-distribut degre freedom f-distribut natur candid test statist quotient sum squar chi-squar distribut anova rank suggest conov iman case data meet assumpt anova replac origin data rank smallest largest run standard anova calcul data equival nonparametr method develop two-wai design rank transform result test robust non-norm resist outlier non-const varianc anova transform hirsch page seaman al notic rank transform conov iman test interact effect factori design increas type error alpha error main factor signific power detect interact variant transform appli rank result valu defin distribut normal distribut varianc analys data assum distribut comput signific valu conov iman rank transform bridg parametr nonparametr statist american statistician hirsch statist method water resourc techniqu water resours investig book chapter geolog survei page seaman wall wide jaeger caveat emptor rank transform method interact trend ecol evol effect size measur partial sourc measur articl data analysi section kittler menard phillip weight concern individu bodi dysmorph disord eat behavior cohen exampl group vodka group gin group placebo group test memori task one-wai anova assess effect treatment vodka gin placebo group vodka test memori task group allow rest period dai experi repeat gin procedur repeat placebo one-wai anova repeat measur assess effect vodka impact placebo experi test effect expect subject randomli assign group expect vodka expect placebo expect vodka expect placebo group control group group test memori task advantag design multipl variabl test time run experi experi determin variabl affect variabl interact effect factori anova assess effect expect vodka placebo actual recept +chemic structur methan simplest alkan alkan paraffin chemic compound consist element carbon hydrogen hydrocarbon atom link exclus singl bond satur compound cyclic structur loop alkan belong homolog seri organ compound member differ constant rel atom mass carbon atom bond c-h c-c bond hydrogen atom join carbon atom h-c bond seri link carbon atom carbon skeleton carbon backbon gener number carbon atom defin size alkan alkyl group function group side-chain alkan consist sole carbon hydrogen atom methyl ethyl group satur hydrocarbon linear gener formula carbon atom join snake-lik structur branch gener formula carbon backbon split direct cyclic gener formula carbon backbon link form loop definit iupac alkan group call cycloalkan intern union pure appli chemistri compendium chemic terminolog internet edit word satur hydrocarbon divid alkan cycloalkan depend cyclic structur technic sens cycloalkan alkan cycloalkan call cyclic alkan confus real alkan call acycl alkan satur hydrocarbon combin linear cyclic polycycl branch structur alkan gener formula long acycl loop simplest alkan parent molecul methan ch limit number carbon atom link limit molecul acycl satur hydrocarbon satur oil wax exampl larger alkan number carbon carbon backbon greater alkan reactiv biolog activ alkan view molecular scaffold hung interest reactiv portion function group molecul isomer alkan carbon atom arrang multipl number wai form structur isom isom chemic anagram atom chemic compound arrang join order simplest isom alkan carbon atom arrang singl chain branch isom call normal necessarili common chain carbon atom branch point number isom increas rapidli number carbon atom sequenc oei isom methan isom ethan isom propan isom n-butan isobutan isom isom isom addit isom chain carbon atom form loop compound call cycloalkan nomenclatur iupac nomenclatur systemat name compound alkan base identifi hydrocarbon chain unbranch satur hydrocarbon chain name systemat greek numer prefix denot number carbon suffix iupac commiss nomenclatur organ chemistri hydrocarbon blackwel scientif retriev februari august wilhelm von hofmann suggest systemat nomenclatur sequenc vowel creat suffix hydrocarbon hydrocarbon singl doubl tripl bond repres keton repres alcohol group mean ether refer oxygen carbon iupac dimethyl ether difficult imposs find compound iupac shorter chain attach longer chain prefix convent includ bracket number refer carbon group attach impli omit name organ compound impli symmetr compound wai arriv linear alkan straight-chain alkan prefix normal non-linear isom exist strictli usag common case import differ properti straight-chain branched-chain isom n-hexan member seri term number carbon atom name alkan carbon atom name ad suffix greek-languag prefix numer multipli william reusch virtual textbook organ chemistri elis termin vowel basic numer term pentan hexan heptan octan complet list list alkan branch alkan ball-and-stick model common iupac systemat simpl branch alkan common prefix distinguish linear alkan iupac name convent produc systemat kei step name complic branch alkan william reusch virtual textbook organ chemistri identifi longest linear chain carbon atom longest root chain standard name rule side chain chang suffix alkan number root chain sum number assign side group number side chain root chain multipl side chain type prefix number cyclic alkan so-cal cyclic alkan technic sens alkan cycloalkan hydrocarbon alkan ring simpl cycloalkan prefix distinguish alkan cycloalkan name acycl counterpart respect number carbon atom cycloalkan carbon atom pentan join five-memb ring similar manner propan cyclopropan butan cyclobutan substitut cycloalkan name similar substitut alkan cycloalkan ring state substitu posit ring number decid rule trivial name trivial non-systemat alkan paraffin alkan paraffin seri trivial name compound histor artifact coin develop systemat name retain due familiar usag industri cycloalkan call naphthen term paraffin stem petrochem industri branched-chain alkan call term paraffin gener term distinguish pure compound mixtur isom chemic formula chemic anagram pentan exampl trivial name retain iupac system isobutan occurr occurr alkan univers methan ethan larg proport jupit atmospher alkan form signific portion atmospher outer ga planet jupit methan ethan saturn methan ethan uranu methan ethan neptun methan ppm ethan titan methan satellit saturn examin huygen probe titan atmospher period rain liquid methan moon surfac emili lakdawalla januari verifi march titan volcano spot volcan believ signific sourc methan atmospher methan ethan lake north polar region titan discov cassini radar imag methan ethan detect tail comet hyakutak chemic analysi show abund ethan methan roughli equal thought impli ic form interstellar space sun evapor volatil molecul mumma detect abund ethan methan carbon monoxid water comet hyakutak evid interstellar origin scienc alkan detect meteorit carbonac chondrit occurr alkan earth trace methan ga ppm occur earth atmospher produc primarili organ archaea gut cow extract oil hydrocarbon includ alkan import commerci sourc alkan natur ga oil natur ga primarili methan ethan propan butan oil mixtur liquid alkan hydrocarbon hydrocarbon form dead marin anim plant zooplankton phytoplankton di sank bottom ancient sea cover sediment anox environ convert million year high temperatur high pressur current form natur ga result reaction hydrocarbon collect porou rock locat beneath imperm cap rock trap methan constantli reform larg quantiti higher alkan alkan carbon atom rare develop consider extent natur deposit oil field form million year exhaust readili replac deplet hydrocarbon basi energi crisi solid alkan tar form volatil alkan gase oil evapor hydrocarbon deposit largest natur deposit solid alkan asphalt lake pitch lake trinidad tobago methan present call bioga produc anim decai matter renew energi sourc alkan solubl water content ocean neglig high pressur temperatur bottom ocean methan water form solid methan hydrat commerci exploit present time amount combust energi methan hydrat field exce energi content natur ga oil deposit put methan extract methan hydrat consid candid futur fuel biolog occurr alkan occur natur rank biolog essenti materi cycloalkan carbon atom occur musk extract deer famili moschida inform refer acycl alkan bacteria archaea methanogen archaea gut cow respons methan earth atmospher type bacteria metabolis alkan prefer even-numb carbon chain easier degrad odd-numb chain hand archaea methanogen produc larg quantiti methan metabol carbon dioxid oxidis organ compound energi releas oxid hydrogen methanogen produc marsh ga wetland releas billion tonn methan year atmospher content ga produc exclus methan output cattl herbivor releas litr dai termit due methanogen produc simplest alkan intestin human methanogen archaea carbon cycl carbon releas atmospher fix photosynthesi probabl current deposit natur ga form similar fungi plant water form droplet thin film alkan wax skin appl alkan plai role minor role biologi eukaryot group organ fungi plant anim specialis yeast candida tropical pichia sp sp alkan sourc carbon energi fungu resina prefer alkan aviat fuel problem aircraft tropic region plant solid long-chain alkan form firm layer wax cuticl area plant expos air protect plant water loss prevent leach import miner rain protect bacteria fungi harm insect sink leg soft substanc difficulti move shine layer fruit appl consist long-chain alkan carbon chain twenti carbon atom length plant fatti acid exact composit layer wax season environment factor light condit temperatur humid anim alkan anim product import unsatur hydrocarbon shark liver oil approxim occurr import pheromon chemic messeng materi insect depend commun kind support beetl colonu primarili transfer bodi contact tsets fly morsitan morsitan pheromon alkan act smell longer distanc characterist pest control ecolog relat earli spider orchid ophri plant anim alkan plai role ecolog relationship sand bee andrena earli spider orchid ophri depend pollin sand bee pheromon order identifi mate case femal emit mixtur ratio male attract specif odour orchid take advantag mate arrang male bee collect dissemin pollen part flower resembl appear sand bee produc larg quantiti alkan ratio femal sand bee result numer male lure bloom attempt copul imaginari partner endeavour crown success bee orchid transfer pollen dispers departur frustrat male bloom product petroleum refin oil refineri martinez california state earlier import sourc alkan natur ga crude oil alkan separ oil refineri fraction distil process product fischer-tropsch fischer-tropsch process method synthes liquid hydrocarbon includ alkan carbon monoxid hydrogen method produc substitut petroleum distil laboratori prepar alkan synthes laboratori commerci alkan gener non-react chemic biolog undergo function group interconvers cleanli alkan produc laboratori side-product reaction n-butyllithium strong base conjug acid n-butan side-product time desir portion molecul alkan function alkyl group similar method ethyl group alkyl group attach hydroxi group ethanol alkan best-known method hydrogen alken alkan alkyl group prepar alkyl halid reaction deoxygen barton mccombi chem soc perkin tran crich quintero chem rev remov hydroxyl group alcohol clemmensen reduct martin org react review buchanan st woodgat quart rev review org react review yamamura nishiyama comp org syn review remov carbonyl group aldehyd keton form alkan compound applic applic alkan determin number carbon atom alkan heat cook purpos countri electr gener methan ethan main compon natur ga store gase pressur easier transport liquid requir compress cool ga propan butan liquefi pressur liquifi petroleum ga lpg propan propan ga burner butan dispos cigarett lighter alkan propel aerosol sprai pentan octan alkan volatil liquid fuel intern combust engin vaporis easili entri combust chamber form droplet impair combust branched-chain alkan prefer prone prematur ignit knock straight-chain homologu propens prematur ignit measur octan rate fuel isooctan arbitrari heptan fuel middl alkan good solvent nonpolar substanc alkan instanc alkan sixteen carbon atom liquid higher viscos suitabl gasolin form major part diesel aviat fuel diesel fuel characteris cetan number cetan higher melt point alkan problem temperatur polar region fuel thick flow correctli alkan form import compon fuel oil lubric oil function work time anti-corros agent hydrophob natur mean water reach metal surfac solid alkan find paraffin wax candl confus true wax consist primarili ester alkan chain length approxim carbon atom bitumen road surfac higher alkan split alkan crack synthet polym polyethylen polypropylen alkan chain hundr thousand carbon atom materi innumer applic billion kilogram materi year physic properti boil point melt blue boil pink point alkan experi inter-molecular van der waal forc stronger inter-molecular van der waal forc give rise greater boil point alkan morrison boyd organ chemistri jersei prentic hall determin strength van der waal forc number electron surround molecul increas alkan molecular weight surfac area molecul standard condit ch alkan gaseou liquid solid boil point alkan primarili determin weight surpris boil point linear relationship size molecular weight molecul rule thumb boil point rise carbon ad chain rule appli homolog seri straight-chain alkan boil point higher branched-chain alkan due greater surfac area contact greater van der waal forc adjac molecul compar isobutan n-butan boil boil case molecul lock cross-shap greater van der waal forc hand cycloalkan tend higher boil point linear counterpart due lock conform molecul give plane intermolecular contact melt point melt point alkan follow similar trend boil point reason outlin equal larger molecul higher melt point signific differ boil point melt point solid ridg fix structur liquid rigid structur requir energi break stronger put solid structur requir energi break alkan graph blue line odd-numb alkan trend melt point number alkan number alkan pack solid phase form well-organis structur requir energi break odd-numb alkan pack looser organis solid pack structur requir energi break boes weiss hc blaser melt point altern short-chain single-cryst x-rai analys propan n-butan angew chemi int ed melt point branched-chain alkan higher straight-chain alkan depend abil alkan question pack solid phase true isom melt point higher linear analogu conduct alkan conduct electr substanti polar electr field reason form hydrogen bond insolubl polar solvent water hydrogen bond individu water molecul align alkan molecul coexist alkan water lead increas molecular order reduct entropi signific bond water molecul alkan molecul law thermodynam suggest reduct entropi minimis minimis contact alkan water alkan hydrophob repel water solubl nonpolar solvent good properti call lipophil alkan miscibl proport densiti alkan increas increas number carbon atom remain water alkan form upper layer mixtur molecular geometri sp methan molecular structur alkan affect physic chemic characterist deriv electron configur carbon valenc electron carbon atom alkan sp hybridis valenc electron equival orbit deriv combin orbit orbit orbit ident energi arrang spatial form tetrahedron angl co bond length bond angl alkan molecul singl bond result overlap carbon s-orbit hydrogen overlap carbon atom bond length amount bond bond tetrahedr structur methan spatial arrang bond similar tetrahedr arrang angl structur formula repres bond angl common correspond realiti conform structur formula bond angl suffici complet describ geometri molecul degre freedom carbon carbon bond torsion angl atom group bound atom bond spatial arrang torsion angl molecul conform newman project conform ethan eclips left stagger ball-and-stick model rotam ethan ethan form simplest case studi conform alkan bond axi bond so-cal newman project hydrogen atom front rear carbon atom angl result project base tetrahedron flat plane torsion angl hydrogen atom attach front carbon hydrogen atom attach rear carbon vari freeli consequ free rotat carbon carbon singl bond appar freedom limit conform import eclips conform stagger conform conform rotam differ energi stagger conform kj mol energi stabl eclips conform stabl differ energi conform torsion energi compar thermal energi ethan molecul ambient temperatur constant rotat c-c bond time ethan molecul pass stagger conform equival rotat ch rel order second case higher alkan complex base similar principl conform favour carbon-carbon bond reason alkan shown zigzag arrang diagram model actual structur differ idealis form differ energi conform small compar thermal energi molecul alkan molecul fix structur form model suggest spectroscop properti virtual organ compound carbon carbon carbon hydrogen bond show featur alkan spectra alkan notabl group absenc characterist spectroscop featur infrar spectroscopi carbon hydrogen stretch mode strong absorpt nanometr carbon carbon stretch mode absorb nm carbon hydrogen bend mode depend natur group methyl group show band nm nm methylen group show band nm nm carbon chain carbon atom show weak absorpt nm nmr spectroscopi proton reson alkan reson depend number hydrogen atom attach carbon primari methyl secondari methylen tertiari c-h quaternari reson quaternari carbon atom characterist weak due lack nuclear overhaus effect long relax time miss weak sampl sampl run suffici long time mass spectrometri alkan high ionis energi molecular ion weak fragment pattern difficult interpret case branch chain alkan carbon chain preferenti cleav tertiari quaternari carbon due rel stabil result free radic fragment result loss singl methyl group absent fragment space interv fourteen mass unit sequenti loss ch chemic properti gener alkan show reactiv bond stabl easili broken organ compound possess function group react poorli ionic polar substanc acid dissoci constant pk valu alkan practic inert acid base carbon acid inert sourc term paraffin mean lack affin crude oil alkan molecul remain chemic unchang million year redox reaction alkan oxygen halogen carbon atom condit case methan lowest oxid state carbon reach reaction oxygen lead combust smoke halogen substitut addit alkan shown interact bind transit metal complex carbon-hydrogen bond activ free radic molecul unpair electron plai larg role reaction alkan crack reform long-chain alkan convert alkan straight-chain alkan branched-chain isom alkan bond angl differ significantli optim order group suffici space tension molecul steric hindranc substanti increas reactiv reaction oxygen alkan react oxygen combust reaction increasingli difficult ignit number carbon atom increas gener equat complet combust absenc suffici oxygen carbon monoxid soot form shown methan alkan heat format tabl detail data standard enthalpi chang combust alkan increas kj mol ch group branched-chain alkan valu straight-chain alkan number carbon atom stabl reaction halogen alkan react halogen so-cal free radic halogen reaction hydrogen atom alkan progress replac halogen atom free-rad reactiv speci particip reaction lead mixtur product reaction highli exotherm lead explos reaction import industri rout halogen hydrocarbon step initi halogen radic form homolysi energi form heat light requir chain reaction take place halogen radic abstract hydrogen alkan give alkyl radic react termin step radic recombin experi shown halogen produc mixtur isom indic hydrogen atom suscept reaction mixtur produc statist mixtur secondari tertiari hydrogen atom preferenti replac due greater stabil secondari tertiari free-rad propan crack crack break larger molecul smaller thermal catalyt method thermal crack process homolyt mechan format free-rad catalyt crack process involv presenc acid catalyst solid acid zeolit promot asymmetr breakag bond yield pair ion charg carboc unstabl hydrid anion free-rad cation highli unstabl undergo process chain rearrang c-c scission posit beta crack intermolecular hydrogen transfer hydrid transfer type process reactiv intermedi radic ion perman regener proce self-propag chain mechan chain reaction eventu termin radic ion recombin isomer reform isomer reform process straight-chain alkan heat presenc platinum catalyst isomer alkan branched-chain isom reform alkan cycloalkan aromat hydrocarbon give hydrogen by-product process rais octan number substanc reaction alkan react steam presenc nickel catalyst give hydrogen alkan nitrat reaction requir special condit ferment alkan carboxyl acid technic import reed reaction sulfur dioxid chlorin light convert hydrocarbon sulfonyl chlorid hazard methan explos mix air ch strong greenhous ga alkan form explos mixtur air lighter liquid alkan highli flammabl risk decreas length carbon chain pentan hexan heptan octan class danger environ harm straight-chain isom hexan neurotoxin rare commerci +law appeal process request formal chang offici decis specif procedur appeal includ appeal type decis vari greatli countri countri jurisdict natur appeal vari greatli depend type case appel court court hear case appeal court depend legal rule appli circumst parti court case unhappi result challeng result appel court specif ground ground typic includ error law fact procedur unit state due process jurisdict appel court call appeal court court appeal superior court suprem court appeal parti file appeal call appel petition parti side call respond common-law countri appelle unit state appeal brought respond suppos trial judg plaintiff order defend pai defend file appeal argu pai monei plaintiff file argu defend pai appel parti lost part claim court decis appeal higher court case reconsid basi court judg er applic law appeal basi court misconduct find fact unreason evid appel case plaintiff claimant defend respond appelle case depend lose parti win parti court respond unusu case appel victor court appeal doyl ironmong qb claimant appeal successfulli basi won court court appli wrong measur damag fulli recompens appelle parti appeal court judgment favor appelle requir respond petit oral argument legal brief appel gener appelle take procedur postur court decis affirm abil appeal appeal guarante statut underli constitut legal principl appel court refus listen appeal appeal leav permiss requir appel move leav appeal situat court appel court discret grant refus appel demand appeal court decis tort equiti civil matter parti previou case file appeal crimin matter state prosecut gener appeal due doubl jeopardi principl state prosecut appeal juri bench verdict jurisdict state prosecut appeal trial court dismiss indict part trial court grant defend suppress motion jurisdict state prosecut appeal issu law leav trial court appel court convent law report appel name defend appeal case law report revers case appeal work court hierarchi true unit state feder court parti name stai order court appeal circuit court appeal re-ord appeal reach unit state suprem court d collater jurisdict recogn type appeal crimin context univers leed retriev march unit state offic law revis counsel retriev march ohio district court appeal retriev march tradit d appeal appel file appeal higher court review collater appeal post-convict petit file appeal court court case kei distinguish factor d collater appeal review evid present trial court review evid dehor record deposit affidavit wit statement trial standard post-convict relief high typic requir petition demonstr evid present usual trial discoveri relief post-convict rare capit violent feloni case typic scenario involv incarcer defend locat dna evid demonstr defend actual innoc notic appeal notic appeal form document case requir appeal form complet appel appel legal repres natur form vari greatli countri countri court court countri specif rule legal system dictat appeal offici begun appel file notic appeal appel court court appeal court sampl notic appeal court web site deadlin begin appeal short tradition measur dai year vari countri countri countri depend specif rule forc appeal process gener speak appel court examin record evid present trial court law court appli decid decis legal sound appel court typic deferenti court find fact defend commit act erron focu court applic law fact act court occur fit legal definit issu appel court find defect affirm judgment appel court find legal defect decis court modifi rule correct defect nullifi revers vacat decis part addit send case remand remit court proceed remedi defect case appel court review court decis de novo complet challeng court find fact proper standard review court resolv case grant pre-trial motion dismiss motion summari judgment base written submiss trial court trial testimoni situat appeal jurisdict permit appeal trial heard afresh appel court appeal court crown court england wale appel court find defect procedur parti file appeal dismiss appeal merit effect affirm judgment happen appel wait long appel court rule file appeal england jurisdict phrase appeal dismiss equival term affirm phrase appeal allow equival term revers gener trial appel court consider record evid present trial court pre-trial trial court proceed review appeal evid consid appeal rare instanc materi evid unavail parti signific reason prosecutori misconduct system appel court written decis court written evid court relev appeal system appel court record court case record certifi court appel opportun present argument grant appeal appelle respond present argument argument parti appeal present appel lawyer repres pro se parti engag legal represent argument present written brief oral argument court hear hear parti allow present appel judg question base review record submit brief import note adversari system appel court power review court decis parti appeal court rule improp manner legal preced judgment stand overturn appeal unit state unit state legal system gener recogn type appeal trial de novo appeal record trial de novo review inform proceed conduct minor judici tribun proceed provid procedur attribut formal judici trial unchalleng decis power settl minor legal disput parti dissatisfi find tribun gener power request trial de novo court record proceed issu evid develop newli heard restrict evid heard proceed decis proceed admiss evid help curb frivol appeal appeal record decis judici proceed appel respond bound base argument wholli proceed bodi evid present tribun seek prove higher court result desir result preced case law figur promin argument order appeal succe appel prove court commit revers error impermiss action court act result unjust result court act properli exampl revers error erron instruct juri law applic case permit improp argument attornei admit exclud evid improperli act court jurisdict inject bia proceed appear juror misconduct failur formal object time view improp action court result affirm court judgment ground preserv issu appeal object case judg juri decid issu fact appel court appli abus discret standard review standard appel court defer court view evid revers decis clear abus discret defin decis bound reason hand appel court defer court decis issu law revers find court appli wrong legal standard rare case appel successfulli argu law decis render unconstitut invalid convinc higher court order trial basi evid earlier sought conceal discov case evid high probabl presenc absenc materi differ trial issu suitabl appeal crimin case effect assist counsel defend convict prove lawyer adequ handl case reason probabl result trial lawyer compet represent entitl trial unit state lawyer tradition start oral argument appel court word court appeal heard mandat formal notic decis court appeal notic transmit trial court file clerk trial court constitut final judgment case appeal court ded proceed trial court mandat distinguish appeal court opinion set legal reason decis jurisdict mandat appel review appel review gener term process court appel jurisdict jurisdict matter decid court distinguish judici review refer court overrid constitut statutori determin legisl act administr decis defect jurisdict reason vari jurisdict jurisdict normal prefer seek appel review file appeal final judgment gener appeal judgment appeal order rule trial court case order appeal critic interlocutori court order denial request interim injunct order hold person contempt court appeal immedi case fulli dispos american law distinct form appel review d collater crimin defend convict state court lose d appeal higher state appel court unsuccess mount collater action file writ habea corpu feder court gener speak appeal statut afford defend opportun challeng merit judgment alleg error law fact collater review hand provid independ civil inquiri valid convict sentenc gener limit challeng constitut jurisdict fundament violat occur trial graham borgen cir slip op citat omit anglo-american common law court appel review court decis obtain file petit review prerog writ case writ pure continent civil law legal system mix system quebec recogn prerog writ +wiktionari answer wiktionari free dictionari answer deriv root swear origin solemn assert opposit gener defenc repli question object correct solut problem common law answer plead defend file serv plaintiff strict time limit civil complaint crimin inform indict serv defend preced option motion dismiss demurr motion unsuccess defend file answer complaint risk advers default judgment answer establish alleg action civil matter set complain parti contest defend state defend defens establish natur paramet controversi decid court case crimin case arraign kind appear court defend plead crimin case enter record open court guilti guilti gener speak privat civil case guilt innoc judgment grant monei damag kind equit remedi restitut injunct crimin case lead fine punish imprison famou latin responsa answer learn accumul view success gener roman lawyer bodi legal opinion gradual authorit music answer countersubject technic counterpoint repetit modif part instrument theme propos gener answer repli question solut retali respons +appel court court law empow hear appeal trial court tribun jurisdict court system divid level trial court initi hear case review evid testimoni determin fact case intermedi appel court suprem court court resort primarili review decis intermedi court suprem court kind appel court institut titl jurisdict titl appel court court appeal court appeal histor titl appel court court error court error appeal premis intend correct error court exampl court includ jersei court error appeal exist connecticut suprem court error renam connecticut suprem court jurisdict court hear appeal appel divis depend system court serv trial court appel court hear appeal decis court limit jurisdict jurisdict special appel court texa court crimin appeal hear appeal rais crimin case author review author appel court review decis court vari wide jurisd place appel court limit power review unit state state feder appel court restrict examin court correct legal determin hear direct evid determin fact case appel court restrict hear appeal base matter origin brought trial court appel court appel argument base theori rais time appeal +arraign common law term formal read crimin complaint presenc defend inform charg respons arraign accus expect enter plea accept plea vari jurisdict jurisdict gener includ guilti guilti peremptori plea plea bar set reason trial proce addit jurisdict plea nolo contender contest alford plea circumst england wale northern ireland arraign eleven stage crimin trial involv clerk court read indict defend ask plead guilti guilti individu charg guilti guilti plea defend plead guilti evidentiari hear court requir accept guilti plea hear judg assess offens mitig factor defend charact pass sentenc defend plead guilti date set preliminari hear trial defend refus plead stood mute subject pein fort dure law french strong hard punish todai common law jurisdict defend refus enter plea plea guilti enter behalf feder rule crimin procedur feder rule crimin procedur state arraign consist open read indict defend call plead thereto copi indict call plead law-rel articl stub wikipedia expand +america beauti american patriot song histori word katharin lee bate english professor welleslei colleg bate train trip colorado spring colorado teach short summer school session colorado colleg sight trip poem world columbian exposit chicago white citi promis futur contain alabast build wheat field kansa train ride juli majest view great plain atop pike peak mountain word poem start wrote return hotel room origin antler hotel poem initi publish year congregationalist commemor fourth juli quickli caught public fanci amend version publish exist piec music adapt poem hymn tune compos samuel ward gener consid music earli popular tune todai ward similarli inspir tune ferryboat trip conei island home york citi leisur summer dai immedi wrote ward di know nation statur music attain bate fortun song popular well-establish death time year elaps song born john kennedi administr effort give america beauti legal statu nation hymn nation anthem equal place star-spangl banner succeed propon prefer america beauti reason easier sing melod adapt orchestr remain easili recogniz star-spangl banner prefer america beauti star-spangl banner due imageri prefer star-spangl banner reason nation dichotomi stymi effort chang tradit nation anthem america beauti continu held high esteem larg number american popular song increas greatli septemb attack sport event sung addit tradit sing nation anthem tape late show david letterman attack cb newsman dan cri briefli quot fourth vers rai charl credit song rendit current time elvi preslei good success record commonli plai major sport event super bowl charl gave live perform song prior super bowl xxxv super bowl plai septemb terrorist attack uniqu place vers sing usual vers vers author scold materialist self-serv robber baron dai urg america live nobl ideal honor word deed memori di countri symbol marian anderson note opera singer dai sang rendit america step lincoln memori refus constitut hall daughter american revolut skin color includ songbook wide varieti religi congreg unit state tradit song perform start wwe event wrestlemania artist perform song event includ rai charl aretha franklin gladi knight reba mcentir richard boyz ii men ashanti boi choir harlem mariah carei lilian garcia michel william richard nixon visit peopl republ china song plai chines music interestingli chines charact unit state liter beauti countri idiom sea shine sea american idiom mean pacif ocean atlant ocean vice versa song term includ american patriot song america beauti god bless usa addit featur schoolhous rock elbow room unit state border arctic ocean gulf mexico phrase refer west east coast continent term similar canadian motto mari usqu ad mare sea sea manifest destini takeoff song popular familiar america beauti inevit proper context time frame humor effect exampl song inspir cross-countri cannonbal baker sea-to-shining-sea memori trophi dash race york lo angel topic movi burt reynold side cartoon reprint sherr book show columbu near land crew conquistador type gentlemen purpl mountain spaciou ski fruit plain write comedi club routin earli flip wilson columbu stori african-american twist iron catchphras repeat queen isabel earli geraldin chri find rai charl columbu see land comment america spaciou ski amber wave grain dig purpl mountain majesti bet fruit plain satir music record album unit state america volum stan freberg plai columbu jess white plai skeptic king ferdinand colleen collin queen isabella mimick tallulah bankhead result bit dialogu mel brook talk show impress frank sinatra sing song complet tuxedo black hat coat cigarett lean bar render song loung style georg carlin perform satir version environment issu hot polit topic chicago-bas death metal band master record parodi america beauti album seventh dai god creat master call america piti neil young record version folk-rock protest album live war critic bush administr song declin nofx lyric vers purpl mountain rang feed amber wave grain lesser human lyric note sourc omit vers substitut refrain fourth vers unit methodist hymnal book lynn sherr book america beauti discuss origin song background author depth barbara younger written children book write song purpl mountain majesti stori katharin lee bate america beauti book illustr artist stacei schuett media problem plai file media +assist technolog gener term includ assist adapt rehabilit devic process select locat promot greater independ peopl disabl enabl perform task unabl accomplish great difficulti accomplish provid enhanc chang method interact technolog need accomplish task cook hussei cook hussei assist technolog principl practic edit publish mosbi report term rehabilit devic devic able-bodi find disabl advoc technolog creat regard peopl disabl creat unnecessari barrier hundr million peopl assist technolog univers access universali access street cross evanston ill univers broaden access univers design mean greater usabl peopl disabl univers access technolog yield great reward typic user good access design univers design curb cut drop curb sidewalk street cross curb cut enabl pedestrian mobil impair cross street aid parent carriag stroller shopper cart travel worker bag modern telephon inaccess peopl deaf hard hear combin text telephon tdd telecommun devic deaf usa gener call tty teletypewrit convert type charact tone telephon line deaf person commun immedi distanc relai servic oper read deaf person type type hear person deaf person access telephon peopl possess text telephon telephon volum control primarili intend benefit peopl hard hear user time place signific background nois larger kei well-spac facilit accur diall person mobil impair difficulti calcul speech recognit softwar recogn short command calcul easier toi adapt children disabl advantag typic children movement assist parent lend assist technolog toi expertis famili assist technolog product telecar telecar sort assist technolog electron sensor connect alarm system caregiv manag risk vulner peopl stai independ home longer system put place senior peopl fall detector thermomet hypothermia risk flood unlit ga sensor peopl mild dementia notabl alert custom person risk alert trigger messag carer contact centr respond appropri technolog similar telecar act person home respond detect crisi exampl unlit ga sensor peopl dementia trigger devic turn ga tell happen design peopl dementia good design interfac piec critic us peopl dementia identifi user group involv design process design access usabl voic messag remind person dementia turn ga voic messag question answer user consult involv evalu access comput input sit desk qwerti keyboard mous remain domin interact person comput reduc strain work ergonom accessori height-adjust furnitur footrest wrist rest arm support ensur correct postur fit keyboard prevent unintent keypress altern attempt improv ergonom devic ergonom keyboard reduc discomfort strain type chord keyboard hand kei digit hand type produc letter kei expand keyboard larger widely-spac kei compact miniatur keyboard dvorak anson georg shea vetter effici qwerti keyboard offici journal hester enhanc standard comput keyboard system type journal rehabilit research develop colemak layout offer ergonom layout kei variant dvorak common kei locat left side keyboard input devic modifi easier understand keyboard lowercas kei keyboard big kei larg print keyboard high contrast color white black black white black ivori larg print adhes keyboard sticker high contrast color white black black white black yellow emboss locat dot find kei keyboard scroll wheel mice remov locat scroll interfac comput screen ambiti crucial keyboard mous prove unus replac keyboard mous altern devic trackbal joystick graphic tablet touchpad touch screen microphon speech recognit softwar input switch access softwar input devic easier keyboard shortcut user substitut keyboard mous action macro record greatli extend rang sophist keyboard shortcut charact command type hold modifi kei shift ctrl alt press kei similarli microsoft window featur rememb mous button item highlight drag hold mous button custom mous mous respons movement double-click featur microsoft window onward high sound heard cap lock scroll lock num lock kei switch sound heard kei switch custom pointer appear size color shape predict text spell checker grammar checker durabl medic equip dme seat product assist peopl sit comfort safe seat system cushion therapeut seat stand product support peopl disabl stand posit maintain improv health stand frame stand wheelchair activ stander walk product aid peopl disabl walk stand assist cane crutch walker gait trainer wheel mobil product enabl peopl mobil disabl move freeli indoor outdoor wheelchair scooter learn difficulti ag softwar effect softwar bate roger jone melani technolog person disabl confer proceed retriev februari hand-ey co-ordin skill softwar diagnost assess softwar mind map softwar studi skill softwar softwar haw paul paul technolog person disabl confer proceed retriev februari text-to-speech touch type softwar visual impair choic hardwar softwar depend user level function vision hardwar larg monitor adjust task lamp fluoresc bulb shine paper adjust suit copyhold hold print materi vertic posit easier read adjust suit close circuit televis cctv video magnifi print materi object camera magnifi imag displai screen modifi cassett record record lectur thought idea note desktop compact cassett dictat system audio cassett playback aid foot pedal fuser produc tactil materi diagram map appli heat special swell paper scanner devic conjunct ocr softwar print document scan convert electron text displai screen recognis text standalon read aid integr scanner optic charact recognit ocr softwar speech softwar singl machin work separ pc septemb retriev februari refresh braill displai electron tactil devic comput keyboard line cell move repres line text comput screen enabl user read content comput screen braill electron notetak portabl comput braill qwerti keyboard synthet speech model integr braill displai braill emboss emboss braill output comput punch dot paper connect comput text printer perkin manual emboss grade braill softwar custom graphic user interfac alter color size desktop short-cut icon menu bar scroll bar screen magnifi screen reader applic optic charact recognit convert print word text scanner braill translat convert print word braill emboss braill emboss augment altern commun aac augment altern commun defin specialti aac devic vari wide respect technolog sophist low-tech system simpl paper object base system requir batteri system typic consist digit speech record touch sensit displai pad switch access system requir batteri high-tech system computer voca vari singl purpos system multipurpos computer-bas commun aid typic high-tech system requir train ongo support oper devic deaf hear loss audiomet fire alarm page system loop system portabl fix radio aid telecommun devic deaf teletext video cassett record read record subtitl close caption vibrat fire alarm pillow asleep door bell light system companionship remind user medicin call wrong care call reassur commun base program call senior home ensur well-b part plai therapi system design motiv children particip therapi +abacu plural abaci call count frame calcul tool perform arithmet process nowadai abaci construct wooden frame bead slide wire origin bead stone move groov sand tablet wood stone metal abacu centuri adopt written modern numer system wide merchant clerk china japan africa india user abacu call slide bead abacu hand abacu merriam-webst intern dictionari unabridg version chines abacu origin abacu base flat stone cover sand dust word letter drawn sand eventu number ad encyclopædia britannica februari pebbl aid calcul babylonian dust abacu earli bc reilli page origin counter abacu string obscur india mesopotamia egypt probabl point origin smith page china plai essenti part develop evolut abacu varieti abaci develop popular base bi-quinari system combin base repres decim number earliest abaci mesopotamia scribe egypt greec sexagesim number repres factor digit word abacu date middl english work borrow word latin describ sandboard abacu latin word greek genit form sens tabl sprinkl sand dust draw geometr figur linguist specul greek word deriv semit root cf phoenician abak sand hebrew pronounc dust prefer plural abacu subject disagr oxford english dictionari abaci merriam-webst babylonian abacu babylonian abacu oper addit subtract primit devic prove difficult complex calcul page scholar point charact babylonian cuneiform deriv represent abacu crump page egyptian abacu abacu ancient egypt mention greek historian write manner disk usag egyptian direct compar greek method archaeologist ancient disk size thought counter wall depict instrument discov cast doubt extent instrument smith page greek abacu tablet greek island salami date bc make oldest count board discov slab white marbl cm long cm wide cm thick group mark center tablet set parallel line equal divid vertic line cap semi-circl intersect bottom-most horizont line singl vertic line line wide space horizont crack divid crack group eleven parallel line divid section line perpendicular semi-circl top intersect sixth ninth line mark cross intersect vertic line roman abacu reconstruct roman abacu normal method calcul ancient rome greec move counter smooth tabl origin pebbl calculi mediev europ jeton manufactur mark line unit five ten roman numer system system continu late roman empir mediev europ persist limit nineteenth centuri pullan page addit common method loos counter specimen roman abacu shown reconstruct long groov bead shorter groov bead groov mark unit ten million bead shorter groov denot five unit ten essenti bi-quinari code decim system relat roman numer short groov mark roman ounc indian abacu st centuri sourc describ knowledg abacu india stearn page centuri indian clerk find wai record content abacu körner page hindu text term shunya mean empti column abacu mollin page chines abacu number repres pictur earliest mention centuri book eastern han dynasti supplementari note art figur written xu yue peng yoke ho page exact design cm tall width depend oper rod bead rod upper deck bead bottom decim hexadecim comput modern bead top deck bead bottom deck bead round hardwood bead count move beam move high count move don't count reset start posit instantli quick jerk horizont axi spin bead horizont beam center function count simpl count board elementari school effici techniqu develop multipl divis addit subtract squar root cube root oper high speed famou long scroll riversid scene qingm festiv paint zhang zeduan song dynasti ly account book doctor prescript counter apothecari similar roman abacu chines suggest inspir evid trade relationship roman empir china direct connect demonstr similar abaci coincident ultim aris count finger hand roman model modern japanes bead decim place standard allow challeng arithmet algorithm allow hexadecim numer system run wire chines japanes model bead roman model run grove make arithmet calcul slower sourc chines count rod oper decim system lack concept place holder introduc chines tang dynasti travel indian ocean middl east direct contact india islam allow acquir concept decim point indian islam merchant mathematician chines abacu migrat china korea year korean call japanes abacu japanes soroban soroban lit count trai version chines abacu devis import china japan centuri accur transmiss ag rout uncertain specif record soroban japan todai prolifer practic afford pocket electron calcul korea call basic soroban modern form modern soroban korean term extens korean websit offer lesson abacu sell soroban japanes dealer tomo nativ american abaci represent inca quipu sourc mention abacu call ancient aztec cultur mesoamerican abacu system quipu inca system knot cord record numer data advanc talli stick perform calcul calcul carri quechua count tool figur conquest peru work principl unknown explan mathemat basi instrument propos compar form research calcul base fibonacci sequenc power place valu field instrument fibonacci sequenc number grain field minimum russian abacu russian abacu russian abacu singl slant deck ten bead wire wire bead fraction wire user older model wire mint russian abacu vertic wire left manner book wire bow bulg upward center order bead pin side clear bead move manipul bead move left easi view middl bead wire bead colour bead left bead thousand wire million wire present color russian abacu shop market soviet union usag taught school todai regard archaism replac school usag calcul taught school abacu school abacu danish elementari school earli centuri world abaci pre-school elementari school aid teach numer system arithmet western countri bead frame similar russian abacu straight wire vertic frame common imag plastic wooden toi type abacu shown repres number place bead wire repres number signific educ advantag abacu loos bead counter practic count simpl addit student awar group foundat number system adult base structur grant difficult learn count rote slight awar pattern involv blind adapt abacu invent helen keller call cranmer abacu commonli individu blind piec soft fabric rubber bead move inadvert bead place user feel manipul abacu perform mathemat function multipl divis addit subtract squar root cubic root blind student benefit talk calcul abacu taught student earli grade public school state school blind abacu teach math skill replac talk calcul import learn tool blind student blind student complet math assign nemeth code type braill code math larg multipl long divis problem long difficult abacu blind visual impair student tool comput math problem equal speed mathemat knowledg requir sight peer pencil paper blind peopl find number machin tool life note +imag padlock-silver-medium svg acid base acid-bas extract acid-bas reaction acid-bas physiolog acid-bas homeostasi acid dissoci constant acid function buffer solut ph proton affin self-ion water acid lewi acid miner acid organ acid strong acid superacid weak acid base lewi base organ base strong base superbas non-nucleophil base weak base edit acid repres gener formula ha tradition consid chemic compound dissolv water solut hydrogen ion activ greater pure water ph approxim modern definit johann nicolau brønsted martin lowri independ defin acid compound donat hydrogen ion compound call base common exampl includ acet acid vinegar sulfur acid car batteri acid base system redox reaction chang oxid state definit word acid latin acidu mean sour chemistri term acid specif mean common wai defin acid arrheniu definit develop swedish chemist svant arrheniu acid substanc increas concentr hydrogen ion carri hydronium ion dissolv water base substanc increas concentr hydroxid ion definit limit acid base substanc dissolv water french chemist includ antoin lavoisi incorrectli believ acid contain oxygen modern german word oxygen lit sour substanc afrikaan word oxygen mean english chemist includ sir humphri davi time believ acid contain hydrogen arrheniu belief develop definit acid brønsted-lowri definit acid proton hydrogen nucleu donor base proton acceptor acid dissoci proton donat acid base refer conjug acid-bas pair brønsted lowri independ formul definit includ water-insolubl substanc arrheniu definit definit definit acid substanc dissolv solvent increas concentr cation water nh liquid ammonia liquid sbcl sbcl base defin substanc increas concentr solvat anion nh sbcl definit extend acid-bas reaction non-aqu system aprot system hydrogen nuclei involv reaction definit absolut compound act acid solvent act base lewi definit develop gilbert lewi acid acceptor base donor frequent refer lewi acid lewi base electrophil nucleophil organ chemistri lewi base ligand coordin chemistri lewi acid includ substanc transfer proton hydrogen ion iron iii chlorid lewi definit acid wider applic brønsted-lowri definit fact term lewi acid exclud protic brønsted-lowri acid lewi definit explain molecular orbit theori gener acid receiv electron pair lowest unoccupi orbit lumo highest occupi orbit homo base homo base lumo acid combin bond molecular orbit gener theori brønsted-lowri definit wide definit strength acid understood definit stabil hydronium solvat conjug base dissoci increas decreas stabil conjug base increas decreas acid compound concept acid frequent organ acid carboxyl acid molecular orbit descript unfil proton orbit overlap lone pair connect lewi definit properti acid gener sour tast strong concentr acid produc sting feel mucou membran react indic turn blue litmu methyl orang red chang color phenolphthalein react metal produc metal salt hydrogen react metal carbon produc water salt react base produc salt water react metal oxid produc water salt conduct electr depend degre dissoci produc ion hydronium ion water denatur protein strong acid concentr acid danger caus sever burn minor contact acid corros gener acid burn treat rins affect area abundantli run water minut medic attent case highli concentr acid acid wipe exotherm mix acid water sever thermal burn acid danger reason relat acid msd detail inform nomenclatur classic name system acid name anion ionic suffix drop replac suffix prefix tabl hcl chlorid anion suffix form hydrochlor acid iupac name system aqueou simpli ad ionic compound hydrogen chlorid iupac aqueou hydrogen chlorid classic name system chemic characterist water equilibrium occur weak acid ha water act base ha aq aq aq acid constant acid dissoci constant equilibrium constant reaction ha water strong acid larg valu reaction equilibrium li acid complet dissoci strong acid includ heavier acid hydrochlor acid hcl hydrobrom acid hbr hydroiod acid hydrofluor acid hf weak hydrochlor acid hcl weak acid small valu equilibrium signific amount ha exist solut modest level present acid partial dissoci acet acid organ acid weak acid oxoacid tend central atom high oxid state surround oxygen strong weak nitric acid sulfur acid perchlor acid strong acid nitrou acid sulfur acid hypochlor acid weak note term term hydrogen ion proton interchang refer aqueou solut water proton form hydronium ion aq abbrevi aq symbol chemic correct strength acid measur acid dissoci constant equival pk pk log ph solut measur concentr hydronium depend concentr natur acid base solut acid acid donat proton acid molecul contrast acid donat proton molecul specif type acid specif name diprot acid potenti proton donat acid potenti proton donat acid undergo dissoci call ioniz simpli acid dissoci constant shown aq aq diprot acid symbol undergo dissoci depend ph dissoci dissoci constant aq ha aq aq aq dissoci constant typic greater sulfur acid donat proton form bisulf anion hso larg donat proton form sulfat anion intermedi strength larg dissoci sulfur strong acid similar manner weak unstabl carbon acid lose proton form bicarbon anion hco lose form carbon anion valu small acid undergo dissoci dissoci constant aq aq aq ha aq aq aq inorgan acid acid po call phosphor acid proton success lost yield po hpo final po orthophosph ion call phosphat organ acid citric acid success lose proton final form citrat ion posit proton origin molecul equival success valu differ energet favor lose proton conjug base neg charg neutral neutral reaction acid base produc salt water hydrochlor acid sodium hydroxid form sodium chlorid water neutral basi titrat ph indic show equival point equival number mole base ad acid wrongli assum neutral result solut ph case similar acid base strength reaction neutral base weaker acid result weakli acid salt weakli acid ammonium chlorid produc strong acid hydrogen chlorid weak base ammonia convers neutral weak acid strong base weakli basic salt sodium fluorid hydrogen fluorid sodium hydroxid weak acid weak base equilibria order lose proton ph system rise pk proton acid decreas concentr basic solut shift equilibrium conjug base form deproton form acid acid solut high concentr solut acid remain proton form proton conjug base deproton form solut weak acid salt conjug base form buffer solut applic acid numer acid acid remov rust corros metal process pickl electrolyt wet cell batteri sulfur acid car batteri human anim hydrochlor acid part gastric acid secret stomach hydrolyz protein polysaccharid convert inact pepsinogen enzym pepsin acid catalyst sulfur acid larg quantiti alkyl process produc gasolin common acid miner acid solut hydrogen halid hydrochlor acid hcl hydrobrom acid hbr sulfur acid nitric acid hno phosphor acid po chromic acid cro sulfon acid m acid aka acid meso acid aka acid acid aka acid acid aka acid ch carboxyl acid formic acid acet acid citric acid +asphalt sticki black highli viscou liquid semi-solid present crude petroleum natur deposit term asphaltum commonli model colloid dispers phase continu phase disagr chemist structur terminolog asphalt asphalt cement carefulli refin residu distil process select crude oil north america product call bitumen primari asphalt bitumen road construct glue binder aggreg particl road surfac materi call north america simpli appar interchang word confus road construct industri clear definit industri circl background asphalt bitumen confus tar similar black materi produc destruct distil coal earli mid twentieth centuri town ga produc tar readili product extens binder road aggreg addit tar macadam road led word tarmac common parlanc refer road make materi natur ga succeed town ga asphalt bitumen complet overtaken tar applic asphalt separ compon crude oil naphtha gasolin diesel process fraction distil vacuum condit separ achiev process heavier fraction crude oil unit propan butan supercrit phase dissolv lighter molecul separ process blow product react oxygen product harder viscou natur deposit asphalt includ lake asphalt primarili pitch lake trinidad tobago bermudez lake venezuela dead sea israel jordan tar sand asphalt typic store transport temperatur degre celsiu diesel oil kerosen mix ship retain liquid deliveri lighter materi separ mixtur mixtur call bitumen feedstock bf dump truck rout hot engin exhaust pipe dump bodi materi warm back tipper carri asphalt handl equip commonli sprai releas agent fill aid releas diesel oil releas agent mix reduc qualiti asphalt ancient time ancient middl east natur asphalt deposit mortar brick stone ship caulk waterproof persian word asphalt relat english word mummi asphalt ancient egyptian embalm mummi ancient east natur asphalt slowli boil rid higher fraction leav materi higher molecular weight thermoplast layer object hard cool cover scabbard object need water-proof statuett household deiti cast type materi japan china citat need pour bitumen damp-proof build roll asphalt concret largest asphalt make asphalt concret road surfac account approxim asphalt consum unit state roof shingl account remain asphalt consumpt includ cattl sprai fenc post treatment waterproof fabric asphalt road surfac wide recycl materi gross tonnag percentag report issu feder highwai administr unit state environment protect agenc asphalt road remov year widen resurfac project reus part road roadb shoulder embank mastic asphalt mastic asphalt type asphalt differ dens grade asphalt asphalt concret higher bitumen binder content aggreg mix oppos roller asphalt ad bitumen asphalt fast gain global popular stone mastic asphalt sma sma advantag roll asphalt high anti skid qualiti due high aggreg densiti lack void content air pocket advantag sma longer durabl altern road asphalt surfac manufactur applic control close result slipperi road surfac due excess bitumen pool bleed surfac asphalt emuls number technolog asphalt mix temperatur involv mix asphalt petroleum solvent form cutback reduc melt point mixtur water turn asphalt emuls asphalt emuls asphalt typic chemic addit main type emuls affin aggreg cation anion asphalt emuls wide varieti applic involv sprai road surfac asphalt emuls layer crush rock gravel slurri seal involv creation mixtur asphalt emuls fine crush aggreg spread surfac road cold mix asphalt asphalt emuls creat pavement similar asphalt inch depth asphalt emuls blend recycl asphalt creat cost pavement mix soil asphalt mix output low-temperatur thermal desorpt altern world increasingli concern global climat chang problem year due pollut releas atmospher emiss deriv primarili burn fossil fuel led introduct bitumen altern environment friendli toxic bitumen non-petroleum base renew resourc sugar molass rice corn potato starch environ bitumen wast materi vacuum tower bottom produc process clean motor oil help recycl industri wast dispos burn dump land fill non-petroleum base bitumen binder color reduc temperatur road surfac contribut urban heat island turn contribut global climat chang million peopl live citi heat island grow concern phenomenon describ urban suburban temperatur hotter nearbi rural area elev temperatur impact commun increas peak energi demand air condit cost air pollut level heat-rel ill mortal fortun common-sens measur commun reduc neg effect heat island replac convent black asphalt road surfac bitumen lighter color asphalt non-petroleum base renew resourc world breakthrough asphalt bitumen technolog invent pioneer australia australia tm field trial laid earli bitumen asphalt call geo tm water solubl plant veget base wast materi molass sugar palm oil wast peanut oil wast corn oil wast veget oil starch corn rice potato wast materi deriv distil process clean motor oil bottom asphalt veget base binder patent cola sa franc cola origin own royal dutch shell number homeown seek environmentally-friendli altern asphalt pave experi wast veget oil binder drivewai park area single-famili applic earliest test occur ohio homeown combin wast veget oil dry aggreg creat low-cost non-pollut pave materi drivewai year report drivewai perform petroleum-bas materi movement led shell oil compani controversi surround royal dutch shell pave public road sweden cola asphalt result prematur etymolog wiktionari asphalt wiktionari free dictionari word asphalt deriv late middl english french asphalt base late latin asphaltum greek akin firm secur base layer asphalt concret road construct +american nation standard institut ansi privat non-profit organ overse develop voluntari consensu standard product servic process system personnel unit state organ coordin standard intern standard american product worldwid standard peopl camera find film globe ansi accredit standard develop repres standard develop organ govern agenc consum group compani standard ensur characterist perform product consist peopl definit term product test ansi accredit organ carri product personnel certif accord requir defin intern standard organ headquart washington dc ansi oper offic locat york citi histori ansi form engin societi govern agenc found american engin standard committe american standard associ asa asa reorgan unit state america standard institut present adopt member ansi membership compris govern agenc organ corpor academ intern bodi individu total institut repres interest compani million profession process ansi develop standard institut facilit develop american nation standard an accredit procedur standard develop organ ansi accredit signifi procedur standard set organ meet institut requir open balanc consensu due process voluntari consensu standard quicken market accept product make clear improv safeti product protect consum approxim american nation standard carri ansi design american nation standard process involv consensu group open repres interest parti broad-bas public review comment draft standard consider respons comment incorpor submit meet consensu requir draft standard avail appeal particip alleg principl respect process intern activ addit facilit format standard ansi promot standard internation advoc polici technic posit intern region standard organ encourag adopt intern standard nation standard institut offici repres major intern standard organ intern organ standard iso intern electrotechn commiss iec nation committe ansi particip entir technic program iso iec administ kei committe subgroup instanc standard iso iec ansi adopt part intern standard exampl institut administ standard panel ansi biofuel standard panel healthcar inform technolog standard panel ansi homeland secur standard panel ansi nanotechnolog standard panel ident theft prevent ident manag standard panel panel work identifi coordin harmon voluntari standard relev area american nation standard includ asa american standard associ photograph exposur system basi iso film speed system worldwid origin standard implement program languag standard ansi well-known ansi microsoft window phrase ansi refer window ansi code page ansi standard fix width charact ideograph languag variabl width charact base draft seri microsoft symbol visual similar iso symbol lead fals assum ident ansi associ pool spa profession standard pool spa hot tub barrier suction entrap avoid an ey protect specif impact resist rate eyewear standard commonli shop glass shoot glass exampl protect eyewear +wiktionari argument wiktionari free dictionari gener parlanc argument discuss involv conflict point view gener type argument argument demonstr proof logic reason persuas argument form logic structur argument argument map method displai inform argument argument theori scienc theori civil debat deduct argument valid conclus necess induct argument strong conclus true inform argument inform logic present ordinari languag oral argument verbal present judg lawyer heurist argument proof demonstr reli experiment result fulli rigor argument function mathemat specif input function call argument function argument predic first-ord predic logic specif input predic call argument predic specif argument ontolog argument proof intuit reason exist god polit argument logic propaganda promot polit idea practic argument structur persuas argument doublespeak argument mislead irrelev reason side debat javelin argument cosmolog reason infinit size univers mathemat scienc linguist mathemat scienc includ comput scienc linguist engin argument gener speak independ variabl input function complex argument angular compon complex number repres polar coordin argument principl theorem complex analysi meromorph function close contour diagon argument type proof infinit domain identifi cardin class real number probabilist argument proof probabl theori argument comput scienc input subprogram subroutin command-lin argument input command line interfac program verb argument phrase sentenc qualifi verb default argument actual paramet program actual paramet argument album fugazi argument literatur summari begin section poem close argument call summat final present attornei court grand argument stori type stori intend conceptu complet distinct differ argument sketch monti python fly circu toulmin model model argument argument type evidentiari object question wit trial argument ship australian ship sunk +apollo mission man mission land moon human spaceflight apollo program human voyag moon launch juli carri command neil alden armstrong command modul pilot michael collin lunar modul pilot edwin eugen aldrin juli armstrong aldrin human land moon collin orbit mission fulfil presid john kennedi goal reach moon speech propos nation commit achiev goal decad land man moon return safe earth crew number parenthes number spaceflight individu prior includ mission neil alden armstrong command michael collin command modul pilot edwin eugen aldrin lunar modul pilot backup crew jame lovel command bill ander command modul pilot fred hais lunar modul pilot support crew charl moss duke capsul commun capcom ronald evan capcom owen garriott capcom don lind capcom ken mattingli capcom bruce mccandless ii capcom harrison schmitt capcom bill pogu jack swigert flight director cliff charlesworth launch eva glynn lunnei lunar ascent gene kranz lunar land milt windler entri nomenclatur lunar modul name eagl bald eagl depict insignia bald eagl nation bird unit state command modul name columbia tradit femin unit state song poetri refer cannon launch jule vern earth moon intern nasa plan document refer call sign snowcon haystack quietli chang announc press nasa june mission highlight launch lunar land addit million peopl crowd highwai beach launch site estim audienc million peopl view event televis record time presid richard nixon view proceed oval offic white hous saturn carri apollo second clear tower juli saturn launch apollo kennedi space center juli utc local time enter earth orbit minut orbit s-ivb third-stag engin push spacecraft trajectori moon tran lunar inject burn minut command servic modul pair separ remain saturn stage dock lunar modul nestl lunar modul adaptor condens cloud form interstag saturn approach mach minut flight juli apollo pass moon fire servic propuls engin enter lunar orbit orbit crew pass view land site southern sea tranquil kilomet mi southwest crater sabin land site select part character flat smooth autom ranger surveyor lander lunar orbit map spacecraft present major land extra-vehicular activ eva challeng nasa juli retriev septemb juli lunar modul eagl separ command modul columbia collin aboard columbia inspect eagl ensur craft damag armstrong aldrin eagl descent engin descend lunar surfac land began armstrong report run long eagl second descent trajectori plan land mile west intend site lm navig guidanc comput report unusu program alarm guid lm descent draw crew attent scene descent continu nasa mission control center houston texa comput engin jack garman told guidanc offic steve bale safe continu descent spite alarm armstrong return attent view appar comput guid larg crater rock scatter armstrong manual control lunar modul aldrin call data radar comput guid land utc juli second fuel left program alarm execut overflow indic comput complet process task trace train error comput spent unplan time process extra data lm rendezv radar left descent martin fred nasa apollo land fuel mission encount prematur fuel warn caus lunar graviti permit greater propel uncov fuel sensor futur mission extra baffl ad tank armstrong word land houston tranquil base eagl land partial confus staff mission control armstrong tranquil base land site immedi touchdown jone eric editor nasa shortli land prepar began eva aldrin broadcast communion privat time nasa fight lawsuit brought atheist madalyn murrai o'hair object apollo crew read book genesi demand astronaut refrain religi activ space aldrin episcopalian chose refrain mention plan quiet mention wife reveal publicli year chaikin andrew man moon penguin group lunar surfac oper mount tv camera show neil armstrong climb ladder surfac utc juli armstrong descent moon surfac spoke famou line small step man giant leap mankind hour land aldrin join beauti beauti magnific desol two-and-a-half hour note photograph drill core sampl small step man giant leap mankind noicon problem listen file media buzz aldrin pose moon allow neil armstrong photograph visor reflect neil armstrong work lm photo lunar surfac nasa photo buzz aldrin bootprint part experi test properti lunar regolith plan placement earli apollo scientif experi packag flag studi land site eagl twin triangular window gave field view prepar requir longer hour schedul armstrong initi difficulti squeez hatch portabl life support system plss veteran moonwalk john young redesign lm incorpor smaller hatch redesign plss backpack highest heart rate record apollo astronaut occur lm egress ingress eric jone april retriev septemb horrigan retriev septemb remot control unit control armstrong chest prevent feet climb ladder armstrong pull d-ring deploi modular equip stowag assembl mesa fold eagl side activ tv camera jone eric editor nasa imag slow-scan televis system incompat commerci broadcast technolog time imag rebroadcast plai screen mount front convent televis camera signal pick goldston usa fidel honeysuckl creek track station australia minut tv switch normal televis feed switch sensit radio telescop station park observatori australia technic weather difficulti ghostli black white imag lunar eva receiv immedi broadcast million peopl earth astronom societi australia juli retriev septemb describ surfac dust fine powderi small fraction inch footprint boot armstrong step eagl footpad histori human set foot world famous describ small step man giant leap mankind chaikin ibid armstrong forgot word intend chaikin phrase appear written form includ parenthes report move moon graviti one-sixth earth easier simul absolut troubl walk addit fulfil presid john kennedi mandat land man moon apollo engin test apollo system armstrong snap photo lm engin judg condit collect conting soil sampl sampl bag stick fold bag tuck pocket thigh remov tv camera mesa panoram sweep mount tripod ft lm tv camera cabl remain partli coil present trip hazard eva aldrin join surfac test method move includ two-foot kangaroo hop plss backpack creat tendenc tip astronaut problem maintain balanc lope prefer method movement astronaut report need plan movement step fine soil slipperi aldrin remark move sunlight eagl shadow produc temperatur chang suit helmet warmer sunlight felt cooler shadow phone call presid richard nixon plant flag moon surfac mesa fail provid stabl work platform shadow slow work work moonwalk kick grai dust soil outer part suit integr thermal meteoroid garment deploi includ passiv seismograph laser rang retroreflector armstrong lope ft lm snap photo rim east crater aldrin collect core tube geolog hammer pound tube time hammer apollo astronaut collect rock sampl scoop tong extens handl surfac activ longer expect stop document sampl collect halfwai allot min period mission control code phrase warn armstrong metabol rate high slow move rapidli task task time ran rate remain gener expect astronaut walk mission control grant astronaut extens jone eric editor nasa lunar ascent return aldrin enter eagl difficulti astronaut lift film sampl box kg lb lunar surfac materi lm hatch flat cabl pullei devic call lunar equip conveyor armstrong remind aldrin bag pocket sleev aldrin toss bag armstrong jump ladder rung climb lm transfer lm life support explor lighten ascent stage return lunar orbit toss plss backpack lunar oversho hasselblad camera equip lm settl sleep jone eric editor nasa move cabin aldrin accident broke circuit breaker arm main engin lift moon initi concern prevent fire engin strand moon fortun felt-tip pen suffici activ switch work lunar modul circuitri reconfigur fire ascent engin murrai charl cox catherin apollo race moon touchston book hour rest awaken houston prepar return flight hour utc lift eagl ascent stage carri kilogram lunar sampl rejoin cmp michael collin aboard columbia lunar orbit histor plaqu ladder apollo lunar modul eagl remain moon hour lunar surfac left scientif instrument retroreflector arrai lunar laser rang experi left american flag apollo mission patch plaqu mount lm descent stage ladder bear draw earth western eastern hemispher inscript signatur astronaut richard nixon inscript read men planet earth set foot moon juli peac mankind left memori bag gold replica oliv branch tradit symbol peac apollo patch silicon messag disk disk carri goodwil statement presid eisenhow kennedi johnson nixon messag leader countri world disc carri list leadership congress list member committe hous senat respons nasa legisl name nasa present top manag book men earth aldrin item includ soviet medal commemor cosmonaut vladimir komarov yuri gagarin film lm ascent stage liftoff moon reveal american flag plant feet descent stage whip violent exhaust ascent stage engin land site reced camera field view flag appear readi toppl fact fall unknown buzz aldrin nation aeronaut space administr kennedi space center retriev march lunar ascent ascent stage lm concentr comput neil studi attitud indic look long flag fall subsequ apollo mission plant american flag feet lm avoid blown ascent engin exhaust rendezv columbia eagl lm jettison lunar orbit juli ut pm edt apollo flight note eagl orbit moon nasa report mention eagl orbit decai result impact uncertain locat lunar surfac nasa retriev septemb juli astronaut televis broadcast night splashdown collin comment saturn rocket put orbit incred complic piec machineri piec work flawlessli confid equip work properli blood sweat tear number peopl beneath surfac thousand thousand aldrin men mission moon effort govern industri team effort nation feel stand symbol insati curios mankind explor unknown person reflect event dai vers psalm mind heaven work thy finger moon star thou hast ordain man thou art mind armstrong conclud respons flight li histori giant scienc preced effort american peopl desir administr congress implement agenc industri team built spacecraft saturn columbia eagl emu spacesuit backpack small spacecraft lunar surfac give special american built spacecraft construct design test put heart abil craft peopl tonight give special peopl listen watch tonight god bless good night apollo retriev januari juli astronaut return home immedi put quarantin splashdown point km nm east wake island km nm south johnston atol km mi recoveri ship uss hornet recoveri helicopt approxim hour splashdown astronaut trailer design quarantin facil presid richard nixon aboard recoveri vessel person astronaut earth crew apollo quarantin return earth visit richard nixon astronaut quarantin land moon due fear moon undiscov pathogen astronaut expos moon walk week confin trailer lunar receiv laboratori lyndon johnson space center astronaut clean bill health nasa explor retriev novemb august astronaut exit quarantin cheer american public parad held honor york chicago lo angel dai week invit mexico parad honor mexico citi even lo angel offici state dinner celebr apollo attend member congress governor chief justic ambassador nation presid richard nixon vice presid spiro agnew honor astronaut present presidenti medal freedom celebr begin giant leap tour brought astronaut foreign countri includ visit promin leader queen elizabeth ii unit kingdom nation honor man moon land issu apollo commemor postag stamp coin world scienc fiction convent st loui mo astronaut receiv special hugo award moon land septemb astronaut spoke joint session congress capitol hill present flag hous repres senat carri surfac moon command modul displai nation air space museum washington central exhibit hall front jefferson drive entranc share main hall pioneer flight vehicl spirit st loui bell north american mercuri capsul friendship gemini quarantin trailer displai smithsonian udvar-hazi center annex washington dull intern airport virginia commun link earli plan project apollo nasa decid combin commun spacecraft earth singl multiplex feed call unifi s-band nasa april retriev septemb includ audio commun televis imag crew medic telemetri spacecraft system telemetri signal pick purpose-built station call goldston california honeysuckl creek australia spain backed-up nearbi deep space network station signal rout nasa commun center goddard space flight center greenbelt maryland intelsat satellit began trans-ocean transmiss nasa end contract submarin telephon circuit realloc telephon administr normal voic donald kimberlin june retriev septemb juli dai dai launch window intelsat iii satellit atlant fail cut link dish spain greenbelt maryland decid problem need fix hour launch time launch scrub earli bird satellit activ concern power signal unit state great difficulti twelv undersea telephon circuit nasa countri invers multiplex signal offici spanish commun author help team secur circuit person list contact circuit invers multiplex accept nasa minut time limit mission insignia familiar patch apollo design collin want symbol peac lunar land unit state pick eagl symbol put oliv branch beak drew moon background earth distanc nasa offici talon eagl look warlik discuss oliv branch move claw crew decid roman numer xi understood nation apollo decid put name patch symbol work moon land color natur blue gold border patch lm name eagl match insignia eisenhow silver dollar reviv year patch design eagl coin design smaller susan anthoni dollar +apollo man voyag celesti bodi three-man crew mission command frank borman command modul pilot jame lovel lunar modul pilot william ander human side moon mission involv man launch saturn rocket man mission apollo program origin plan low-earth orbit lunar modul command modul test mission profil chang ambiti lunar orbit flight august lunar modul schedul flight delai mission profil procedur personnel requir left uncharacterist short time-fram train prepar launch decemb crew dai travel moon orbit ten time hour crew christma ev televis broadcast read book book genesi time broadcast watch tv program apollo success mission pave apollo fulfil presid john kennedi goal land man moon decad crew nation aeronaut space administr nasa announc primari crew apollo decemb select astronaut frank borman michael collin bill ander borman veteran gemini select mission command bill ander name lunar modul pilot spaceflight collin origin name command modul pilot replac juli suffer cervic disc herniat requir surgeri repair collin michael charl lindbergh carri fire astronaut journei cooper squar press jim lovel backup command modul pilot join gemini command frank borman primari crew courtnei brook jame grimwood loyd swenson nasa retriev januari backup crew backup crew train place prime crew case ill death apollo backup crew includ neil armstrong mission command buzz aldrin backup command modul pilot fred hais backup lunar modul pilot recoveri surgeri astronaut michael collin join backup crew member armstrong aldrin primari crew apollo courtnei brook jame grimwood loyd swenson nasa retriev januari appendix astronaut assign mission backup crew member serv member support crew nasa retriev januari mission control earth-bas mission control team apollo consist astronaut assign support crew flight director staff support crew member train fly mission stand astronaut meet involv minutia mission plan prime backup crew train serv capcom mission apollo crew member includ astronaut john bull vanc brand gerald carr ken mattingli mission control team earth rotat shift led flight director director apollo includ cliff charlesworth green team glynn lunnei black team milton windler maroon team nasa langlei research center retriev januari mission insignia triangular shape insignia symbol shape apollo command modul show red figur loop earth moon repres mission number circumlunar natur mission red number name astronaut dick lattim june fly moon whisper eagl press initi design insignia develop jim lovel lovel reportedli sketch initi design ride backseat flight california houston shortli learn re-design flight circumlunar mission plan septemb man spacecraft center houston texa propos seri mission lead man lunar land mission type outlin test specif set compon task previou step complet successfulli mission type undertaken nasa retriev januari unman command servic modul csm test unman lunar modul lm test man csm earth orbit man csm lm earth orbit man csm lm ellipt earth orbit apoge mile km man csm lm lunar orbit man lunar land apollo apollo mission launch unman block product model apollo command servic modul earth orbit apollo schedul octob man earth orbit flight csm complet object mission apollo csm diagram nasa mission reli readi lunar modul lm product lm schedul model arriv cape canaver june signific defect discov lead grumman lead contractor lm predict mission-readi lm readi februari delai propos mission endang program goal lunar land baker david histori man space flight crown publish georg manag apollo spacecraft program offic propos solut august command servic modul csm readi month lunar modul mission flown decemb repeat mission flight apollo csm moon possibl enter lunar orbit mission nasa test lunar land procedur wait apollo schedul mission nasa retriev januari stage erect vehicl assembl build vab februari senior manag nasa agre mission cite confid hardwar personnel potenti signific moral boost circumlunar flight person need convinc jame webb nasa administr rest agenc support mission webb eventu approv mission chang mission offici chang mission lunar orbit mission refer press releas earth orbit mission webb direct courtnei brook jame grimwood loyd swenson nasa retriev januari public announc chang mission novemb week apollo success earth orbit mission dai launch courtnei brook jame grimwood loyd swenson nasa retriev januari chang mission apollo director flight crew oper deke slayton decid swap crew mission jame mcdivitt origin command mission offer circumlunar flight turn want fly lunar modul borman hand jump chanc origin mission repeat previou flight higher orbit swap meant swap spacecraft requir borman crew mcdivitt crew courtnei brook jame grimwood loyd swenson nasa retriev januari septemb crew enter simul prepar flight time mission flew crew spent hour train actual hour flight crew member train aspect mission special borman command train control spacecraft re-entri lovel train navig spacecraft case commun lost earth ander charg check spacecraft work order crew live crew quarter kennedi space center receiv visit charl lindbergh wife ann morrow lindbergh night launch canadian onlin explor decemb retriev januari talk flight lindbergh piec string measur distanc york citi pari globe calcul fuel need flight total tenth amount saturn burn zimmerman robert genesi stori apollo wall window dai lindbergh watch launch apollo nearbi dune ann morrow lindbergh write book apollo program entitl earth shine mention launch mission lindbergh ann morrow earth shine york harcourt brace world saturn apollo saturn roll pad saturn rocket apollo design model saturn rocket sa program erect vertic assembl build decemb thought rocket unman earth-orbit test flight carri boilerpl command servic modul apollo suffer major problem april flight includ sever pogo oscil stage stage engin failur stage fail reignit orbit assur problem rectifi nasa administr justifi risk man mission addit unman test flight prove saturn readi bilstein roger dian publish retriev februari courtnei brook jame grimwood loyd swenson nasa retriev februari team marshal space flight center msfc work problem primari concern pogo oscil hamper engin perform exert signific g-forc crew task forc contractor nasa agenc repres msfc research conclud engin vibrat frequenc similar frequenc spacecraft vibrat caus reson effect induc oscil rocket system helium ga absorb vibrat instal equal import failur engin flight research quickli determin leak hydrogen fuel line ruptur expos vacuum caus loss fuel pressur engin automat shutoff attempt close liquid hydrogen valv shut engin accident shut engin liquid oxygen due faulti ignit line result engin fail engin shutdown investig reveal problem third-stag engin faulti ignit line team modifi ignit line fuel conduit hope avoid similar problem futur launch team test solut august marshal space flight center saturn stage ic equip shock absorb devic demonstr team solut problem pogo oscil saturn stage ii retrofit modifi fuel line demonstr resist leak ruptur vacuum condit nasa administr convinc problem solv gave approv man mission nasa retriev januari apollo spacecraft top rocket septemb rocket slow km journei launch pad octob david aken nasa marshal space flight center retriev februari test continu decemb dai launch includ level readi test decemb decemb final test modif address problem pogo oscil ruptur fuel line bad ignit line place decemb mere dai schedul launch mission launch trans-lunar inject apollo launch doubl exposur moon visibl launch nasa apollo launch eastern standard time decemb saturn stage s-ic s-ii s-ivb achiev earth orbit launch phase experienc minor problem engin stage s-ic underperform caus engin burn second longer plan stage burn s-ii rocket underw pogo oscil frank borman estim oscil approxim hertz apoge slightli higher plan circular orbit mile km man mission saturn rocket apollo mile mile km km earth orbit minut second rocket stage fire launch s-ic s-ii detach launch s-ic impact atlant ocean s-ii stage stage rocket s-ivb assist drive craft earth orbit remain attach perform trans-lunar inject tli burn put spacecraft trajectori moon earth orbit apollo crew mission control spent hour minut check spacecraft proper work order readi tli time apollo crew transform capsul rocket payload spacecraft proper oper stage rocket s-ivb crucial unman test s-ivb fail re-ignit tli flight fellow astronaut serv ground capsul commun refer capcom rotat schedul capcom peopl regularli commun crew michael collin capcom duti hour minut second launch radio apollo tli wood david frank o'brien april apollo flight journal nasa retriev februari commun signifi mission control offici permiss apollo moon twelv minut tli burn apollo crew continu monitor spacecraft rocket s-ivb stage rocket ignit time burn perfectli minut second burn increas veloc apollo feet spacecraft altitud burn mile km time crew set record highest speed human travel s-ivb perform requir task jettison crew rotat spacecraft photograph spent stage practic fly format crew rotat spacecraft view earth move mark time human view entir earth borman worri s-ivb stai close command servic modul suggest mission control crew perform separ maneuv mission control suggest point spacecraft earth reaction control system rc thruster servic modul add ft earth borman lose sight s-ivb discuss crew mission control decid burn direct ft discuss put crew hour flight plan hour launch mission control command s-ivb booster vent remain fuel engin bell chang booster trajectori s-ivb pass moon enter solar orbit pose hazard apollo s-ivb subsequ au solar orbit inclin period dai apollo crew human pass van allen radiat belt extend mile km earth scientist predict pass belt quickli spacecraft high speed radiat dosag chest x-rai year averag human receiv dose mgy record actual radiat dosag crew member wore person radiat dosimet transmit data earth passiv film dosimet show cumul radiat experienc crew mission crew experienc averag radiat dose mgy vernon bailei nasa johnson space center retriev januari lunar trajectori imag human earth photograph bill ander south south america middl jim lovel main job command modul pilot navig mission control perform actual navig calcul crew member serv navig crew navig home case commun loss mission control lovel navig star sight sextant built spacecraft measur angl star earth moon horizon task prove difficult larg cloud debri spacecraft form vent s-ivb hard distinguish star hour mission crew hour minut flight plan due issu move s-ivb lovel obscur star sight crew spacecraft passiv thermal control ptc barbecu mode ptc involv spacecraft rotat hour long axi ensur heat distribut surfac spacecraft direct sunlight spacecraft heat part shadow temperatur heat shield crack propel line burst imposs perfect roll spacecraft swept cone rotat crew minor adjust hour cone pattern larger larger wood david frank o'brien april apollo flight journal nasa retriev februari mid-cours correct hour flight test ground shown servic propuls system sp engin small chanc explod burn long period combust chamber coat burn engin short period accomplish coat correct burn second ad ft prograd direct travel chang plan ft due bubbl helium oxid line caus expect fuel pressur crew small reaction control system rc thruster shortfal plan mid-cours correct cancel apollo trajectori perfect eleven hour flight crew awak hour launch nasa decid crew member awak time deal issu aris borman start sleep shift constant radio chatter mechan nois sleep difficult apollo s-ivb rocket stage shortli separ hour start sleep shift borman request clearanc secon sleep pill pill effect borman eventu fell asleep awok feel vomit bout diarrhea left spacecraft full small globul vomit fece crew clean abil borman initi decid medic problem lovel ander want inform mission control crew decid data storag equip dse tape voic record telemetri dump mission control high speed record descript borman ill request mission control check record state evalu voic comment wood david frank o'brien april apollo flight journal nasa retriev januari apollo crew mission control medic personnel held confer unoccupi floor control room ident control room houston floor mission confer particip decid worri borman ill flu borman thought reaction sleep pill collin michael charl lindbergh carri fire astronaut journei cooper squar press research suffer space adapt syndrom affect astronaut dai space vestibular system adapt weightless quin toni april addict space appreci anousheh ansari part ii british interplanetari societi issn space adapt syndrom issu previou spacecraft mercuri gemini astronaut unabl move freeli compar smaller cabin spacecraft increas cabin space apollo command modul afford astronaut greater freedom movement contribut symptom borman astronaut russel schweickart apollo inessa al nasa johnson space center retriev februari in-flight footag crew orbit moon frank borman center cruis phase unev part flight crew check spacecraft work order time nasa schedul televis broadcast hour launch apollo crew kg camera broadcast black-and-whit vidicon tube camera lens wide-angl len telephoto len broadcast crew gave tour spacecraft attempt show earth appear space difficulti aim narrow-angl len aid monitor show show earth imposs addition earth imag satur bright sourc proper filter crew show peopl watch earth bright blob broadcast minut rotat spacecraft high-gain antenna view receiv station earth end transmiss lovel wish mother happi birthdai time crew complet abandon plan sleep shift lovel sleep hour flight hour plan short ander sleep sleep pill crew unabl moon outward cruis factor moon imposs spacecraft window fog due oil silicon sealant attitud requir ptc crew moon time apollo televis broadcast hour flight time crew rig filter meant camera acquir imag earth telephoto len difficult aim maneuv entir spacecraft crew broadcast earth televis pictur earth crew spent transmiss describ earth visibl color transmiss last minut lunar sphere influenc hour minut flight crew apollo human enter gravit sphere influenc celesti bodi word effect moon gravit forc apollo stronger earth time happen apollo mile km moon speed ft rel moon histor moment interest crew calcul trajectori respect launch pad kennedi space center continu perform mid-cours correct switch refer frame base ideal orient engin burn lunar orbit thirteen hour lunar orbit jim lovel jefferi kluger lost moon peril voyag apollo houghton mifflin major event lunar orbit insert mid-cours correct retrograd direct travel slow spacecraft ft effect lower closest distanc spacecraft pass moon hour launch mile km moon crew burn rc second pass mile km lunar surfac hour flight crew began prepar lunar orbit maneuv perform perfectli due orbit mechan side moon contact earth mission control poll decis crew told hour ride bird find wood david frank o'brien april apollo flight journal nasa retriev februari hour minut spacecraft moon radio contact earth minut crew began check spacecraft system switch correct place time final glimps moon fly unlit side lovel shaft sunlight obliqu illumin lunar surfac loi burn minut crew time view lunar orbit sp ignit hour minut second launch burn minut second place apollo spacecraft orbit moon crew burn longest minut live burn last correct amount time spacecraft end highli ellipt lunar orbit flung space last long impact moon make spacecraft work final chanc moon orbit hour nasa goddard space flight center retriev februari earth mission control continu wait crew burn engin burn last plan length time crew earli moon time apollo reappear predict moment signal receiv spacecraft indic mile mile km km orbit moon report statu spacecraft lovel gave descript lunar surfac look lovel continu describ terrain pass crew major task reconnaiss plan futur land site moon mare tranquillitati apollo land site launch time apollo chosen give light condit examin site film camera set spacecraft window record frame moon bill ander spent hour photograph target interest mission crew photograph moon earth portion lunar side larg crater bottom photo gocleniu hour spacecraft contact earth borman data sp look want engin work return earli earth ask receiv decis pass moon orbit reappear pass front moon crew set equip broadcast view lunar surfac ander crater pass orbit perform burn sp circular orbit mile mile km km orbit crew continu check spacecraft observ photograph moon pass borman read small prayer church schedul particip servic st christoph episcop church seabrook texa due apollo flight unabl fellow parishion engin mission control rod rose suggest borman read prayer record replai servic earthris spacecraft moon fourth pass front crew wit event earthris ander glanc window blue white orb realiz earth crew recogn signific event photograph ander photograph black-and-whit famou color photo nasa imag flight borman ander claim earthris photo lovel joke determin ander due synchron rotat moon earth earthris gener visibl lunar surfac earthris gener visibl orbit moon select place moon limb librat carri earth slightli lunar horizon earth apollo decemb nasa ander continu photograph lovel assum control spacecraft borman rest difficulti rest cramp noisi capsul borman sleep orbit awaken period question statu borman awok fulli start hear fellow crew member mistak begin understand question answer repeat borman realiz extrem tire good night sleep dai command order ander lovel sleep rest flight plan observ moon scrub ander protest fine borman swai ander agre long borman set camera continu automat shot moon borman rememb televis broadcast plan peopl expect watch want crew alert orbit ander lovel slept borman sat helm subsequ apollo mission crew avoid situat sleep schedul round moon ninth time televis transmiss began borman introduc crew man give impress lunar surfac orbit moon borman vast lone forbid expans de groot gerard merri christma moon york univers press retriev februari talk fly ander crew messag earth man board read stori creation book genesi borman finish broadcast wish merri christma good earth benson charl nasa retriev februari task left crew point perform inject tei schedul hour televis transmiss tei critic burn flight failur sp ignit strand crew lunar orbit hope escap previou burn crew perform maneuv side moon contact earth burn occur time spacecraft telemetri reacquir re-emerg moon hour minut second exact time predict voic contact regain lovel announc inform santa clau ken mattingli current capcom repli affirm wood david frank o'brien april apollo flight journal nasa retriev februari spacecraft began journei earth decemb christma dai rupe cauchi eastern mare tranquillitati unplan manual re-align lovel idl time navig sight maneuv modul view star comput keyboard accident eras comput memori caus inerti measur unit imu modul rel posit lift-off fire thruster correct modul attitud cnn decemb retriev februari crew realiz comput chang modul attitud realiz re-ent data comput real posit lovel ten minut figur number thruster star rigel siriu align fifteen minut enter correct data comput jim lovel jefferi kluger lost moon peril voyag apollo houghton mifflin sixteen month lovel perform similar manual re-align critic condit apollo mission modul imu turn conserv energi book lost moon peril voyag apollo lovel wrote train apollo handi book dismiss incid plan experi request ground crew subsequ interview lovel acknowledg incid accid caus mistak cruis earth re-entri cruis earth time crew relax monitor spacecraft long trajectori specialist calcul correctli spacecraft re-ent dai tei splashdown pacif christma afternoon crew final televis broadcast time gave tour spacecraft show astronaut live space finish broadcast small present deke slayton food turkei stuf miniatur bottl brandi remain unopen small present crew wive apollo command modul deck uss yorktown unev dai crew prepar re-entri comput control re-entri crew put spacecraft correct attitud blunt comput broke borman command modul separ servic modul astronaut commit re-entri minut hit top atmospher crew moon rise earth horizon predict trajectori specialist wood david frank o'brien april apollo flight journal nasa retriev februari hit thin outer atmospher notic hazi glow plasma form capsul capsul start slow deceler peak comput control descent chang attitud capsul apollo rose briefli skip stone descend ocean feet km drogu parachut stabil spacecraft feet km main parachut spacecraft splashdown posit estim nasa retriev februari hit water parachut drag spacecraft left upsid term stabl posit buffet swell borman sick wait flotat balloon capsul minut splashdown frogman uss yorktown arriv capsul land sunris forty-f minut crew safe deck aircraft carrier command modul displai chicago museum scienc industri collect person item flight donat lovel spacesuit worn frank borman museum scienc industri chicago illinoi usa retriev februari jim lovel spacesuit nasa glenn research center nasa glenn space research center februari retriev februari histor import apollo year upheav world time magazin chose crew apollo men year recogn peopl influenc event preced year time magazin januari retriev februari peopl leav gravit influenc earth orbit celesti bodi surviv mission crew rate fifty-fifti chanc fulli succeed effect apollo sum telegram stranger receiv borman mission simpli state apollo save chaikin andrew man moon voyag apollo astronaut vike famou aspect flight earthris pictur fourth orbit moon imag earth time human pictur regard pictur start environmentalist movement earth dai peggi juli august aerospac technolog innov retriev novemb mission wide cover media american orbit flight mercury-atla john glenn journalist cover mission bbc coverag broadcast countri languag soviet newspap pravda featur quot bori nikolaevich petrov chairman soviet intercosmo program flight outstand achiev american space scienc technolog bori nikolaevich petrov polet flight moscow ussr pravda decemb retriev februari russian estim quarter peopl aliv time live delai christma ev transmiss ninth orbit moon tour world mission borman met pope paul vi told spent entir life world christma dorothi brush januari crossvil chronicl crossvil tn usa retriev februari atheist madalyn murrai o'hair caus controversi bring lawsuit nasa read genesi chaikin andrew man moon voyag apollo astronaut vike o'hair wish court ban astronaut govern employe public prayer space case reject suprem court lack jurisdict findlaw retriev februari caus nasa skittish issu religion rest apollo program buzz aldrin apollo communion surfac moon land chaikin andrew man moon voyag apollo astronaut vike refrain mention publicli year obliqu refer time postal servic issu postag stamp scott commemor apollo flight moon stamp featur detail famou photograph earthris moon ander christma ev word begin god usa retriev februari mission paramet mission paramet apollo differ significantli previou flight reason man spacecraft orbit multipl celesti bodi mission record set orbit paramet mission execut translunar inject park orbit earth apollo maintain altitud perige mile km apoge mile km inclin orbit angl relat equat orbit period minut contrast spacecraft orbit moon vari altitud lowest altitud moon surfac spacecraft mile km highest altitud mile km spacecraft minut complet circuit moon inclin spacecraft began translunar inject burn decemb utc burn repres burn saturn rocket s-ivb stage rocket burn total second propel lb kg spacecraft earth park orbit veloc ft translunar trajectori veloc ft film apollo histor mission shown referenc form documentari fiction televis transmiss mm footag shot crew apollo compil releas spacecraft film three-disc dvd set apollo leav cradl spacecraft film portion apollo mission documentari mankind won grand juri prize sundanc film festiv outstand documentari sundanc film festiv retriev februari portion apollo mission dramat miniseri earth moon episod ron howard brian grazer tom hank michael bostick produc earth moon hbo april s-ivb stage apollo portrai locat alien devic ufo episod conflict conflict ufo tv seri +astronaut bruce mccandless ii man maneuv unit space shuttl challeng astronaut cosmonaut russian ipa person train human spaceflight program command pilot serv crew member spacecraft gener reserv profession space travel term appli travel space includ scientist politician journalist tourist nasa english nation aeronaut space administr retriev octob mari mackai english utah statesman retriev octob definit astronaut sponsor train exclus govern militari civilian space agenc sub-orbit flight privately-fund spaceshipon categori astronaut creat commerci astronaut rise space tourism nasa russian feder space agenc agre term spaceflight particip distinguish space travel astronaut mission coordin agenc criteria constitut human spaceflight vari fédération aéronautiqu international fai defin spaceflight flight altitud kilometr mi unit state profession militari commerci astronaut travel altitud kilometr mi award astronaut wing februari total human countri reach km altitud reach earth orbit bill harwood english cb new retriev februari encyclopedia astronautica english encyclopedia astronautica retriev octob peopl travel earth orbit lunar trans-lunar orbit surfac moon lovel young cernan nasa english nasa retriev octob fai guidelin peopl qualifi definit reach space encyclopedia astronautica english encyclopedia astronautica retriev octob space travel spent cumul total year space includ spacewalk nasa english nasa retriev octob man longest time space sergei krikalev spent dai hour minut year space nasa english nasa retriev octob nasa english nasa retriev octob sunita william hold record time space woman dai spent space nasa english nasa retriev octob nasa english nasa retriev octob terminolog countri citizen flown space unit state english-speak nation profession space travel call astronaut term deriv greek word star naut sailor term astronaut modern sens neil jone short stori death head meteor word earlier perci greg book zodiac astronaut refer spacecraft le navigateur de l'infini rosni word astronaut word inspir aeronaut older term air travel appli balloonist nasa appli term astronaut crew member aboard nasa spacecraft bound earth orbit nasa term titl select join astronaut corp dismuk kim nasa biographi page curat decemb johnson space center nasa retriev march russia yuri gagarin person space ussr convent astronaut emploi russian feder space agenc soviet predecessor call cosmonaut english text word anglicis russian word transliter pronounc turn deriv greek word kosmo univers naut sailor part cosmonaut astronaut synonym languag usag choic dictat polit reason march norman thagard american ride space board russian launch vehicl arguabl american cosmonaut process china china term long astronaut phrase rén liter space person taiwan hong kong offici english text issu chines govern astronaut text russian cosmonaut russian gov cn retriev octob ru org russian ru org retriev octob term english-languag new media organ profession space travel china origin term unclear earli chiew lee yih malaysia newsgroup chen lan simultan western media term nation russia soviet union unit state china launch man spacecraft nation peopl space cooper countri inspir partli mission synonym astronaut enter occasion english usag term french spell describ french space travel latin word spatium space malaysian term angkasawan describ particip angkasawan program space travel mileston valentina tereshkova woman space ussr alan shepard aboard freedom human space russian yuri gagarin launch space april aboard vostok woman russian valentina tereshkova launch space june aboard vostok alan shepard american person space american woman space salli ride space shuttl challeng mission june nasa english nasa retriev octob mission orbit moon apollo includ william ander born hong kong make astronaut octob yang liwei china astronaut shenzhou spacecraft soviet union intercosmo program allow peopl socialist countri fly mission vladimir remek czechoslovak non-soviet european space russian soyuz rocket encyclopedia astronautica english encyclopedia astronautica retriev octob juli pham tuan vietnam asian space flew aboard soyuz encyclopedia astronautica english encyclopedia astronautica retriev octob cuban arnaldo tamayo méndez person african descent fly space person born africa fly space patrick baudri encyclopedia astronautica english encyclopedia astronautica retriev octob encyclopedia astronautica english encyclopedia astronautica retriev octob abdul ahad mohmand afghan reach space spend dai aboard mir space station joachim wilhelm josef becker heinz hermann janssen english space fact retriev august larger number seat space shuttl began intern astronaut april taylor wang chinese-born person space year rodolfo neri vela mexican-born person space nasa english nasa retriev octob encyclopedia astronautica english encyclopedia astronautica retriev octob nasa english nasa retriev octob helen sharman briton fly space bbc new english bbc new retriev octob mark shuttleworth citizen african countri fly space pai spaceflight particip english retriev octob ag mileston youngest person fly space russian gherman titov year flew vostok titov person suffer space sick bbc new english bbc new retriev octob anatoli zak english space retriev octob oldest person flown space john glenn flew nasa english nasa retriev octob longest stai space dai russian valeri polyakov spaceflight individu astronaut record held jerri ross franklin chang-diaz furthest distanc earth astronaut travel km apollo emerg non-govern mileston non-government space travel byron lichtenberg research massachusett institut technolog flew nasa english nasa retriev octob decemb toyohiro akiyama pai space travel report tokyo broadcast system visit mir part estim million usd deal japanes tv station time term refer akiyama research cosmonaut smithsonian nation air space museum english smithsonian nation air space museum retriev octob bbc new english bbc new retriev octob english retriev octob akiyama suffer sever mission affect product self-fund space tourist denni tito onboard russian spacecraft soyuz april self-fund travel person fly privately-fund mission mike melvil pilot spaceshipon flight sub-orbit journei test pilot emploi scale composit actual pai space tourist leonard david english space retriev octob royc carlton english royc carlton retriev octob paid fly space denni tito american april mark shuttleworth south african british april iss gregori olsen american octob octob iss anousheh ansari iranian american septemb septemb iss charl simonyi hungarian american april april iss train nasa astronaut select nasa english nasa retriev octob earli space program militari jet test pilot engin train cite prerequisit select astronaut nasa john glenn scott carpent mercuri univers degre engin disciplin time select select initi limit militari pilot nasa english nasa retriev octob nolen stephani promis moon untold stori women space race toronto penguin canada page earliest astronaut america russia tend jet fighter pilot test pilot select nasa astronaut month train varieti area includ train extra-vehicular activ facil nasa neutral buoyanc laboratori experi short period weightless aircraft call vomit comet nicknam pair modifi kc- retir replac perform parabol flight astronaut requir accumul number flight hour high-perform jet aircraft jet aircraft ellington field due proxim johnson space center ellington field shuttl train aircraft maintain develop flight aircraft edward air forc base nasa candidaci requir citizen unit state nasa english nasa retriev octob pass strict physic examin distant visual acuiti greater uncorrect correct blood pressur sit greater command pilot bachelor degre engin biolog scienc physic scienc mathemat requir graduat degre desir essenti hour fly time jet aircraft experi test pilot desir height ft ft mission specialist bachelor degre engin biolog scienc physic scienc mathemat year relat profession experi applic height ft ft mission specialist educ mission specialist educ lindenberg arnold acaba parabol flight bachelor degre teach experi includ work kindergarten grade level advanc degre requir desir nasa english nasa retriev octob mission specialist educ educ astronaut select nasa educ astronaut joseph acaba richard arnold dorothi nasa english nasa retriev octob nasa english nasa retriev octob barbara morgan select back-up teacher christa mcauliff consid educ astronaut media train mission specialist nasa english nasa retriev octob educ astronaut program successor teacher space program tariq malik english space retriev octob nasa english nasa retriev octob insignia nasa peopl complet astronaut candid train receiv silver lapel pin flown space receiv gold pin astronaut active-duti militari statu receiv special qualif badg astronaut badg particip spaceflight unit state air forc present astronaut badg pilot exce mile km altitud +modest propos prevent children poor peopl ireland burden parent countri make benefici publick commonli refer modest propos satir pamphlet written publish jonathan swift swift suggest essai irish eas econom troubl sell children born poverti food rich gentlemen ladi modern phrase modest propos deriv work detail swift great length support argument includ list prepar style children calcul show financi benefit suggest common method argument essai appeal author know american acquaint london famou psalmanazar nativ island formosa confess formosa swift couch argument then-curr event exploit common prejudic papist point depred england enumer benefit propos swift address object includ depopul ireland litani solut dismiss impract essai wide held greatest exampl sustain ironi histori english languag shock deriv fact portion essai describ plight starv beggar ireland reader unprepar surpris swift solut state young healthi child nurs year delici nourish wholesom food stew roast bake boil doubt equal serv fricasse ragout todai reader unacquaint reput satir work immedi realiz swift propos cannib infanticid longer true swift time educ reader familiar satir horac juven recogn swift essai rule structur latin satir satir element pamphlet understood reader note allus swift attitud landlord grant food proper landlord devour parent titl children swift extend metaphor jibe percept england’ mistreat ireland note kind commod bear export flesh tender consist admit long continu salt countri glad eat nation tradit roman satir swift introduc reform suggest derid man talk expedi tax absente shill pound cloth household furnitur growth manufactur utterli reject materi instrument promot foreign luxuri cure expens pride vaniti idl game women introduc vein parsimoni prudenc temper learn love countri differ lapland inhabit quit animos faction act longer jew murder moment citi cautiou sell countri conscienc teach landlord degre merci tenant lastli put spirit honesti industri skill shop-keep resolut bui nativ good immedi unit cheat exact price measur good brought fair propos deal earnestli invit repeat man talk expedi hath hope hearti sincer attempt put practic swift’ target rhetor modest propos swift’ target public popul critic reluct analyz target swift’ modest propos misread swift’ intent critic wrongli assum modest propos target condit ireland swift’ modest propos true target theori attitud render condit swift’ overarch target modest propos can-do spirit time led peopl devis number illog scheme purportedli solv social econom ill swift insult project fix popul labor issu simpl cure-al solut swift’ modest propos memor sort scheme idea run poor joint-stock respons swift’ modest propos burlesqu project swift’ modest propos vogu earli centuri modest propos target calcul peopl perceiv poor design project pamphlet target reform peopl swift’ modest propos piec swift adopt polit swift’ modest propos prove utter ridicul prove propos dispassion statist critic differ swift’ intent philosophi edmund wilson argu statist logic modest propos compar marx defens crime argu crime take care superflu counter swift satir statist analysi effort enhanc satir spirit bitter mockeri delight calcul swift’ modest propos rhetor charl smith argu swift’ rhetor style persuad reader detest speaker piti irish swift’ specif strategi twofold lewi creat sympathi irish dislik narrat span sentenc vividli rhetor emphasi grind feel emot sole member class smith participatori rhetor swift’ grip detail poverti narrator’ cool approach creat oppos point reader unconsci narrat view melancholi detach subject swift direct rhetor detach lewi swift propos degrad irish languag ordinarili reserv anim lewi argu speaker vocabulari anim lewi describ irish children commodit swift’ rhetor easili turn anim meat meat logic tonnag worth price lewi swift tone highlight absurd propos make argument speaker convent text book approv order argument swift’ time lewi contrast control inconceiv pervers ridicul creat situat reader pervert valu assumpt dilig thought convent man propos pervers lewi swift’ modest propos apolog scholar argu modest larg influenc inspir apolog apolog satir attack earli roman persecut christian swift’ modest propos address anglo-irish situat jame william johnson believ swift major similar situat johnson tertullian modest propos johnson note swift’ obviou affin bold stylist structur similar work modest propos apolog johnson tertullian modest propos structur johnson point central theme cannib eat babi final argument deprav men attempt justifi cruelti accus victim stylist swift share command sarcasm languag agreement johnson donald baker point similar author’ tone ironi baker note uncanni author impli iron subject sacrif children tertullian attack pagan parent swift attack english mistreat irish poor baker tertullian swift modest propos econom modest propos jonathan swift pamphlet modest propos robert articl eaten reader modest propos focus aspect piec voic swift voic propos stress reader pamphlet learn distinguish satir voic jonathan swift appar econom project propos remind reader gap narrator’ mean text’ argument carri mean eaten swift’ propos econom project georg author swift’ modest propos biographi earli georgian pamphlet argu import understand econom swift’ time order fulli understand piec argu critic time focu econom swift’ histor situat modest propos written state modest propos simpli critic condit condit bad swift ironi brilliantli underscor fact eaten understand critic settl year read swift propos hand state benefici reader familiar econom mercantil theori labor centuri england order fulli understand background modest propos explain start industri ag centuri believ rich nation gener faith economi paid worker wage meant worker work eaten mercantilist view child young industri remind import rememb human attitud earlier dai disappear labor regard understand swift’ satir cannibalist propos account idea time human number commod attack maxim rich loui landa present swift’ modest propos critiqu popular unjustifi maxim mercantil eighteenth centuri rich landa modest propos popul swift present dire state ireland show mere popul ireland’ case greater wealth economi landa modest propos popul uncontrol maxim fail account person produc econom polit countri poorer richer swift recogn implic fact make mercantilist philosophi paradox wealth countri base poverti major citizen swift landa argu critic econom maxim address fact england deni irish citizen natur right dehuman view mere commod modern usag modest propos includ literatur program earli modern western satir serv except introduct concept argument languag lend secondari post-secondari essai cours realm english studi modest propos relev piec includ compar global literatur histori cours numer disciplin art human social scienc emul time book modest propos evangel author frank schaeffer emul swift work social conserv polem abort euthanasia futur dystopia advoc recycl abort embryo fetus disabl infant compound intellectu physic physiolog difficulti babi doe rule case major concern pro-lif movement earli view select treatment infant disabl discrimin game orphan feast cartoon network adultswim websit loos base modest propos show sealab refer modest propos charact spark modest propos univers texa monthli opinion paper univers hunter thompson fear loath america brutal odyssei outlaw journalist hundr privat letter written thompson year letter modest propos satir techniqu vietnam war thompson write letter local aspen newspap inform christma ev burn number dog human find napalm protest burn vietnames peopl occur oversea note +alkali metal seri element compris group iupac style period tabl lithium li sodium na potassium rubidium rb caesium cs francium fr hydrogen nomin member group rare exhibit behavior compar alkali metal alkali metal provid exampl group trend properti period tabl character homolog behavior group alkali metal highli reactiv rare element form natur result laboratori store miner oil tarnish easili melt point densiti potassium rubidium possess weak radioact characterist harmless due presenc long durat radioact isotop alkali metal silver-color cesium golden ting soft low-dens metal react readili halogen form ionic salt water form strongli alkalin basic hydroxid element electron outermost shell energet prefer state achiev fill electron shell lose electron form singli charg posit ion cation hydrogen solitari electron top group period tabl consid alkali metal exist natur diatom ga remov singl electron requir consider energi remov outer electron alkali metal halogen addit electron requir fill outermost shell hydrogen atom hydrogen circumst behav halogen form neg hydrid ion binari compound hydrid alkali metal transit metal prepar extrem high pressur core jupit hydrogen metal behav alkali metal metal hydrogen alkali metal lowest ioniz potenti respect period remov singl electron outermost shell stabl inert ga configur ioniz potenti high remov electron speci nobl ga configur difficult seri alkali metal store miner oil note natrium sodium alkali metal famou vigor reaction water reaction increasingli violent move group reaction water alkali metal water alkali metal hydroxid hydrogen ga potassium reaction ammonia alkali metal dissolv liquid ammonia give blue solut paramagnet solut approach satur deep purpl metal solut free electron occupi space sum volum metal ammonia presenc free electron solut good reduc agent good electr conductor easier handl metal substitut solut stabl long period dissolv alkali metal react form amid reaction acceler catalyst iron iii nitrat product sodium amid amid extract convert sodium azid bubbl nitrou oxid ammonia solut trend alkali metal show number trend move group instanc decreas electroneg increas reactiv decreas melt boil point densiti gener increas notabl except potassium dens sodium except francium dens caesium biolog occurr metal lithium essenti biolog function exist extrem tini quantiti umbil cord blood studi blood sampl newborn umbil cord mother time birth subject sampl number test time amount lithium blood previous believ consid non-essenti trace element element need extrem tini amount proper growth lithium medicin double-blind placebo-control two-week long studi conduct group doctor sever depress patient prove lithium kei compon treatment sever depress joff levitt sokolov proven plai role treatment mental disord al record instanc case girl develop condit neurolept malign syndrom antipsychot drug tranquil drug induc state rel calm quickli develop symptom nm quickli hospit doctor began treat disord final stage treatment lithium administ stabil mental function week releas good physic health retain previou diagnosi bipolar disord mental disord encompass period mania depress interspers period normal behavior al sodium potassium common alkali metal element essenti exist life cytoplasm organ fluid water live cell critic everydai cell oper regul chang tsong common sodium salt sodium chlorid tabl salt identifi time contributor hypertens human sharp double-blind two-month studi conduct group elderli adult modestli cut salt intak find cut salt intak blood pressur group salt durat studi find amount salt experienc drop blood pressur mm hg millimet mercuri rubidium requir biolog function unnecessari toxic human studi conduct rubidium level freshwat ecosystem lake eri arctic lake element concentr grow move higher food chain marin food chain collect sampl fish bird plankton conduct test predatori anim small-mouth bass higher rubidium concentr anim commonli consid prei campbel al caesium spell cesium typic biolog system caesium salt caesium chlorid popular medicin supplement counteract effect damag diseas cell bodi ackerman al supplement shown toxic human physiolog caus side effect peopl potenti deadli carefulli ackerman al francium extrem rare element chemic physic properti character extent alkali metal chemistri caesium primarili exot curios world physic moment time ounc francium believ exist earth stabl isotop life minut physic updat work element danger difficult radiochemistri techniqu character chemic properti exist biolog system direct evid assum true due rariti instabl element refer materi campbel linda aaron fisk wang gunter kock derek muir evid biomagnif rubidium freshwat marin food web canadian journal fisheri aquat scienc academ search elit ebsco mcintyr librari eau clair chang tian tsong stochast reson na pump red cell membran nois fluctuat intern confer nois fluctuat american institut physic sokolov stephen russel joff anthoni levitt lithium triiodothyronin augment antidepress canadian journal psychiatri academ search elit ebsco mcintyr librari eau clair bauer brent robert houlihan michael ackerman katya johnson vya acquir long qt syndrom secondari cesium chlorid supplement journal altern complementari medicin academ search elit ebsco mcintyr librari eau clair serpil muge tamar hatic ercan ahmet neurolept malign syndrom adolesc girl clinic toxicolog informa healthcar sharp kelli hypertens fact ed joyc marr clinic journal oncolog nurs academ search elit ebsco mcintyr librari eau clair double-blind randomis trial modest salt restrict older peopl lancet academ search elit ebsco mcintyr librari eau clair trace element transfer mother newborn investig triplet colostrum matern umbil sera european journal clinic nutrit ebsco mcintyr librari eau clair physic updat physic todai june academ search elit ebsco mcintyr librari eau clair visual element group alkali metal visual element royal societi chemistri +specimen typeset font languag william caslon letter founder cyclopaedia alphabet standard set letter basic written symbol roughli repres phonem spoken languag exist system write charact repres word syllabari charact repres syllabl alphabet widespread write system alphabet turn classifi vowel equal conson greek modif conson hindi arab word alphabet middl english late latin alphabetum turn origin ancient greek alpha beta letter greek alphabet letter repres greek borrow borrow semit aleph bet dozen alphabet todai compos line linear write notabl except braill fingerspel mors code linguist definit context term alphabet prototyp refer write system charact graphem repres conson vowel sound complet one-to-on correspond symbol sound graphem abstract entiti physic repres style glyph written entiti form part alphabet includ numer mathemat symbol punctuat human languag commonli written combin logogram repres morphem word syllabari repres syllabl alphabet egyptian hieroglyph chines charact best-known write system predominantli non-alphabet represent non-written languag repres alphabet linguist research non-written languag indigen amerindian languag intern phonet alphabet enabl write sound hear linguist write system mean phonet approxim foreign word nativ charact set mieko april phonolog studi english loan word japanes work paper linguist studi phonolog methodolog english studi phonolog methodolog page eric ed retriev novemb histori middl eastern script specimen proto-sinait script earliest phonem script histori alphabet start ancient egypt bce egyptian write set hieroglyph repres syllabl singl conson languag vowel vowel suppli nativ speaker glyph pronunci guid logogram write grammat inflect transcrib loan word foreign name daniel bright seemingli alphabet natur origin egyptian uniliter system encod egyptian speech daniel bright middl bronz ag appar alphabet system proto-sinait script thought develop central egypt bce semit worker earli write deciph exact natur remain open interpret coulma base letter appear name believ base egyptian hieroglyph script eventu develop proto-canaanit alphabet turn refin phoenician alphabet daniel bright note script mention consid proper alphabet lack charact repres vowel earli alphabet call abjad exist script arab hebrew syriac phoenician major phonem script daniel bright coulma contrast wide write system time cuneiform egyptian hieroglyph contain thousand charact contain dozen distinct letter make script simpl common trader learn advantag phoenician write languag record word phonem script spread phoenician thalassocraci allow script spread mediterranean greec script modifi add vowel give rise true alphabet greek letter repres sound exist greek chang repres vowel mark creation true alphabet presenc vowel conson explicit symbol singl script earli year variant greek alphabet situat caus alphabet evolv european alphabet codex glagolit alphabet mediev bulgaria cuma form carri italian peninsula gave rise varieti alphabet inscrib ital languag latin alphabet spread europ roman expand empir fall roman state alphabet surviv intellectu religi work eventu descend languag latin romanc languag languag europ notabl script elder futhark believ evolv ital alphabet elder futhark gave rise varieti alphabet collect runic alphabet runic alphabet german languag ad late middl ag usag restrict engrav stone jewelri inscript bone wood alphabet replac latin alphabet decor usag rune remain centuri glagolit alphabet script liturg languag church slavon basi cyril alphabet cyril alphabet wide modern alphabet notabl slavic languag languag soviet union variant includ bulgarian russian alphabet glagolit alphabet believ creat saint cyril methodiu cyril alphabet invent bulgarian scholar clement ohrid discipl featur letter borrow influenc greek alphabet hebrew alphabet asian alphabet logograph chines write phonet script exist asia arab alphabet hebrew alphabet syriac alphabet abjad middl east develop arama alphabet write system larg consid true alphabet alphabet script india eastern asia descend brahmi script believ descend arama link controversi script abugida write syllabl individu sound statu alphabet disput zhuyin cell phone korea hangeul alphabet creat deriv mongolian phagspa script turn deriv brahmi script hangeul uniqu alphabet varieti wai letter design sound place articul conscious design govern time situat individu letter syllabl cluster equal dimens chines charact mix script write zhuyin call bopomofo alphabet phonet transcrib mandarin chines mainland china taiwan mainland china todai limit develop form chines shorthand base chines charact earli zhuyin mainstream write system wai similar roman system aid pronunci input method chines charact comput cell phone european alphabet latin cyril adapt languag asia arab wide abjad urdu persian complet alphabet kurdish uyghur type alphabet latin cyril latin cyril greek georgian armenian abjad arab arab latin hebrew arab abugida north indic south indic ethiop thaana canadian syllab logograph syllab pure logograph mix logograph syllabari syllabari limit logograph syllabari term alphabet linguist paleograph wide narrow sens wider sens alphabet script segment phonem level separ glyph individu sound larger unit syllabl word narrow sens scholar distinguish true alphabet type segment script abjad abugida differ treat vowel abjad letter conson leav vowel unexpress abugida vowel diacrit systemat graphic modif conson alphabet narrow sens hand conson vowel written independ letter earliest alphabet wider sens wadi script believ abjad successor phoenician ancestor modern alphabet includ arab greek latin ital alphabet cyril greek alphabet hebrew arama exampl present-dai abjad arab hebrew script true alphabet includ latin cyril korean hangul abugida write tigrinya amhar hindi thai canadian aborigin syllab abugida syllabari impli glyph stand conson modifi rotat repres vowel true syllabari consonant-vowel combin repres separ glyph boundari type segment script clear-cut iraqi kurdish written arab script abjad kurdish write vowel mandatori full letter script true alphabet languag semit abjad mandatori vowel diacrit effect make abugida hand phagspa script mongol empir base close tibetan abugida vowel mark written preced conson diacrit mark short written indic abugida argu linear arrang true alphabet convers vowel mark tigrinya abugida amhar abugida iron origin sourc term abugida complet assimil conson modif longer systemat learn syllabari segment script extrem pahlavi abjad eventu logograph primari classif alphabet reflect treat vowel tonal languag classif base treatment tone name exist distinguish type alphabet disregard tone carri heavi function load somali languag africa america script tone abjad vowel commonli tone diacrit vowel treat abugida case vietnames true alphabet thai abugida thai tone determin primarili choic conson diacrit disambigu pollard script abugida vowel diacrit placement diacrit rel conson modifi tone rare script separ letter tone case hmong zhuang script letter diacrit common tone mark common vowel mark indic abugida zhuyin tone unmark diacrit lack tone indic number letter alphabet small book pahlavi script abjad twelv letter point todai rotoka alphabet twelv letter hawaiian alphabet claim small consist letter includ long vowel rotoka small alphabet phonem repres eleven book pahlavi small letter conflat graphic distinct lost time diacrit develop compens arab script lost distinct letter shape comma-shap letter repres appar simplif pervers script complic pahlavi papyri remain graphic distinct twelv letter lost script longer read sequenc letter word learn logogram egyptian demot largest segment script abugida devanagari written devanagari vedic sanskrit alphabet letter includ visarga mark final aspir special letter letter theoret hindi alphabet repres sanskrit modern vocabulari expand letter letter dot ad repres sound persian english largest abjad sindhi letter largest alphabet narrow sens includ kabardian abkhaz cyril letter slovak latin alphabet script count separ letter spanish ch ll time diacrit slovak largest true alphabet letter graphic independ georgian letter syllabari typic glyph languag brazil requir denot tone rotoka requir glyph logograph system typic number hundr thousand simpl count number distinct symbol import clue natur unknown script clear constitut distinct alphabet french basic alphabet english letter carri addit mark french combin consid addit letter iceland accent letter consid distinct letter alphabet spanish consid separ letter accent vowel adapt latin alphabet augment ligatur english algonquian borrow alphabet thorn english iceland futhark rune modifi exist letter eth english iceland modifi alphabet subset latin alphabet hawaiian italian letter foreign word alphabet order unknown earliest alphabet defin sequenc alphabet todai learn letter time order collat definit order requir dozen ugarit tablet fourteenth centuri bce preserv alphabet sequenc order phoenician continu minor hebrew greek armenian gothic cyril latin southern arabia preserv todai ethiop millard infanc alphabet world archaeolog earli write system page order stabl year brahmic famili alphabet india abandon inherit order base phonolog letter arrang produc mouth organ southeast asia tibet korean hangul japanes kana alphabet histor order abandon runic arab arab retain tradit abjadi order number phoenician letter name letter word begin sound continu samaritan arama syriac hebrew greek abandon arab cyril latin brahmic orthographi spell languag establish gener rule govern associ letter phonem depend languag rule consist perfectli phonolog alphabet phonem letter correspond perfectli direct writer predict spell word pronunci speaker predict pronunci word spell languag evolv independ write system write system borrow languag design degre letter alphabet correspond phonem languag vari greatli languag singl languag languag fail achiev one-to-on correspond letter sound wai languag repres phonem combin letter singl letter two-lett combin call digraph three-lett group call trigraph german s letter phonem ipa dsch rare kabardian phonem languag repres phonem letter combin letter languag spell word unpronounc letter exist histor reason pronunci individu word chang presenc surround word sentenc sandhi dialect languag phonem word languag set symbol rule distinct set vocabulari item japanes hiragana katakana syllabari rule english spell word latin greek origin german vocabulari nation languag gener elect address problem dialect simpli associ alphabet nation standard intern languag wide variat dialect english imposs repres languag variat singl phonet alphabet nation languag finnish regular spell system one-to-on correspond letter phonem strictli speak word finnish languag verb spell mean split word letter closest match verb mean split word syllabl similarli italian verb unknown italian act spell need phonem standard italian repres pronunci predict spell letter pronounc standard spanish pronunci word spell vice versa phonem repres letter consist pronounc french silent letter heavi nasal vowel elis lack correspond spell pronunci rule pronunci consist predict fair degre accuraci extrem languag english spell word simpli memor correspond sound consist english great vowel shift occur orthographi establish english acquir larg number loanword time retain origin spell vari level english gener albeit complex rule predict pronunci spell rule success time rule predict spell pronunci high failur rate english countri written languag undergo spell reform order realign write contemporari spoken languag rang simpl spell word form switch entir write system turkei switch arab alphabet roman alphabet sound speech languag world written small univers phonet alphabet standard intern phonet alphabet +chemistri physic atom number proton number number proton nucleu atom tradition repres symbol atom number uniqu identifi chemic element atom neutral charg atom number equal number electron atom number close relat mass number number proton neutron nucleu atom histori atom number origin signifi element locat period tabl dmitri mendeleev arrang element increas order atom weight group similar chemic properti american institut physic place element strict order atom weight result mismatch iodin tellurium list atom weight appear wrong order fit chemic properti place tabl swap place order fit properti close number tabl atom number number appear relat mass atom discrep show reflect properti anomali sequenc final explain research henri gwyn jeffrei moselei moselei discov strict relationship x-rai diffract spectra element correct locat period tabl led conclus atom number correspond electr charg nucleu charg proton atom number number proton equal number electron proton charg posit electron charg neg chemic properti element specif set chemic properti consequ number proton nucleu charg atom nucleu defin electron configur base principl quantum mechan form element electron shell valenc shell primari factor determin chemic bond behavior element quest element atom number earli element atom number exclud discov synthesi element accomplish bombard target atom heavi element ion sum atom number target ion element equal atom number element creat gener half-lif shorter atom number increas island stabil exist undiscov isotop number proton neutron +human heart lung older edit grai anatomi anatomi greek anatomia ana separ cut cut open branch biologi consider structur live gener term includ human anatomi anim anatomi plant anatomi facet anatomi close relat embryolog compar anatomi compar embryolog retriev march common root evolut anatomi subdivid gross anatomi macroscop anatomi microscop anatomi gross anatomi call topograph anatomi region anatomi studi anatom structur unaid vision microscop anatomi studi minut anatom structur assist microscop includ histolog studi organis tissu cytolog studi cell histori anatomi character time continu develop understand function organ structur bodi method advanc dramat advanc examin anim dissect cadav dead human bodi technolog complex techniqu develop centuri anatomi confus anatom patholog call morbid anatomi histopatholog studi gross microscop appear diseas organ superfici anatomi superfici anatomi surfac anatomi import anatomi studi anatom landmark readili contour surfac bodi knowledg superfici anatomi physician veterinari surgeon gaug posit anatomi deeper structur human anatomi x-rai human chest human anatomi includ gross human anatomi histolog primarili scientif studi morpholog adult human bodi gener student biolog scienc paramed physiotherapist nurs medic student learn gross anatomi microscop anatomi anatom model skeleton textbook diagram photograph lectur tutori studi microscop anatomi histolog aid practic experi examin histolog prepar slide microscop addit medic student gener learn gross anatomi practic experi dissect inspect cadav dead human bodi human anatomi physiolog biochemistri complementari basic medic scienc gener taught medic student year medic school human anatomi taught region system studi anatomi bodili region head chest studi specif system nervou respiratori system major anatomi textbook grai anatomi reorgan system format region format retriev march retriev march line modern teach method work knowledg anatomi requir medic doctor surgeon doctor work diagnost special histopatholog radiolog academ human anatomist emploi univers medic school teach hospit involv teach anatomi research system organ tissu cell branch compar anatomi relat comparison anatom structur gross microscop anim anthropolog anatomi physic anthropolog relat comparison anatomi race human artist anatomi relat anatom studi artist reason +affirm consequ formal fallaci commit reason form argument form invalid rare case argument instanti valid form effect mean argument form give good reason establish conclus premis true affirm consequ deriv premis affirm claus condit premis demonstr invalid argument form counterexampl true premis fals conclus argument form superfici convinc ill sore throat common cold strep throat argument weak note argument affirm consequ valid argument instanti valid form claim express proposit argument trivial valid beg question everydai discours valid case affirm consequ rare typic occur if-then premis claim bicondit argument valid claim premis case valid stem affirm consequ form modu ponen affirm consequ invalid infer defend accept type induct reason infer explan +andrei tarkovski russian april decemb russian film director writer opera director direct featur film twenty-year activ career wide regard import influenti filmmak late centuri attain critic acclaim direct film andrei rublev solari stalker tarkovski work extens screenwrit film editor film theorist theater director direct film soviet union except film produc itali sweden film character christian spiritu metaphys theme extrem long take lack convent dramat structur plot memor imag except beauti biographi childhood earli life tarkovski born villag kostroma provinc child poet translat arseni alexandrovich tarkovski maria ivanova graduat maxim gorki literatur institut sister marina born spent childhood ivanovo provinc marina moskovskii komsomolet retriev novemb father left famili subsequ volunt armi tarkovski stai mother move sister moscow work proofread print press tarkovski enrol moscow school war tarkovski mother sister marina evacu live matern grandmoth famili return moscow tarkovski continu studi school poet andrei voznesenski classmat learn piano music school attend class art school famili live street zamoskvorechy district moscow novemb spring hospit tuberculosi theme childhood evacu mother children withdrawn father time hospit featur promin film mirror high school graduat tarkovski studi arab orient institut moscow branch academi scienc ussr finish studi drop work academi scienc institut non-ferr metal gold prospector particip year-long research expedit river turukhansk krasnoyarsk provinc time taiga tarkovski decid studi film film school student return research expedit tarkovski appli state institut cinematographi vgik admit class irma raush marri april komsomolskaya pravda april retriev novemb andrei tarkovski killer earli khrushchev era offer uniqu opportun young film director annual film product film direct veteran director film produc young director khrushchev thaw open soviet societi allow degre western literatur film music allow film italian neorealist french wave director kurosawa buñuel bergman bresson mizoguchi tarkovski absorb idea auteur condit creativ teacher mentor mikhail romm taught film student famou influenti film director tarkovski direct student short film killer short stori ernest hemingwai short film leav todai screenplai concentr year vgik tarkovski met andrei konchalovski common film director share idea cinema film wrote script antarctica distant countri publish moskovskii komsomolet tarkovski submit script lenfilm reject success script steamrol violin sold mosfilm film diploma film earn diploma win prize york student film festiv film career soviet union tarkovski featur film ivan childhood inherit film director eduard abort project film earn intern acclaim won golden lion award venic film festiv year septemb son arseni call senka tarkovski diari tarkovski born direct film andrei rublev life andrei rublev centuri russian icon painter andrei rublev immedi releas complet due problem soviet author tarkovski cut film time result version vari length version film present cann film festiv won fipresci prize film offici releas soviet union cut version divorc wife irma raush year marri larissa née product assist film andrei rublev son andrei tarkovski born year august andrei tarkovski set stalker complet film solari adapt solari stanisław lem work project screenwrit fridrikh earli film present cann film festiv won grand prix spécial du juri fipresci prize nomin palm d'or shot film mirror highli autobiograph film draw childhood experi incorpor father poem tarkovski work screenplai film consecut titl confess white dai white white dai begin film receiv soviet author due content perceiv elitist natur difficulti tarkovski toi idea produc film soviet film industri tarkovski andrei translat kitti hunter-blair time time diari calcutta seagul book tarkovski work screenplai german writer poet hoffmann decemb direct hamlet stage plai theatr moscow main role plai anatoli act tarkovski film wrote screenplai writer aleksandr film tarkovski direct soviet union stalker inspir roadsid picnic arkadi bori strugatski work film began product mire troubl improp develop neg ruin exterior shot tarkovski relationship cinematograph georgi rerberg deterior point tarkovski hire alexand cinematograph tarkovski suffer heart attack april result delai film complet won prize ecumen juri cann film festiv film career soviet union summer tarkovski travel itali shot documentari voyag time longtim friend tonino guerra return itali extend trip tonino guerra complet script film nostalghia travel unit kingdom sweden trip sweden consid defect soviet union ultim decid return wife son tarkovski return itali start shoot nostalghia home countri mosfilm withdrew project complet film financi support italian rai tarkovski complet film nostalghia present cann film festiv won grand prix spécial du juri fipresci prize prize ecumen juri soviet author prevent film win palm d'or fact harden tarkovski resolv work soviet union year arrang opera bori godunov royal opera hous london music direct claudio abbado andrei larissa tarkovski grave sainte-geneviève-des-boi russian cemeteri franc spend prepar film sacrific press confer milano juli announc return soviet union remain west time son andrei soviet union allow leav countri shot film sacrific sweden year diagnos termin lung cancer januari began treatment pari join wife son final allow leav soviet union sacrific present cann film festiv receiv grand prix spécial du juri fipresci prize prize ecumen juri tarkovski unabl attend due ill prize collect son andrei tarkovski regular diari shortli death entri decemb word strength left problem diari martyrolog publish posthum english tarkovski di decemb pari ag buri januari sainte-geneviève-des-boi russian cemeteri sainte-geneviève-des-boi franc inscript grave stone creat russian sculptor ernst neizvestni read man angel work work tarkovski director film career direct featur film short film time film school wrote screenplai direct stage plai hamlet moscow opera bori godunov london direct radio product short stori turnabout william faulkner wrote sculpt time book film theori tarkovski featur film ivan childhood direct soviet union andrei rublev solari mirror stalker documentari voyag time produc itali nostalghia film sacrific produc sweden tarkovski person involv write screenplai film co-writ tarkovski director realiz screenplai involv creation screenplai mere illustr result dead monoton film tarkovski andrei iskusstvo kino retriev januari jerzi leonard re publica influenc tarkovski film director mid late period soviet societi open foreign film literatur music allow film european american japanes director experi influenc film make teacher mentor film school mikhail romm allow student consider freedom emphas independ film director tarkovski fellow student film school fascin japanes film amaz charact screen except everydai event samurai cut bread sword elev special put limelight t translat sergei moscow progress publish tarkovski told film historian leonid kozlov ten favorit film list includ diari countri priest mouchett robert bresson winter light wild strawberri persona ingmar bergman lui buñuel citi light charli chaplin ugetsu kenji mizoguchi samurai akira kurosawa woman dune hiroshi teshigahara favorit director lui buñuel kenji mizoguchi ingmar bergman robert bresson akira kurosawa michelangelo antonioni jean vigo carl theodor dreyer lasica tom march sight sound retriev decemb except citi light list film director earli silent era reason tarkovski film art phenomenon earli film-mak form prelud list film director tarkovski nativ russia rate soviet director bori barnet alexand dovzhenko highli cinemat style andrei tarkovski work tarkovski film characteris christian metaphys theme extrem long take memor imag except beauti recur motif film dream memori childhood run water accompani fire rain indoor reflect levit charact re-appear foreground long pan movement camera tarkovski includ levit scene film notabl solari scene possess great power photogen magic inexplic de brant charl june la franc catholiqu retriev water photogen beauti form brook run water swedish film institut press releas retriev januari tarkovski develop theori cinema call sculpt time meant uniqu characterist cinema medium experi time alter unedit movi footag transcrib time real time long take cut film aim give viewer sens time pass time lost relationship moment time includ film mirror tarkovski focus cinemat work explor theori mirror announc focu work explor dramat uniti propos aristotl concentr action happen place span singl dai tarkovski film shot color black white includ andrei rublev featur epilogu color solari mirror featur black white sequenc interview conduct shortli finish andrei rublev tarkovski dismiss color film commerci gimmick doubt contemporari film meaningfulli color claim everydai life conscious notic color time film color emphas moment time distract viewer film color move paint photograph beauti realist depict life maria decemb screen retriev januari award honor recognit numer award bestow tarkovski lifetim venic film festiv award golden lion cann film festiv won time fipresci prize prize ecumen juri grand prix spécial du juri nomin palm d'or time british academi film televis art award bafta award foreign languag film sacrific influenc glasnost perestroika tarkovski final recogn soviet union fall shortli death retrospect film moscow death entir issu film magazin iskusstvo kino devot tarkovski obituari film committe council minist ussr union soviet film maker express sorrow tarkovski spend year life exil obituari literaturnaya gazeta januari posthum award ussr state prize lenin prize highest state honor soviet union andrei tarkovski memori prize establish recipi russian anim yurii norshteyn moscow intern film festiv award annual andrei tarkovski award andrei tarkovski museum open childhood town retriev novemb minor planet discov soviet astronom lyudmila georgievna karachkina name schmadel lutz springer tarkovski subject documentari notabl documentari moscow elegi russian film director alexand sokurov sokurov work heavili influenc tarkovski film consist narrat stock footag tarkovski film direct andrei tarkovski documentari film michal editor film sacrific film director chri marker produc televis documentari dai life andrei homag andrei tarkovski retriev januari +wiktionari ambigu wiktionari free dictionari ambigu properti ambigu word term notat sign symbol phrase sentenc form commun call ambigu interpret ambigu distinct vagu aris boundari mean indistinct ambigu context-depend commun ambigu context unambigu context word ambigu typic refer unclear choic definit dictionari sentenc ambigu due wai pars sequenc word linguist form lexic ambigu aris context insuffici determin sens singl word mean word distinct definit includ river deposit bank peopl shovel dig mud word run ambigu definit lexicon biweekli fortnightli week time year week time year state specif context meet schedul disambigu biweekli peopl word avoid altogeth user gener wast time effort attent span defin meant word requir author speaker clarifi context elabor specif intend mean case ambigu term goal clear concis commun receiv misunderstand meant convei except includ politician wiggl word obfusc gain support multipl constitu polit mutual exclus conflict desir candid choic ambigu power tool polit scienc problemat word sens express closely-rel concept that’ good hammer she’ good student good soup good person lesson learn stori righteou good clear sens intend wai appli prefix suffix creat ambigu syntact ambigu aris sentenc pars at cooki couch at cooki couch oppos tabl sit couch at cooki spoken languag type ambigu compos set sound word scream ambigu gener resolv base context mishear base ambigu call mondegreen semant ambigu aris word concept inher diffus mean base widespread inform usag case idiomat express definit rare well-defin present context larger argument invit conclus automobil test drive claus present statement wide interpret essenti meaningless lexic ambigu contrast semant ambigu repres choic finit number meaning context-depend interpret repres choic number interpret standard agreed-upon mean form ambigu close relat vagu ambigu translat semant ambigu reveal funni form translat languag multipl translat languag languag languag languag result run word run flesh file archiev provid rich file ambigu imagin sound sentenc electr railroad nake conductor run wagon non-complet overlap mean word languag rule except ambigu main difficulti automat translat gener correct translat semant context imposs intent applic ambigu philosoph user logic spend lot time effort search remov intention ad ambigu argument lead incorrect conclus deliber conceal bad argument politician oppos tax hinder econom growth oppos tax gener hinder econom growth oppos tax believ hinder econom growth write correct insert omiss comma reduc ambigu mean properli place restructur sentenc complet elimin misinterpret deviou politician hope constitu polit interpret statement desir politician support opinion true oppon turn posit statement bad speaker ambigu intention logic fallaci equivoc reli heavili ambigu word phrase literatur rhetor hand ambigu tool groucho marx’ classic joke depend grammat ambigu humor night shot eleph pajama pajama i’ll ambigu comic devic genuin intent confus magic gather unhing ambigu pun homophon run-on player plai spell counter spell plai player plai spell plai counter player counter spell plai put addit counter perman plai counter song poetri reli ambigu word artist effect song titl brown ey refer color sad narr ambigu introduc wai motiv plot charact scott fitzgerald type ambigu notabl effect great gatsbi religion debat orthodoxi heterodoxi ambigu christian judaism emploi concept paradox synonym ambigu christian religion resist conserv fundamentalist regard concept equat non-fundamentalist christian jew endors rudolf otto descript sacr awe-inspir mysteri fascin human ambigu abbrevi jargon abbrevi form richest sourc ambigu list classic abbrevi complet au atom unit astronom unit arbitrari unit american univers lot simpl transmut letter univers arizona km arizona state univers unit airlin unidad administrativa spanish cryptic acronym spell word mean rental updat notif research unit network resourc util number run mean common word run acronym gener avoid ibm tla context acronym finder definit ibm abbrevi innoc languag exxon profan interpret languag street jargon true abbrevi construct lowercas word case web url person defin interpret ambigu abbrevi care abbrevi distinct ambigu interpret exampl led link lead list sexual offend fact mean find therapist state california automat filter link refer editori publish materi system manag condemn investig intent access url refer adult materi fail check site research humor statement tla ambigu tla two-lett acronym three-lett acronym true uniqu airport code teller alaska tla ambigu airplan navig system databas metonymi involv subcompon part abbrevi jargon object wheel refer car flower refer beauti offspr entir plant collect bloom plant modern vocabulari critic semiot metonymi encompass word substitut base contextu contigu locat close function process object perform sweet ride refer nice car metonym miscommun consid primari mechan linguist humour veal toni metaphor metonymi cognit linguist humor ambigu led expens deadli mistak disambigu enterpris miscommun enterpris model ambigu occur wai autonom depart mean word point view view databas model-view-control level abstract context-specif detail homonym you'r spell checker misinterpret ambigu contract improp usag voic dictat system requir sophist algorithm user-specif usag custom prefer mistak concept object process synonym name enterpris industri govern type ambigu compound common department abbrevi jargon acronym context-specif familiar abbrevi acceler commun well-known context depart increas critic enterpris miscommun depart enterpris architectur glossari disambigu miscommun context import definit possibl hyperlink document name system process form internet intranet easier enterpris commun qualiti enterpris applic integr inter-department metadata manag improv greatli enterpris disambigu glossari act search engin improv reus concept glossari reduc redund reinvent wheel cut cost improv qualiti consist product document exist ambigu encourag peopl stop coin term ambigu run elimin piec intern document develop uniqu context-specif glossari attach save time effort redund inconsist volumin inform storag space public fee access time transport cost psycholog manag increas amount research concentr peopl react respond ambigu uncertain situat focus ambigu toler number correl individual’ reaction toler ambigu rang factor apter motiv style everydai life guid revers theori apter ed apa book strong correl attribut factor greater prefer safe oppos risk base sport prefer endur type activ oppos explos activ organis casual lifestyl greater care precis descript sensit emot unpleas word acut sens humour engag smaller varieti sexual practic risk comfort colleagu likelihood drug pornographi drink greater likelihood displai obsession behaviour field leadership wilkinson wilkinson ambigu advantag great leader great york palgrav macmillan strong correl individu leader reaction ambigu situat mode leadership type creativ kirton ref kirton context divers chang routledg relat ambigu music music piec section confound expect interpret simultan wai ambigu polyton polymet ambigu meter rhythm ambigu phrase stein aspect music music africa purpos ambigu quot sir donald franci tovei apt vex vain effort remov uncertainti high aesthet ambigu law ambigu law kind patent latent patent ambigu ambigu appar face instrument perus unacquaint circumst parti case patent ambigu parol evid admiss explain written intend write saunderson piper bill figur word pound evid forty-f omit mistak reject appear gener context instrument parti meant instrument constru ambigu say sele case io mod grantor omit oper part grant clear part grant deed held valid latent ambigu word instrument face clear intellig time appli equal subject matter legaci nephew john testat shown nephew latent ambigu explain parol evid ambigu brought circumst extran instrument explan necessarili sought circumst construct languag languag creat intent avoid ambigu lexic ambigu lojban loglan relat languag creat mind languag spoken written languag intend provid greater technic precis natur languag histor attempt languag improv critic languag compos divers sourc ambigu except syntax semant rule time-consum difficult learn ambigu mathemat physic mathemat notat wide physic scienc avoid ambigu compar express natur languag reason lexic syntact semant ambigu remain ambigu concept argument concept mathemat function term argument independ variabl depend variabl function argument deal complex number represent real number call real part imaginari part real number call amplitud phase call modulu argument scientif literatur algorithm languag notat arg argument argument refer caus confus ambigu name function ambigu style write function confus multivalu function defin determinist unambigu special function establish notat convers notat requr scale argument result function caus confus exampl function sinc function ellipt integr kind translat ellipt integr form mapl mathematica replac argument squar deal complex valu problem exponenti integr stegun handbook mathemat function page hermit polynomi stegun handbook mathemat function page ambigu express ambigu physic mathemat text common practic omit multipl sign mathemat express common give variabl function see distinguish multipli function evalu argument equal case notat reader suppos perform deduct reveal true mean creator algorithm languag avoid ambigu algorithm languag matlab fortran mapl requir charact symbol multipl languag mathematica user omit multipl symbol requir squar bracket argument function squar bracket allow group express fortran addit identifi object function variabl express qualifi error order oper depend context program languag oper divis multipl equal prioriti execut left centuri editori assum multipl perform interpret case insert parenthes requir translat formula algorithm languag addit common write argument function parenthesi lead ambigu ital letter denot elementari function scientif journal style express mean product variabl slideshow comma subscript superscript omit ambigu notat written reader guess context object evalu subscript equal product variabl indic tensor write writer stretch space reduc public fee aim increas number public reader appli ambigu notat exampl potenti confus ambigu mathemat express understood convent mean thought mean arguabl commonli understood ambigu notat quantum optic quantum mechan common defin coher state quantum optic state fix number photon unwritten rule state coher greek charact latin charact argument photon state latin charact domin ambigu wors state coordin mean state momentum book quantum mechan ambigu easi lead confus normal dimensionless variabl exampl ambigu term physic physic quantiti establish notat dimens case einstein coeffici depend system notat highli confus term gain sentenc gain system doubl context mean close ratio output voltag electr circuit input voltag doubl ratio output power electr optic circuit input power doubl gain laser medium doubl doubl popul upper laser level level system assum neglig absorpt ground-stat confus relat atom percent measur concentr dopant resolut imag system measur size smallest detail resolv background statist nois accuraci precis talk term ambigu ambigu term preced definit suitabl specif case berri paradox aris result systemat ambigu formul berri paradox read number nameabl eleven syllabl term nameabl systemat ambigu term kind give rise viciou circl fallaci term type ambigu satisfi defin true fals function properti class relat cardin ordin russel whitehead principia mathematica pedagog ambigu express ambigu pedagog trick forc student reproduc deduct textbook haug koch quantum theori optic electron properti semiconductor give function fourier transform rigor speak express requir function function express written assum shape function norm depend charact denot argument greek letter assum fourier transform function function assum express argument charact charact function assum case express symbol equal amount ambigu avoid deduct ambigu citat scientif journal requir refer mark exponenti function number partial laser exce guess refer kouznetsov bisson shirakawa ueda optic review state practic laser combin laser osa journal improv style avoid ambigu cite squar parenthes +wiktionari anim wiktionari free dictionari anim taxonom member kingdom animalia anim refer argentinian heavi metal band anim british rock band anim album concept album pink floyd anim song song anim film star rob schneider anim video game video game anim charact muppet show georg anim steel profession wrestler road warrior anim nicknam profession wrestler joseph laurina anim nicknam profession wrestler david batista anim imag process interact softwar environ imag process anim cloth brand surf equip cloth anim book full titl anim definit visual guid world wildlif non-fict book david burni co-author anim nicknam takeshi castl regular charact plai japanes american basebal player brad leslei animalia animalia book children book australian author graem base +aardvark orycteropu afer dig foot medium-s burrow nocturn mammal nativ africa aardvark encyclopaedia britannica call anteat cape anteat cape good hope earth hog earth pig afrikaan dutch earth pig aard earth pig earli settler europ thought resembl pig aardvark close relat pig sole repres obscur mammalian order tubulidentata consid form singl variabl speci genu orycteropu coextens famili orycteropodida aardvark close relat south american anteat share characterist superfici resembl closest live rel aardvark eleph shrew sirenian hyrax tenrec eleph descript distinct characterist tubulidentata impli teeth pulp caviti tooth cluster thin upright parallel tube modifi form dentin individu pulp canal held cementum teeth enamel coat worn regrow continu aardvark born convent incisor canin front jaw fall replac adult aardvark cheek teeth jaw dental formula genet speak aardvark live fossil chromosom highli conserv reflect earli eutherian arrang diverg major modern mammalian taxa bbc new natur januari retriev januari aardvark draw aardvark vagu pig-lik bodi stout arch spars cover coars hair limb moder length front feet lost pollex result toe rear feet toe toe bear larg robust nail flatten shovel-lik appear intermedi claw hoof ear disproportion long tail thick base gradual taper greatli elong head set short thick neck snout bear disc hous nostril mouth small tubular typic speci feed termit aardvark long thin snakelik protrud tongu elabor structur support keen sens smell aardvark weight typic kg aardvark length meter reach length meter tail centimet account aardvark pale yellowish grai color stain reddish-brown soil aardvark coat thin anim primari protect tough skin aardvark sleep excav ant nest serv protect number aardvark doubl behavior aardvark nocturn solitari creatur feed exclus ant termit fruit eaten aardvark aardvark cucumb aardvark emerg burrow late afternoon shortli sunset forag consider home rang encompass kilomet swing long nose side side pick scent food concentr ant termit detect aardvark dig power front leg keep long ear upright listen predat take astonish number insect long sticki tongu night record exception fast digger move slowli claw enabl dig extrem hard crust termit ant mound quickli avoid dust seal nostril success aardvark long long centimet tongu lick insect bite sting attack render futil tough skin keen hear warn predat lion leopard hyena python dig ant termit aardvark excav burrow live temporari site scatter home rang refug main burrow breed main burrow deep extens entranc long meter van aard rudi macdonald encyclopedia mammal york fact file aardvark layout home burrow regularli time time move burrow inhabit smaller anim african wild dog mother young share burrow attack tunnel seal tunnel turn attack claw aardvark pair breed season gestat period month singl cub weigh kg born leav burrow accompani mother week eat termit week wean week month ag dig burrow remain mother mate season sexual capabl season aardvark live year captiv aardvark main predat lion leopard hunt dog python aardvark dig fast run zigzag fashion elud enemi fail strike claw tail shoulder flip back lash four thick skin protect extent habitat aardvark live subsaharan africa suitabl habitat live savanna grassland woodland bushland food ant termit african wildlif foundat retriev januari mytholog african folklor aardvark admir dilig quest food fearless respons soldier ant hausa magician charm heart skin forehead nail aardvark proce pound root tree wrap piec skin worn chest charm give owner abil pass wall roof night charm burglar seek visit young girl parent permiss retriev januari +aardwolf protel cristatu small insectivor hyena-lik mammal nativ eastern southern africa mean earth wolf afrikaan dutch aardwolf protel cristatu encyclopaedia britannica encyclopaedia britannica onlin call hyena subfamili diet aardwolf complet consist termit insect larva carrion wildlif fact file imp publish group card aardwolf surviv speci subfamili geograph separ subspeci recogn protel cristatu cristatu southern africa protel cristatu septentrionali eastern northeastern africa encyclopædia britannica hyaenida separ famili physic characterist aardwolf stripe hyena significantli smaller point muzzl sharper ear listen harvest termit black vertic stripe coat yellowish fur long distinct mane middl line neck rais confront aardwolf size bigger cm long exclud bushi cm tail stand cm shoulder weigh kg front feet toe teeth skull similar hyena cheek teeth specialis eat insect tongu lick aardwolf ag lose teeth impact feed habit due soft natur insect consum gland rear secret muski fluid mark territori commun distribut habitat aardwolf live open dry plain bushland avoid mountain area due specif food requir anim region termit famili occur termit famili depend dead wither grass popul heavili graze grassland savanna includ farmland year spend time share territori consist dozen den occupi week time distinct popul southern africa east northeast africa speci occur intermediari miombo forest behavior aardwolf zoo san antonio texa shy nocturn sleep underground burrow dai exist burrow aardvark world porcupin springhar capabl creat night aardwolf consum harvest termit sticki long tongu special care destroi termit mound consum entir coloni ensur termit rebuild provid continu suppli food memoris return nest save troubl find feed insect larva egg occasion small mammal bird hyena scaveng kill larger anim aardwolf primarili solitari male mate pair occupi territori young young gener achiev sexual matur year breed season vari depend locat take place autumn spring breed season male search territori femal mate result conflict male wander territori gestat last dai produc cub raini season termit activ week spent den mother month supervis forag month independ den mother breed season achiev lifespan year captiv interact human aardwolf advantag develop agricultur contin consid anim farmer area aardwolf hunt fur encount dog threat protel cristatu illustr protel cristatu +renew surfac coat adob wall chamis mexico detail adob kiln arizona adob natur build materi mix sand clai straw dung fibrou materi shape brick frame dri sun similar cob mudbrick adob structur extrem durabl account oldest extant build planet adob build offer signific advantag hot dry climat remain cooler adob store releas heat slowli build sun-dri earth common middl east north africa south america spain mudéjar style adob indigen peopl america southwestern unit state mesoamerica andean region south america thousand year substanti amount stone wall pueblo build method brickmak import spain centuri spaniard travel mexico peru distinct smaller adob size ordinari bake brick larger yard long etymolog word adob year chang pronunci mean word trace middl egyptian bc word mud sun-dri brick middl egyptian evolv late egyptian demot final coptic bc tobe mud brick evolv arab al tub brick mud brick assimil spanish adob mean mud brick english borrow word spanish earli centuri modern usag term adob style architectur popular desert climat north america mexico compar stucco composit adob adob brick clai mix water organ materi straw anim dung soil composit typic clai sand straw bind brick allow brick dry evenli dung offer advantag ad repel insect mixtur roughli sand one-third clai one-sixth straw adob brick adob brick construct site kyrgyzstan brick open frame cm inch cm inch reason size conveni size accept mixtur mold frame frame remov quickli dry hour brick turn edg finish dry slow dry shade reduc crack mixtur brick straw mortar plaster interior exterior wall ancient cultur cement plaster protect rain damag thick prefer partial due thermal capabl partial due stabil thicker brick standard size brick depend form mixtur press adob encompass shape size dry time mixtur includ reinforc larger brick reinforc includ manur straw cement rebar wooden post experi shown straw cement manur ad standard adob mixtur produc strong brick gener test soil content sampl soil mix clear contain water creat complet satur liquid jar seal contain shaken vigor minut allow sit flat surfac soil sediment collect bottom remain blend liquid sediment collect bottom high clai content good adob mixtur remain liquid clai soil yield weak brick largest structur adob brick bam citadel suffer damag earthquak decemb larg adob structur huaca del sol peru million sign brick chan chan tambo colorado peru thermal properti adob wall serv signific heat reservoir south-fac northern hemispher adob wall left uninsul moder heat cool ideal thick remain cool heat dai thin transfer heat wall even exterior wall cover glass increas heat collect passiv solar home call tromb wall adob dens thermal mass tropic climat temper climat effect heat structur due heat leach ground wall adob wall construct citadel bam world largest adob structur date bce citadel bam world largest adob structur date bce build adob structur ground compress weight adob brick significantli greater frame hous crack wall foot dug compress foot depth depend region ground frost level foot stem wall commonli larger frame hous weight wall adob brick laid laid length wall overlap corner layer adob mortar adob wall rise stori they'r load bear structur strength place window door open lintel top open support brick cours brick bond beam laid top brick provid horizont bear plate roof distribut weight evenli wall protect interior exterior adob wall finish appli mud plaster whitewash stucco finish protect adob wall water damag reappli period wall finish nontradit plaster provid longer protect adob roof tradit adob roof gener construct mixtur soil clai water sand organ materi mixtur form press wood form produc row dri earth brick laid support structur wood plaster place adob deeper understand adob examin cob build cob close cousin adob proport amount soil clai water manur straw blend form adob cob spread pile frame allow air dry month habit adob dri brick cob stack mortar adob mixtur creat thick wall roof roof materi depend materi roof assembl length wood metal creat frame work layer adob brick depend thick adob brick frame work perform steel frame layer metal fenc wire framework load mass adob spread metal fenc cob allow air dry method demonstr adob blend heavili impregn cement dry prevent major crack tradit adob roof tradit adob roof flatter familiar steep roof nativ climat yield sun heat mass amount snow rain find precipit roof moistur foe composit mud organ matter introduct cement common ward undu water damag turn sens requir construct adob begun locat structur similar climat natur hot arid climat cool moist climat moistur precaut plan rais tradit adob roof rais flatten adob roof beam wood metal assembl span extent build end beam fix top wall builder’ prefer choic attach account materi beam wall choos attach prove difficult combin brick adob mortar laid beam creat load-bear pressur year depend attrit beam laid build time place adob brick creat roof adob roof laid brick slightli larger width ensur larger expans cover place brick beam wider shape futur homeown thermal protect stabil temperatur year individu brick layer adob mortar recommend inch thick ampl strength edg provid rel moistur barrier season arid climat produc rain attribut adob roof inher fire-proof attribut receiv fireplac lit cold night depend materi featur lead homeown builder think instal chimnei feat regard necess adob build construct chimnei greatli influenc construct roof support creat extra care choos materi adob chimnei simpl adob brick stack similar fashion surround wall basic outlin locat perimet hearth mind safeti element common fireplac stack mortar wall pre-mad adob brick cut size world product todai romania danub delta mix mud straw brick frame commun effort frame remov dry adob brick hous construct kyrgyzstan +adventur activ compris riski danger uncertain experi term popularli refer physic activ potenti danger skydiv mountain climb extrem sport term broad refer enterpris potenti fraught risk busi ventur major life undertak adventur person base lifestyl fortun adventur act adventur experi creat psycholog physiolog arous interpret neg fear posit flow detriment law peopl adventur major pursuit adventur activ typic undertaken purpos recreat excit multi-sport adventur race travel adventur tourism adventur activ lead gain knowledg case numer pioneer explor chart earth time travel space moon modern adventur educ challeng experi learn adventur describ unusu experi particip excit undertak adventur action involv riski undertak action outcom addit adventur illustr chanc adventur opinion +agav succul plant larg botan genu belong famili agavacea descript chiefli mexican agav occur southern western unit state central tropic south america plant larg rosett thick fleshi leav gener sharp point spini margin stout stem short leav appar spring root plant relat genu yucca agav speci popular ornament plant rosett monocarp grow slowli flower flower tall stem mast grow center leaf rosett bear larg number shortli tubular flower develop fruit origin plant di sucker frequent produc base stem plant common misconcept agav cacti agav close relat lili amarylli famili relat cacti agav speci food plant larva lepidoptera speci includ batrachedra striolata record commonli grown speci commonli grown speci includ agav americana agav angustifolia blue agav agav agav attenuata agav americana familiar speci agav americana nativ tropic america common name includ centuri plant maguei mexico american alo close relat genu alo centuri plant refer long time plant take flower number year flower occur depend vigor individu rich soil climat year plant store fleshi leav nourish requir effort flower agav americana centuri plant introduc europ middl centuri wide cultiv handsom appear varieg form leaf white yellow margin central stripe base apex leav unfold center rosett impress margin spine conspicu erect younger leav tequ plant grown tub put summer month winter requir protect frost matur slowli die flower easili propag offset base stem agav attenuata attenuata nativ central mexico uncommon natur habitat speci agav attenuata curv flower spike deriv numer common name foxtail agav attenuata commonli grown garden plant agav attenuata teeth termin spine make ideal plant area adjac footpath agav attenuata succul requir water mainten establish larg flower spike agav chiapensi major part agav edibl flower leav stalk basal rosett sap call water davidson agav plant produc pound edibl flower summer leav collect winter spring plant rich sap eat stalk readi summer blossom weigh pound roast sweet molass develop infloresc rush sap base young flower stalk case americana speci mexico mesoamerica product beverag pulqu flower shoot cut sap collect subsequ ferment distil spirit call mezcal prepar well-known form mezcal tequila mexican govern european union agre classif tequila categori blue agav tequila weber blue agav plant rigor specif mexican state leav speci yield fiber instanc agav rigida var sisal hemp agav decipien fals sisal hemp agav americana sourc pita fiber fiber plant mexico west indi southern europ dri cut slice flower stem form natur razor strop express juic leav lather water soap nativ mexico agav pen nail needl string sew weav india plant extens hedg railroad agav syrup call agav nectar altern sugar cook dri stalk didgeridoo ethnomed leaf tea tinctur oral treat constip excess ga diuret root tea tinctur oral treat arthrit joint warn juic speci agav acut contact dermat produc redden blister last week episod itch recur year longer visibl rash irrit part caus calcium oxal dri part plant handl bare hand effect taxonomi agav genu famili agavacea order asparagal agav classifi liliacea refer includ famili agavacea genu agav divid subgenera agav agav long present special difficulti taxonomi variat speci consider number name speci unknown origin variant origin wild speci spanish portugues explor brought agav plant europ plant popular europ centuri type import collector continu propag offset consist resembl speci wild simpli due differ grow condit europ imag agav speci cultivar agav americana var agav americana var agav americana cv agav angustifolia agav attenuata agav bracteosa spider agav agav deserti agav ferox agav filifera agav horrida agav ssp agav lechuguilla agav palmeri agav parryi agav agav cv agav schidigera cv agav agav sisal agav stricta agav tequila agav agav utahensi agav agav agav wislizeni syn agav speci speci agav list agav speci +imag padlock-silver-medium svg asia world map show locat asia two-point equidist project asia asia world largest popul contin cover earth total surfac area land area billion peopl world current human popul chiefli eastern northern hemispher asia tradition defin part landmass eurasia western portion occupi europ ly east suez canal east ural mountain south caucasu mountain caspian black sea bound east pacif ocean south indian ocean north arctic ocean russia consid transcontinent countri turkei georgia azerbaijan kazakhstan includ territori asia europ size divers asia toponym date classic antiqu cultur concept incorpor number region peopl homogen physic entiti encyclopædia britannica chicago encyclopædia britannica mcgraw-hil encyclopedia scienc technolog york mcgraw-hil subregion asia asian peopl etymolog wiktionari asia wiktionari free dictionari word asia origin ancient greek word attribut herodotu bc refer anatolia purpos describ persian war persian empir contrast greec egypt herodotu comment puzzl women name describ enorm land mass europa asia libya refer africa state greek assum asia name wife prometheu lydian name asia son coti pass tribe sardi herodotu homer knew trojan alli name asio describ marsh iliad greek term deriv assuwa centuri bc confeder state western anatolia hittit good element altern ultim etymolog term akkadian word mean ascend refer direct sun sunris middl east connect phoenician word asa mean east contrast similar etymolog propos europ akkadian enter set sun etymolog consid doubt explain term asia anatolia semitic-speak area refer viewpoint phoenician sailor sail strait mediterranean sea black sea interest note iceland saga ancient teuton separ asia europ river flow black sea eastward river asia legend tell land dwelt odin chief god citadel name asgard rydberg viktor teuton mytholog god goddess northland london societi aesir form relat sanskrit asura avestan ahura local reflex class divin be definit boundari physic map asia exclud southwest asia mediev european consid asia contin distinct landmass european concept contin world classic antiqu middl ag notabl due isidor sevilla map demarc asia africa southwest isthmu suez red sea boundari asia europ convention consid run dardanel sea marmara bosporu black sea caucasu mountain caspian sea ural river sourc ural mountain kara sea kara russia interpret tripartit contin asia europ africa remain common modern discoveri extent africa asia definit anachronist true case asia region consid distinct landmass criteria southern asia eastern asia northeast asia siberia separ north america bere strait asia bound south indian ocean specif west east gulf aden arabian sea bai bengal east water pacif ocean includ counterclockwis south china sea east china sea yellow sea sea japan sea okhotsk bere sea north arctic ocean australia oceania southeast geograph asia europ separ contin msn encarta encyclopedia logic physic separ physiograph asia major eastern constitu contin eurasia europ northwestern peninsula landmass afro-eurasia geolog asia europ africa compris singl continu landmass save suez canal share common continent shelf europ asia sit atop eurasian plate adjoin south arabian indian plate easternmost part siberia east rang north american plate geographi school thought school histor convent treat europ asia contin categor subregion detail analysi school equat word contin geograph region refer europ term region describ asia term physiographi linguist term contin impli distinct landmass increasingli common substitut term region contin avoid problem disambigu altogeth scope divers landmass clear asia consist definit exclud turkei middl east central asia russia east southeast asia indian subcontin compos asia welti paul thoma asian evolv heritag ed york harper row publish world univers servic canada worldwid octob unit state world war menon sridevi duke univers west asia asian america asia polit space asian america april page term strictli refer asia-pacif region includ middl east russia bbc new septemb includ island pacif ocean number consid part australasia oceania pacif island commonli consid asian american heritag book english usag asian septemb demonym demonym colloqui refer peopl subregion asia asia british english south asian refer asian group color world clarifi definit asian octob unit state east asian american due histor cultur influenc china japan prefer term term increasingli includ southeast asian american south asian american due increas number access novemb territori region russia mongolia china japan south korea north korea taiwan india pakistan nepal bhutan bangladesh maldiv sri lanka vietnam thailand lao cambodia burma malaysia brunei singapor philippin indonesia east timor kazakhstan uzbekistan kyrgyzstan tajikistan turkmenistan egypt afghanistan iran saudi arabia oman yemen uae qatar bahrain iraq jordan israel syria lebanon turkei cypru georgia azerbaijan armenia subregion asia eastern asia central asia southern asia southeastern asia western asia russia asia list asian countri popul countri name asian countri chang centuri economi asia largest nomin gdp contin north america europ largest measur ppp largest nation economi asia term gross domest product gdp china india japan nomin exchang term rank japan china india south korea saudi arabia taiwan indonesia late earli economi prc legal issu econom integr kluwer law intern volum number india grow rapidli averag annual growth rate high growth nation asia includ philippin pakistan vietnam mongolia uzbekistan mineral-rich nation kazakhstan turkmenistan iran brunei unit arab emir qatar kuwait saudi arabia bahrain oman histor japan largest economi asia second-largest singl nation world surpass soviet union measur net materi product germani nb number supern economi larger eu nafta apec late earli japan gdp larg current exchang rate method rest asia combin japan economi equal usa tie largest economi world dai japanes currenc reach record high yen econom growth asia world war ii concentr countri pacif rim philippin thailand malaysia singapor hong kong taiwan japan korea forecast peopl republ china surpass japan largest nomin gdp asia decad india forecast overtak japan term nomin gdp retriev april trade bloc asia-pacif econom cooper asia-europ econom meet associ southeast asian nation gulf cooper council closer econom partnership arrang commonwealth independ state south asian associ region cooper natur resourc asia largest contin world consider margin rich natur resourc petroleum forest fish water metal manufactur manufactur asia tradition strongest east southeast asia mainland china taiwan japan south korea singapor japan south korea continu domin area multin corpor increasingli mainland china taiwan india make signific inroad compani europ north america japan oper asia develop countri advantag abund suppli cheap labour develop infrastructur financi servic asia main financi centr india hong kong singapor tokyo call centr busi process outsourc bpo major employ india philippin due avail larg pool highly-skil english-speak worker increas outsourc assist rise india peopl republ china financi centr due larg extrem competit inform technolog industri india major hub outsourc earli histori map asia histori asia distinct histori peripher coastal region east asia south asia middl east link interior mass central asian stepp coastal peripheri home world earliest civil develop fertil river vallei civil mesopotamia indu vallei huangh share similar civil exchang technolog idea mathemat wheel innov write develop individu area citi state empir develop lowland central stepp region long inhabit horse-mount nomad reach area asia stepp earliest postul expans stepp indo-european spread languag middl east south asia border china tocharian resid northernmost part asia includ siberia larg inaccess stepp nomad ow dens forest climat tundra area remain spars popul center peripheri separ mountain desert caucasu himalaya mountain karakum gobi desert form barrier stepp horsemen cross difficulti urban citi dweller advanc technolog social case militari aspect defend mount hord stepp lowland open grassland support larg forc reason nomad conquer state china india middl east adapt local affluent societi rabindranath tagor asian nobel laureat languag literatur asia home languag famili languag isol asian countri languag nativ spoken instanc ethnologu languag spoken indonesia languag spoken india spoken philippin peopl republ china languag dialect provinc nobel prize polymath rabindranath tagor bengali poet dramatist writer santiniketan west bengal india asian nobel laureat won nobel prize literatur notabl impact prose work poetic thought english french nation literatur europ america writer nation anthem bangladesh india tagor name bengali indian nobel prize winner laureat econom amartya sen sen work center global issu includ famin welfar third-world develop amartya sen master triniti colleg cambridg univers uk asian head colleg asian writer won nobel prize includ yasunari kawabata japan kenzaburo oe japan gao xingjian peopl republ china orhan pamuk turkei mother teresa india shirin ebadi iran award nobel peac prize signific pioneer effort democraci human right right women children ebadi iranian muslim woman receiv prize nobel peac prize winner aung san suu kyi myanmar peac non-viol struggl militari dictatorship myanmar nonviol pro-democraci activist leader nation leagu democraci myanmar burma note prison conscienc buddhist award nobel peac prize asian nobel prize winner includ subrahmanyan chandrasekhar venkata raman abdu salam shmuel yosef agnon robert aumann menachem aaron ciechanov avram hershko daniel kahneman shimon pere yitzhak rabin yaser arafat kim isra subrahmanyan chandrasekhar venkata raman indian abdu salam pakistani yaser arafat palestinian kim south korea mohammad yunu bangladesh grameen bank establish lend monei poor peopl women bangladesh award nobel peac prize yunu receiv econom vanderbilt univers unit state internation concept micro credit poor destitut collater borrow monei borrow typic pai monei period time incid default belief mytholog asian mytholog divers stori mesopotamian mytholog epic gilgamesh hindu mytholog tell avatar god vishnu form fish warn manu terribl flood ancient chines mytholog shan hai jing chines ruler da yu spend year control delug swept ancient china aid goddess nüwa liter fix broken sky huge rain pour stori bibl qur'an religion asian philosoph tradit origin india china cover larg spectrum philosoph thought write indian philosophi includ hindu philosophi buddhist philosophi includ element nonmateri pursuit school thought india cārvāka preach enjoy materi world popular amoung korean abraham abraham religion judaism christian islam origin west asia world largest muslim commun bound nation indonesia south asia pakistan india bangladesh hold muslim signific muslim popul china iran malaysia philippin russia west asia central asia philippin east timor roman catholic predomin religion introduc spaniard portugues armenia eastern orthodoxi predomin religion christian denomin adher portion middl east china india judaism smaller oldest abraham faith practic primarili israel largest largest jewish popul world small commun exist countri bene israel india indian indian religion sikhism hinduism buddhism jainism origin south asia east asia china japan confucian taoism zen buddhism shinto shape centuri popul countri asia dramat polit philosophi shape gandhi gave mean ahimsa redefin concept nonviol nonresist religion asia includ zoroastrian shaman practic iran siberia anim practic eastern part indian subcontin southeast asia +motto happi island anthem aruba dushi tera locat aruba capit largest citi oranjestad offici languag dutch papiamento demonym aruban govern constitut monarchi monarch queen beatrix governor fredi refunjol prime minist nelson odub vice-prim minist marisol independ netherland antil date januari area total km sq mi water neglig popul estim densiti km sq mi gdp ppp estim total billion capita currenc aruban florin awg time zone ast internet tld aw call code spanish english spoken waard geld aruba mi island lesser antil southern caribbean sea km mi north peninsula falcón state venezuela countri kingdom netherland aruba administr subdivis caribbean region aruba dry climat arid landscap climat help tourism visitor island reliabl expect warm sunni weather land area km sq mi li hurrican belt histori aruba inhabit amerindian arawak tribe migrat venezuela escap attack carib fragment earliest indian settlement date ad remain ti south america caribbean due aruba distanc caribbean island sea current cano travel island difficult capit oranjestad european learn aruba amerigo vespucci alonso de ojeda august vespucci letter lorenzo di pierfrancesco medici voyag island coast venezuela wrote island tree brazilwood island ten leagu hous built venic letter small island inhabit larg peopl expedit thought inhabit aruba colon spain centuri caciqu indian chief aruba sima welcom priest aruba receiv wooden cross gift alonso de ojeda appoint spain governor aruba part nueva andalucia governor appoint spain juan martinez de cédula real decre novemb gave factor española repopul depopul island aruba curaçao bonair nativ spanish rule enjoi liberti averag northern european farmer period replac repres hous welser aruba dutch administr initi peter stuyves stuyves special mission aruba novemb decemb dutch administr netherland curacao dutch govern regul appli aruba dutch administr appoint irishman commandeur aruba britain occupi aruba august gener francisco de miranda group freedom fighter voyag liber venezuela spain stai aruba week aruba petit aruba separ statu autonomi queen world war ii curaçao world-class export oil refineri main supplier refin product alli aruba british protector protector februari oil process refineri attack german submarin command werner hartenstein miracul mission fail destroi plane crew sunbath surviv march eleanor roosevelt briefli visit american troop station aruba attend excel kasteel governor curaçao aid lieuten ivan lansberg rear admir chandler aid lieuten edgington captain jhr boreel aid lieuten holmberg netherland aid roosevelt lieuten command olivi island economi domin main industri gold mine phosphat mine aruba maatschappij alo export petroleum lago oil transport compani arend petroleum maatschappij shell tourism polit constitu countri kingdom netherland aruba polit place framework parliament eight-memb cabinet governor aruba appoint six-year term monarch prime minist deputi prime minist elect staten parlamento four-year term staten member elect direct popular vote serv four-year term state netherland state netherland antil state aruba form commonwealth share dutch citizenship countri share dutch passport kingdom netherland passport aruba antil small popul countri limit immigr protect popul control admiss netherland nation supervis admiss expuls netherland nation set gener condit admiss expuls alien move independ august aruba present constitut aruba statu apart statu complet separ autonom state kingdom netherland author dutch crown britain statut westminst equal statu dominion parliament british parliament dominion author crown govern britain novemb aruba ppa polit parti spoke front unit nation trust committe end speech futur confer surinam croe mep propos dutch commonwealth state aruba netherland surinam netherland antil nation parliamentari member repres avp polit parti propos referendum peopl aruba determin aruba separ statu statu apart full autonom state crown proclaim aruba accept feder class nation croe work aruba inform prepar peopl aruba independ committe appoint croe introduc nation flag anthem symbol aruba sovereignti independ set target aruba independ march referendum determin held support unit nation particip vote independ island govern aruba assign institut social studi hagu prepar studi aruba independ publish titl aruba en en een rapport eerst confer hagu aruba independ set year march base referendum aruba final reach offici agreement state netherland state netherland antil island govern aruba independ autonom countri member state kingdom netherland constitut unanim approv proclaim august elect held aruba parliament aruba offici member state kingdom netherland januari full independ set dutch commonwealth sovereign state achiev larg due late croe polit support nation usa panama venezuela european countri croe proclaim libertador di aruba tragic death movement independ postpon request aruba prime minist nelson odub articl schedul complet independ rescind process referendum januari kingdom consist complet autonom constitution equal countri netherland netherland antil aruba countri explicitli laid preambl charter state express freeli establish constitut order kingdom netherland conduct intern interest autonom common interest basi equal accord reciproc assist resolv mutual consent practic netherland consider power netherland antil aruba law legal jurisdict li gerecht eerst court instanc aruba hof van justiti voor de nederlands antillen en aruba common court justic netherland antil aruba hoge raad der nederlanden suprem court justic netherland educ educ system pattern dutch system educ level govern financ nation educ system privat school intern school aruba isa financ activ percentag monei earmark educ higher averag caribbean latin american region aruban benefit strong primari school educ segment secondari school program includ vocat train basic educ mavo colleg prep havo advanc placement vwo higher educ goal pursu profession educ program epi teacher colleg ipa univers aruba ua offer bachelor master program law financ econom hospit tourism manag choic higher educ island limit student choos studi countri north america south america europ school primari educ school secondari educ geographi map aruba sunset aruba aruba gener flat island leeward antil island arc lesser antil aruba renown white sandi beach western southern coast island shelter fierc ocean current northern eastern coast lack protect consider batter sea left larg untouch human interior island featur roll hill call meter ft mount highest island metr ft sea level oranjestad capit locat east aruba bonair curaçao island territori form southwest part netherland antil aruba netherland antil island call abc island temperatur aruba pleasantli tropic marin climat attract tourist island year temperatur vari moder constant trade wind atlant ocean yearli precipit bare reach mm fall late autumn tourist hotel locat leeward side island provid weather enjoy beach ocean economi aruba enjoi highest standard live caribbean region lowest crime rate poverti unemploy rate posit aruba aruban gross nation product earn tourism relat activ tourist venezuela european union netherland spain unit kingdom unit state predomin eastern southern state aruba largest trade partner statu apart separ complet autonom countri state kingdom oil process domin industri aruba expans tourism sector todai influenc oil process busi minim size agricultur manufactur sector remain minim capita aruba calcul highest america deficit spend stapl aruba histori modestli high inflat present effort tighten monetari polici correct balanc budget aruba receiv develop aid dutch govern year ceas part deal sign aruba financi independ netherland gradual reduc financi island success year aruban florin peg unit state dollar fix exchang rate florin equal dollar aruban govern chang tax law order reduc deficit direct tax convert indirect tax propos imf tax introduc sale servic incom tax lower revenu tax busi reduc govern compens worker effect inflat final effect inflat aruba largest seawat desalin plant world saudi arabia largest demograph popul aruba fao number inhabit thousand aruba situat deep southern part caribbean rainfal aruba save plantat econom slave trade aruba popul estim mestizo ethnic arawak spoke broken spanish ancestor learn hispaniola dutch control centuri spanish left arawak farm graze livestock island sourc meat dutch possess caribbean arawak heritag stronger aruba caribbean island full-blood aborigin remain featur island genet arawak heritag popul descend arawak lesser extent spanish italian dutch french british african ancestor substanti immigr island neighbor american caribbean nation attract well-pai job immigr law introduc control growth popul restrict foreign worker year permit resid island cultur oranjestad aruba march aruba celebr nation dai aruba present nation anthem aruba dushi tera flag origin popul locat island give aruba mix cultur dutch influenc celebr sinterklaa decemb nation holidai april aruba rest kingdom netherland queen birthdai dia di la reina koninginnedag celebr christma year celebr typic music song gaita christma dand year crema ham typic food drink million dollar worth firework burnt midnight year januari croe birthdai celebr holidai carniv import aruba caribbean latin american countri mardi gra week celebr aruba start influenc inhabit nearbi island venezuela st vincent trinidad barbado work oil refineri year carniv celebr chang start begin januari tuesdai ash wednesdai larg parad sundai festiv sundai ash wednesdai june celebr dia di san juan song dera gai tourism unit state increas visibl american cultur island celebr halloween thanksgiv dai novemb religion influenc dai ascens good fridai holidai island bureau stand en ninety-two nation live island languag languag import part island cultur aruba cultur mixtur rise linguist mixtur papiamento predomin languag aruba offici languag dutch languag papiamento papiamento languag evolv centuri absorb word languag dutch english divers african dialect importantli portugues spanish island region spanish spoken english histor connect british empir english usag grown due tourism common languag spoken base size commun portugues chines german french offer high school colleg high percentag aruban student continu studi europ year govern aruba shown increas interest acknowledg cultur histor import nativ languag spoken papiamento similar island big differ written papiamento orthographi differ island group peopl orient portugues root equival spell orient dutch root book buccan america publish state eyewit account indian aruba spoke spanish oldest govern offici statement written papiamento date aruba newspap publish papiamento diario bon dia solo di pueblo aw english aruba todai new aruba radio station fm local televis station aruba broadcast compani star televis infrastructur aruba queen beatrix intern airport locat oranjestad airport daili flight citi unit state san juan puerto rico miami florida chicago illinoi philadelphia pittsburgh pennsylvania houston texa atlanta georgia charlott north carolina washington dc york boston massachusett connect aruba canada south america daili flight intern airport venezuela colombia peru brazil spain england europ schiphol airport netherland aruba airport author million travel airport american util island electr produc en aruba web total power gener capac steam turbin amount megawatt megawatt ga turbin backup unit mw diesel gener serv emerg unit web produc averag mw contract suppli refin compani suffici compli averag demand mw web deliv electr distribut compani aruba elmar electr suppli frequenc volt consumpt electr increas steadili water potabl industri water produc seawat en aruba web world largest desalin plant total instal desalin capac water plant multi stage flash unit metric ton dai averag daili consumpt metric ton place interest collaps septemb +articl confeder perpetu union commonli articl confeder govern document constitut unit state america thirteen state formal thirteen independ countri ratif articl propos complet unit state america legal exist final draft articl written summer adopt continent congress novemb york pennsylvania year debat practic serv de facto system govern congress unit state congress assembl de jure final ratif march point congress congress confeder articl set rule oper unit state confeder confeder capabl make war negoti diplomat agreement resolv issu western territori print monei borrow articl creat chosen repres state continent congress perceiv plan confederaci secur freedom sovereignti independ unit state serv crucial role attain nationhood thirteen state clear articl lack provis suffici effect govern fundament feder sought replac confeder articl establish perpetu union state drafter constitut sought lead perfect union kei critic favor power central state federalist govern congress confeder lack tax author request fund state critic articl strike balanc larg small state legisl decis make process due one-st one-vot plank larger state expect contribut vote articl replac unit state constitut june background polit push coloni increas cooper began french indian war mid open american revolutionari war induc state cooper seced british empir continent congress start act confeder organ ran war congress present articl enact state prosecut american revolutionari war kingdom great britain ratif congress began move ratif articl articl candidli review sens difficulti combin gener system sentiment interest contin divid sovereign independ commun convict absolut necess unit council strength maintain defend common liberti journal continent congress document offici effect ratifi thirteen coloni state ratifi virginia decemb depart state retriev januari process drag year stall refus state rescind claim land west maryland holdout refus virginia york agre cede claim ohio river vallei year pass maryland ratif march articl summari articl confeder constitut establish peopl document origin articl contain thirteen articl conclus signatori section list short summari thirteen articl establish confeder unit state america assert preced separ state confeder govern state retain sovereignti freedom independ power jurisdict confeder expressli deleg establish unit state leagu state unit common defens secur liberti mutual gener welfar bind assist forc offer attack establish freedom movement pass freeli state exclud pauper vagabond fugit justic peopl entitl right establish state travel crime commit state perpetr flee state extradit state crime commit alloc vote congress confeder unit state congress assembl state entitl deleg member member congress appoint state legislatur individu serv year central govern allow conduct foreign relat declar war state navi stand armi engag war permiss congress state militia encourag armi rais common defens colonel militari rank colonel name state legislatur expenditur unit state paid fund rais state legislatur apport state base real properti valu defin power central govern declar war set weight measur includ coin congress serv final court disput state defin committe state govern congress session requir state approv admiss state confederaci pre-approv canada appli membership reaffirm confeder accept war debt incur congress articl declar articl perpetu alter approv congress ratif state legislatur war kingdom great britain colonist reluct establish power nation govern jealous guard independ member continent congress creat unicamer legislatur protect liberti individu state expens confeder call congress regul militari monetari affair articl confeder mechan ensur state compli request troop revenu time left militari precari posit georg washington wrote letter governor massachusett john hancock war treati pari end hostil great britain languish congress month state repres fail attend session nation legislatur congress power enforc attend write georg clinton septemb georg washington complain function articl support congression direct continent armi allow state present unifi front deal european power tool build central war-mak govern larg failur articl congress decis power enforc requir unanim approv modif articl major lawmak rest state central govern weak major law requir approv thirteen state congress deni power taxat request monei state state gener compli request full leav confeder chronic short fund congress deni power regul commerc trade result state fought trade state nation congress incur debt war pai debt major issu state paid debt central favor feder assumpt debt congress confeder action last impact land ordin establish gener land survei ownership provis american expans northwest ordin note agreement origin state give western land claim clear entri state war won continent armi larg disband small nation forc maintain man frontier fort protect indian attack state armi militia navi wartim promis bounti land grant paid servic met washington defus newburgh conspiraci riot unpaid pennsylvania veteran forc congress leav philadelphia temporarili henri cabot lodg signatur continent congress approv articl distribut state novemb copi state congress copi state ratif unsign cover letter signatur henri lauren charl thomson presid secretari congress articl time unsign date blank congress began sign process examin copi articl june order final copi prepar nation archiv deleg inform secretari author ratif juli prepar copi readi date began sign request remain state notifi deleg ratif complet date deleg present hampshir massachusett rhode island connecticut york pennsylvania virginia south carolina sign articl state ratifi jersei delawar maryland state ratifi north carolina georgia didn't sign dai deleg absent sign deleg sign meet attend john wentworth hampshir ad august john penn north carolina deleg arriv juli deleg sign articl juli state wait ratifi articl notifi congression deleg georgia sign juli jersei novemb delawar februari maryland refus ratifi articl state cede western land claim act maryland legislatur ratifi articl confeder februari februari much-await decis maryland gener assembl annapoli law maryland piec busi afternoon session engross bill sign seal governor thoma sim lee senat chamber presenc member act empow deleg state congress subscrib ratifi articl confeder perpetu union state senat adjourn mondai august decis maryland ratifi articl report continent congress februari formal sign articl maryland deleg place philadelphia noon time march celebr afternoon event articl enter forc unit state unit sovereign nation state congress debat articl year ratif process year particip origin debat longer deleg signer arriv articl confeder perpetu union sign group men present congress time signer state repres hampshir josiah bartlett john wentworth massachusett bai john hancock samuel adam elbridg gerri franci dana jame lovel samuel holten rhode island provid plantat william elleri henri marchant john collin connecticut roger sherman samuel huntington oliv wolcott titu hosmer andrew adam york jame duan franci lewi william duer gouverneur morri jersei john witherspoon nathaniel scudder pennsylvania robert morri daniel roberdeau jonathan bayard smith william clingan joseph reed delawar thoma mckean john dickinson nichola van dyke maryland john hanson daniel carrol virginia richard henri lee john banist thoma adam john harvi franci lightfoot lee north carolina john penn corneliu harnett john william south carolina henri lauren william henri drayton john mathew richard hutson thoma heyward georgia john walton edward telfair edward langworthi presid congress list led congress confeder articl confeder presid unit state congress assembl articl presid presid offic congress chair cabinet committe state congress recess perform administr function chief execut successor presid unit state chief execut function execut auspic servic congress samuel huntington march juli thoma mckean juli novemb john hanson novemb novemb elia boudinot novemb novemb thoma mifflin novemb octob richard henri lee novemb novemb john hancock novemb nathaniel gorham june novemb arthur st clair februari novemb cyru griffin januari novemb full list presid congress assembl presid continent congress articl presid continent congress galleri articl confeder page articl confeder page articl confeder page articl confeder page articl confeder page revis replac charl pincknei south carolina propos congress revis articl confeder recommend includ grant congress power foreign domest commerc provid mean congress collect monei state treasuri unanim approv alter congress fail reach consensu septemb state assembl annapoli convent discuss adjust improv commerc chairman alexand hamilton invit state repres conven philadelphia discuss improv feder govern repres constitut convent philadelphia author amend articl repres held secret closed-door session wrote constitut constitut gave power central govern character result disput historian forrest mcdonald idea jame madison federalist describ chang constitut realloc power creat form govern unpreced sun previou nation author central confeder sovereign state american system mixtur mcdonald historian ralph ketcham comment opinion patrick henri georg mason antifederalist eager give local autonomi won revolut insert text quot quotat mark term modif articl xiii articl effect year state ratifi constitut congress articl continu sit novemb emori bobbi libertarian nation foundat retriev januari librari congress octob nation archiv record administr overse adopt constitut state set elect historian reason perceiv replac articl jillson wilson point financi weak norm rule institut structur congress propens divid section line rakov identifi factor explain collaps confeder lack compulsori direct taxat power objection want strong central state expect benefit power collect custom war tariff veto rhode island rakov conclud failur implement nation measur stem headi sens independ enorm difficulti state encount collect tax muster men gather suppli war-weari populac rakov group factor rakov identifi deriv substant natur problem continent congress confront inabl creat strong foreign polici final confeder lack coerciv power reduc likelihood profit polit mean potenti ruler uninspir seek power war end special interest incent creat merchant state british state peopl rebel holder war scrip land specul want central govern pai scrip face legal western land hold disput claim particip close constitut convent scrip land specul manufactur want high tariff barrier foreign good competit state imposs central govern note +wikisourc text encyclopædia britannica articl aa aa larg number small european river word deriv continent common german word aha cognat latin aqua mean water import stream river latvia fall gulf riga riga situat river north franc fall sea gravelin navig st omer river switzerland canton lucern aargau carri water lake aar germani westphalian aa rise teutoburg wald join werr herford münster aa tributari em danish aa gener word consist digraph letter aa centuri written anglo-saxon form word ea nowadai written eau persist river name persist occur princip area england influenc danish cultur swedish close relat danish form aa gener word small river word larger river aa river refer aa river franc north franc greifense river switzerland aft river germani tributari aft river lielup german aa river latvia gauja german aa river latvia sarner aa river switzerland engelberg aa river switzerland westfälisch aa river westphalia region germani aa river münster region germani great aa groß aa river germani netherland belgium aa river antwerp begin flow turnhout vorselaar join klein nete aa small river drenth groningen provinc flow groningen citi aa river meus flow helmond aa noord-brab small river breda rise belgium joint klein aa rise brecht belgium small river canal groningen provinc aa aa mussel aa articl incorpor text encyclopædia britannica eleventh edit public public domain +arthur koestler arthur koestler cbe septemb budapest march london jewish-hungarian polymath natur british subject wrote journal novel social philosophi book scientif subject join communist parti germani left parti year emigr unit kingdom late recogn outspoken british anti-communist remain polit activ wrote popular book includ arrow blue volum autobiographi yogi commissar collect essai deal commun sleepwalk histori man chang vision univers act creation thirteenth tribe theori origin eastern european jew koestler magnum opu dark noon great purg soviet union rank georg orwel nineteen eighty-four fiction treatment stalin wrote encyclopædia britannica articl life born artúr hungarian name surnam budapest austria-hungari german-speak hungarian famili ashkenazi jewish descent father henrik prosper start-up industrialist inventor great busi success health soap substitut convent soap base anim fat scarc wwi henrik miner soap thought health qualiti weak radioact time consid cur artur famili move vienna ag mystic experi gave rise interest paranorm koestler studi scienc psycholog univers vienna presid zionist student fratern month due finish studi burnt matricul book final examin aliyah israel british mandat live british mandat palestin firstli kibbutz jezreel vallei tel aviv jerusalem starv left palestin pari correspond ullstein group german newspap year scienc editor ullstein base berlin highlight post membership zeppelin expedit north pole join communist parti germani left moscow trial period travel extens soviet union climb mount ararat turkei turkmenistan met black american writer langston hugh memoir invis write koestler recal summer wrote sequel satir good soldier schweik call good soldier schweik war commiss willi münzenberg comintern chief propagandist west veto parti ground book outbreak world war ii french author detain month resid alien vernet intern camp foothil pyrene mountain releas join french foreign legion eventu escap england morocco portug england serv british armi member british pioneer corp work bbc british subject return franc war rub shoulder set gravit jean-paul sartr simon de beauvoir charact de beauvoir mandarin believ base koestler koestler return london spent rest life write lectur june koestler attend deliv keynot address confer anti-communist intellectu berlin led found congress cultur freedom command order british empir suffer parkinson diseas leukemia koestler commit joint suicid wife cynthia overdos drug long advoc voluntari euthanasia vice presid exit unit kingdom voluntari euthanasia societi endow chair parapsycholog univers edinburgh scotland speak nazi atroc world war ii world war koestler continu spoke atroc nazi regim germani central european jewish famili background involv british unit state politician wit person growth extremist tendenc region koestler minor writer public figur believ suffici horror commit europ new media public meet spur west action effort protest fell deaf ear captur frustrat koestler peopl screamer wrote frustrat koestler screamer continu campaign late stage war multilingu addit mother tongu german hungarian homeland koestler fluent english french knew hebrew russian biograph david cesarani claim evid koestler pick yiddish grandfath koestler multilingu princip due resid work studi hungari austria germani palestin israel soviet union unit kingdom franc year ag wrote bulk work english koestler wrote best-known novel languag gladiat hungarian dark noon german origin lost arriv departur english journal written german hebrew french english produc hebrew languag crossword puzzl wrote sketch hebrew cabaret women koestler marri dorothi asher paget cynthia jefferi short fling french writer simon de beauvoir biograph david cesarani arthur koestler homeless mind claim koestler beat rape women includ film director jill craigi result protest led remov bust koestler public displai univers edinburgh question rais suicid pact spous termin ill time appar healthi lead claim persuad life honour koestler receiv son prize univers copenhagen honorari doctor queen univers ontario appoint cbe companion royal societi literatur kevin mccarron arthur oxford dictionari nation biographi oxford univers press mix legaci dark noon sell cold war koestler announc retir polit wrote reveal multidisciplinari thinker work anticip number trend year experi lsd laboratori wrote japanes indian mystic lotu robot origin result uneven set idea conclus topic cover work includ creativ insight outlook act creation histori scienc sleepwalk pursuit interest paranorm support euthanasia theori origin ashkenazi jew disagr darwin controversi polit koestler involv number polit life zionism commun anti-commun voluntari euthanasia campaign capit punish hang earli advoc nuclear disarma met jan karski humour koestler credit develop modern concept import idea evolut humor theori present simultan perceiv multipl perspect journal bestsel statu dark noon financi comfort koestler earn live journalist foreign correspond trade abil write quickli languag acquir facil work knowledg languag wrote varieti newspap includ vossisch zeitung scienc editor mittag foreign editor earli work ullstein publish group berlin freelanc write french press cover spanish civil war captur held month falangist málaga british foreign offic negoti releas spanish testament record experi transform classic prison dark noon releas spanish detent koestler work new chronicl edit die zukunft willi münzenberg anti-nazi anti-stalinist german languag paper base pari found world war ii wrote number english american paper includ sundai telegraph subject frequent contributor encount influenti period cold war period paranorm scientif interest year life koestler wrote extens scienc scientif practic post-modernist sceptic colour write tend alien scientif commun case point book case midwif toad biologist paul kammer claim find experiment support lamarckian inherit koestler trilogi culmin ghost machin janu sum bridg concept reduction holism system theori open hierarch system holon dual tendenc integr develop balanc tend patholog includ concept profound basi work creativ jame papez paul mclean explain irrat behaviour human part open hierarch system mystic fascin paranorm imbu work greatli influenc person life year death koestler societi london promot investig relat subject left substanti part estat establish koestler parapsycholog unit univers edinburgh dedic studi paranorm phenomena root coincid overview scientif research telepathi psychokinesi compar advanc quantum physic time mention line unconvent research paul kammer theori coincid synchron present critic relat write carl jung controversi koestler studi levit telepathi koestler join spr publicis interest fear ridicul judaism lifelong atheist koestler ancestri jewish biograph david cesarani claim koestler deliber disown jewish ancestri koestler resid palestin live kibbutz experi background thiev night support statehood israel remark balfour declar amount nation solemnli promis nation countri believ israel destroi short shoah oppos diaspora jewish cultur interview publish london jewish chronicl time israel found koestler maintain jew migrat israel assimil complet local cultur judah crossroad trail dinosaur collect essai jewish cultur israel koestler propos israel drop hebrew alphabet roman koestler book thirteenth tribe advanc controversi thesi ashkenazi jew descend israelit antiqu khazar turkic peopl caucasu convert judaism centuri forc move westward present-dai russia ukrain poland koestler state part intent write thirteenth tribe defus anti-semit undermin identif european jew biblic jew hope render anti-semit epithet christ killer inapplic iron koestler thesi ashkenazi jew semit import claim anti-semit group genet research studi contradict main thesi thirteenth tribe studi haplotyp hammer al chromosom ashkenazi sephard jew middl eastern origin mutat common palestinian middl eastern peopl uncommon gener european popul result strongli suggest male ancestor ashkenazi jew trace primarili middl east hammer redd wood bonner karafet oppenheim jobl jenkin ostrer jewish middl eastern non-jewish popul share common pool y-chromosom haplotyp proceed nation academi scienc studi behar al base haplotyp analysi mitochondri dna mtdna current ashkenazi popul descend matrilin women founder lineag hebrew levantin mtdna pool origin east centuri ce behar doron en metspalu tooma kivisild alessandro achilli yarin hadid shai tzur luisa pereira antonio amorim quintana-murci kari majamaa corinna neil howel oleg andrei david batsheva antonio torroni richard villem karl skorecki march american journal human genet pmid hallucinogen novemb koestler particip timothi leari earli experi psilocybin harvard fellow particip charl olson koestler distress effect drug isol unfurnish bedroom cambridg hous leari project koestler experi psilocybin univers michigan ann arbor compar trip walt disnei fantasia return trip nirvana publish sundai telegraph koestler wrote drug cultur experi hallucinogen articl challeng defenc drug aldou huxlei door percept profoundli admir aldou huxlei philosophi uncompromis sincer disagre advocaci chemic open door world belief drug procur cathol theologian call gratuit grace chemic induc hallucin delus raptur frighten wonderfulli gratifi case natur confid trick plai nervou system cultur influenc refer younger dai singer sting avid reader koestler band time polic album ghost machin koestler book album synchron inspir koestler root coincid discuss carl jung theori koestler knew burgeon wave music scene alleg magazin call music express turn pop group call don't call distinguish they'v album essai ghost machin didn't clip agenc review record cesarani david arthur koestler homeless mind free press koestler left monei koestler trust help prison inmat express creativ mean rehabilit trust continu exhibit work prison regular basi left monei depart parapsycholog edinburgh bibliographi comprehens introduct koestler write thought antholog passag book select year write chosen commentari author brick babel random hous autobiographi arrow blue volum autobiographi reprint invis write volum autobiographi reprint spanish testament scum earth stranger squar book lotu robot god fail von weissen und roten tagen numer essai autobiograph inform biographi atkin arthur koestler christian arthur koestler ein extrem leben david cesarani arthur koestler homeless mind hamilton iain koestler biographi koestler live koestler leven arthur koestler mike georg arthur koestler stori friendship pearson arthur koestler langston hugh autobiographi document meet turkestan soviet era book koestler exclud autobiographi von weissen und roten tagen difficult find invis write koestler call book red dai white night red dai foreign languag edit russian german ukrainian georgian armenian intend german version eventu publish expurg kharkov ukrainian good soldier schweik war unfinish unpublish l'espagn gladiat reprint revolt spartacu dark noon dialogu death abridg spanish testament arriv departur reprint yogi commissar essai twilight bar drama thiev night challeng time promis fulfil palestin insight outlook ag long trail dinosaur essai reflect hang sleepwalk histori man chang vision univers account chang scientif paradigm watersh biographi johann kepler excerpt sleepwalk lotu robot koestler journei india japan assess east west control mind hang neck reus materi reflect hang suicid nation act creation ghost machin penguin reprint drinker infin essai ag long case midwif toad account paul kammer research lamarckian evolut call serial coincid root coincid sequel case midwif toad call girl tragicomedi prologu epilogu scholar make live intern circuit lion ostrich heel achil essai thirteenth tribe khazar empir heritag astrid cultur arthur koestler twentieth centuri view collect critic essai janu sum sequel ghost machin kaleidoscop essai drinker infin heel achil piec stori write contributor invis write koestler ligatur spell word foreign correspond practic sex god fail collect testimoni ex-communist attila poet encount loan ucl librari school slavon eastern european studi reduction alpbach symposium perspect life scienc co-editor smythi challeng chanc mass experi telepathi unexpect outcom concept creativ scienc art life death co-editor humour wit encyclopædia britannica ed arthur koestler note +atlant ocean second-largest world ocean divis total area million squar kilometr million squar mile cover approxim one-fifth earth surfac part refer atla greek mytholog make atlant sea atla oldest mention contain histori herodotu bc atla mountain european discov ocean term ocean synonym water western europ atlant greek believ gigant river encircl world oceanu atlant ocean includ arctic antarct region atlant ocean occupi elong s-shape basin extend longitudin america west eurasia africa east compon all-encompass world ocean connect north arctic ocean consid sea atlant pacif ocean southwest indian ocean southeast southern ocean south altern lieu connect southern ocean atlant reckon extend southward antarctica equat subdivid north atlant ocean south atlant ocean geographi atlant ocean eastern coast north america share boundari north south carolina hazi summer dai atlant ocean bound west north south america north northeast separ arctic ocean canadian arctic archipelago greenland iceland jan mayen svalbard mainland europ connect arctic ocean denmark strait greenland sea norwegian sea barent sea east boundari ocean proper europ strait gibraltar connect mediterranean sea margin sea turn black sea africa southeast atlant merg indian ocean border defin east meridian run south cape agulha antarctica author show atlant ocean extend south antarctica show bound south southern ocean intern hydrograph organ special public southwest drake passag connect pacif ocean man-mad link atlant pacif panama canal mention larg bodi water adjac atlant caribbean sea gulf mexico hudson bai arctic ocean mediterranean sea north sea baltic sea celtic sea cover approxim earth surfac atlant ocean pacif size adjac sea occupi area squar kilomet sq mi area squar kilometr sq mi land area drain atlant time pacif indian ocean volum atlant ocean adjac sea cubic kilomet cu mi cubic kilometr cu mi averag depth atlant adjac sea meter ft metr ft greatest depth metr ft puerto rico trench width atlant vari kilomet mi brazil liberia kilometr mi unit state northern africa ocean bottom princip featur bathymetri bottom topographi atlant ocean submarin mountain rang call mid-atlant ridg extend iceland north approxim south latitud reach maximum width kilometr mi great rift vallei extend ridg length depth water ridg ft place mountain peak rise water form island south atlant ocean addit submarin ridg walvi ridg mid-atlant ridg separ atlant ocean larg trough depth averag metr ft transvers ridg run contin mid-atlant ridg divid ocean floor numer basin larger basin blake guiana north american cape verd canari basin north atlant largest south atlant basin angola cape argentina brazil basin deep ocean floor thought flat numer seamount guyot exist deep trench ocean floor puerto rico trench north atlant deepest laurentian abyss eastern coast canada south atlant south sandwich trench reach depth metr ft major trench romanch trench locat equat reach depth metr ft shelv margin contin constitut bottom topographi deep channel cut continent rise ocean sediment compos terrigen pelag materi terrigen deposit consist sand mud rock particl form eros weather volcan activ land wash sea materi continent shelv thickest mouth larg river desert coast pelag deposit remain organ sink ocean floor includ red clai pteropod silic ooz cover ocean floor rang thick metr ft thickest converg belt zone upwel deposit consist materi manganes nodul occur sediment proce slowli current sort deposit water characterist atlant ocean west coast ireland fair dai averag atlant world major ocean salin surfac water open ocean rang part thousand mass vari latitud season surfac salin valu influenc evapor precipit river inflow melt sea ic minimum salin valu north equat heavi tropic rainfal gener lowest valu high latitud coast larg river flow ocean maximum salin valu occur north south equat subtrop region rainfal high evapor surfac water temperatur vari latitud current system season reflect latitudin distribut solar energi rang maximum temperatur occur north equat minimum valu polar region middl latitud area maximum temperatur variat valu vari atlant ocean consist major water mass north south atlant central water constitut surfac water sub-antarct intermedi water extend depth metr ft north atlant deep water reach depth metr ft antarct bottom water occupi ocean basin depth greater metr ft north atlant ocean current isol larg elong bodi water sargasso sea salin notic higher averag sargasso sea larg amount seawe spawn ground european eel american eel corioli effect water north atlant circul clockwis direct water circul south atlant counter-clockwis south tide atlant ocean high tide occur lunar hour tide gener wave move south north latitud north east-west oscil occur climat wave trade wind atlant converg wind move track prevail instabl atmospher lead format hurrican climat atlant ocean adjac land area influenc temperatur surfac water water current wind blow water ocean great capac retain heat maritim climat moder tendenc extrem season variat inland climat precipit approxim coastal weather data air temperatur water temperatur ocean major sourc atmospher moistur obtain evapor climat zone vari latitud warmest climat zone stretch atlant north equat coldest zone high latitud coldest region area cover sea ic ocean current contribut climat control transport warm cold water region adjac land area affect wind cool warm blow current gulf stream northern extens europ north atlant drift warm atmospher british isl north-western europ cold water current contribut heavi fog coast eastern canada grand bank area north-western coast africa gener wind tend transport moistur warm cool air land area hurrican develop southern part north atlant ocean averag wavelength north america shore ft histori pangaea separ anim form atlant ocean todai atlant ocean appear youngest ocean evid exist prior million year contin form breakup ancestr super contin pangaea rift process seafloor spread atlant extens explor earliest settlement establish shore vike portugues christoph columbu famou earli explor columbu european explor rapidli acceler trade rout establish result atlant remain major arteri europ america transatlant trade numer scientif explor undertaken famous challeng expedit includ german meteor expedit columbia univers lamont geolog observatori unit state navi hydrograph offic evid pre-columbian trans-ocean contact date import event relat atlant christoph columbu land bahama italian explor giovanni da verrazzano european discov atlant coast todai unit state america transatlant telegraph cabl laid cyru west field rapidli fail success transatlant telegraph cabl laid brunel ship great eastern april rm titan sank hit iceberg loss peopl american airplan seaplan cross atlant coupl land island sea taxi mile surfac british airplan pilot alcock brown non-stop transatlant flight newfoundland ireland british cross north atlant airship portugues cross south atlant airship transatlant telephon call januari charl lindbergh solo non-stop transatlant flight airplan york citi pari ann davison woman single-handedli sail atlant ocean gérard man cross atlant ocean row gui delag man swim atlant ocean cape verd island barbado benoit lecomt man swim northern atlant ocean stop week azor row dai kilometr mi decemb tori murden woman cross atlant ocean rowboat reach guadeloup canari island economi ocean contribut significantli develop economi countri major transatlant transport commun rout atlant offer abund petroleum deposit sedimentari rock continent shelv world richest fish resourc water cover shelv major speci fish caught cod haddock hake her mackerel product area includ grand bank newfoundland shelf area nova scotia georg bank cape cod bahama bank water iceland irish sea dogger bank north sea falkland bank eel lobster whale great quantiti factor tremend enhanc atlant great commerci threat ocean environ present oil spill marin debri inciner toxic wast sea intern treati exist reduc form pollut terrain atlant bathymetri surfac cover sea ic labrador sea denmark strait baltic sea octob june clockwis warm-wat gyre northern atlant counter-clockwis warm-wat gyre southern atlant ocean floor domin mid-atlant ridg rug north-south centerlin entir atlant basin discov challeng expedit form vulcan form floor atlant island rise atlant ocean irregular coast indent numer bai gulf sea includ norwegian sea baltic sea north sea labrador sea black sea gulf st lawrenc bai fundi gulf main mediterranean sea gulf mexico caribbean sea island atlant ocean includ greenland iceland faro island british isl includ great britain ireland numer surround island rockal newfoundland sabl island azor madeira bermuda canari island caribbean cape verd sao tome princip annobon provinc st peter fernando de noronha roca atol ascens island saint helena island trindad tristan da cunha diego alverez gough island falkland island tierra del fuego south georgia island south sandwich island bouvet island elev extrem lowest point milwauke deep puerto rico trench metr ft highest point sea level ft natur resourc petroleum ga field fish marin mammal seal whale sand gravel aggreg placer deposit polymetal nodul preciou stone natur hazard iceberg common davi strait denmark strait northwestern atlant ocean februari august spot south bermuda madeira island ship subject superstructur ic extrem northern atlant octob persist fog maritim hazard septemb hurrican north equat decemb bermuda triangl popularli believ site numer aviat ship incid unexplain supposedli mysteri coast guard record support belief current environment issu endang marin speci includ manate seal sea lion turtl whale drift net fish kill dolphin albatross seabird petrel auk hasten declin fish stock contribut intern disput info problem prospect pelag driftnet municip sludg pollut eastern unit state southern brazil eastern argentina oil pollut caribbean sea gulf mexico lake maracaibo mediterranean sea north sea industri wast municip sewag pollut baltic sea north sea mediterranean sea concern current warm northern europ slow scientif consensu form base report evid christoph joyc consid nation public radio nov june florida wildlif commiss vote manate state endang speci list environmentalist worri erod safeguard popular sea creatur marin pollut marin pollut gener term harm entri ocean chemic particl biggest culprit river empti ocean chemic fertil agricultur wast livestock human excess oxygen deplet chemic water lead hypoxia creation dead zone gerlach marin pollut springer berlin major port harbour +arthur schopenhau februari septemb german philosoph work world represent schopenhau respond expand immanuel kant philosophi experi world critiqu kant creativ solut problem human experi explic limit human knowledg import achiev metaphys theori foundat influenti write psycholog aesthet ethic polit influenc friedrich nietzsch wagner ludwig wittgenstein sigmund freud higgin kathleen world idea great mind western intellectu tradit part dvd teach compani life arthur schopenhau born citi danzig gdańsk son heinrich flori schopenhau johanna schopenhau descend wealthi german middl class mercantil famili citi locat baltic sea danzig annex prussia schopenhau famili move mercantil harbour citi hamburg schopenhau father di specul commit suicid safranski page father life dark vagu sourc fear hurl death attic hous hamburg johanna author move weimar centr german literatur promis pursu busi career schopenhau remain hamburg disgust career drove join mother weimar year mother writer goeth friend johanna schopenhau told thought son destin great johanna object heard genius singl famili schopenhau youth schopenhau student univers göttingen studi metaphys psycholog gottlob ernst schulz advis concentr plato kant berlin attend lectur promin post-kantian philosoph ficht theologian schleiermach schopenhau object schleiermach assert purpos philosophi gain knowledg god arthur schopenhau manuscript remain volum ii react ficht extrem ideal ficht claim observ subject ego observ object schopenhau contend subject object exist correl world represent volum submit doctor dissert fourfold root principl suffici reason award phd univers jena absentia schopenhau young man schopenhau began semin work world represent die welt al will und vorstellung finish public year dresden illegitim child born di year schopenhau lectur univers berlin opposit hegel began schopenhau schedul lectur coincid hegel attempt demolish student support hegel philosophi student turn schopenhau lectur drop academia taught univers late essai univers philosophi express resent univers philosophi cholera epidem broke berlin hegel schopenhau fled hegel return prematur caught infect di dai schopenhau move south settl perman frankfurt remain twenty-seven year live success pet poodl name atma butz schopenhau graveston berlin schopenhau name defend action law initi woman name carolin marquet address russel bertrand ask damag alleg schopenhau push know man mean dislik nois deliber annoi rais voic stand door marquet alleg philosoph assault batter refus leav doorwai companion testifi marquet prostrat apart marquet won lawsuit payment twenti year safranski chapter di wrote copi death certif obit anu abit onu woman di burden lift schopenhau robust constitut health began deterior di sit armchair heart failur septemb year ag thought philosophi schopenhau call kantian hurl invect contemporari german philosoph influenc kant includ hegel ficht schell formul pessimist philosophi gain import support failur german austrian revolut schopenhau start point kant divis univers phenomen noumen schopenhau extend kant idea opinion gain greater understand noumen instanc suggest noumen realiti singular multipl part phenomen experi comment suggest schopenhau claim noumenon call comment bryan mage suggest consid manifest noumenon experi desir kei aspect schopenhau thought investig man reason forc call will zum leben lit mean forc drive man remain aliv reproduc drive intertwin desir content drive forc world schopenhau ontolog primaci intellect word desir understood prior thought parallel sens prior schopenhau felt similar notion purushartha goal life vedanta hinduism attempt solv allevi fundament problem life schopenhau rare philosoph consid philosophi logic import effect art charit practic love kind term form religi disciplin schopenhau conclud discurs thought philosophi logic touch transcend natur desir world represent schopenhau propos human live realm object live realm desir etern torment desir role desir schopenhau similar role kāma sensual gratif treat goal life relat stage life hindu tradit metaphys schopenhau aesthet viewpoint object scientif viewpoint precis separ intellect form art abil view natur aesthet telltal sign geniu import metaphys distinct schopenhau involv notion art sens schopenhau claim bodi extens art spontan act link bodi intellect intellect man suffer bring suffer pain world vivid conscious logic speak person suffer aesthet contempl schopenhau translat objectif emploi platon allegori demonstr exist ultim futil fundament character satisfact attain happi schopenhau metaphys essenti mark all-encompass pessim pessim serv stark contrast schopenhau romant contemporari centuri germani contemporari includ hegel schell tend emploi wide-rang optim seemingli progress histori mankind notabl idea pertain schopenhau metaphys entail notion art conceiv schopenhau argu art spontan pre-determin idea artist mind attempt creat art man scienc ultim natur effect realm suffici reason scienc schopenhau releg boundari reason geniu preclud enter territori philosophi necessarili pursuit wisdom view mean interpret person experi life schopenhau maintain desir produc suffer wari tortur effect hedon aesthet wild power drive reproduc caus suffer pain world schopenhau escap suffer inher world art art schopenhau thought think subject jar limit individu perspect feel sens univers univers question contest person desir world natur inim satisfact inevit tragic highest place art tragedi music special statu schopenhau aesthet reli medium represent commun sens univers schopenhau believ function art medit uniti human natur attempt demonstr commun audienc existenti angst form bad distract wide rang author thoma hardi woodi allen artist influenc system aesthet centuri area schopenhau work garner attent prais daniel albright schopenhau thought music art copi idea embodi ethic schopenhau moral theori propos primari moral incent compass mitleid genuin motiv moral express rule malic egoism corrupt moral incent identif compass true moral incent central aspect schopenhau mission psycholog schopenhau influenti treatment man psycholog realm philosophi philosoph tradition impress tribul love schopenhau address relat concept forthrightli gave forc man felt invari preced reason live will zum leben defin inher drive human be creatur stai aliv reproduc schopenhau refus conceiv love trifl accident understood immens power forc ly unseen man psych dramat shape world idea foreshadow laid groundwork darwin theori evolut freud concept libido unconsci mind centuri freud schopenhau time explicit philosophi unconsci bodi safranski polit social thought polit schopenhau polit part diminish echo system ethic express die beiden der ethik english separ book basi moral freedom ethic occupi quarter central work world represent occasion polit comment parerga paralipomena manuscript remain schopenhau propon limit govern essenti thought state leav man free work salvat long govern limit prefer rule lion fellow rat monarch schopenhau share view thoma hobb necess state state violenc check destruct tendenc innat speci schopenhau admiss give thought polit time write proudli attent paid polit affair dai life span revolut french german govern war maintain aloof posit mind time etern wrote disparag remark germani german typic german good lengthi word mouth think slowli give time reflect world represent ch schopenhau possess distinctli hierarch concept human race attribut civiliz primaci northern white race due sensit creativ adamantli differ treatment race fervent anti-slaveri support abolitionist movement unit state describ treatment innoc black brother forc injustic deliv slave-mast devilish clutch belong blackest page mankind crimin record parerga paralipomena ethic sec schopenhau addition maintain mark metaphys polit anti-juda schopenhau argu christian constitut revolt materialist basi judaism exhibit indian-influenc ethic reflect theme spiritu oppos ignor drive earthli utopian superfici this-worldli jewish spirit view women schopenhau essai women die weiber express opposit call stupid femal affair claim woman natur meant obei oppos schiller poem honor women würde der frauen essai give compliment women decidedli sober judgment men sympathet suffer discount weak humanitarian virtu fell love opera singer carolin richter call medon relationship year discard marriag plan write marri mean halv right doubl duti marri mean grasp blindfold sack hope find eel assembl snake ag interest younger woman flora weiss reject schopenhau gener liber view social issu strongli taboo issu suicid homosexu condemn treatment african slave schopenhau held high opinion woman madam de guyon write biographi recommend schopenhau controversi write influenc nietzsch centuri feminist schopenhau hostil women biographi philosophi biolog analysi differ sex separ role struggl surviv reproduct anticip claim ventur sociobiologist evolutionari psychologist twentieth centuri schopenhau told richard wagner friend von spoken word women woman succe withdraw mass rais mass grow ceaselessli man safranski chapter page hered eugen schopenhau believ person inherit level intellect mother person charact father schopenhau quot horac brave good brave descend od iv shakespear line cymbelin coward father coward base sire base iv reinforc hereditarian argument payn world represent ii question eugen schopenhau wrote knowledg complet unalter charact mental faculti led view real improv human race reach theori instruct path gener plato kind mind book republ explain plan increas improv warrior cast castrat scoundrel stick stupid gees convent give men nobl charact harem procur men men girl intellect understand gener aris produc ag pericl ibid context schopenhau reiter thesi utopian plan solut problem despot wise nobl member genuin aristocraci genuin nobil achiev mate magnanim men cleverest gift women propos constitut utopia platon republ essai aphor tran hollingdal middlesex london analyst keith suggest schopenhau advocaci eugen influenc philosophi friedrich nietzsch initi consid schopenhau mentor view homosexu schopenhau philosoph dai greek philosophi address subject male homosexu expand edit world represent schopenhau ad appendix chapter metaphys sexual love wrote young reproduc strong healthi children resort pederasti schopenhau consid pederasti vice wrote homosexu benefit prevent children state vice appear work aim end natur matter import greatest concern fact serv aim indirectli mean prevent greater evil page schopenhau arthur world represent volum dover shrewdli anticip interpret distort part popular mind attempt scientif explan pederasti person advocaci phenomenon schopenhau describ term spiritu ethic objection aberr schopenhau sarcast conclud appendix statement expound paradox idea want grant professor philosophi small favour disconcert ever-increas public philosophi carefulli conceal give opportun slander defend commend pederasti ibid influenc schopenhau influenc upanishad immanuel kant plato refer eastern philosophi religion frequent schopenhau write note appreci teach buddha call abelsen peter philosophi east west retriev august philosophi conceiv teach upanishad veda write world represent summaris influenc upanishad thusli solac life solac death influenc jean jacqu rousseau john lock baruch spinoza matthia claudiu georg berkelei david hume descart kant schopenhau identif kantian noumenon exist entiti term deserv explan noumenon kant call ding sich realiti foundat sensori mental represent extern world kantian term sensori mental represent mere phenomena schopenhau depart kant descript relationship phenomenon noumenon kant things-in-themselv ground phenomen represent mind schopenhau hand believ phenomena noumena side coin noumena phenomena phenomena simpli mind perceiv noumena principl suffici reason explain fulli schopenhau doctor thesi fourfold root principl suffici reason schopenhau major departur kant epistemolog concern bodi kant philosophi formul respons radic philosoph skeptic david hume claim causal observ empir schopenhau begin argu kant demarc extern object knowabl phenomena noumenon signific omiss fact physic object intim object sens percept bodi human bodi boundari occupi space object name sens seldom bodi physic object reflect share properti understand watermelon successfulli occupi space oncom truck repeat experi bodi obtain similar result understand physic involv conscious inhabit physic bodi similar physic object phenomena conscious commensur bodi possess power voluntari motion awar breath lung beat heart attent call abil control limit kidnei command attent schedul choos idea liver organ need lung heart kidnei consciou mind servant master organ organ agenda consciou mind choos limit power schopenhau identifi noumenon desir impuls particip realiti unachiev world mind prove mental pictur world correspond realiti reason world stimul suffer fear desir state aris involuntarili aris prior reflect aris consciou mind prefer hold bai ration mind schopenhau leaf born stream larg unconsci emot stream logic particip underli realiti li mere phenomena reason schopenhau identifi noumenon call schopenhau critic kant groundwork metaphys moral schopenhau critic kant schemata influenc schopenhau thought influenc intellectu figur school thought friedrich nietzsch paul deussen richard wagner gustav mahler charl darwin theodul ribot ferdinand tönni eugen o'neil max horkheim jung sigmund freud georg giss john grai book straw dog john grai upheld schopenhau philosoph dedic studi eastern philosophi western philosophi book argu free state human common anim commonli admit west schopenhau prais attitud anim address brutal human life ludwig wittgenstein albert einstein karl popper samuel beckett jorg lui borg wilhelm busch dylan thoma leo tolstoi emil cioran thoma mann italo svevo joseph campbel eduard von hartmann erich von stroheim phenomen schopenhau hegel schopenhau express dislik philosophi contemporari georg wilhelm friedrich hegel time publish work quotat typic arthur schopenhau basi moral foreword edit work die beiden der ethik schopenhau suggest shown hegel fallen prei post hoc ergo propter hoc fallaci schopenhau thought hegel deliber impress ultim vacuou verbiag suggest work fill castl abstract sound impress ultim contain content thought glorif church state design person advantag search philosoph truth instanc hegelian interpret hegel view prussian state dai perfect goal histori hegelian complet unsmil serious air question content world histori possibl philosophi world spirit reach goal knowledg safranski schopenhau appear vain overli vocifer constant attack hegel necessarili devoid merit indolog schopenhau read latin translat upanisad translat french writer anquetil du perron persian translat princ dara shikoh name great secret impress philosophi call product highest human consid superhuman concept upanisad great sourc inspir schopenhau write well-known book upanisad lai open tabl invari studi sleep night call open sanskrit literatur greatest gift predict philosophi knowledg upanisad cherish faith west schopenhau buddhism schopenhau philosophi similar buddhism wai buddhism teach call nobl truth natur suffer dukkha suffer crave suffer total elimin eventu state nirvana remark correspond broad term central schopenhauerian doctrin buddhism notabl view empir exist suffer suffer origin desir salvat attain extinct desir mirror close essenti structur doctrin janawai christoph world schopenhau philosophi lead cessat suffer nobl eightfold path schopenhau philosophi similar buddhism truth associ desir appetit crave fourth truth schopenhau describ twofold path denial attain person experi extrem great suffer lead loss live knowledg essenti natur life world observ suffer peopl buddhist nirvana equival condit schopenhau denial occult historian joscelyn godwin state buddhism inspir philosophi arthur schopenhau attract richard wagner orient reflect struggl german romant word leon poliakov free judeo-christian fetter arkto opposit joscelyn godwin claim buddhism inspir schopenhau philosoph statement discuss religion janawai christoph world schopenhau philosophi world ch buddhist philosoph nishitani keiji sought distanc buddhism schopenhau schopenhau philosophi sound mystic summari methodolog resolut empir specul transcendent parerga paralipomena tran payn note world represent tran payn select bibliographi fourfold root principl suffici reason die wurzel de satz vom grund vision colour da sehn und die farben world represent english world idea german die welt al will und vorstellung dover edit dover edit peter smith publish hardcov set everyman paperback combin abridg edit natur den willen der natur freedom die freiheit de menschlichen willen basi moral die grundlag der moral parerga und paralipomena arthur schopenhau manuscript remain volum ii berg publish onlin bilingu project gutenberg audiobook librivox internet archiv internet archiv internet archiv internet archiv +motto virtu unita fortior latin uniti strength anthem angola avant portugues angola locat angola capit largest citi luanda offici languag portugues recognis region languag kongo chokw south mbundu mbundu demonym angolan govern presidenti republ presid do santo prime minist fernando da piedad dia do santo independ portug date novemb area total km sq mi water neglig popul estim st censu densiti km sq mi gdp ppp estim total billion capita hdi currenc kwanza aoa time zone wat utc summer dst observ utc internet tld ao call code angola offici republ angola portugues república de angola pronounc ipa kongo ya ngola countri south-centr africa border namibia south democrat republ congo north zambia east west coast atlant ocean exclav provinc cabinda border republ congo democrat republ congo portugues coloni consider natur resourc notabl petroleum diamond countri nomin democraci histori queen nzinga peac negoti portugues governor luanda earliest peopl area khoisan hunter-gather larg replac bantu tribe bantu migrat small number khoisan remain part southern angola present dai geograph area design angola subject incurs european late centuri portug establish base river congo kongo state ndongo lunda exist kongo state stretch modern gabon north kwanza river south portug establish coloni cabinda base slave trade begin atlant slave trade slaveri practic africa indigen peopl african slave trade larg number black slave european african agent angola imbangala economi heavili focus slave trade boahen adu boahen topic west african histori kwaku html retriev novemb portugues empir black african slave trade brazilian merchant arriv portug african port portugues coloni brazil south america seek cheap workforc brazilian agricultur plantat trade portugues gradual control coastal strip sixteenth centuri seri treati war form portugues coloni angola advantag portugues restor war dutch occupi luanda alli local peopl consolid coloni rule remain portugues resist coloni era portug retook luanda initi process reconquest lost territori restor pre-occup possess portug treati regul relat congo njinga kingdom matamba ndongo conquest pungo great portugues expans attempt invad congo matamba fail portug expand territori coloni benguela eighteenth centuri began attempt occupi region mid-nineteenth centuri process result gain full portugues administr control interior didn't occur begin twentieth centuri coloni design oversea provinc call portugues west africa portug presenc angola year popul initi reaction call independ mix independ leftist militari offic overthrew caetano govern portug carnat revolut april transit govern open negoti main independentist guerrilla group mpla fnla unita conclud separ peac agreement organ portug pictur nationalist movement turn fight control luanda intern recognit holden roberto agostinho neto jona savimbi met bukavu zair juli agre negoti portugues polit entiti met mombasa kenya januari agre stop fight outlin constitut negoti portugues met time alvor portug januari rothschild donald manag ethnic conflict africa pressur incent cooper roberto neto savimbi portugues govern sign alvor agreement januari set novemb date independ alvor mark transit war independ war luanda portugues author deliber exclud front liber enclav cabinda flec eastern revolt particip negoti ensur territori integr direct opposit de plan angola spínola met presid mobutu zair septemb sal island cape verd craft plan empow roberto savimbi daniel chipenda eastern revolt mobutu spínola want diminish neto stand present chipenda mpla head mobutu prefer chipenda neto chipenda support autonomi cabinda neto angolan exclav immens petroleum reserv estim million ton zair mobutu govern depend econom surviv coalit govern alvor agreement establish fell nationalist faction doubt commit peac process control coloni forc tvedten ing angola struggl peac reconstruct civil war portugues author militari forc leav territori hand power nationalist group mass exodu civilian portugues citizen ensu angolan civil war largest deadliest cold war conflict erupt shortli last year ravag economi disturb social order disrupt social stabil newli independ countri peopl lost live main faction smaller struggl supremaci thousand angolan refuge suffer conflict left countri simpli fled region angola todai parti conflict activ polit popular movement liber angola mpla victori war prevent opposit candid ethnic group challeng do santo de facto control countri base kimbundu peopl multiraci intelligentsia luanda nation liber front angola fnla base bakongo region north alli unit state peopl republ china mobutu govern zaïr unit state south africa african nation support jona savimbi nation union total independ angola unita ethnic region base li ovimbundu heartland central angola leonard thoma encyclopedia develop world scherrer christian genocid crisi central africa conflict root mass violenc region war wayn madsen html corpwatch retriev septemb ceasefir unita februari jona savimbi leader unita kill combat govern troop cease-fir reach faction unita gave arm wing assum role major opposit parti polit situat countri began stabil presid do santo refus institut regular democrat process angola major problem humanitarian crisi result prolong war abund minefield action guerrilla movement fight independ northern exclav cabinda frent para libertação enclav de cabinda intern displac return home gener situat angolan remain desper develop face govern challeng consequ lari human right watch polit angola motto virtu unita fortior latin phrase mean virtu stronger unit execut branch govern compos presid prime minist fernando da piedad dia do santo council minist polit power concentr presid council minist compos govern minist vice minist meet regularli discuss polici issu governor provinc appoint serv pleasur presid constitut law establish broad outlin govern structur delin right duti citizen legal system base portugues customari law weak fragment court oper twelv municip suprem court serv appel tribun constitut court power judici review constitut statutori author critic drawn iron comparison angola current one-parti rule authoritarian govern antónio de oliveira salazar portug rule angolan began revolt independ current govern announc intent hold elect elect serv elect presid nation assembl administr divis map angola provinc number angola divid eighteen provinc província municip retriev octob provinc exclav cabinda area approxim km sq mile northern angolan provinc cabinda uniqu separ rest countri strip km wide democrat republ congo drc congo river cabinda border congo republ north north-northeast drc east south town cabinda chief popul centr censu cabinda estim popul approxim live neighbour countri popul estim highli unreli consist larg tropic forest cabinda produc hardwood coffe cocoa crude rubber palm oil product oil nicknam kuwait africa cabinda petroleum product consider offshor reserv account angola output oil coast discov portugues rule cabinda gulf oil compani onward portug hand sovereignti oversea provinc angola local independentist group mpla unita fnla territori cabinda theatr separatist guerrilla action oppos govern angola emploi militari forc faa força armada angolana cabindan separatist cabindan separatist creat virtual feder republ cabinda presid henriqu tiago websit claim commit build republ cabinda freedom opportun prosper civil societi flourish feder republ cabinda capit citi administr district system govern websit simpli describ true democraci legal system base tradit law characterist cabindan independ movement constant fragment smaller smaller faction process angolan govern total foment undoubtedli encourag duli exploit militari angolan arm forc faa head chief staff report minist defens armi exército navi marinha de guerra mga air air defens forc força aérea nacion fan total manpow armi largest servic men women navi number oper small patrol craft barg air forc personnel total equip includ fighter bomber transport plane brazilian tucano train role czech train bomb role czech zlin train role varieti western aircraft aviocar sud aviat iii small number faa personnel station democrat republ congo kinshasa republ congo brazzavil polic nation polic depart public order crimin investig traffic transport investig inspect econom activ taxat frontier supervis riot polic rapid intervent polic nation polic process stand air wing provid helicopt support polic oper nation polic develop crimin investig forens capabl nation polic estim patrol offic taxat frontier supervis offic crimin investig financi crime detect econom activ inspector nation polic implement modern develop plan increas capabl effici total forc addit administr reorgan modern project includ procur vehicl aircraft equip construct polic station forens laboratori restructur train program replac akm rifl mm uzi polic offic urban area geographi satellit imag angola gener raster graphic data suppli map librari squar mile km angola world twenty-third largest countri niger compar size mali size state texa time area unit kingdom angola border namibia south zambia east democrat republ congo north-east south atlant ocean west exclav cabinda border republ congo north angola capit luanda li atlant coast north-west countri angola averag temperatur coast degre fahrenheit winter degre fahrenheit summer economi luanda angola capit citi econom commerci hub angola economi undergon period transform year move disarrai caus quarter centuri war fastest grow economi africa fastest world china approv billion line credit angola loan rebuild angola infrastructur limit influenc intern monetari fund countri power interest report march growth driven rise oil product surpass million barrel dai expect grow million barrel dai control oil industri consolid sonangol group conglomer own angolan govern decemb angola admit member opec angola press agenc decemb economi grew expect stai rest decad secur brought peac settlement led resettl million displac person result large-scal increas agricultur product countri develop economi polit stabil aros face huge social econom problem result continu state conflict highest level destruct socio-econom damag reach independ long year civil war rapidli rise product revenu oil sector main drive forc improv econom activ poverti remain widespread anti-corrupt watchdog transpar intern rate angola corrupt countri world capit citi develop larg econom center worth mention countri slum call stretch mile luanda citi limit demograph angola compos ovimbundu kimbundu bakongo mestiço mix european nativ african european ethnic group cultur portug rule angola year countri share cultur aspect languag portugues main religion roman cathol christian angolan cultur nativ bantu mix portugues cultur synonym slaveri outlaw violenc capoeira world art form fascin thousand capoeira divid part capoeira region capoeira angola capoeira region modern popular form capoeira capoeira angola origin form creat brazil african slave capoeira angola root wed ritual bantu tribe danc zebra spar young warrior zebra part capoeira angola logo capoeira angola spar friend excit game middl roda ring form musician singer fight danc plai music philosophi year capoeira practic secreci law practic teach forti year abolit slaveri berimbau instrument relat capoeira command roda determin kind fight angola region +map angola satellit imag angola gener raster graphic data suppli map librari topograph map angola angola locat south atlant coast west africa namibia republ congo border democrat republ congo zambia east countri divid arid coastal strip stretch namibia luanda wet interior highland dry savanna interior south southeast rain forest north cabinda zambezi river tributari congo river sourc angola coastal strip temper cool benguela current result climat similar coastal peru baja california short raini season last februari april summer hot dry winter mild interior highland mild climat raini season novemb april cool dry season octob elev gener rang feet north cabinda enjoi rain year coast part flat occasion cliff bluff red sandston deep inlet sea great fish bai baía do tigr north port alexand fish bai lobito bai shallow bai numer lobito bai water suffici larg ship unload close inshor coast plain extend inland distanc vari mile km region gener spars water steril approach great central plateau africa mark seri irregular escarp cuesta intermedi mountain belt cover luxuri veget water abund dry season obtain dig sandi bed river plateau altitud rang ft consist well-wat wide roll plain hill scanti veget east tableland fall basin congo zambezi south merg barren sandi desert larg number river westward sea rise mountain belt unimport size kwanza kunen separ notic mountain chain form edg plateau diversifi surfac run gener parallel coast tala chella district benguela highest point provinc mt south kwanza volcan mountain tableland kwango stream flow north join kasai river largest affluent congo upper form fulli mi km boundari angola congo state south-east part provinc river belong zambezi system okavango drain lake ngami geologi rock format angola met distinct region littor zone median zone form seri hill parallel coast central plateau central plateau consist ancient crystallin rock granit overlain sandston conglomer paleozo ag outcrop larg hidden laterit median zone compos larg crystallin rock granit palaeozo rock littor zone fossilifer strata tertiari cretac ag rock rest reddish sandston older date cretac rock domb grand region albian ag belong zone bed inflata refer gault rock tertiari ag met domb grand sandston gypsum copper sulfur domb doubtfulli consid triassic ag erupt rock basalt form line hill bare veget nephelin basalt liparit occur domb grand presenc gum copal consider quantiti superfici rock characterist region locat southern africa border south atlant ocean namibia democrat republ congo geograph coordin map refer africa area total km mi land km mi water km mi area compar australia compar smaller northern territori canada compar slightli smaller northwest territori unit kingdom compar time bigger uk unit state compar slightli size texa capit luanda são paulo de port railhead major citi porto vila teixeira da silva benguela são felip de port railhead vila robert william duqu de bragança vila gener machado vila joão de almeida ganda vila mariano machado huambo nova lisboa rail kuito silva porto vila da pont lubango da bandeira luena vila luso fort república mbanza congo são salvador congo menongu serpa pinto railhead namib moçâmed port railhead vila salazar rail vila pereira vila henriqu de carvalho soyo santo antónio zair novo redondo porto alexandr carmona town angola land boundari total km border countri democrat republ congo km km boundari discontigu cabinda provinc republ congo km namibia km zambia km coastlin km maritim claim contigu zone nautic mile km exclus econom zone nautic mile km territori sea nautic mile km climat rest tropic africa angola experi distinct altern raini dry season semiarid south coast luanda north cool dry season octob hot raini season novemb april interior temperatur rainfal decreas plateau climat healthi invigor annual temperatur são salvador congo luanda climat greatli influenc prevail wind arc season distinguish cool june septemb raini octob heaviest rainfal occur april accompani violent storm terrain angola princip natur region coastal lowland character plain terrac hill mountain rise inland coast great escarp area high plain call high plateau planalto extend eastward escarp highest point angola morro de moco coastal lowland coastal lowland rise sea seri terrac region vari width kilomet benguela kilomet cuanza river vallei south angola capit luanda markedli angola highland atlant ocean cold benguela current substanti reduc precipit coast make region arid south benguela form northern extens namib desert dry northern reach luanda averag annual rainfal fifti centimet uncommon rain fail pattern precipit south mark sand dune give dry scrub middl coast portion northern coastal plain cover thick brush hill mountain belt hill mountain parallel coast distanc rang kilomet kilomet inland cuanza river divid zone part northern part rise gradual coastal zone averag elev meter crest high meter meter south cuanza river hill rise sharpli coastal lowland form high escarp extend point east luanda run south namibia escarp reach meter highest point southeast town steepest south serra da chela mountain rang high plateau high plateau li east hill mountain domin angola terrain surfac plateau typic flat roll part benguela plateau highland area huíla plateau south reach height meter malanj plateau north rare exce meter height benguela plateau coastal area environ benguela lobito plateau malanj plateau small section huíla plateau town lubango long dens settl area angola drainag countri river origin central angola pattern flow divers ultim outlet vari number river flow westerli atlant ocean provid water irrig dry coastal strip potenti hydroelectr power realiz angola import river cuanza cunen indirect rout atlant cuanza flow north cunen flow south turn west cuanza river wholli angola kilomet boat commerci militarili signific size congo river mouth western form small portion angola northern border zair navig north lunda divid number import tributari congo river flow north join drain angola northeast quadrant south divid river flow zambezi river indian ocean okavango river cubango river call border namibia botswana okavango swamp botswana tributari cubango river southern river flow atlant season complet dry year land hazard natur resourc petroleum diamond iron or phosphat copper feldspar gold bauxit uranium land arabl land perman crop est irrig land km est natur hazard local heavi rainfal period flood plateau environ current issu overus pastur subsequ soil eros attribut popul pressur desertif deforest tropic rain forest respons intern demand tropic timber domest fuel result loss biodivers soil eros contribut water pollut silt river dam inadequ suppli potabl water environ intern agreement parti biodivers climat chang desertif law sea ozon layer protect ship pollut marpol sign ratifi select agreement flora fauna flora fauna characterist greater part tropic africa south benguela coast region rich oil palm mangrov northern part provinc dens forest south kunen region dens thorn scrub rubber vine tree abund district number consider reduc primit method adopt nativ collector rubber speci common root rubber notabl speci varieti wide distribut coffe cotton guinea pepper plant indigen tobacco plant flourish district tree yield excel timber pterocarpu tinctoriu grow immens size wood blood-r colour angola mahogani bark albizzia coriaria larg tan leather bear fruit size cricket ball cover hard green shell scarlet pip pomegran fauna includ lion leopard cheetah eleph giraff rhinocero hippopotamu buffalo zebra kudu kind antelop ostrich crocodil fish barbel bream african yellow fish geographi note provinc cabinda exclav separ rest countri democrat republ congo extrem point list extrem point angola point north south east west locat angola northernmost point unnam point border republ congo north town caio bemba cabinda provinc angolan exclav easternmost point unnam locat river section border zambia north town zambia moxico provinc southernmost point point cunen river section border namibia termin caprivi strip immedi north town namibia cuando cubango provinc westernmost point baía do tigr island namib provinc angola mainland northernmost point point border democrat republ congo immedi north-west town zair provinc easternmost point unnam point river section border zambia north town zambia moxico provinc southernmost point point cunen river section border namibia termin caprivi strip immedi north town namibia cuando cubango provinc westernmost point unnam headland west porto alexandr namib +demograph angola data fao year number inhabit thousand demograph angola consist main ethnic group speak bantu languag ovimbundu mbundu bakongo group includ chokw lunda ambo herero addit mix race european african peopl amount small popul white ethnic portugues portugues largest non-african popul native-born angolan claim portugues nation portugues law cuban soldier arriv angola mpla forc civil war largest denomin roman catholic follow protestant african initi church bantu speaker portugues peopl jehovah wit black mali nigeria seneg muslim rest angolan retain part african tradit religion ethnic faith popul growth popul pyramid angola angolan citizen juli popul predomin young ag year male femal popul ag year male femal year male femal median ag male femal year popul grow annual birth death citizen net migrat rate migrant citizen fertil rate angola children born woman infant mortal rate death live birth death male death femal live birth life expect birth year year male year femal ag structur year male femal year male femal year male femal est sex ratio male femal male femal ag male ag bracket male year bracket male femal total popul diseas adult preval rate hiv aid infect citizen live aid die annual risk contract diseas high food waterborn diseas bacteri protozo diarrhea hepat typhoid fever diseas malaria african trypanosomiasi sleep sick respiratori diseas meningococc mening schistosomiasi water contact diseas ethnic group angolan ovimbundu kimbundu bakongo mestiço portugues ethnic angola popul religion angola major christian countri citizen profess religion angolan christian roman cathol protest angolan practic indigen belief literaci portugues offici languag angola bantu african languag wide spoken literaci popul ag read write portugues male women liter +polit angola take place framework presidenti republ presid angola head state head govern pluriform multi-parti system execut power exercis govern legisl power vest govern parliament angola chang one-parti marxist-leninist system rule mpla formal multiparti democraci elect presid do santo won elect vote jona savimbi runoff place subsequ renew civil war collaps lusaka protocol left process stillborn democrat form exist notabl nation assembl polit power concentr presid execut branch govern compos presid prime minist fernando da piedad dia do santo council minist council minist compos govern minist vice minist meet regularli discuss polici issu governor provinc appoint serv pleasur presid constitut law establish broad outlin govern structur delin right duti citizen legal system base portugues customari law weak fragment court oper municip suprem court serv appel tribun constitut court power judici review constitut statutori author long civil war ravag countri polit social institut estim million intern displac person idp gener accept figur war-affect peopl million daili condit life countri specif luanda popul approxim million mirror collaps administr infrastructur social institut ongo grave econom situat larg prevent govern support social institut hospit medicin basic equip school book public employe lack basic suppli day-to-dai work execut branch class wikit style font-siz main offic holder offic parti legisl branch nation assembl assembleia nacion member elect year term member proport represent member provinci district gener elect due reschedul august definit date set polit parti elect presid announc govern intent hold elect elect serv elect presid nation assembl sourc judici branch suprem court tribun da judg suprem court appoint presid administr divis angola eighteen provinc provincia singular provincia bengo benguela bie cabinda cuando cubango cuanza nort cuanza sul cunen huambo huila luanda lunda nort lunda sul malanj moxico namib uig zair polit pressur group leader front liber enclav cabinda flec henriqu tiago antonio bento bemb note flec wage small-scal highli faction arm struggl independ cabinda provinc intern organ particip acp afdb ceeac eca fao iaea ibrd icao icct signatori icftu icrm ida ifad ifc ifrc ilo imf imo interpol ioc iom iso correspond itu nam oa observ oau sadc secur council temporari unctad unesco unido upu wco wftu wipo wmo wtoo wtro +economi angola fastest-grow economi africa birgitt sørensen marc vincent caught border respons strategi intern displac page recov civil war plagu angola independ abund natur resourc output capita remain world lowest subsist agricultur depend humanitarian food assist sustain larg major popul industri exist histori portugues discov petroleum angola product began cuanza basin congo basin exclav cabinda govern grant oper right block cabinda gulf oil compani subsidiari chevrontexaco oil product surpass export coffe angola largest export produc angolan produc tvedten ing angola struggl peac reconstruct page million oecd intern energi agenc angola energi strategi page mobutu sese seko presid zair met antónio de spínola transit presid portug septemb sal island cape verd craft plan empow holden roberto nation liber front angola jona savimbi unita daniel chipenda mpla eastern faction expens mpla leader agostinho neto retain facad nation uniti mobutu spínola want present chipenda mpla head mobutu prefer chipenda neto chipenda support autonomi cabinda angolan exclav immens petroleum reserv estim million ton zair mobutu govern depend econom surviv erik hoffmann freder conduct soviet foreign polici page angolan govern creat sonangol state-run oil compani year sonangol receiv right oil explor product angola energi inform administr unit nation angola verif verif mission iii spent usd billion overse implement lusaka protocol peac accord ultim fail civil war protocol prohibit unita bui foreign arm provis unit nation larg enforc side continu build stockpil unita purchas weapon privat sourc albania bulgaria zair south africa republ congo zambia togo burkina faso octob impos travel sanction unita leader wait juli limit unita export diamond freez unita bank account govern gave usd million unita unita billion export diamond primarili zair europ time angolan govern receiv larg amount weapon govern belaru brazil bulgaria peopl republ china south africa arm shipment govern violat protocol countri inform regist convent weapon requir vine alex angola unravel rise fall lusaka peac process human right watch increas civil warfar late economi grew estim govern introduc currenc denomin includ kwanza note econom reform effort launch angolan economi rank nation unit nation human develop index april angola start intern monetari fund imf program smp program formal laps june imf remain engag context govern angola succeed unifi exchang rate rais fuel electr water rate commerci code telecommun law foreign invest code modern privat effort prepar world bank assist begun bci bank legaci fiscal mismanag corrupt persist civil war intern displac million peopl popul secur brought peac settlement led resettl million displac person result large-scal increas agricultur product angola produc mct diamond china approv billion line credit angola rebuild infrastructur nation privat invest agenc economi grew growth expect reach stai rest decad chevrontexaco start pump block januari product decreas due poor qualiti oil angola join organ petroleum export countri januari cabinda gulf oil compani oil reservoir block august rigzon overview nation gdp capita rang wealthier state north south poorer state east figur world bank convert dollar abund natur resourc output capita world lowest subsist agricultur main livelihood popul oil product support activ vital economi contribut gdp export growth driven rise oil product surpass million barrel dai expect grow million barrel dai control oil industri consolid sonangol group conglomer own angolan govern revenu boom oil export govern start implement ambiti develop program build road basic infrastructur nation decad coloni period angola major african food export import food sever wartim condit includ extens plant landmin countrysid agricultur activ brought standstil effort recov notabl fisheri coffe product fraction level suffici domest export sharp contrast bleak pictur devast bare subsist expand oil product gdp export barrel dai diamond revenu jona savimbi unita rebellion illicit trade rich resourc await develop gold forest product fisheri iron or coffe fruit chart trend nomin gross domest product angola unif market price intern monetari fund data april intern monetari fund figur million unit foreign trade export reach usd vast major angola export petroleum product million worth diamond export sold year afrol new angola oil unit state make eighth largest supplier oil unit state peopl republ china rest petroleum export europ latin america compani account invest angola lead export industri good servic primarili oilfield equip mine equip chemic aircraft food angola princip import petroleum trade angola south africa exceed usd million resourc petroleum angolan petroleum product nigeria african oil product januari angola member opec product expect doubl output level develop deep-wat offshor oil field oil sale gener usd billion tax revenu govern budget increas gdp oecd page chevron corpor produc receiv angolan oil elf oil texaco exxonmobil agip petrobra british petroleum oper countri block major angola crude oil product oecd page produc annual largest field block area area area chevrontexaco oper block share sonangol state oil compani total rest block chevrontexaco oper angola produc deepwat section block unit nation critic angolan govern tortur rape summari execut arbitrari detent disappear action angolan govern justifi maintain oil output kenneth high stake stakehold oil conflict secur nigeria page angola third-largest trade partner unit state sub-saharan africa larg petroleum export unit state congress foreign oper export financ relat program appropri hear page import oil angola time import kuwait prior gulf war govern invest usd billion angola petroleum sector vine alex angola unravel rise fall lusaka peac process human right watch page diamond angola largest produc diamond africa explor diamond-rich territori countri difficulti attract foreign invest corrupt human right violat diamond smuggl council foreign relat allafrica product rose nation diamond compani angola expect product increas million carat annual govern attract foreign compani provinc malanj uíg juli reuter angolan govern lose million annual diamond smuggl govern began oper brilliant anti-smuggl investig arrest deport smuggler rafael marqu journalist human right activist diamond industri angola deadli diamond report plagu murder beat arbitrari detent human right violat marqu call foreign countri boycott angola conflict diamond afrol new iron angola began mine iron produc million ton million ton angola iron export western europ japan read mccormick shawn angolan economi prospect growth postwar environ oecd intern energi agenc angola energi strategi +transport angola compris railwai total km narrow gaug km cape gaug mm km gaug separ line link major railwai benguela railwai fourth system link gabala railwai angola suffer lot damag civil war benguela railwai project propos restor line extend system report januari repair northern line luanda railwai start octob complet august work carri chines firm link namibia partli construct railwai link adjac countri dr congo lobito lubumbashi restor link propos namibia gaug link propos partial construct zambia map town serv rail north line luanda railwai luanda port capit branch terminu alto branch terminu junction dondo branch terminu malanj terminu viana middl line mm gaug port gabala terminu central line benguela railwai benguela port lobito port ganda junction huambo workshop kuito luena luau border congo congo south line namib port lubango km junction matala intermedi station dongo km junction cubango cuchi menongu terminu km lubango junction chiang branch terminu km extend link namibia dongo huila angola junction cassinga iron or branch terminu propos provinc capit santa clara border timelin octob talk angola namibia link namibia highwai total km pave km unpav km est travel highwai town citi angola case advis four-by-four vehicl reason road infrastructur exist angola time war toll road surfac leav sever pothol litter broken asphalt area driver establish altern track avoid worst part surfac care attent paid presenc absenc landmin warn marker side road angolan govern contract restor countri road compani come countri china surround nation improv road surfac road lubango namib complet fund european union compar european main rout progress complet road infrastructur decad substanti effort direct waterwai km navig pipelin crude oil km port harbor atlant ocean north south ambriz cabinda luanda railhead malanj lobito railhead congo namib railhead menongu porto soyo merchant marin airport airport pave runwai total est airport unpav runwai total est nation airlin taag angola airlin +angolan arm forc faa head chief staff report minist defens divis armi navi marinha de guerra mdg air air defens forc fapa total manpow armi largest servic men women navi number oper small patrol craft barg air forc personnel total equip includ fighter transport plane small number faa personnel station democrat republ congo kinshasa republ congo brazzavil equip armour field artilleri mm mm mm carnat mm sp mm sp mm sp mm mrl mm mrl mm mrl mm mortar mm mortar air defenc artilleri goa gaskin gremlin gimlet grail aa sam mm mm aa gun mm sp aaa mm sp aaa atgm spigot +foreign relat angola base angola strong support foreign polici angolan economi depend foreign aid angola align eastern bloc soviet union libya cuba focus improv relationship western countri cultiv link portuguese-speak countri assert nation interest central africa militari diplomat intervent establish formal diplomat relat unit state enter southern african develop commun vehicl improv ti larg anglophon neighbor south zimbabw namibia join angola militari intervent democrat republ congo angolan troop remain support joseph kabila govern interven republ congo brazzavil support exist govern countri angola successfulli work secur council impos carri sanction unita extend effort control conflict diamond primari sourc revenu unita time angola promot reviv commun portuguese-speak countri cplp forum cultur exchang expand ti portug brazil relat angola establish relat peopl republ china novemb jamestown foundat chines prime minist wen jiabao visit angola june offer billion loan infrastructur improv return petroleum prc invest heavili angola civil war html bbc new retriev novemb joão manuel bernardo current ambassador angola china visit prc novemb html angola press agenc allafrica retriev novemb relat relat primarili base trade pro-unit state foreign polici excel march trade volum countri amount million isra ambassador angola avraham benjamin presid eduardo do santo visit israel state relat relat unit state america republ angola peopl republ angola warm angola ideolog renunci marxism elect +albert sidnei johnston februari april career armi offic confeder gener american civil war consid confeder presid jefferson davi finest gener confederaci emerg robert lee kill earli war battl shiloh highest rank offic union confeder kill conflict eicher earli life johnston born washington kentucki youngest son john abigail harri johnston father nativ salisburi connecticut albert johnston born kentucki live life texa consid home educ transylvania univers lexington met fellow student jefferson davi appoint unit state militari academi jefferson year johnston woodworth johnston graduat eighth class west point commiss brevet lieuten infantri assign post york missouri serv black hawk war chief staff gener henri atkinson marri henrietta preston resign commiss return kentucki care dy wife succumb year tuberculosi son william preston johnston serv confeder armi texa armi april johnston farm texa enlist privat texa armi texa war independ republ mexico month johnston promot major posit aide-de-camp gener sam houston name adjut gener colonel republ texa armi august januari senior brigadi gener command texa armi februari fought duel texa brig felix huston challeng command texa armi johnston refus fire huston lost posit wound pelvi presid republ texa mirabeau lamar appoint secretari war decemb johnston provid defens texa border mexican invas conduct campaign indian northern texa februari resign return kentucki marri eliza griffin settl larg plantat name china grove brazoria counti texa armi johnston return texa armi mexican-american war gener zachari taylor colonel st texa rifl volunt enlist volunt ran battl monterrei johnston manag convinc volunt stai fight serv inspector gener volunt fought battl monterrei buena vista johnston remain plantat war appoint now-presid taylor armi major paymast decemb serv role year make tour travel mile annual indian frontier texa serv texa frontier west presid franklin pierc appoint colonel cavalri unit preced modern regiment organ kei figur utah war led troop establish non-mormon govern mormon territori receiv brevet promot brigadi gener servic utah spent kentucki decemb sail california command depart pacif civil war outbreak civil war johnston command armi depart pacif california approach californian urg forc east join union confederaci resign commiss april heard secess texa remain california june rapid march desert arizona texa reach richmond virginia septemb johnston appoint gener friend jefferson davi johnston highest rank confeder gener little-known samuel cooper command western depart rais armi mississippi defend confeder line mississippi river kentucki allegheni mountain confeder state armi won morale-boost victori battl bull run east matter west turn ugli earli johnston subordin gener lost fort henri februari fort donelson februari union brig ulyss grant johnston fault poor judgment select brig gen tilghman floyd crucial posit supervis adequ construct fort union maj don carlo buell captur vital citi nashvil tennesse beauregard west join johnston organ forc corinth mississippi plan ambush grant forc pittsburg land tennesse shiloh monument johnston shiloh nation militari park johnston concentr forc theater launch massiv surpris attack grant battl shiloh april confeder forc overran union camp johnston person lead ralli troop line lead charg wound bullet knee wound time person physician attend wound union soldier bullet fact clip poplit arteri boot fill blood minut johnston observ staff faint hors ask wound repli fear johnston duel caus nerv damag numb leg feel wound leg result johnston small ravin bled death minut probabl confeder soldier fire fatal union soldier observ johnston fatal charg confeder fire union line johnston charg advanc soldier highest-rank casualti war death strong blow moral confederaci jefferson davi consid gener countri month emerg robert lee pre-emin gener confederaci epitaph johnston tomb texa state cemeteri date johnston death sundai april coincident anniversari found church jesu christ latter-dai saint mormon led unit state forc utah war mormon deem buchanan administr rebellion unit state death johnston similarli deem rebellion unit state command offic confeder armi time lincoln administr johnston buri orlean louisiana joint resolut texa legislatur pass bodi reinter texa state cemeteri austin re-inter occur forti year state appoint elisabet nei design monument sculptur erect gravesit texa histor commiss erect histor marker entranc plantat adjac marker erect san jacinto chapter daughter republ texa lee robert davi chapter unit daughter confeder state america note +arctic ocean locat northern hemispher arctic north polar region smallest world major ocean divis shallowest michael pidwirni www net retriev decemb intern hydrograph organ iho recogn ocean oceanograph call arctic mediterranean sea simpli arctic sea classifi mediterranean sea atlant ocean tomczak matthia godfrei stuart ed delhi daya publish hous altern arctic ocean northernmost lobe all-encompass world ocean complet surround eurasia north america arctic ocean larg cover sea ic year arctic ocean temperatur salin vari season ic cover melt freez aagaard woodgat polar scienc center appli physic laboratori univers washington januari retriev decemb salin lowest averag major sea due evapor heavi freshwat inflow river stream limit connect outflow surround ocean water higher salin summer shrink icepack quot geographi bathymetr topograph map arctic ocean surround arctic ocean occupi roughli circular basin cover area km sq mi slightli time size unit state wright john ed editor report york time york time almanac york york penguin book coastlin length kilomet mi landlock surround land mass eurasia north america greenland island includ baffin bai barent sea beaufort sea chukchi sea east siberian sea greenland sea hudson bai hudson strait kara sea laptev sea white sea tributari bodi water connect pacif ocean bere strait atlant ocean greenland sea labrador sea geograph coordin intern hydrograph organ intern hydrograph organ special public edit fourth edit ratifi limit arctic ocean proper great circl line run cape morri jesup northernmost point greenland northernmost point spitsbergen south line li greenland sea parallel north north east land north shore easternmost point cape leigh smith line run cape leigh smith cape easternmost point franz josef land south line li barent sea line run cape cape molotov arctic cape northernmost point komsomolet island south line li kara sea line run arctic cape northernmost point island south line li laptev sea line run northernmost point island northernmost point wrangel island south line li east siberian sea line run northernmost point wrangel island point barrow northernmost point alaska south line li sea line run point barrow cape land princ patrick island northwest territori south line li beaufort sea northwest coast princ patrick island north cape leopold m'clintock northernmost point line run cape leopold m'clintock cape murrai brock island northwest coast brock island north northernmost point line run northernmost point brook island cape mackai borden island westernmost point northwest coast borden island north cape malloch northernmost point northwest territori line run cape malloch cape isachsen ellef ringn island nunavut northwesternmost point line run cape isachsen northwesternmost point meighen island line run northwesternmost point meighen island cape stallworthi axel heiberg island northernmost point line run cape stallworthi cape colgat ellesmer island westernmost point north coast ellesmer island north cape columbia northernmost point line run cape columbia cape morri jesup south line li lincoln sea arctic region underwat ridg lomonosov ridg divid deep sea north polar basin basin eurasian basin meter ft deep amerasian basin call north american hyperborean meter ft deep bathymetri ocean bottom mark fault-block ridg plain abyss zone ocean deep basin averag depth arctic ocean meter ft www april retriev decemb deepest point eurasian basin meter ft major basin subdivid ridg canada basin alaska canada alpha ridg makarov basin alpha lomonosov ridg fram basin lomonosov ridg nansen basin amundsen basin ridg continent shelf includ franz joseph land arctic ocean major chokepoint southern chukchi sea cia world factbook novemb retriev decemb northern access pacif ocean bere strait north america russia arctic ocean shortest marin link extrem eastern western russia float research station arctic oper russia greatest inflow water atlant norwegian current flow eurasian coast water enter pacif bere strait east greenland current carri major outflow ic cover ocean surfac year-round caus subfreez temperatur time arctic major sourc cold air inevit move equat meet warmer air middl latitud caus rain snow marin life abound open area southerli water ocean major port russian citi murmansk arkhangelsk churchil manitoba canada prudho bai alaska arctic ocean encompass arctic shelv largest largest earth siberian shelf histori paint adolf erik nordenskiöld explor arctic region georg von rosen western histori geographi north polar region remain larg unexplor conjectur pythea massalia record account journei northward land call eschat thule sun set hour dai water replac congeal substanc walk sail describ loos sea ic todai growler bergi bit thule iceland norwai suggest andr engel retriev decemb earli cartograph unsur draw region pole land johann ruysch map gerardu mercat map water martin waldseemül world map fervent desir european northern passag cathai china caus water win mapmak johann homann featur extens oceanu septentrionali northern edg chart expedit penetr arctic circl era ad small island nova zemlya centuri spitsbergen surround pack-ic northern limit clear maker navig chart conserv fanci cartograph tend leav region blank bit coastlin sketch arctic expedit georg hubert wilkin detroit arctic expedit lack knowledg lai north shift barrier ic gave rise number conjectur england european nation myth open polar sea long-liv persist john barrow longtim secretari british admiralti belief cornerston campaign arctic explor unit state explor elisha kent kane isaac israel hay claim outskirt elus bodi water late centuri emin author matthew fontain mauri includ descript open polar sea textbook physic geographi sea explor trek closer closer pole report polar ic cap ultim thick persist year-round fridtjof nansen naval cross arctic ocean surfac cross arctic ocean led walli herbert dog sled expedit alaska svalbard air support soviet russian man drift ic station extens monitor arctic ocean scientif settlement establish drift ic carri thousand kilomet ic floe climat ocean contain polar climat character persist cold narrow annual temperatur rang winter character continu dark cold stabl weather condit clear ski summer character continu daylight damp foggi weather weak cyclon rain snow temperatur surfac arctic ocean constant freez point seawat slightli degre celsiu winter warm ocean water exert moder influenc cover ic reason arctic experi extrem temperatur antarct contin consider season variat pack ic arctic ic pack cover arctic ocean ocean cover snow month year maximum snow cover march april centimet frozen ocean natur resourc territori claim arctic petroleum ga field placer deposit polymetal nodul sand gravel aggreg fish seal whale abund region polit dead zone center sea center mount disput unit state russia canada norwai denmark consid signific potenti quarter world undiscov oil ga resourc tap greatli alter flow global energi market shamil timothi fenton oxford institut energi studi august natur hazard ic island occasion break northern ellesmer island iceberg form glacier western greenland extrem northeastern canada permafrost island ocean virtual ic lock octob june ship subject superstructur ic octob advent modern icebreak ship sail arctic ocean risk trap crush sea ic interestingli ghost ship octaviu drift arctic ocean untend decad hazard anim plant life arctic polar bear endang marin speci includ walrus whale area fragil ecosystem slow chang slow recov disrupt damag arctic ocean plant life phytoplankton phytoplankton crucial part ocean massiv amount arctic nutrient river current atlant pacif ocean provid food arctic phytoplankton professor terri nation ocean atmospher administr retriev decemb summer sun dai night enabl phytoplankton photosynthes long period time reproduc quickli revers true winter struggl light surviv environment concern polar ic pack thin season hole ozon layer year reduct area arctic sea ic effect planet albedo possibl affect global warm posit feedback mechan richard black octob bbc new retriev decemb scientist present concern warm temperatur arctic larg amount fresh meltwat enter north atlant possibl disrupt global ocean current pattern potenti sever earth climat ensu environment concern relat radioact contamin arctic ocean russian radioact wast dumpsit kara sea thoma nilsen bellona august retriev decemb cold war nuclear test site novaya zemlya bradlei moran john smith retriev decemb major port harbor arctic ocean port churchil manitoba canada inuvik canada prudho bai alaska unit state barrow alaska unit state pevek russia tiksi russia dikson russia dudinka russia murmansk russia arkhangelsk russia kirken norwai norwai longyearbyen spitsbergen norwai +android android robot design resembl human appear behavior word deriv greek mean man male suffix speci alik eido speci word deriv gender-specif root usag english gender-neutr femal counterpart gynoid gener femal gender distinguish trait robot term mention albertu magnu harvard univers retriev januari popular french writer villier futur term android appear patent earli refer miniatur humanlik toi autom googl patent retriev januari android larg remain domain scienc fiction frequent film televis humanoid robot exist word droid robot star war univers deriv mean android project august hand android project successfulli complet japanes project der japanes world android der develop japanes research group intellig robot lab direct hiroshi ishiguro osaka univers kokoro demonstr expo aichi prefectur japan kokoro develop der android height human bodi part der cm mobil point der move express hand feet twist bodi air kokoro develop origin actuat result control actuat air pressur precis movement fluent nois small der realiz slimmer bodi version smaller cylind outwardli der beauti proport compar previou model der thinner arm wider repertoir express smooth movement improv make uniniti confus actual human program choreograph motion gestur voic intellig mechatron lab direct kobayashi scienc univers tokyo develop android head call saya exhibit yokohama japan initi world involv humanoid research develop time introduc broader spectrum realiz technolog futur work scienc univers tokyo guid japan waseda univers japan ntt docomo manufactur succeed creat shape-shift robot capabl chang face creator decid posit point express outlin ey nose person robot express face move point decid posit version robot develop year coupl major improv design robot featur elast mask averag head dummi drive system dof unit robot chang facial featur activ specif facial point mask point possess degre freedom facial point total degre freedom materi mask fabric highli elast materi call bit steel wool mix ad strength technic featur reveal shaft driven mask desir facial point driven dc motor simpl pullei slide screw appar research modifi shape mask base actual human face copi face scanner determin locat individual’ facial point driven posit laptop motor control board addit research mention shift robot displai individual’ hair style skin color photo face project mask project research develop android interperson commun model capabl emul human emot express facial musculatur capabl rudimentari convers word vocabulari cm tall weigh kg match averag figur korean women twenti deriv biblic ev letter robot advanc comput process power enabl speech recognit vocal synthesi time process lip synchron visual recoginit degre micro ccd camera face recognit technolog independ micro chip artifici brain handl gestur express bodi coordin emot express bodi highli advanc synthet jelli silicon artifici joint face neck bodi demonstr realist facial express sing danc south korea ministri inform commun hope put robot home earli strictli purpos clean decor entertain hanson robot texa kaist produc android portrait albert einstein hanson facial android technolog mount kaist life-s walk biped robot bodi einstein android call albert hubo repres full bodi walk android histori video hanson robot fedex institut technolog univers texa arlington develop android portrait sci-fi author philip dick creator blade runner full convers capabl incorpor thousand page author pkd android won place artifici intellig award aaai project aiko canada creat android portrait femal person softwar biometr robot artifici intellig neural system silicon bodi creat unusu android android call aiko aiko android mimic pain abil learn avoid pain addit aiko speech voic face object recognit solv math problem displai visual capabl learn inform environ hope aiko walk futur usag distinct term robot mechan cyborg partli organ partli mechan word android literatur media denot kind artifici construct be robot close resembl human artifici synthet creat primarili organ close resembl human refer seri anim bio android human morpholog necessarili ideal form work robot fascin develop robot mimic histor assimil concept simulacra devic exhibit like automata devic independ term android french author august villier de l'isle-adam work tomorrow ev featur artifici human-lik robot name hadali offic stori ag advanc mind respons mechan doll karel robot rossum univers robot plai introduc word robot world organ artifici human word robot primarili refer mechan human anim be term android cyborg cybernet organ bionic man creatur combin organ mechan part word android combin ancient greek andro suffix liter mean form man contrast gener term anthropoid mean humanlik ambigu histor scienc fiction author android greater divers wai term robot cyborg fiction work primari differ robot android skin-deep android human intern mechan robot stori author defin android wholli organ artifici creation definit android fall charact data televis seri star trek gener android data intox earli episod nake refer bioplast sheet skin toi suggest initi intend writer partial organ data shown mechan central plot theme show saint tyler android robot human intellect tyler spend seri fight mari normal human eventu team fight dark evil vincent charact rock mega man game seri call humanoid instruct game robot member class robot call robot master degre autonomi mega man state robot mega man successor mega man specif identifi fulli autonom replic movi blade runner bioengin organ be refer robot android movi screenplai origin base philip dick call android dream electr sheep be question specif refer android familiarli andi exist primarili replac deplet human popul aftermath nuclear war featur distinguish human lack empathi virtual indistinguish organ counterpart point charact observ psychot human confus android video game beneath steel sky genet engin android similar blade runner replic central plot theme organ makeup behavior program comput robot karel organ natur todai author write similar stori inclin call android charact ash movi alien artifici organ refer android dialogu movi similarli charact bishop alien alien advanc android commonli call synthet prefer call artifici person seri timelin charact call alien resurrect asham android interest note intern work android alien univers human white liquid analog blood hydraul movement gut alien star war movi c-po r-d robot refer droid c-po call android humanoid appear squat cylind r-d humanoid behavior movi robot charact call mecha film loos base short stori written brian aldiss call summer long central charact david call android aldiss refer organ creation anim manga chobit android persocom essenti comput man-mad bodi seri intern composit assum artifici realist kei point seri special type persocom name chobit persocom free abil fall love emot cylon race re-imagin battlestar galactica seri includ twelv android model virtual indistinguish human be cellular level molecularli wai superhuman capac lack abil function reproduc charact kryten televis show red dwarf mechanoid android meld word mechan humanoid episod dna brain dna alter capabl break program obtain emot prove difficult displai episod camil android fiction android film appear fritz lang metropoli robot creat imag revolutionari leader maria earliest android charact otho captain futur stori edmond hamilton otho construct discuss human-lik companion grag mechan robot creatur mari shelli classic frankenstein modern prometheu essenti robot protein-bas part creatur anim young student flee creation begin learn child intellig seek reveng reluct isaac asimov robot stori android collect robot promulg set rule ethic android robot law robot greatli influenc writer thinker treatment subject asimov robot artifici mistaken human be notabl except jander panel daneel olivaw andrew martin dor venabili wife human mathematician hari seldon major charact foundat seri origin star trek seri episod girl introduc concept android widest audienc point time guest charact origin present human reveal actual android built technolog ancient alien civil ruin episod android concept step reveal main antagonist korbi fact dead transfer conscious android duplic bodi gain akin immort android duplic captain jame kirk construct episod time appear star trek televis movi seri famou android data plai actor brent spiner seri star trek gener charact larg inspir android charact creat gene roddenberri questor tape data brother lore daughter lal juliana tainer android fembot properli rare refer gynoid creator noonien soong data positron brain fiction robot devic conceiv isaac asimov high approxim human sentienc exhibit strong strong desir human understand human shown extrem endear curiou fact lack abil feel emot understand human idiosyncrasi constantli copi form human behavior notabl comedi clamp seinen anim manga seri chobit chii android persocom note special abil seri persocom real feel act human eventu fall love owner hideki trash demonstr strong human-lik feel star trek motion pictur ilia probe precis duplic biomechan replica lieuten ilia emot intact dispatch v'ger gather inform crew starship enterpris tv seri gene roddenberri andromeda gynoid rommi extens starship ai oper system repres avatar rommi android ningen japanes mean race dragon ball dragon ball dragon ball gt name number android android creat gero muu red ribbon armi artifici creat human consid cyborg jinzo ningen kikaid manga tokusatsu seri featur android protagonist seri xenosaga borrow origin term realian refer race be creat vector corpor playabl charact android momo kos-mo refer realian simpli android differ realian artifici organ composit respect seri capcom mega man initi call humanoid simplifi robot version advanc independ thought closer android be base design call reploid doctor episod bad wolf deadli version th-centuri gameshow android host weakest link call ann droid pun ann robinson current host seri previous featur android convent sens robot duplic real peopl chase murder robot doubl doctor doomsdai timelash android deliber distinguish blue skin cave androzani jek creat android replica doctor peri brown notabl android invas deadli robot creation copi sarah jane smith fail fool doctor auton kamelion episod blake revolv deadli robot duplic gener morden creat mechan duplic resurrect henchman allen o'niel android defeat doesn't mechan duplic drag player self-destruct leav head land mine game shadow hedgehog eggman creat armi android resembl shadow hedgehog call shadow android due exact resembl shadow begin fear android show small tv seri vicki lawson short voic input child android built ted lawson famili pass daughter sister kim fox sentient femal android gynoid featur work richard evan british author thriller machin nation examin machin emot consequ relationship gynoid android short stori touch sensit hand glove entir phantasi star video game seri promin featur android main charact plot element power ranger oper overdr mackenzi mack hartford andrew hartford son power ranger android krang teenag mutant ninja turtl cartoon robot android bodi human bodi appear artifici intellig krang sit robot control episod turtl termin seri shredder android robot like irma attempt destroi turtl bio android fiction fiction promin android variat bio android construct protein base compon oppos electron mechan part bio android compos synthet flesh exact composit vari work work synthet biologi term describ race seri dean koontz frankenstein victor frankenstein built armi synthet human suppos replac origin human call race consid failur cell anim seri dragon ball creat dna power fighter grown lab doctor gero built highli advanc tradit android cell statu bio android question uniqu grown clone built anim seri outlaw star bio android built synthet flesh knowledg extinct civil primari purpos navig system find kei activ galact leylin find ultim goal protagonist displai trait align close organ be titl charact anim armitag iii android compris mechan cybernet compon reveal similar android reproduc human movi type develop complet organ humanoid cylon sci-fi channel remak seri battlestar galactica built organ compon ident human autopsi perform share telepath bond mass produc specif bodi type addit mind transmit base destruct bodi reborn cylon produc hybrid children human be anim casshan robot hunter cybernet organ design live symbiosi natur replac tradit android robot main enemi mankind adult comedi anim cpu main charact akira trick bui mimi pixi bio android girl place comput anim neon genesi evangelion eva combin cybernet biolog part clone extraterrestri be consid cyborg bio android depend strict definit effect bio android form addit charact rei ayanami reveal bio android base technolog eva manga anim applese entir popul bio android human switch bodi remad anim receiv life extens treatment lack cellular divis fact prevent reproduc factori assembl bodi destroi abil reproduc remain bodi anim seri ghost shell gig proto men work tachikoma seri proto brain fri attempt hack govern network reveal fact bio android prototyp replic movi blade runner small hand escap replic hunt specialist polic unit call blade runner realian xenosaga game seri consid exist carbon-bas metal variat exampl list fiction robot note +alberta ipa canada prairi provinc provinc septemb alberta locat western canada bound provinc british columbia west saskatchewan east northwest territori north state montana south alberta provinc territori brunswick yukon border singl state provinc land-lock saskatchewan capit citi alberta edmonton locat south centr provinc calgari major distribut transport hub canada major commerc centr edmonton primari suppli servic hub canada oil sand northern resourc industri popul estim metropolitan area exceed million peopl calgari slightli popul edmonton municip provinc includ red deer lethbridg medicin hat fort mcmurrai grand prairi camros lloydminst wetaskiwin banff cold lake jasper decemb premier provinc hon ed stelmach progress conserv alberta name princess louis carolin alberta fourth daughter queen victoria princess louis wife marquess lorn governor gener canada lake louis villag carolin mount alberta name honour princess louis geographi alberta western canada cover area km mi statist canada februari retriev march south border state montana parallel east longitud west border provinc saskatchewan north border northwest territori west border british columbia line peak rocki mountain rang continent divid run northwesterli reach west point border meridian north except southeastern section provinc water alberta dozen river lake swim water ski fish full rang water sport larg lake multitud smaller lake km part lake athabasca km li provinc saskatchewan lake clair km li west lake athabasca wood buffalo nation park lesser slave lake km northwest edmonton morain lake banff nation park alberta extend km north south km wide greatest east-west extent natur climat vari consider parallel influenc elev provinc high plateau elev rang metr south calgari metr red deer metr north presenc wall mountain west open prairi east influenc weather northern alberta cover boreal forest frost-fre dai southern alberta semi-arid climat southeastern corner alberta experi greater summer heat rainfal rest provinc western alberta protect mountain enjoi mild temperatur brought winter chinook wind southeastern alberta gener flat dry prairi hill temperatur extrem rang cold winter hot higher summer central part northwestern alberta peac river region larg aspen parkland biom transit prairi south boreal forest north southern ontario central alberta region canada experi tornado thunderstorm sever frequent summer central southern alberta region surround calgary-edmonton corridor notabl highest frequenc hail canada due role orograph lift nearbi rocki mountain enhanc updraft downdraft cycl format hail alberta cold winter temperatur averag rang south north south foothil rocki winter cold interrupt chinook wind propel temperatur upward short time frame close infrequ condit commonli occur februari march summer averag daytim temperatur rang rocki mountain vallei north dry prairi southeast northern western part provinc experi higher rainfal evapor rate caus cooler summer temperatur south east-centr portion prone condit persist period year area receiv heavi precipit alberta experi good amount sunshin northern locat ow dry climat east-centr part provinc border saskatchewan sunniest place canada averag hour year airdri brook calgari camros cold lake edmonton fort saskatchewan grand prairi leduc lethbridg lloydminst medicin hat red deer spruce grove st albert wetaskiwin alberta citi distribut citi alberta calgari edmonton alberta capit citi edmonton locat geograph centr provinc alberta oil refin southern alberta calgari locat ranch unforest part alberta grain dairi farm ranch grassland predomin south albertan badland locat southeastern alberta red deer river cross flat prairi farmland featur deep gorg strike landform dinosaur provinci park brook alberta showcas badland terrain desert flora remnant alberta dinosaur roam lush landscap alberta canadian provinc maritim coast neighbour provinc saskatchewan largest municip metro area popul economi alberta economi strongest canada support burgeon petroleum industri lesser extent agricultur technolog capita gdp highest provinc canada higher nation averag atlant provinc deviat nation averag largest provinc canadian histori statist canada septemb retriev februari calgary-edmonton corridor urban region provinc densest canada measur north south region cover distanc roughli kilometr popul calgary-edmonton corridor million alberta popul statist canada censu popul januari retriev march fastest grow region countri studi td bank financi group corridor canadian urban centr amass level wealth maintain canadian-styl qualiti life offer univers health care benefit studi gdp capita corridor percent averag metropolitan area percent canadian citi fraser institut alberta high level econom freedom free economi canada fraser institut novemb retriev march rate free economi state canadian provinc fraser institut septemb retriev march industri mildr lake site plant athabasca oil sand alberta largest produc convent crude oil synthet crude natur ga ga product countri alberta world’ largest export natur ga largest produc govern largest produc petrochem north america locat central north central alberta red deer edmonton world class polyethylen vinyl manufactur produc product ship world edmonton oil refineri provid raw materi larg petrochem industri east edmonton athabasca oil sand athabasca tar sand estim non-convent oil reserv approxim equal convent oil reserv rest world estim trillion barrel km develop extract method steam assist graviti drainag sagd develop alberta bitumen synthet crude oil produc cost close convent crude compani emploi convent strip mine non-convent situ method extract bitumen oil sand current technolog current price billion barrel km bitumen recover fort mcmurrai canada fastest grow citi grown enorm year larg corpor task oil product late billion oil sand project construct plan stage northeastern alberta factor determin viabil oil extract tar sand price oil oil price increas profit extract oil give profit loss concert effort support provinci govern high-tech industri birth alberta notabl patent relat interact liquid crystal displai system patent patent technolog grow economi alberta financi institut deal civil privat fund agricultur forestri canola field central alberta agricultur signific posit provinc economi million cattl resid provinc time govern depart agricultur albertan beef healthi worldwid market canadian beef produc alberta alberta prime produc plain buffalo bison consum market sheep wool mutton rais grain elev southern alberta wheat canola primari farm crop alberta lead provinc spring wheat product grain promin farm dryland farm fallow season interspers cultiv continu crop fallow season gradual common mode product increas profit reduct soil eros provinc common grain elev slowli lost rail line decreas farmer truck grain central point alberta lead beekeep provinc canada beekeep winter hive indoor special design barn southern alberta migrat north summer peac river vallei season short work dai long honeybe produc honei clover firewe hybrid canola requir bee pollin beekeep servic vast northern forest reserv softwood alberta produc larg quantiti lumber orient strand board osb plywood plant northern alberta suppli north america pacif rim nation bleach wood pulp newsprint govern govern alberta organ parliamentari democraci unicamer legislatur unicamer legisl eighty-thre member local municip govern school board elect oper separ boundari coincid municip bodi act local govern school board formal refer counti alberta canada head state queen elizabeth ii head state govern alberta duti alberta carri lieuten governor norman kwong lieuten governor technic power person alberta realiti figurehead action restrict custom constitut convent govern head premier current premier ed stelmach elect leader govern progress conserv decemb stelmach sworn albertan premier decemb alberta legisl build edmonton case parliamentari system govern premier member legisl assembl draw member cabinet member legisl assembl citi edmonton seat provinci capit alberta provinc revenu taxat oil natur ga beef softwood lumber wheat includ tax corpor person incom game revenu grant feder govern primarili infrastructur project albertan peopl canada alberta provinc canada provinci sale tax resid subject feder sale tax good servic tax alberta municip school jurisdict govern work co-oper provinci govern alberta elect tend yield result conserv canadian provinc alberta tradition polit parti progress conserv conserv tori liber social democrat democrat fourth parti strongli conserv social credit parti power alberta decad fell polit map progress conserv power time polit parti govern alberta fact parti govern alberta liber unit farmer alberta social credit parti govern progress conserv parti present case western canadian provinc alberta occasion surg separatist sentiment feel strongest interest secess initi major movement referendum number group wish promot independ alberta form activ provinc alberta separat provinci elect held march progress conserv parti re-elect major govern seat alberta liber parti elect offici opposit member alberta democrat parti elect member popul vote elect surpass record previou elect progress conserv parti won approxim seat approxim vote elig voter educ heritag hall sait polytechn canadian provinc albertan legislatur exclus author law respect educ legislatur capac continu model local elect public separ school board origin prior creat regul univers colleg technic institut educ form institut public charter school privat school home school forty-two public school jurisdict alberta seventeen oper separ school jurisdict sixteen oper separ school jurisdict roman cathol elector st albert protest elector addit protest separ school district glen avon surviv ward st paul educ region citi lloydminst straddl alberta saskatchewan border public separ school system citi count number oper saskatchewan law year provinci govern fund greater part cost provid educ prior public separ school board alberta legisl author levi local tax properti supplementari support local educ govern provinc elimin public school board separ school board continu tax properti support educ differ mill rate set provinci govern monei collect local municip author remit provinci govern relev legisl requir monei rais properti tax support educ school board provinci govern pool properti tax fund provinc distribut formula public separ school jurisdict francophon author public separ school board charter school privat school follow program studi curriculum approv provinci depart educ alberta educ home schooler choos follow program studi develop program studi public separ school charter school approv privat school emploi teacher certif alberta educ administ provinci achiev test diploma examin set alberta educ grant high school graduat certif endors alberta educ post-secondari alberta oldest largest univers edmonton univers alberta univers calgari affili univers alberta gain autonomi largest univers alberta athabasca univers focus distanc learn univers lethbridg colleg receiv direct public fund technic institut nait sait larg activ privat sector post-secondari institut includ devri univers student receiv govern loan grant attend select privat institut controversi year rise cost post-secondari educ student oppos taxpay premier ralph klein promis freez tuition wai reduc school cost plan releas govern alberta infrastructur alberta km highwai road km pave main north-south corridor highwai begin south cardston border cross part canamex corridor highwai effect extend interst highwai alberta busiest gatewai provinc begin coutt border cross end lethbridg highwai join lethbridg fort macleod link highwai highwai highwai travel northward fort macleod calgari red deer edmonton divid highwai section highwai calgari edmonton name queen elizabeth ii highwai commemor visit monarch edmonton branch continu northwest highwai grand prairi peac river countri highwai travel northeast fort mcmurrai locat athabasca oil sand highwai supplement highwai run parallel highwai west highwai cowboi trail highwai east highwai david thompson highwai banff nation park alberta main east-west corridor southern corridor part trans-canada highwai system enter provinc medicin hat run westward calgari leav alberta banff nation park northern corridor part trans-canada network altern yellowhead highwai highwai run west lloydminst eastern alberta edmonton jasper nation park british columbia sunni spring fall dai scenic drive icefield parkwai run km jasper lake louis mountain rang glacier side entir length major corridor central alberta highwai david thompson highwai run west saskatchewan river cross banff nation park rocki mountain hous red deer connect highwai km west stettler highwai connect smaller town central alberta calgari edmonton cross highwai west red deer urban stretch alberta major highwai freewai call trail highwai deerfoot trail pass calgari calgari trail leav edmonton southbound st albert trail leav edmonton northbound citi st albert visitor alberta find disconcert accustom notion trail unpav rout primarili pedestrian edmonton calgari red deer medicin hat lethbridg substanti mass transit system edmonton calgari oper light rail vehicl alberta well-connect air intern airport edmonton calgari calgari intern airport edmonton intern airport fourth busiest canada calgari airport hub westjet airlin region hub air canada calgari airport primarili serv canadian prairi provinc alberta saskatchewan manitoba connect flight british columbia eastern canada major centr european airport destin mexico caribbean edmonton airport act hub canadian north connect major canadian airport major airport european airport mexican caribbean airport km oper mainlin railwai tourist alberta aboard rail rocki mountain railtour canadian pacif railwai canadian nation railwai compani oper railwai freight provinc health care alberta divid health region aspen region health author calgari health region capit health edmonton chinook health david thompson region health author east central health northern light health region pallis health region peac countri health region cultur calgari stamped summer bring festiv provinc edmonton fring festiv world largest edinburgh folk music festiv calgari edmonton canada largest citi host number annual multicultur event larg number summer winter event edmonton pride festiv citi citi heritag dai festiv see particip nation group calgari home largest caribbean festiv nation caribana toronto citi famou calgari stamped dub greatest outdoor show earth stamped canada biggest rodeo festiv featur race competit calf rope bull ride event highlight provinc cultur divers love entertain major citi perform theatr compani entertain venu divers edmonton art barn franci winspear centr music alberta signific ethnic divers chines east indian commun signific statist canada alberta home highest proport percent francophon western canada manitoba alberta french-speak resid live central northwestern region provinc report censu chines repres percent alberta popul east indian repres percent edmonton calgari chinatown calgari canada largest chines presenc began worker emploi build canadian pacif railwai aborigin albertan approxim percent popul major contributor alberta ethnic divers european nation forty-four percent albertan british irish descent larg number german ukrainian scandinavian british origin scot strong influenc place-nam includ calgari airdri canmor banff scottish origin citi home canadian footbal leagu nation hockei leagu team soccer rugbi union lacross plai profession alberta alberta home speaker number languag minor languag grow due immigr english remain offici languag govern servic french offici languag court tourism stephen avenu calgari alberta tourist destin earli dai twentieth centuri attract includ outdoor local ski hike camp shop local west edmonton mall outdoor festiv profession athlet event intern sport competit commonwealth game olymp game eclect attract alberta econom develop edmonton calgari host million visitor annual banff jasper rocki mountain visit million peopl year alberta econom develop lake louis canadian rocki alberta rocki mountain includ tourist destin banff nation park jasper nation park mountain park connect scenic icefield parkwai banff locat km west calgari highwai jasper locat km west edmonton yellowhead highwai canada unesco world heritag site locat provinc canadian rocki mountain park waterton-glaci intern peac park wood buffalo nation park dinosaur provinci park head-smashed-in buffalo jump million peopl pass gate calgari world-fam stamped celebr canada wild west cattl ranch industri peopl enjoi edmonton capit klondik dai histori edmonton gatewai all-canadian rout yukon gold field rout requir gold-seek travel exhaust danger chilkoot pass locat east-centr alberta alberta prairi railwai excurs popular tourist attract oper stettler draw visitor world boast oper steam train world offer trip roll prairi sceneri alberta prairi railwai excurs cater ten thousand visitor year alberta import destin tourist love ski hike alberta boast world-class ski resort sunshin villag lake louis marmot basin norquai hunter fishermen world home impress trophi tall tale experi alberta wilder demograph alberta popul grown steadili centuri alberta enjoi high rate growth year due larg part burgeon economi provinc high birthrat par larger provinc british columbia high immigr high rate interprovinci migrat compar provinc approxim popul live urban area live rural area calgary-edmonton corridor urban area provinc dens popul area canada alberta municip affair retriev decemb alberta citi town experienc high rate growth histori centuri alberta popul rose canada censu languag censu english nativ speaker mother tongu albertan common mother tongu chines languag native-speak german native-speak french punjabi tagalog ukrainian spanish polish arab dutch vietnames common aborigin languag cree common mother tongu includ italian speaker urdu korean hindi farsi portugues hungarian figur shown number singl languag respons percentag total single-languag respons ethnic canadian censu albertan identifi canadian identifi ethnic canadian make total canadian commonli report ethnic english german scottish irish french ukrainian dutch north american indian polish norwegian chines person choos ethnic religion albertan identifi christian alberta higher percentag evangel christian provinc convers alberta highest percentag non-religi resid canada british columbia albertan attend church year mormon alberta resid primarili extrem south provinc alberta larg popul hutterit commun anabaptist sect similar mennonit signific popul seventh-dai adventist alberta home byzantin rite church part legaci eastern european immigr includ ukrainian cathol eparchi edmonton ukrainian orthodox church canada western dioces base edmonton peopl hindu sikh muslim faith alberta home north america oldest mosqu locat edmonton alberta jew live calgari edmonton jewish commun canada histori alexand rutherford alberta premier provinc alberta north north latitud part rupert land time incorpor hudson bai compani arriv north-west french settl prairi west establish commun lac la bich bonnyvil fort la jonquièr establish calgari north-west compani montreal occupi northern part alberta territori hudson bai compani arriv hudson bai possess explor athabasca region peter pond behalf north-west compani montreal built fort athabasca lac la bich roderick mackenzi built fort chipewyan lake athabasca ten year cousin sir alexand mackenzi north saskatchewan river northernmost point edmonton set northward foot trek athabasca river lake athabasca discov mighti outflow river bear name—th mackenzi outlet arctic ocean return lake athabasca peac river upstream eventu reach pacif ocean white man cross north american contin north mexico dictionari canadian biographi retriev januari district alberta creat part north-west territori settlement increas local repres north-west legisl assembl ad long campaign autonomi district alberta enlarg provinci statu elect alexand cameron rutherford premier ecolog fauna climat region alpin forest prairi alberta home speci anim south central prairi land bison grass provid great pastur breed ground million buffalo buffalo popul decim earli settlement buffalo strong comeback thrive farm park alberta bighorn sheep alberta provinci anim alberta home larg carnivor grizzli black bear mountain wood region smaller carnivor canin felin famili includ coyot wolv fox lynx bobcat mountain lion cougar herbivor plant-eat anim provinc moos deer mule white-tail varieti wood region pronghorn prairi southern alberta bighorn sheep mountain goat live rocki mountain rabbit porcupin skunk squirrel speci rodent reptil live corner provinc alberta fortun home varieti venom snake prairi rattlesnak central northern alberta region north migratori bird vast number duck gees swan pelican arriv alberta spring nest hundr small lake dot northern alberta eagl hawk owl crow plenti huge varieti smaller seed insect- bird alberta temper region home mosquito fli wasp bee river lake stock pike walley whitefish rainbow speckl brown trout sturgeon turtl water bodi southern part provinc frog salamand amphibian home alberta alberta provinc canada place world free norwegian rat alberta depart agricultur retriev januari earli govern alberta oper program success isol instanc wild rat sight report rat arriv provinc aboard truck rail alberta agricultur report find wild rat rat intercept domest rat seiz owner illeg individu albertan norwegian rat descript anim provinc zoo univers colleg recogn research institut flora central northern alberta arriv spring bring prairi crocu anemon flower aven golden bean earli flower advanc summer introduc flower sunflow famili august plain blaze yellow purpl southern east central part alberta cover short nutriti grass dri summer lengthen replac hardi perenni prairi coneflow fleaban sage yellow white sweet clover fill ditch beauti aromat scent tree parkland region provinc grow clump belt hillsid larg decidu typic aspen poplar willow speci willow shrub grow virtual terrain north side north saskatchewan river evergreen forest prevail hundr thousand squar kilometr aspen poplar balsam poplar cottonwood paper birch primari larg decidu speci conif includ jack pine rocki mountain pine lodgepol pine white black spruce decidu conif tamarack +world map show arctic circl red sign dalton highwai mark locat arctic circl alaska arctic circl major circl latitud mark map earth parallel latitud run north equat region north circl arctic zone south call northern temper zone equival latitud southern hemispher call antarct circl arctic circl mark southern extrem polar dai hour sunlit dai refer midnight sun polar night hour sunless night north arctic circl sun horizon continu hour year horizon continu hour year arctic circl event occur principl year june decemb solstic call arctic correspond southernmost point constel ursa major great bear megal arkto greek fact atmospher refract sun appear disk point part midnight sun night summer solstic km south arctic circl similarli dai winter solstic part sun north arctic circl true sea level limit increas elev sea level mountain region direct view horizon posit arctic circl fix vari complex manner time circl latitud inform geographi demograph geographi north arctic circl predominantli ocean ice-cov great deal land fall circl circl pass countri prime meridian head eastward norwai sweden finland russia unit state alaska canada greenland territori denmark iceland cross island grímsei peopl live north arctic circl due cold condit largest town arctic circl situat russia murmansk popul norilsk vorkuta norwai inhabit rovaniemi finland li slightli south line slightli region north arctic circl gain signific intern attent due primarili perceiv threat global warm initi attent result fact earth pole point planet warm fastest act harbing melt ic circl make northwest passag ship rout northern-most latitud navig rais possibl dai arctic region prime trade rout ic melt open fabl northwest passag cnn aug addit believ arctic seab substanti oil field access ic cover melt great arctic circl oil rush cnn aug factor led intern debat nation claim sovereignti ownership water north circl russia stake claim north pole underwat search oil time onlin juli +commonly-us assault rifl design mikhail kalashnikov assault rifl select fire rifl carbin fire ammunit muzzl energi intermedi typic pistol battl rifl ammunit assault rifl categor light machin gun intend sustain automat fire support role submachin gun fire handgun cartridg rifl cartridg assault rifl standard small arm modern armi larg replac supplement larger power battl rifl world war ii-era garand tokarev svt exampl assault rifl includ rifl semi-automat rifl includ commerci version automat rifl limit fire singl shot incorrectli classifi assault rifl defunct assault weapon ban assault rifl select fire belt-f weapon rifl limit capac fix magazin gener consid assault rifl definit term assault rifl translat german word sturmgewehr liter mean storm rifl storm verb synonym assault storm compound sturmgewehr coin adolf hitler describ maschinenpistol subsequ re-christen sturmgewehr firearm gener consid true assault rifl serv popular concept translat gradual common term similar firearm share technic definit giver stg strict definit firearm characterist qualifi assault rifl taylor fight rifl complet studi rifl combat moyer special forc foreign weapon handbook scroggi moyer special forc combat fire techniqu carbin size individu weapon provis fire shoulder posit mm capabl select fire fire lock breech util intermedi ammunit suppli larg capac detach box magazin featur commonli assault rifl exclus assault rifl featur share submachin gun battl rifl automat rifl machin gun semi-automat rifl protrud pistol grip fold retract collaps shoulder stock bipod muzzl devic muzzl brake flash suppressor comment express loos includ type arm arm fall strict definit battl rifl civilian semi-automat off-shoot militari rifl commerci polit reason militari nation english-speak world definit assault rifl instanc analog term swedish arm forc liter automat carbin includ assault rifl battl rifl histori chang face infantri combat ancient time light infantri fought dispers format heavi infantri fought tightli pack format continu sling spear replac musket bayonet bright color uniform german blue russian green british red french white standard unit cohes midst cloud black powder smoke musket inaccur distanc greater meter multipl rank reserv part unit readi fire time tight format aid offic control men combat adapt rifl musket militari mid-th centuri increas rang firepow battl dens format increasingli bloodi affair wit high level casualti american civil war skirmish tactic greater emphasi gunpowd weapon increas reliabl accuraci rate fire cavalri adapt dismount skirmish tactic breechload rifl reload prone posit reduc vulner enemi fire american civil war develop adapt magazine-f rifl rapid fire machin gun high explos shell artilleri spell dens infantri format world war meant practic infantri unit longer engag long rang open field high power unwieldi bolt-act rifl dai tripl adapt smokeless powder increas recoil report longer suit close rang engag modern warfar militari leader arm manufactur began grasp type weapon era light automat rifl automat firearm tend pre-exist rifl cartridg kinet energi rang veloc ft bullet grain term appli retroact assault rifl italian-mad develop finish test itali unit kingdom enter militari servic servic assault rifl russian fedorov avtomat issu time chamber japanes xmm arisaka rifl cartridg small number world war french chauchat introduc automat rifl produc larg number assault rifl capabl singl automat fire load magazin featur pistol grip compar light machin gun time chauchat light weight kg cumbersom closer quarter recoil heavi control fire fulli automat due full power rifl round origin french chamber mm lebel mmr variant produc forc intern custom mm mm rifl calib flaw import infantri combat desper german troop compar weapon start captur chauchat chamber intermedi cartridg intermedi weapon submachin gun heavier machin gun lewi gun real select fire compact weapon intermedi fit todai definit assault rifl cartridg base winchest load case neck accept mm lebel bullet introduc armi technic servic juli offici design carabin mitrailleus english machin carbin german final reject accur meter american brown automat rifl bar copi chauchat concept reliabl design introduc signific number war end develop ad heavier barrel bipod todai light machin gun squad automat weapon establish doctrin light select fire rifl version bar produc larg number wide adopt serv militari nation world war submachin gun enter servic villar perosa beretta model mp weapon fire cartridg deriv pistol chamber mm glisenti mm parabellum develop thompson submachin gun develop origin intend round mechan system handl power acp cartridg chosen firearm consid part submachin gun class import step develop assault rifl automat intermedi weapon carbin variant capabl fulli automat fire carbin cross submachin gun assault rifl give infantri men reliabl weapon moder stop power continu evolut automat rifl primarili driven ammunit handgun ammunit submachin gun limit effect rang convers full-siz militari rifl calib uncomfort fire repeatedli difficult control fulli automat rapid fire signific recoil cost design manufactur higher attempt combin intermedi cartridg automat rifl italian arm compani beretta result mab moschetto beretta mab fiocchi cartridg higher-pow mm parabellum cartridg provid longer rang fire effect rang unit state introduc carbin intermedi power weapon chamber carbin cartridg select-fir capabl initi plan carbin drop version war select fire variant carbin weapon greater rang accuraci submachin gun power full-siz automat rifl brown automat rifl longer barrel carbin higher muzzl veloc pistol submachin gun chamber carbin power term muzzl energi contemporari german modern assault rifl round origin carbin envis inexpens lightweight weapon issu rear-area support troop trucker tanker cook place expens pistol garand rifl carbin seri suitabl close quarter battl engag concept re-appli furnish airborn divis expect airborn unit fight resuppli mark time intermedi weapon mass-produc produc american weapon war million carbin seri remain servic militari primari forc supplement final replac rifl continu limit role navi air forc coast guard train command arm forc nation notabl israel frequent varieti form begin import german program arm develop result prototyp adopt servic earli sturmgewehr sturmgewehr germani develop began earnest project automat firearm pre-exist round intermedi cartridg kinet energi rang muzzl veloc ft bullet grain germani versail treati limit profession armi long servic soldier number men forbad tank militari aircraft encourag approach emphas high qualiti reduc emphasi cost infantri tactic base team gener purpos machin gun gpmg support support section infantri gpmg high rate fire permit small number men fire long rang defend wide front enemi soldier briefli expos engag high rate burst fire casualti cover close rang assault conduct unit submachin gun greater mobil higher rate fire tactic approach refin hutier tactic germani year wwi germani countri observ studi emerg demand infantri rifl evolv world war factori varieti non-standard cartridg incent retain exist calib mm kurz cartridg experi improv xmm kurz infanteri kurz patron infantri short cartridg improv patron patron final infanteri kurz patron similar size xmm german cartridg xmm develop carbin curiou coincid ultim independ similar solut problem xmm cartridg case head standard xmm mauser bullet diamet rod walther present automat carbin abbr mkb name mkb year haenel present mkb design hugo schmeisser result program rheinmetall-borsig krieghoff present fg fallschirmjäg gewehr sponsor hermann göring role heavi xmm mauser cartridg intermedi war-tim test russia mkb perform schmeisser develop mp mp final mp sturmgewehr abbrevi stg immedi enter larg scale product unit produc februari novemb war mikhail kalashnikov develop vagu similar visual concept layout german stg mechan fire xmm cartridg develop wwii sk carbin war similar stg bullet similar calib larger full-siz russian rifl ammunit design stg move spain develop cetm assault rifl licens west germani subsequ improv german produc heckler koch hk prove cetm start late lighter rifl smaller bullet automat firearm intermedi cartridg lighter bullet smaller calib fire high veloc kinet energi rang veloc ft bullet grain trial fire usaf vietnam earli armi standard servic rifl wwii creation nato unit state insist introduc xmm full-pow cartridg develop xmm american standard wwii standard nato kill distanc meter statist studi wwii battl perform armi reveal infantri combat meter yard rare time british develop mm british intermedi cartridg modern groundbreak bull-pup assault rifl due polit pressur conserv parti agre american standard campaign project shelv ev introduct belgium famou arm produc fn herstal start experi german xmm built prototyp rifl cartridg impend nato standard forc rebuild american ammo give birth fn fal switzerland introduc sig fire swiss servic rifl round produc sig fire xmm nato bolivia chile adopt sig servic rifl bolivian chilean export licenc produc italian firm rifl chamber xmm nato commonli civilian high recoil due weapon power cartridg imposs control full automat fire weapon recoil put target quickli fix make stock straight recoil minim shot burst fulli automat fire cartridg weapon xmm nato small cartridg doubt arm forc question rifl stop power prove wrong studi mm bullet enter bodi start tumbl roll creat massiv damag christen rifl rifl standard weapon arm forc high tendenc jam make unsuit jungl warfar jam improp care clean fix make soldier rifl foremost care watch russian reason rifl shot rifleman abil aim consid lighter less-pow cartridg effect permit lighter rifl allow greater amount lighter ammunit transport amount space smaller cartridg lessen recoil allow riflemen sustain higher accur rate fire facilit marksmanship train addit smaller size handi assault rifl benefit tank crew support troop unit mission front line combat xmm grain bullet aka cartridg develop late adopt assault rifl version rectifi issu vietnam war refin upgrad introduc meant xmm nato cartridg heavier grain bullet ss sig sg swiss sig fire gw pat calib mm nato militari cartridg xmm xmm consid lethal previou gener assault rifl round xmm large-calib bullet reduc propel case lighter small-calib bullet achiev higher veloc favor ballist properti reduc carri weight aspect smaller calib ammunit hotli debat fragment behavior stop capabl effect complet stop target hit kill fulli incapacit rang ballist condit lighter mm mm strike tissu tumbl fragment yard fire shorter barrel bullet fail fragment impact insuffici veloc result target small calib bullet hole larger wound channel effect depend tissu enemi bodi destroi larger destroi area increas probabl suffici damag enemi resist ultim point spitzer tumbl soft tissu jacket xmm bullet proper ballist state high veloc bullet fragment inflict signific blood loss intern damag wound channel profil complex address medic bullet act solid doesn't fragment full effect occur strike brain spinal cord caus loss control distinct lesser effect heart larg blood vessel liver tear hit caus quick loss blood pressur consequ unconsci part disput small-calib round aris blood loss lead indirect incapacit take longer direct destruct tissu pervas fals urban myth hold defens secretari robert mcnamara present wound abil reason adopt claim theori wound soldier action wed find project salvo realiti salvo find reduc lethal rifl round stress present argument adopt lighter smaller calib salvo conclud main factor inflict casualti infantri combat sole round fire aim neglig impact initi find combat trial special forc arvn unit advis vietnam mm ammunit lethal type jacket ammunit gener effect xmm cartridg question experi shown fragment bullet light easili deflect divert radic path pass soft thin object heavier mm bullet claim hit harder mass deflect destabil readili reliabl kill hit claim larg wholli anecdot statist evid after-act review post-combat survei troop idea heavier bullet inher lethal suffici logic accept fact actual fact debat effect mm bullet mm continu interest develop aris gener weapon form factor featur battlefield automat firearm round older era focus form factor materi ad featur standard telescop reflex sight fama franc adopt run debat mm mm ammunit promin argument mm propon russian cal mm cartridg stir significantli soviet union develop cartridg xmm successor akm notabl adopt high veloc ammunit design util form factor sight electron materi modular number bullpup rifl enter servic late bullpup rifl exist unit kingdom bullpup assault rifl prior time exampl trend includ fama steyr aug sa bullpup rifl heavi composit plastic fama steyr aug ambidextr control steyr aug sa ad low-pow telescop sight standard servic version tavor follow similar trend bullpup configur heavi composit heckler koch adopt late spain germani tradit configur integr telescop red dot sight composit exterior gc variant barrel assembl foregrip slightli shorter fold stock weapon carbin length featur full-length rail mount top rifl place carri handl sight assembl shorter rail foregrip xm rifl develop similar featur ad electron laser sight counter integr infrar laser pointer modular accessori rifl varieti type start widespread rapidli increas practic mount rail firearm primarili driven grow visibl number tactic polic counter-terrorist unit special forc group desir capabl specif tailor weapon situat hand oper specialti flashlight visibl laser infrar light laser ergonom accessori vertic foregrip fold collaps buttstock plethora option appear law enforc tactic group includ influenti contribut progress shift submachin gun compact assault rifl small-calib mm ammunit beryl mod poland carbin bundeswehr equip ag grenad launcher laser light modul llm intertwin growth modular accessori concept rifl modular convert compact carbin standard rifl squad support weapon light machin gun simpli swap modular part matter moment interchang quick-detach barrel assembl length emerg weapon ingeni retrofit kit provid similar capabl older type ar entir industri grown variat compon rifl incred varieti upper receiv type oper bolt direct ga imping ga piston blowback util ammunit origin xmm develop fire pistol rifl cartridg rang target round rimfir pistol round acp ae common assault rifl round xmm heavi machin gun round bmg paradox expect ak variant develop fire xmm variant carbin compact creat magazin xmm ammunit trend design futur integr featur lighter weight materi configur introduct ammunit requir retool factori phase convent ammunit make gener infrastructur consid militari planner expens undertak effort avoid problem complet cartridg mk mod bullet xmm chamber develop address continu issu case effect mm start gain accept china xmm round adopt adopt group shoot pundit support return reintroduct larger calib round xmm nato specif perform full-siz size cartridg mm argu improv convent lethal individu suggest increas calib mm rang rifl veloc mass bullet kind intermedi philosophi smaller calib faster modern round standard round previou gener china late introduc xmm initi veloc bullet energi china claim superior perform lethal nato xmm modern soviet xmm intermedi round promis develop german heckler koch rifl mm caseless ammunit advanc assault rifl effect halt german reunif issu caseless ammunit rifl enter full product st centuri develop decad shorter barrel larger bullet energi altern cartridg rifl gc renaiss mm weapon begun occur degre iraq afghanistan soldier begin modern ms ms sw longer effect rang xmm prove fight long rang nato shown us enemi hit mm bullet kill incapacit occas deter black hawk mark bowden black hawk inform unpleas surpris attribut long-rang ballist defici bullet similar problem oppon notic somalia militia fighter high khat lastli heavier round effect urban combat readili penetr wall unit state develop cartridg develop notabl replac vener grendel mm spc remington develop mm remington spc cartridg cartridg length coal xmm nato cartridg fire larger calib bullet alexand arm radford arsen develop grendel cartridg combin long rang accuraci compar mm nato close rang stop power similar spc bullet match coal convers exist rifl requir replac upper magazin cartridg develop platform beowulf socom cartridg heavier releg specialti role pure assault rifl cartridg addit design futur redesign weapon manufactur giant heckler koch redesign assault rifl weapon hk updat featur includ piston action ga bolt seal action reduc dirt heat chanc failur picatinni rail drop free magazin releas subtl addit redesign quickli push top ladder futur small arm technolog includ assault rifl matur technolog mean major technolog expect area minor improv expect assault rifl effect effici accommod battlefield diminish effect assault rifl improv person bodi armor stop hinder bullet penetr intermedi calib small arm fn scar weapon evolv delic balanc assault rifl system power weight recoil termin effect shift attempt defeat bodi armor match rang full-pow cartridg penetr windshield thin-skin vehicl produc good termin effect futur direct armor pierc explod tip bullet sabot sub-calib tungsten dart power cartridg carbon fiber barrel exot metal titanium scandium assault weapon automat weapon primarili limit unit state term assault weapon polit term separ militari definit describ varieti semi-automat firearm featur militari polic firearm feder assault weapon ban expir septemb defin rifl type assault weapon semiautomat firearm abil accept detach magazin innov nikonov assault rifl produc izhmash fold telescop stock conspicu pistol grip bayonet mount flash suppressor thread barrel design accommod grenad launcher common public misconcept persist assault weapon ban restrict weapon capabl fulli automat fire assault rifl machin gun fulli automat weapon unaffect ban continu heavili regul nation firearm act pass subsequ law gun control act firearm owner protect act affect import civilian ownership fulli automat firearm fulli prohibit sale newly-manufactur machin gun non-law enforc sot special occup tax dealer note +list obsolet addit list scientist scholar anthropolog refer categori anthropologist horatio hale peter hammond michael harkin michael harner john harrington marvin harri jacquetta hawk edgar lee hewett arthur mauric hocart earnest hooton ian hodder adamson hoebel patrick zora neal hurston dell hyme sergei kan jomo kenyatta david kertzer anatoli khazanov richard klein kondo andrei korotayev conrad kottak grover krantz charl kraft tiffani kreger kewal krishan alfr kroeber theodora kroeber adam kuper william labov georg lakoff harold lambert bruno latour edmund leach murrai leaf loui leakei mari leakei richard leakei richard borshai lee claud lévi-strauss robert lowi nanci luri alan macfarlan saba mahmood bronisław malinowski john alden mason marcel mauss phillip mcarthur margaret mead mervyn meggitt josef mengel nikolai miklukho-maklai emili martin sidnei mintz ashlei montagu jame moonei john moor lewi morgan georg murdock paul rabinow nichola wilhelm radloff roi rappaport han ra alfr reginald radcliffe-brown gerardo kathi reich audrei richard river paul rivet carlo david rodríguez flórez editor intern journal dental anthropolog ernesto león rodríguez flórez editor intern journal dental anthropolog eric ross gayl rubin robert rubinstein breanna rodger +astronomi astrophys abbrevi astronom literatur astron astrophi european journal publish paper theoret observ instrument astronomi astrophys publish springer-verlag edp scienc publish companion supplement seri journal merg combin journal simpli astronomi astrophys publish edp scienc journal copyright own european southern observatori major journal astronomi astrophys journal astronom journal monthli notic royal astronom societi prefer journal us-bas research mnra favour journal astronom prefer journal astronom base europ exclud uk page charg waiv astronom work member countri creat merger major european astronom journal annal d'astrophysiqu franc found arkiv astronomi sweden found bulletin astronom institut netherland found bulletin astronomiqu franc found journal de observateur franc found zeitschrift für germani found extend incorpor bulletin astronom institut czechoslovakia found member countri origin member countri countri journal merg form franc germani netherland sweden belgium denmark finland norwai eso particip norwai withdrew austria greec itali spain switzerland join czech republ estonia hungari poland slovakia join member word european journal remov front cover recognit journal increasingli global scope argentina admit board director decid henceforth applic sponsor membership countri world well-docu activ excel astronom research argentina non-european countri gain full membership brazil chile portug gain statu time progress full membership +actinopterygii plural form compris class ray-fin fish ray-fin fish call possess fin rai fin web skin support boni horni spine rai oppos fleshi lobe fin character order sarcopterygii fin rai attach proxim basal skelet element radial repres link connect fin intern skeleton pelvic pector girdl term number domin class vertebr speci ubiquit fresh water marin environ deep sea highest mountain stream classif tradition grade recognis teleostei morpholog evid suggest paraphylet abandon work base analysi dna sequenc data complet mitochondri genom support recognit live boni fish teleost list group level order arrang suggest repres evolutionari sequenc level order base primarili long histori morpholog studi classif taxonomi base phylogenet research state flux ordin higher-level group support morpholog molecular literatur exampl demonstr paraphylet unnatur group includ scorpaeniform perciform johnson wilei march list fishbas froes pauli editor februari note differ nelson nelson joseph fish world john wilei son iti integr taxonom inform system retriev april subclass order includ bichir nelson subclass order acipenseriform includ sturgeon paddlefish subclass infraclass order gar order bowfin infraclass teleostei superord order fish order includ mooney goldey superord order includ ladyfish tarpon order bonefish order includ spini eel order anguilliform true eel gulper order includ gulper eel superord order includ her anchovi superord ostariophysi order includ order cypriniform includ barb carp danio goldfish loach minnow rasbora order characiform includ characin hatchetfish piranha tetra order gymnotiform includ electr eel knifefish order siluriform catfish superord order salmoniform includ salmon trout order pike order osmeriform includ smelt galaxiid superord order fish order includ bristlemouth marin hatchetfish superord order aulopiform includ bombai duck lancetfish superord order includ lanternfish superord order includ oarfish opah superord order superord order includ order toadfish order includ anglerfish order includ cod order includ pearlfish superord order mullet order includ silversid rainbowfish order beloniform includ flyingfish order order cyprinodontiform includ livebear killifish order includ order beryciform includ order includ dori order iti subord order perciform order gasterosteiform includ stickleback pipefish seahors order includ seahors pipefish nelson iti subord order gasterosteiform order includ swamp eel order tetraodontiform includ filefish pufferfish order pleuronectiform flatfish order scorpaeniform includ scorpionfish sculpin order perciform fish includ incl bass sunfish cichlid gobi gourami mackerel perch scat white wrass note +imag padlock-silver-medium svg imag padlock-silver-medium svg albert einstein german ipa audio file help·info english ipa march april german-born theoret physicist theori rel specif mass-energi equival einstein receiv nobel prize physic servic theoret physic discoveri law photoelectr effect nobel foundat retriev march einstein contribut physic includ special theori rel reconcil mechan electromagnet gener theori rel extend principl rel non-uniform motion creat theori gravit contribut includ relativist cosmolog capillari action critic opalesc classic problem statist mechan applic quantum theori explan brownian movement molecul atom transit probabl quantum theori monatom ga thermal properti light radiat densiti laid foundat photon theori theori radiat includ stimul emiss concept unifi field theori geometr physic work albert einstein includ fifti scientif paper non-scientif book includ zionism speech lectur professor albert einstein war co-author sigmund freud world year book scienc gener reader evolut physic co-author leopold infeld nobel foundat nobel lectur physic elsevi publish compani amsterdam retriev march einstein rever physic commun matin durrani physic world retriev novemb time magazin name person centuri fair household popular cultur einstein synonym geniu youth school albert einstein born jewish famili ulm württemberg germani march father hermann einstein salesman engin mother paulin einstein née koch famili move munich father uncl found compani fabrik einstein cie manufactur electr equip provid light oktoberfest cabl munich suburb schwabe einstein observ jewish religi practic albert attend cathol elementari school einstein earli speech difficulti top student elementari school rosenkranz ze'ev einstein derrièr l'imag edit nzz zürich thoma sowel einstein book children sowel thoma einstein syndrom bright children talk late basic book albert einstein ag famili move itali einstein father show pocket compass einstein realiz empti space move needl state experi deep last impress schilpp ed albert einstein autobiograph note open court mother insist violin lesson start ag dislik eventu quit great pleasur mozart violin sonata grew einstein built model mechan devic fun began show talent mathemat famili friend max talmud medic student dudlei herschbach einstein student depart chemistri chemic biologi harvard univers cambridg ma usa page web max talmud visit thursdai year introduc ten-year-old einstein kei scienc mathemat philosophi text includ kant critiqu pure reason euclid element einstein call holi geometri book euclid einstein began understand deduct reason integr theoret physic ag twelv learn euclidean geometri school booklet began investig calculu earli teen einstein attend progress luitpold gymnasium father intend pursu electr engin einstein clash author resent school regimen wrote spirit learn creativ thought lost strict rote learn einstein fifteen father busi fail einstein famili move itali milan month pavia time einstein wrote scientif work investig state aether magnet field mehra jagdish retriev march einstein left munich finish high school spring withdrew join famili pavia convinc school doctor note complet high school einstein decid appli eth zurich swiss feder institut technolog zurich switzerland school certif requir entranc examin pass except mark mathemat physic highfield roger privat live albert einstein london faber faber einstein wrote year ag perform famou thought experi visual travel beam light einstein einstein albert aarau switzerland finish secondari school lodg famili professor jost wintel fell love famili daughter sofia marie-jeann amanda wintel call mari albert sister maja confid marri paul wintel highfield ibid aarau einstein studi maxwel electromagnet theori graduat ag renounc german citizenship avoid militari servic father approv final enrol mathemat program eth mari move olsberg switzerland teach post einstein futur wife mileva enrol eth woman studi mathemat year einstein friendship develop romanc einstein graduat eth degre physic april retriev june year einstein friend michel besso introduc work ernst mach year einstein publish paper prestigi annalen der physik capillari forc straw einstein februari gain swiss citizenship revok retriev octob patent offic bern einstein live mileva floor annu mirabili graduat einstein find teach post year search classmat father help job bern feder offic intellectu properti retriev octob patent offic assist examin respons evalu patent applic electromagnet devic einstein posit swiss patent offic perman pass promot fulli master machin technolog peter galison einstein clock question time critic inquiri winter friend met bern einstein form weekli discuss club scienc philosophi jokingli name olympia academi read includ mach hume influenc einstein scientif philosoph outlook galison peter einstein clock map empir time york norton period einstein person contact physic commun pai abraham lord scienc life albert einstein oxford univers press work patent offic relat question transmiss electr signal synchron time technic problem show conspicu thought experi eventu led einstein radic conclus natur light fundament connect space time marriag famili life einstein mileva daughter einstein born earli conclus einstein correspond mention letter einstein time birth date februari collect paper document fate unknown einstein marri mileva januari einstein mother object match prejudic serb thought physic defect highfield public broadcast servic retriev web site companion controversi geraldin hilton documentari review histor accuraci getler michael decemb pb ombudsman retriev relationship time person intellectu partnership letter einstein wrote creatur equal strong independ letter einstein octob collect paper document debat influenc einstein work historian major contribut alberto martínez retriev novemb allen retriev februari john stachel retriev februari albert mileva son han albert einstein born bern switzerland death albert father albert son eduard born munich einstein divorc februari live year june year einstein marri elsa löwenthal nurs ill elsa albert cousin matern cousin patern einstein rais margot ils elsa daughter marriag retriev june union produc children annu mirabili albert einstein work patent offic einstein paper publish annalen der physik lead german physic journal paper histori call annu mirabili paper paper particul natur light put idea experiment result notabl photoelectr effect simpli understood postul light interact matter discret packet quanta energi idea introduc max planck pure mathemat manipul contradict contemporari wave theori light einstein work einstein call revolutionari paper brownian motion explain random movement small object direct evid molecular action support atom theori einstein paper electrodynam move bodi introduc radic theori special rel show observ independ speed light observ state motion requir fundament notion simultan consequ includ time-spac frame move bodi slow contract direct motion rel frame observ paper argu idea luminifer lead theoret entiti physic superflu einstein paper equival matter energi previous consid distinct concept einstein deduc equat special rel well-known express suggest tini amount mass convert huge amount energi einstein paper todai recogn tremend einstein wonder year time notic physicist import notic reject outright theori light controversi year recept rel theori world controversi encount articl thoma glick ed compar recept rel kluwer academ publish pai abraham lord scienc life albert einstein oxford univers press ag studi alfr kleiner professor experiment physic einstein award phd univers zurich dissert entitl determin molecular dimens einstein light gener rel eclips photograph arthur eddington expedit confirm einstein predict gravit bend light patent offic promot einstein technic examin class give academia privatdoz univers bern pai abraham lord scienc life albert einstein oxford univers press wrote paper critic opalesc cumul effect light scatter individu molecul atmospher sky blue levenson thoma public broadcast servic retriev februari einstein publish die entwicklung unser da wesen und die konstitut der strahlung develop view composit essenc radiat quantiz light earlier paper einstein show max planck energi quanta well-defin momenta act respect independ point-lik particl paper introduc photon concept term introduc gilbert lewi inspir notion wave–particl dualiti quantum mechan einstein associ professor univers zurich shortli afterward accept full professorship charl univers pragu pragu einstein publish paper effect graviti light specif gravit redshift gravit deflect light paper appeal astronom find wai detect deflect solar eclips einstein albert influenc graviti propag light annalen der physik collect paper document german astronom erwin freundlich public einstein challeng scientist world jeffrei princeton univers press retriev march einstein return switzerland accept professorship alma mater eth met mathematician marcel grossmann introduc riemannian geometri recommend italian mathematician tullio levi-civita einstein began explor us gener covari essenti tensor gravit theori einstein thought problem approach return late publish gener theori rel form todai einstein theori explain gravit distort structur spacetim matter affect inerti motion matter reloc mileva establish perman home children zurich start world war einstein continu berlin member prussian academi scienc part arrang posit professor univers berlin special claus free teach oblig director kaiser wilhelm institut physic kant horst albert einstein kaiser wilhelm institut physic berlin renn jürgen albert einstein chief engin univers author einstein ed renn jürgen wiley-vch world war speech write central power scientist central power academ nation secur reason einstein work reach unit kingdom unit state effort austrian paul ehrenfest physicist netherland nobel prize-winn hendrik lorentz willem de sitter leiden univers war end einstein maintain relationship leiden univers accept contract extraordinari professor travel holland regularli lectur retriev june einstein publish articl physikalisch zeitschrift propos possibl stimul emiss physic process maser laser einstein publish paper introduc notion cosmolog constant gener theori rel attempt model behavior entir univers einstein year astronom began einstein challeng pragu mount wilson observatori california publish solar spectroscop analysi show gravit redshift jeffrei princeton univers press retriev lick observatori california announc disproven einstein predict find publish jeffrei princeton univers press retriev team led british astronom arthur stanlei eddington claim confirm einstein predict gravit deflect starlight sun photograph solar eclips sobral northern brazil princip novemb lead british newspap time print banner headlin read revolut scienc theori univers newtonian idea overthrown andrzej stasiak embo report retriev march interview nobel laureat max born prais gener rel greatest feat human think natur guardian septemb retriev march fellow laureat paul dirac quot greatest scientif discoveri schmidhub jürgen retriev octob excit world media albert einstein world-fam iron examin photograph eddington expedit show experiment uncertainti magnitud effect eddington claim demonstr british expedit conclud method inher unreli deflect light solar eclips accur measur confirm observ tabl mathpag resent newcom einstein fame scientif commun notabl german physicist start deutsch physik german physic movement hentschel klau hentschel ann physic nation social antholog primari sourc verlag xxi discuss attitud debat rel jeffrei einstein juri race test rel princeton univers press esp chapter nobel prize einstein ag einstein award nobel prize physic servic theoret physic discoveri law photoelectr effect refer paper photoelectr effect heurist viewpoint product transform light support experiment evid time present speech began mention theori rel subject live debat philosoph circl astrophys implic rigor examin present time einstein stipul divorc settlement einstein gave nobel prize monei wife mileva einstein travel york citi unit state time april ask scientif idea einstein explain believ scientif work proce examin physic realiti search underli axiom consist explan appli instanc avoid contradict recommend theori result einstein albert einstein geometri experi reprint idea opinion unifi field theori max planck present einstein inaugur max planck medal berlin june einstein research gener rel consist primarili long seri attempt gener theori gravit order unifi simplifi fundament law physic gravit electromagnet unifi field theori scientif american articl entitl gener theori gravit einstein continu laud work theoret physic einstein increasingli isol research attempt ultim unsuccess pursuit unif fundament forc mainstream develop physic vice versa notabl strong weak nuclear forc understood year einstein death einstein goal unifi law physic singl model surviv current drive grand unif theori retriev octob collabor conflict bose–einstein statist einstein receiv descript statist model indian physicist satyendra nath bose show light understood ga bose statist appli atom propos light particl einstein submit translat bose paper zeitschrift für physik einstein publish articl describ model implic bose–einstein condens phenomenon temperatur einstein condens produc experiment eric cornel carl wieman equip built laboratori univers colorado boulder octob retriev june bose–einstein statist describ behavior assembl boson einstein sketch project einstein archiv librari leiden univers retriev novemb schrödinger ga model einstein suggest erwin schrödinger applic max planck idea treat energi level ga individu molecul schrödinger appli paper boltzmann distribut deriv thermodynam properti semiclass ideal ga schrödinger urg einstein add co-author einstein declin invit moor walter schrödinger life thought cambridg cambridg univers press einstein refriger einstein student szilárd hungarian physicist work manhattan project credit discoveri chain reaction co-inv patent einstein refriger revolutionari move part heat ic input gari georgia tech alumni magazin retriev novemb novemb award albert einstein szilárd refriger bohr einstein einstein niel bohr photo paul ehrenfest visit leiden decemb quantum mechan develop complet theori einstein unhappi copenhagen interpret quantum theori develop niel bohr werner heisenberg quantum phenomena inher probabilist definit state result interact classic system public debat einstein bohr last year includ solvai confer einstein formul thought experi copenhagen interpret rebut bohr letter max born einstein wrote rate convinc god throw dice einstein reprint book publish edit einstein satisfi perceiv quantum theori intrins incomplet descript natur explor issu collabor bori podolski nathan rosen note theori requir non-loc interact epr paradox einstein epr experi perform result confirm quantum theori predict aspect alain jean roger gérard experiment test bell inequ time-vari analyz physic review letter experiment test relat epr einstein disagr bohr revolv idea scientif determin reason repercuss debat philosoph discours religi view question scientif determin gave rise question einstein posit theolog determin believ god einstein told rabbi herbert goldstein spinoza god reveal law harmoni world god concern fate do mankind brian denni life york john wilei son letter berkowitz einstein state posit god agnost convinc vivid conscious primari import moral principl better ennobl life idea law-giv law-giv work basi reward punish albert einstein letter berkowitz octob einstein archiv alic ed expand quotabl einstein princeton jersei princeton univers press einstein clear espous atheism view harmoni cosmo limit human mind recogn peopl god angri quot support view retriev einstein clarifi religi view letter wrote respons claim worship judeo-christian god lie read religi convict lie systemat repeat person god deni express call religi unbound admir structur world scienc reveal helen duka banesh hoffman ed albert einstein human side princeton univers press book world wrote knowledg exist penetr manifest profoundest reason radiant beauti access reason elementari knowledg emot constitut religi attitud sens deepli religi man einstein albert philosoph librari retriev octob einstein publish paper natur entitl scienc religion gave view subject einstein scienc religion natur person religi enlighten appear abil liber fetter selfish desir preoccupi thought feel aspir cling attempt unit content divin count buddha spinoza religi person religi person devout sens doubt signific object goal requir capabl ration foundat sens religion age-old endeavour mankind complet consciou valu goal constantli strengthen effect argu conflict scienc religion sprung fatal error ven realm religion scienc mark strong reciproc relationship depend scienc religion lame religion scienc blind legitim conflict scienc religion exist einstein view rule human divin exist independ natur event doctrin person god interf natur event refut scienc refug domain scientif knowledg set foot einstein friend max jammer explor einstein view religion book einstein religion physic theologi jammer max religion princeton univers press polit einstein indian poet nobel laureat rabindranath tagor widely-public juli convers increas public demand involv polit humanitarian academ project countri acquaint scholar polit figur world einstein achiev product isol need order work clark ronald life time avon due fame geniu einstein call give conclus judgment matter theoret physic mathemat timid awar world illus ignor polit world event fade visibl posit allow speak write frankli provoc time peopl conscienc flee underground doubt develop movement fear internecin fight einstein flout ascend nazi movement voic moder tumultu format state israel brave anti-communist polit resist civil right movement unit state particip congress leagu imperi brussel retriev octob zionism einstein cultur zionist macmillan compani publish zionism speech lectur professor albert einstein asin querido amsterdam publish hous collect eleven einstein essai book entitl mein weltbild translat english world einstein foreword dedic collect jew germani reprint paperback publish llc face germani rise militar einstein wrote spoke peac american museum natur histori retriev amnh site popup translat letter freud section freud einstein propos joint present rid mankind menac war albert einstein wife elsa einstein zionist leader includ futur presid israel chaim weizmann wife vera weizmann menachem ussishkin ben-zion arriv york citi year zionist effort einstein publicli state reserv propos partit british mandat palestin independ arab jewish countri speech debt zionism afraid damag judaism develop narrow nation rank fight strongli jewish state row david robert polit privat thought public stand nation zionism war peac bomb princeton univers press unit nation divid mandat demarc border countri includ state israel war broke immedi einstein author letter york time critic menachem revisionist herut freedom parti deir yassin massacr einstein al einstein serv board governor hebrew univers jerusalem einstein bequeath literari right write hebrew univers origin document held albert einstein archiv albert einstein archiv hebrew univers jerusalem retriev presid chaim weizmann di einstein ask israel presid declin wrote deepli move offer state israel sadden asham accept princeton onlin nazism januari adolf hitler appoint chancellor germani action hitler administr law restor profession civil servic remov jew polit suspect govern employe includ univers professor job demonstr loyalti germani serv world war decemb respons grow threat einstein prudent travel year winter california institut technolog pasadena california clark einstein life time harper-collin guest lectur abraham flexner newli found institut advanc studi princeton jersei einstein bought hous princeton elsa di einstein remain integr contributor institut advanc studi death world war ii einstein wrote affidavit recommend unit state visa huge number jew europ flee persecut rais monei zionist organ part respons format intern rescu committe princeton onlin support shelter refuge social polit persecut germani campaign elimin einstein work german lexicon unaccept jewish physic jüdisch physik led nobel laureat philipp lenard johann stark deutsch physik activist publish pamphlet textbook denigr einstein instructor taught theori nobel laureat werner heisenberg debat quantum probabl bohr einstein philipp lenard claim equival formula need credit friedrich hasenöhrl aryan creation retriev june christian schlatter april polytechniqu fédérale de lausann retriev june einstein citizen unit state retain swiss citizenship retriev august albert einstein receiv certif american citizenship judg phillip forman atom bomb letter concern scientist refuge european anti-semit recogn possibl german scientist work develop atom bomb knew einstein fame fear believ einstein sign letter presid franklin delano roosevelt written szilárd warn base szilárd research reich develop nuclear weapon atom heritag foundat retriev unit state stock warn year creat nuclear weapon japanes citi nagasaki hiroshima chemist author linu paul einstein express regret letter scientist tell einstein a-bomb regret philadelphia bulletin promin individu eleanor roosevelt henri morgenthau einstein particip nation confer german problem produc declar state plan resurrect econom polit power danger secur world steven casei histori issn cold war era visibl figur work rise nazism einstein sought develop work relationship west soviet bloc world war ii enmiti alli issu peopl intern résumé wors dai mccarthyism einstein write singl world govern time wrote world war fought alic quotabl einstein princeton univers press version quot exist monthli review articl entitl social retriev june albert einstein chaotic capitalist societi sourc evil overcom predatori phase human develop einstein albert schweitzer bertrand russel einstein lobbi stop nuclear test futur bomb dai death einstein sign russell-einstein manifesto led pugwash confer scienc world affair butcher sandra council pugwash confer scienc world affair retriev einstein member civil right group includ princeton chapter naacp ag du boi accus communist spy einstein volunt charact wit case dismiss shortli afterward einstein friendship activist paul robeson serv co-chair american crusad lynch last twenti year april retriev june einstein collabor rabbi israel goldstein middlesex heir ruggl smith activist attornei georg alpert albert einstein foundat higher learn form creat secular univers open student ground middlesex colleg waltham massachusett middlesex chosen part access boston york citi jewish cultur center vision univers deepli consciou hebraic tradit torah cultur birthright american ideal educ democraci rei arthur jr brandei review anniversari edit retriev collabor stormi final einstein want appoint british economist harold laski univers presid alpert wrote laski man utterli alien american principl democraci tar communist brush einstein withdrew support bar york time june york time retriev univers open brandei univers brandei offer einstein honorari degre declin einstein link germani zionism socialist ideal link communist figur feder bureau investig file einstein grew page document file fbi concern citizen object immigr ask fbi protect feder bureau investig freedom inform act websit feder govern depart justic einstein long sympathet notion vegetarian start adopt strict vegetarian diet retriev june death april albert einstein experienc intern bleed caus ruptur aortic aneur june retriev june draft speech prepar televis appear commemor state israel seventh anniversari hospit live long complet albert einstein archiv april retriev di princeton hospit earli morn ag einstein remain cremat ash scatter o'connor robertson mactutor histori mathemat archiv school mathemat statist univers st andrew albert einstein di sleep world mourn loss great scientist york time april tuesdai retriev juli princeton jersei april albert einstein great thinker ag di sleep earli todai cremat princeton hospit pathologist thoma stoltz harvei remov einstein brain preserv hope neurosci futur discov einstein intellig retriev octob legaci travel einstein written daili wife elsa adopt stepdaught margot ils letter includ paper bequeath hebrew univers margot einstein permit person letter public request twenti year death di york time obituari barbara wolff hebrew univers albert einstein archiv told bbc page privat correspond written bbc bbc new british broadcast compani retriev unit nation academi scienc commiss albert einstein memori monument bronz marbl sculptur robert berk dedic washington campu adjac nation mall einstein bequeath royalti imag hebrew univers jerusalem roger richman agenc licens imageri agent hebrew univers roger richman agenc honor albert einstein name person centuri time magazin isaacson walter januari time retriev golden freder januari time retriev gallup poll record fourth admir person centuri decemb retriev june rank influenti person histori einstein greatest scientist twentieth centuri suprem intellect time hart michael rank influenti person histori citadel press albert einstein memori locat public ground nation academi scienc washington partial list memori intern union pure appli physic name world year physic commemor anniversari public annu mirabili paper retriev octob albert einstein memori robert berk unit photochemistri einstein chemic element einsteinium asteroid einstein albert einstein award albert einstein peac prize ad walhalla templ german retriev octob impact popular cultur period world war ii albert einstein well-known america stop street peopl want explain theori final figur handl incess inquiri told inquir pardon mistaken professor einstein yorker april albert einstein subject inspir novel film plai einstein favorit model depict mad scientist absent-mind professor express face distinct hairstyl wide copi exagger time magazin freder golden wrote einstein cartoonist dream true golden freder januari time retriev +px default page temporarili semi-protect edit prevent sock puppet block ban user edit desc anthem milli locat afghanistan capit largest citi kabul offici languag dari pashto world factbook central intellig agenc decemb demonym afghan common term demonym afghani afghani dictionari american heritag dictionari english languag fourth edit houghton mifflin compani access novemb dictionari wordnet princeton univers access novemb govern islam presidenti republ presid hamid karzai vice presid ahmad zia massoud vice presid karim khalili independ unit kingdom declar august recogn august area total km st sq mi water popul estim censu densiti km sq mi gdp ppp estim total billion capita hdi unrank currenc afghani afn time zone utc summer dst utc internet tld af call code afghanistan offici islam republ afghanistan pashto persian landlock countri locat approxim center asia various design geograph locat central asia south asia cia world factbook middl east nation geograph access januari middl east institut access januari religi ethno-linguist geograph link neighbor state border pakistan south east footnot govern india consid afghanistan border countri consid entir state jammu kashmir part india includ portion border afghanistan ceasefir sponsor unit nation froze posit indian pakistani held territori consequ region border afghanistan pakistani-administ territori iran west turkmenistan uzbekistan tajikistan north china northeast afghanistan mean land afghan afghanistan cultur mix nation crossroad east west ancient focal point trade migrat import locat connect south central southwest asia long histori land invad conqueror hand local entiti invad surround vast region form empir ahmad shah durrani creat durrani empir capit kandahar britannica concis subsequ capit shift kabul territori cede neighbor countri centuri afghanistan buffer state great game plai british indian empir russian empir august anglo-afghan war countri regain full independ unit kingdom foreign affair late afghanistan suffer continu brutal civil war includ foreign intervent form soviet invas us-l invas toppl taliban govern late unit nation secur council author creation intern secur assist forc isaf forc compos nato troop involv assist govern presid hamid karzai establish writ law rebuild kei infrastructur nation unit state afghanistan sign strateg partnership agreement commit nation long-term relationship multi-billion dollar intern commun reconstruct countri etymolog af gh translat land afghan modern usag deriv word afghan origin word afghan theori origin word afghan ag mean afghan form encyclopedia britannica afghanistan histori onlin edit pashtun began term afghan islam period onward frazier tyler gillet scholar word afghan appear histori ad regard encyclopædia iranica state ref afghanistan ethnographi ch kieffer encyclopaedia iranica onlin edit limit ethnolog point view af gh term persian-speak afghanistan ethnic group gener design equat afghan propag afghanistan tribal confeder import countri numer polit explain term af gh design ancient time form ethnic group mention indian astronom mihira begin centuri ce brihat-samhita mean origin afghanistan part iranian suffix place promin languag region term afghanistan mean land afghan mention sixteenth centuri mughal emperor babur memoir refer territori south kabul inhabit pashtun call afghan babur ud-dīn mohammad translat john leyden oxford univers press centuri tradit land pashtun kingdom kingdom kabul mention british statesman historian mountstuart elphinston elphinston account kingdom cabul depend persia india london publish longman hurst ree orm brown part countri period recogn independ kingdom kingdom balkh late eighteenth earli nineteenth centuri bowen accur map persia complet system geographi print inni ware london expans central countri afghan author adopt extend afghanistan entir kingdom english translat appear treati british raj persia refer land subject pashtun barakzai dynasti kabul huntington anglo-russian agreement tibet afghanistan persia bulletin american geograph societi afghanistan entir kingdom mention frederick engel offici countri recogn world commun regain full independ british ali afghanistan war independ kabul confirm nation constitut king amanullah khan english translat geographi topographi afghanistan landlock mountain countri south-centr asia plain north southwest highest point ft sea level larg part countri dry fresh water suppli limit endorh sistan basin driest region world retriev juli afghanistan continent climat hot summer cold winter countri frequent subject minor earthquak northeast hindu kush mountain area villag damag peopl kill earthquak sq mi km afghanistan world st-largest countri myanmar compar slightli smaller state texa countri natur resourc includ gold silver copper zinc iron or southeastern area preciou semi-preci stone lapi emerald azur north-east potenti signific petroleum natur ga reserv north countri uranium coal chromit talc barit sulfur lead salt cia world factbook pajhwok afghan new signific miner energi resourc remain larg untap due effect soviet invas subsequ civil war plan underwai extract futur eurasianet org pajhwok afghan new histori modern state afghanistan found creat ahmad shah durrani britannica concis land ancient histori timelin civil excav prehistor site loui dupre univers pennsylvania smithsonian institut suggest human live afghanistan year farm commun area earliest world chapter nanci hatch dupre histor guid afghanistan microsoft encarta onlin encyclopedia specif john ford shroder regent professor geographi geologi univers nebraska editor himalaya sea geologi geomorpholog quaternari book afghanistan countri uniqu nexu point numer indo-european civil interact fought import site earli histor activ ag region home peopl aryan indo-iranian tribe kamboja bactrian persian conquer host peopl includ median persian empir alexand great kushan hepthalit arab turk mongol time invas british soviet american alli place hand nativ entiti invad surround region iranian plateau indian subcontin form empir region afghanistan histori part persian dynasti achaemenid dynasti persian empir bce bc indo-european-speak aryan thought region northern afghanistan migrat significantli north caspian bryant edwin quest origin vedic cultur indo-aryan migrat debat oxford univers press oxford england aryan origin afghanistan migrat south india west persia migrat europ north caspian aryan set nation rule mede achaemenid persian origin homeland aryan propos anatolia central asia iran northern india direct histor migrat vari lal saraswat homeland aryan evid flora fauna archaeolog aryan book intern delhi sethna problem aryan origin aditya prakashan delhi rule sasanian call persian mean dominion aryan greco-bactrian kingdom maximum extent circa bce specul zoroastrian origin afghanistan bc zoroast live di balkh histori afghanistan afghanistan achaemenid dynasti rule ancient classic histori ancient eastern iranian languag avestan spoken region time rise zoroastrian middl sixth centuri bc persian empir achaemenid supplant median empir incorpor persia greek boundari bc alexand great invad afghanistan conquer surround region alexand occup hellenist successor state seleucid greco-bactrian control area maurya india annex southeast time introduc buddhism region area return bactrian rule buddha bamyan largest buddha statu world date centuri ad centuri ad kushan creat vast empir center modern afghanistan patron buddhist cultur kushan defeat sassanid centuri ruler call kushan gener s continu rule part region subject sassanid dani kingdom histori civil central asia volum crossroad civil ed pari unesco publish late kushan kidarit hun kidarit kingdom central asia histori civil central asia volum crossroad civil ed pari unesco publish turn replac short-liv power hephthalit ruler region centuri hephthalit empir histori civil central asia volum crossroad civil ed pari unesco publish hephthalit defeat sasanian king khosrau ad re-establish sasanian power persia successor kushan hepthalit establish small dynasti kabulistan call kushano-hephthalit shahi defeat muslim armi islam conquest region middl ag nineteenth centuri region khorasan ali akbar dehkhoda dehkhoda dictionari ghubar mir ghulam mohammad khorasan kabul print hous kabul histori afghanistan import center locat modern afghanistan balkh herat ghazni kabul period time islam introduc spread area region afghanistan center import empir includ samanid ghaznavid seljukid ghurid timurid period ghaznavid encyclopaedia britannica onlin edit ghazni timurid encyclopaedia britannica onlin edit herat consid brilliant era afghanistan histori region overrun mongol genghi khan devast land rule continu ilkhan extend invas timur lang tamerlan ruler central asia babur descend timur lang genghi khan establish mughal empir capit kabul earli afghanistan control rule group uzbek north safavid west remain larger area mughal self-rul local afghan tribe hotaki dynasti afghan local rule mir wai hotak local afghan pashtun ghilzai clan overthrew kill gurgin khan safavid governor kandahar mir wai successfulli defeat persian attempt convert local popul kandahar sunni shia sect islam mir wai held region kandahar death succeed son mir mahmud hotaki mir mahmud led afghan armi isfahan iran sack citi proclaim king persia great major reject afghan regim usurp massacr thousand civilian isfahan afghan includ thousand religi scholar nobl member safavid famili hotaki dynasti eventu remov power ruler nadir shah persia balland encyclopaedia iranica onlin edit afghanistan encyclopaedia britannica durrani empir begin afghan state nadir shah armi includ thousand pashtun abdali clan afghanistan encyclopaedia britannica conquer region kandahar year occupi ghazni kabul lahor june nadir shah assassin possibl plan nephew ali qoli year nadir militari command person bodyguard ahmad shah abdali pashtun abdali clan call loya jirga nadir death afghan gather kandahar chose ahmad shah king regard founder modern afghanistan encyclopaedia britannica chapter nanci hatch dupre histor guid afghanistan inaugur chang titl durrani deriv persian word durr mean pearl ahmad shah durrani afghan armi conquer entir present-dai afghanistan pakistan khorasan kohistan provinc iran delhi india octob ahmad shah retir home maruf kandahar di peacefulli succeed son timur shah durrani transfer capit kandahar kabul timur di final succeed son zaman shah durrani european influenc polit cartoon depict sher ali khan friend britain russia nineteenth centuri anglo-afghan war fought lastli ascens barakzai dynasti afghanistan territori autonomi cede unit kingdom uk exercis great deal influenc king amanullah khan acced throne afghanistan re-gain complet independ foreign affair great game period british intervent afghanistan ethnic pashtun territori divid durand line lead strain relat afghanistan british india state pakistan pashtunistan debat longest period stabil afghanistan countri rule king zahir shah zahir shah brother-in-law moham daoud khan launch bloodless coup presid afghanistan daoud khan entir famili murder communist peopl democrat parti afghanistan launch coup great saur revolut govern khalq upris govern daoud khan essenti resurg ghilzai tribe pashtun durrani tribe daoud khan previou monarchi hanifi jamil encyclopædia iranica onlin edit unit state columbia univers retriev januari soviet invas civil war part cold war strategi unit state govern presid jimmi carter nation secur advisor zbigniew brzezinski began covertli fund train anti-govern mujahideen forc pakistani secret servic inter servic intellig isi order bolster local communist forc soviet union cite treati friendship cooper good neighborli sign countri interven decemb soviet troop part invas back pro-communist forc afghanistan soviet occup result kill million afghan civilian million afghan fled countri pakistan iran part world face mount intern pressur great number casualti side soviet withdrew soviet troop withdraw afghanistan photo mikhail evstafiev soviet withdraw democrat republ afghanistan ideolog victori back mujahideen presidenti administr order counter soviet influenc vicin oil-rich persian gulf remov soviet forc alli lost interest afghanistan rebuild war-ravag countri influenc event ussr continu support presid najibullah head afghan secret servic khad russian govern refus sell oil product najibullah regim columbia encyclopedia fight number elit intellectu fled refug led leadership imbal afghanistan fight continu victori mujahideen faction gave rise state warlord fight period occur peopl kill kabul time taliban develop politico-religi forc eventu seiz kabul taliban captur countri taliban seven-year rule popul experienc restrict freedom violat human right women ban job girl forbidden attend school univers resist punish instantli communist systemat erad thiev punish amput hand feet taliban manag erad major opium product afghanistan opium taliban war afghanistan septemb attack unit state launch oper endur freedom militari campaign destroi al-qaeda terrorist train camp afghanistan militari threaten overthrow taliban govern refus hand osama bin laden al-qaida member common afghan mujahideen achiev end includ northern allianc militia recogn afghan govern late special forc invad afghanistan aid anti-taliban militia back air strike taliban al qaeda target culmin seizur kabul northern allianc overthrow taliban local warlord switch allegi taliban northern allianc inaugur hamid karzai decemb win presidenti elect decemb year leader afghan mujahideen diaspora met germani agre plan formul democrat govern result inaugur hamid karzai ethnic pashtun southern citi kandahar chairman afghan interim author nationwid loya jirga karzai chosen repres assum titl interim presid afghanistan countri conven constitut loya jirga council elder constitut ratifi januari elect octob hamid karzai won presid islam republ afghanistan legisl elect held septemb nation assembl freeli elect legislatur afghanistan sat decemb noteworthi inclus women voter candid elect member armi kunar provinc countri continu rebuild recov struggl poverti poor infrastructur larg concentr land mine unexplod ordnanc huge illeg poppi cultiv opium trade afghanistan remain subject occasion violent polit jockei countri continu grappl taliban insurg threat attack remain al qaeda start report taliban increas presenc afghanistan led longer tour duti increas troop number report file robert burn press januari militari offici cite evid pakistani militari long-stand ti taliban movement turn blind ey incurs number insurg attack percent septemb pakistani govern put effect peac arrang tribal leader north waziristan area afghanistan eastern border militari intellig offic told report govern polit polit afghanistan histor consist power struggl bloodi coup unstabl transfer power except militari junta countri govern system govern centuri includ monarchi republ theocraci communist state constitut ratifi loya jirga restructur govern islam republ consist branch execut legislatur judiciari politician afghanistan lunch visit presid georg bush kabul march afghanistan led presid hamid karzai elect octob current parliament elect elect offici mujahadeen taliban member communist reformist islam fundamentalist deleg elect women point minimum guarante constitut afghanistan long taliban oppress women lead countri term femal represent construct parliament build began august suprem court afghanistan led chief justic abdul salam azimi univers professor legal advisor presid suprem court mark genuin departur august previou court appoint time interim govern domin fundamentalist religi figur includ chief justic faisal ahmad shinwari court issu numer question rule ban cabl televis seek ban candid presidenti elect limit right women overstep constitut author issu rule subject brought court current court moder led technocrat previou court issu rule law enforc militari deputi vice presid ahmad zia massoud present polic offic diploma kabul polic academi afghanistan nation polic offic plan recruit total number reach train afghanistan polic program polic offici respons maintain civil order local region militari command continu exercis control hinterland polic accus improp treatment detent prison mandat intern secur assist forc command north atlant treati organ nato extend expand kabul area area unoccupi forc local militia maintain control area crime uninvestig insuffici polic commun troop afghan nation armi quell fight region lack polic protect text cite section origin librari congress countri studi project administr divis afghanistan administr divid thirty-four provinc provinc capit provinc divid provinci district district cover citi township governor provinc appoint ministri interior prefect district provinc appoint provinci governor governor repres central govern afghanistan respons administr formal issu provinci chief polic appoint ministri interior work governor law enforc citi district provinc except capit citi kabul mayor select presid afghanistan complet independ prefectur kabul provinc map show provinc afghanistan demographi map afghanistan show locat provinc major citi largest citi citi afghanistan million resid capit kabul major citi countri order popul size kandahar herat mazar- sharif jalalabad ghazni kunduz ethnic group popul afghanistan divid wide varieti ethnic group systemat censu held countri decad exact figur size composit ethnic group figur approxim approxim distribut ethnic group estim cia world factbook pashtun tajik hazara uzbek aimak turkmen baloch base offici censu number inform scholarli sourc encyclopædia iranica dupre encyclopædia iranica onlin edit ed ehsan yarshat unit state columbia univers retriev list pashtun tajik hazara uzbek aimak turkmen baloch languag cultur girl kabul wear tradit cloth sing celebr intern women dai afghan displai pride religion countri ancestri independ highland afghan regard mingl apprehens condescens high regard person honor clan loyalti readi carri arm settl disput heathcot toni afghan war staplehurst clan warfar internecin feud chief occup time immemori individualist trait difficult foreign invad hold region afghanistan complex histori surviv current cultur form languag monument countri histor monument damag war famou statu buddha bamyan provinc destroi taliban regard idolatr famou site includ citi kandahar herat ghazni balkh minaret jam hari river vallei unesco world heritag site cloak worn muhammad store famou sharifa kandahar citi buzkashi nation sport afghanistan similar polo plai horsemen team grab hold goat carcass afghan hound type run dog origin afghanistan literaci level classic persian poetri plai import role afghan cultur poetri major educ pillar iran afghanistan level integr cultur persian cultur continu exert great influenc afghan cultur privat poetri competit event common ordinari peopl home own poetri collect sort read eastern dialect persian languag popularli dari deriv mean persian royal court ancient term origin name persian languag reviv afghan constitut intend signifi afghan countri cradl languag languag strictli avoid point mind develop dari persian literatur polit entiti afghanistan encyclopaedia xii onlin edit famou persian poet tenth fifteenth centuri stem khorasan afghanistan scholar disciplin languag natur scienc medicin religion astronomi rumi born educ balkh thirteenth centuri move konya modern-dai turkei rabi'a balkhi poetess histori persian poetri tenth centuri nativ balkh balkhi tenth centuri nativ balkh farrukhi sistani tenth centuri ghaznavid royal poet balkhi tenth eleventh centuri poet nativ balkh khwaja abdullah ansari eleventh centuri herat nasir khusraw eleventh centuri balkh anvari twelfth centuri live di balkh twelfth centuri nativ ghazni fifteenth centuri nativ herat western afghanistan nephew abdullah well-known poet sher fifteenth centuri herat individu persian ethnic form second-largest ethnic group afghanistan contemporari persian languag poet writer well-known persian-speak world includ ustad qari abdullah khalilullah khalili sufi ghulam nabi sarwar joya asei khale hosseini publish fiction captur histori polit cultur experienc afghanistan present dai addit poet author numer persian scientist born work region present-dai afghanistan notabl avicenna abu hussein ibn father hail balkh ibn travel isfahan life establish medic school scholar father modern medicin georg sarton call ibn famou scientist islam famou race place time famou work book heal canon medicin qanun ibn stori contemporari english literatur noah gordon physician publish languag ibn al-nadim al-farabi well-known philosoph scientist faryab provinc afghanistan taliban gain power citi kabul home musician master tradit modern afghan music kabul middl part twentieth centuri liken vienna eighteenth nineteenth centuri tribal system order life peopl metropolitan area potent polit term men feel fierc loyalti tribe call assembl arm tribal chief local clan leader khan theori islam law believ oblig bear arm ruler call heathcot consid tribal system organ larg group peopl countri geograph difficult societi materialist point view uncompl lifestyl heathcot toni afghan war staplehurst religion blue mosqu mazari sharif religi afghan muslim approxim sunni shi'a encyclopædia britannica afghanistan gore ed larouss dictionari belief religion larouss tabl popul distribut major belief note figur compil accur inform case correct nearest estim vari mid- hindu sikh live citi jalalabad kabul kandahar small jewish commun afghanistan bukharan jew fled countri soviet invas individu remain todai economi afghanistan member south asian associ region cooper saarc econom cooper organ eco organ islam confer oic impoverish countri world poorest develop two-third popul live dollar dai economi suffer greatli soviet invas subsequ conflict sever drought ad nation difficulti moral victor march voic america retriev septemb north andrew march bbc new retriev septemb econom activ popul million total estim million offici unemploy rate number non-skil young peopl estim million increas annum busi center kabul nation economi began improv due infus multi-billion dollar intern assist invest remitt expat pajhwok afghan new due dramat improv agricultur product four-year drought countri real non-drug gdp increas world bank one-third afghanistan gdp grow poppi illicit drug includ opium deriv morphin heroin hashish product opium product afghanistan soar record increas year unit nation million afghan involv produc opium articl washington quarterli peter van ham argu intern commun establish pilot project investig licens scheme start product medicin morphin codein poppi crop escap econom depend opium report asian develop bank present reconstruct effort two-prong focus rebuild critic physic infrastructur build modern public sector institut remnant soviet style plan promot market-l develop compani black veatch loui berger group won billion dollar contract rebuild road power line water suppli system afghanistan kansa citi star main driver current econom recoveri return million refuge neighbour countri west brought fresh energi entrepreneurship wealth-creat skill need fund start busi help estim billion dollar intern assist year partial recoveri agricultur sector reestablish market institut privat develop begin underwai dubai-bas afghan famili open million coca cola bottl plant afghanistan contra costa time countri current account deficit larg financ donor monei small portion govern budget rest expenditur project unit nation system non-government organ govern central budget million estim million countri foreign exchang reserv total million revenu gener custom incom corpor tax base neglig inflat major problem depreci afghani introduct note replac afghani afghani coupl rel stabil compar previou period help price stabil decreas decemb februari reflect turnaround appreci afghani currenc index stabil moder increas late afghan govern intern donor remain commit improv access basic necess infrastructur develop educ hous econom reform central govern focus improv revenu collect public sector expenditur disciplin rebuild financi sector success monei transfer countri offici bank channel sixteen bank open countri includ afghanistan intern bank kabul bank azizi bank standard charter bank micro financ bank law privat invest seven-year tax holidai elig compani four-year exempt export tariff duti plan kabul billion dollar futur modern urban develop project citi light develop privat invest project back nation support begin pick steam afghanistan initi concept design call citi light develop envis hisham ashkouri princip develop implement privat base invest enterpris propos multi-funct commerci histor cultur develop limit citi kabul southern side kabul river jade avenu revit commerci histor district citi kabul numer histor mosqu shrine viabl commerci activ war damag build incorpor design complex afghan nation museum geolog survei afghan ministri mine industri afghanistan possess trillion cubic feet natur ga billion barrel petroleum million barrel natur ga liquid mark turn point afghanistan’ reconstruct effort energi export gener revenu afghan offici modern country’ infrastructur expand econom opportun beleagu fractiou popul eurasianet org report show countri huge amount gold copper coal iron or miner pajhwok afghan new govern afghanistan process extract export copper reserv earn billion dollar royalti tax year year provid perman labor citizen pajhwok afghan new infrastructur transport construct bridg complet august largest bridg central asia ariana afghan airlin nation airlin carrier domest flight kabul kandahar herat mazar- sharif intern flight includ dubai frankfurt istanbul number destin limit domest intern flight servic kam air pamir airwai safi airlin countri limit rail servic turkmenistan railwai project progress herat iranian citi mashad kandahar quetta pakistan peopl travel citi bu servic automobil wide land rover bmw toyota nissan hyundai dealership kabul larg number second-hand vehicl arriv uae highwai road rebuilt countri commun technolog telecommun servic countri afghan wireless etisalat roshan areeba afghan telecom afghan ministri commun sign million agreement zte corpor establish countrywid fibr optic cabl network improv telephon internet televis radio broadcast servic countri pajhwok afghan new televis radio broadcast part countri local intern channel station nation post servic oper packag deliveri servic fedex dhl educ femal student kabul univers million male femal student enrol school countri primari educ total free boi girl literaci entir popul estim male literaci rate femal literaci school countri aspect educ rapidli chang afghanistan face higher educ fall taliban kabul univers reopen male femal student american univers afghanistan open door aim provid world-class english-languag co-educ learn environ afghanistan univers accept student afghanistan neighbor countri construct work start site select univers balkh mazari sharif build univers includ build engin depart construct acr km land cost million dollar pajhwok afghan new +motto ti jep nder jep albania give honor give anthem unit flag locat albania locat orang european contin white legend capit largest citi tirana offici languag albanian demonym albanian govern parliamentari republ presid bamir topi prime minist sali berisha independ ottoman empir date novemb area total km sq mi water popul estim densiti km sq mi gdp ppp estim total billion capita gini hdi high currenc lek time zone cet utc summer dst cest utc internet tld al call code albania offici republ albania albanian republika pronounc simpli shqipëria countri south eastern europ albania border greec south-east montenegro north kosovo northeast republ macedonia east coast adriat sea west ionian sea southwest strait otranto albania km mile itali countri member unit nation south east europ cooper process organis co-oper secur europ osc council europ coe world trade organis potenti candid membership european union nato depart state bureau consular affair albania parliamentari democraci transform economi market-ori system albanian capit tirana home countri million popul result open countri post-communist era albania undergo develop boom telecommun transport util infrastructur revamp etymolog satellit imag albania albania mediev latin countri call inhabit mediev greek albania variant o ultim origin element trace illyrian alb hill cognat alp mountain pastur alpin region johann georg von hann studien wien centuri bc histori world written polybiu mention citi name arbon present-dai central albania peopl live call constantin albania present york macmillan compani suggest deriv illyrian tribe record ptolemi geograph astronom alexandria draft map remark signific histori illyria map show citi locat northeast durrë constantin albania present york macmillan compani histori written byzantin historian michael attali refer part revolt constantinopl subject duke dyrrachium robert albanian arnold von harff earliest refer exist albanian languag middl ag albanian call countri refer arbëresh earli centuri home evolv albanian peopl shqipëria land eagl two-head bird nation flag kristo frasheri histori albania overview tirana origin skanderbeg famili crest histori prehistori mural paint kruja castl depict illyrian war area todai albania popul prehistor time antiqu settl illyrian ancestor present-dai albanian constantin charl albania present columbia univers april modern albanian state compris southernmost part ancient illyria northern part ancient epiru surround power war empir albania experienc consider violenc competit control histori greek roman byzantin venetian ottoman swept leav cultur mark ruin archaeolog research show land todai inhabit albanian popul paleolith ag stone ag area settl favour climat geograph condit albania earliest settlement discov cavern shkodra mount saranda fragment cyclopean structur discov site district wall partli cyclopean ancient citi visibl picturesqu river trace remain celebr dyrrhachium todai durrë butrint unesco world heritag site rediscov citi butrint signific todai juliu caesar provis depot troop campaign st centuri bc time consid unimport outpost overshadow greek coloni apollonia durrë formal investig record albania archaeolog monument began francoi napoleon consul-gener ali pasha court martin leak british agent french mission led len rei work albania publish result cahier d'archéologi d'art d'histoir en albani dan le balkan note archaeolog art histori albania balkan archaeologist todai find remain period stone ag earli christian era project produc prehistor find unexpectedli vallei close present-dai citi fier area apollonia excav collabor univers cincinnati archaeologist institut archeolog albania origin mission learn greek coloni apollonia evid older settlement dian michel fox albanian soil histori archaeolog activ present albania august albanian govern establish butrint nation park draw visitor annual albania world heritag site synagogu date centuri ad uncov saranda coastal town corfu time remain earli synagogu area histori excav noteworthi team except mosaic depict item jewish holidai includ menorah ram horn citron tree mosaic basilica synagogu show facad resembl torah anim tree biblic symbol structur measur metr centuri ad church territori albania antiqu inhabit illyrian bureau european eurasian affair septemb balkan peopl subdivid tribe clan kingdom illyria grew gener area modern-dai northern albania eventu control eastern adriat coastlin scodra capit citi import urban center northern albania kingdom reach zenith expans develop centuri bc king bardylli promin illyrian king unit illyrian tribe illyrian kingdom attack greek molossian kingdom epiru kingdom macedon decai began ruler result attack philip ii macedon father alexand great independ histori ancient illyria conquer roman slav ottoman turk cent albania world almanac book fact skanderbeg withstood repeat attack forc sultan murad ii conclud truce skanderbeg broke truce pope piu ii call crusad pope death forc abandon crusad skanderbeg left alli retreat fortress kruja death leagu dissolv resist collaps albania fell ottoman independ albania proclaim republ form king zog rule itali invad albania tirana liber novemb albanian partisan albania countri occupi axi power world war balkan misha glenni page hitler began aggress italian dictat benito mussolini set ey albania adriat itali strong resist durrë itali invad albania april control countri mussolini octob albanian base launch attack greec wwii albanian nationalist group includ communist partisan fought italian subsequ german octob thrown german east european nation assist soviet troop partial french-educ enver hoxha leader countri virtu posit secretari gener parti labor albanian communist parti communist parti creat novemb yugoslavian communist parti albania uniqu european countri occupi nazi end world war ii larger jewish popul war sarner rescu albania percent jew albania rescu holocaust albanian respons holocaust notabl europ larg muslim countri escap balkan autobiographi iren grunbaum univers nebraska press jewish famili deport kill nazi occup albania albanian protect jew refug jew neighbor countri albanian refus compli hand list jew jewish famili forg document help dispers albanian popul yad vashem albania alli ussr broke ussr de-stalin strong polit allianc china lead billion dollar aid curtail china cut aid albania attack polici death chines ruler mao zedong large-scal purg offici occur enver hoxha nation ruler decad di eventu regim introduc liber includ measur provid freedom travel effort begun improv ti world march elect left communist power gener strike urban opposit led format coalit cabinet includ non-communist albania world almanac book fact albania communist rout elect econom collaps social unrest sali berisha elect non-communist presid wwii nato air war yugoslavia march-jun albania host kosovar refuge victori coalit elect juli end year socialist parti rule crowd tirana june welcom georg bush sit presid visit albania sali berisha presid georg bush tirana govern polit albanian republ parliamentari democraci establish constitut renew elect held year unicamer chamber people’ assembl june compromis candid alfr moisiu armi gener elect succe presid rexhep meidani parliamentari elect juli brought sali berisha leader democrat parti power euro-atlant integr albania ultim goal post-communist govern albania eu membership bid set prioriti european commiss albania croatia republ macedonia hope receiv invit join nato workforc albania continu migrat greec itali germani part europ north america migrat flux slowli decreas opportun emerg albania economi steadili develop albanian emigr achiev great success multipl geographi disciplin signific albanian commun unit kingdom citi birmingham manchest albanian diaspora preval liverpool albanian cuisin cult pulitz prize win journalist carolin thorp emeritu professor univers liverpool note food synonym liverpool bill shanklei beatl administr divis counti albania albania divid administr divis call albanian offici u counti district municip region region council compos number municip commun level local govern respons local law enforc geographi coastlin southern albania albania total area squar kilomet coastlin kilometr long stretch adriat sea ionian sea lowland west face adriat sea countri mountain rug inaccess highest mountain korab situat district dibra reach metr ft countri continent climat high altitud region cold winter hot summer capit citi tirana inhabit princip citi durrë elbasan shkodër gjirokastër kukë albanian grammar word indefinit definit form appli citi name tirana shkodër shkodra demograph juli albania popul grow year albania larg ethnic homogen countri small minor major total popul consid albanian minor includ greek aromanian gorani macedonian roma montenegrin bulgarian balkan egyptian jew domin languag albanian main dialect gheg tosk albanian fluent english italian greek economi democrat elect govern won elect april launch ambiti econom reform programm halt econom deterior forc countri path market economi comprehens packag structur reform includ privat enterpris financi sector reform creation legal framework market economi privat sector activ sever econom contract economi slowli rebound final surpass level price risen econom hardship continu popul albania began privat larg state enterpris sign stabilis associ agreement june juli eu minist urg albania push reform focus freedom press properti right institut build respect ethnic minor observ intern standard municip elect albania impress recoveri build modern diversifi economi administr improv countri infrastructur open competit seaport railroad telecommun electr gener natur ga distribut airport chart trend gross domest product albania albanian currenc purchas power pariti inflat account intern monetari fund figur billion tourism albania larg industri grow rapidli notabl tourist attract ancient site apollonia albania coastlin increasingli popular tourist due unspoil natur beach religion christian adopt region albania roman rule middl st centuri ad religion compet orient cult worship mithra persian god light region due rome grow interact eastern region roman empir long time compet god worship illyrian pagan steadi growth christian commun dyrrhachium roman epidamnu led creation local bishopr ad episcop seat establish apollonia buthrotum modern butrint scodra modern shkodra divis roman empir albania fall umbrella eastern roman empir remain ecclesiast depend rome final schism western eastern church christian southern albania jurisdict ecumen patriarch constantinopl north purview papaci rome arrang prevail ottoman invas centuri islam faith impos albanian languag albanian proven indo-european languag german philologist franz bopp albanian languag compris branch indo-european languag famili relat jokl norbert posthum die de zu den indogermanischen sprachen die sprach armenian greek scholar albanian deriv illyrian albanian languag william martin leak london ancient albania inhabit turmoil balkan romania bulgaria albania greec part albania linguist list retriev januari ancient languag southern balkan belong satem group indo-european languag ancestor modern albanian satem languag evid scanti st millennium bc ad claim deriv daco-thracian illyrian daco-thracian close relat languag thraco-illyrian establish longer relat albanian compar balto-slav hand german share number isogloss albanian albanian undergon vowel shift stress long fallen albanian rel jo innov exclus qualifi adject balto-slav word provid definit adject literatur cultur resist express elabor albanian languag area church text public cathol confession region north orthodox south protest reform invigor hope develop local languag literari tradit cleric gjon buzuku brought albanian languag cathol liturgi albanian languag luther german excerpt meshari gjon buzuku meshari missal gjon buzuku publish consid date literari work written albanian refin level languag stabilis orthographi result earlier tradit write albanian tradit fragment evid date earlier buzuku albanian written centuri ad evid date ad deal french dominican ada archbishop antivari report latin write albanian latin letter book languag latin special import support baptiz formula unt atit written albanian text latin bishop durrë pal glossari albanian word arnold von harff german travel albania centuri fragment bibl gospel matthew albanian greek letter albanian write centuri religi text histor chronicl mention humanist marin barleti book sieg shkodër confirm leaf chronicl written languag peopl lingua obstacl gener counter-reform oppos develop nation languag christian liturgi process uninterrupt centuri catech christian teach christian doctrin ritual romanum pjetër budi writer origin albanian prose poetri apolog georg frang bardhi publish dictionari folklor creation treati cuneu prophetarum band prophet pjetër bogdani univers person albanian middl ag publish albanian cuisin cuisin albania mediterranean balkan nation strongli influenc long histori time territori albania occupi greec itali ottoman turk group left mark albanian cuisin main meal albanian lunch accompani salad fresh veget tomato cucumb green pepper oliv oliv oil vinegar salt lunch includ main dish veget meat seafood specialti common coastal area durrë galleri butrint unesco world heritag site apollonia albania sunni color morn tirana remain chapel butrint albania fish albania ali pasha castl albania azur ey fresh water spring albania wed citi castl tirana albania mountain berat area km south tirana albania morn sun south albania rude territori mountain inhabit famou hospit vallei river surround mountain vallei extrem beauti durr seasid km capit tirana beach vlora saranda sunset jala beach river vallei southern albania contrysid berat oldest citi albania anim farm area south-east albania tradit male group sing area albania panoram view tirana mountain panoram view tirana mountain +imag padlock-silver-medium svg a written arab calligraphi centuri ottoman artist osman allah arab a ipa standard arab word god term west muslim refer god arabic-speak abraham faith includ christian jew refer god encyclopedia modern middl east north africa allah allah encyclopædia britannica encyclopædia britannica columbia encyclopedia allah term pagan meccan refer creator-god possibl suprem deiti pre-islam arabia gardet allah encyclopedia islam concept term allah deiti differ tradit pre-islam arabia allah sole divin associ companion son daughter islam allah uniqu god transcend creator univers omnipot arab christian todai word term a god father similar differ concept god portrai qur'an hebrew bibl unicod codepoint reserv a fdf etymolog medallion show hagia sophia istanbul turkei term a deriv contract arab articl deiti god mean sole deiti god ho theo mono gardet allah encyclopaedia islam theori trace etymolog word arama cognat a exist semit languag includ hebrew arama columbia encyclopaedia deriv semit root refer divin canaanit el mesopotamian ilu biblic elohim word allah arabic-speak muslim christian jew monotheist arama form biblic arama syriac entri contract form term a masculin form parallel contract form term feminin form usag arab allah script eski cami mosqu edirn turkei pre-islam arabia pre-islam arabia allah meccan refer creator-god possibl suprem deiti qur'an allah sole divin notion term vagu meccan religion allah associ companion pre-islam arab consid subordin deiti meccan held kind kinship exist allah jinn qur'an allah son qur'an local deiti manāt daughter qur'an meccan possibl angel allah qur'an allah invok time distress qur'an gerhard god attribut encyclopedia qur'an muhammad father mean a muslim islam allah nameless god gerhard god attribut encyclopaedia qurʾān brill pivot muslim faith god transcend creator univers judg humankind britannica concis encyclopedia allah uniqu wahid inher ahad all-merci omnipot qur'an insist realiti allah inaccess mysteri name action behalf creatur tradit islam name god lit mean name evok distinct characterist allah famou frequent name merci al-rahman compassion al-rahim bentlei david beauti name god peopl book william carei librari arabic-speak abraham faith includ christian jew word allah god christian arab todai word lewi bernard holt holt peter lambton ann katherin swynford cambridg histori islam cambridg eng univers press arab christian term a mean god father a god son a al mean god holi spirit god christian christian concept god arab christian form invoc affix begin written work adopt muslim creat earli centuri ce muslim read god compassion merci read father son holi spirit god syriac latin greek invoc word god addit emphas monotheist aspect belief palat muslim thoma burman religi polem intellectu histori mozarab brill marshal hodgson pre-islam time arab christian pilgrimag kaaba pagan templ time honor allah god creator marshal hodgson ventur islam conscienc histori world civil univers chicago press usag english european languag histori word a english influenc studi compar religion centuri thoma carlyl term allah implic allah god tor biographi muhammad term allah concept impli jewish christian concept time christian retain hebrew term yahweh untransl previous translat william montgomeri watt islam christian todai contribut dialogu routledg term allah deiti broadli languag express base term popular centuri long muslim presenc iberian peninsula word arab todai exist spanish languag borrow arab phrase liter mean god sens hope islam luce lópez baralt spanish literatur middl ag present brill muslim leav a untransl english peter monotheist jew christian muslim conflict competit princeton univers press zeal arab text qur'an consciou implic god jew christian worship true full sens marshal hodgson ventur islam conscienc histori world civil univers chicago press hand usag term allah english speak non-muslim refer god islam marshal hodgson impli muslim worship mythic god name god creator usag hodgson prepar accept theolog implic compar religion western scholar suggest muhammad term allah address pagan arab jew christian order establish common ground understand god claim gerhard doubt contrast pre-islam arabian polyth god islam associ companion kinship god jinn pre-islam pagan arab believ blind power inexor insens fate man control replac islam notion power provid merci god encyclopedia britannica franci edward peter qur'an insist muslim historian affirm muhammad follow worship god jew quran allah creator god coven abraham peter state qur'an portrai allah power remot yahweh univers deiti yahweh close israelit peter islam princeton univers press encyclopedia britannica god qur'an good passag qur'an express mutual love god man judeo-christian precept god thy formul islam emphasi god inscrut sovereignti abandon oneself essenc islam religion typographi islam republ coat arm unicod codepoint reserv a fdf unicod standard charact offici unicod specif decompos unicod charact ligatur allah isol fdf arab type font special ligatur ommit initi alif calligraph variant word coat arm iran encod unicod miscellan symbol rang codepoint unicod standard coat arm iran appear center flag iran understood styliz design word allah represent globe crescent encyclopædia britannica flag iran abjad numer abjad ancient numer system arabic-speak world system letter arab alphabet repres unit ten hundr includ young latham serjeant religion learn scienc period cambridg univers press numer letter allah tradit arab abjad system add journal numismat societi india +imag padlock-silver-medium svg antarctica world map show contin antarctica polit section clickabl map individu countri adéli penguin chick antarctica ms explor iceberg background imag januari ms explor sank novemb hit iceberg antarctica antarctica earth southernmost contin overli south pole situat southern hemispher south antarct circl surround southern ocean million km million sq mi fifth-largest contin area asia africa north america south america antarctica cover ic averag kilometr mi thick averag antarctica coldest driest windiest contin highest averag elev contin nation satellit data inform servic retriev june precipit coast interior contin technic largest desert world perman human resid evid exist pre-histor indigen popul cold-adapt plant anim surviv includ penguin fur seal moss lichen type alga antarctica roman version greek compound word mean arctic liddel henri georg scott robert greek-english lexicon clarendon press retriev februari myth specul terra australi southern land date antiqu confirm sight contin commonli accept occur russian expedit mikhail lazarev fabian gottlieb von bellingshausen contin remain larg neglect rest centuri hostil environ lack resourc isol antarct treati sign twelv countri date forty-f countri sign treati treati prohibit militari activ miner mine support scientif research protect contin ecozon ongo experi conduct scientist nation research interest unit state central intellig agenc march retriev march histori list antarct expedit belief exist terra australi vast contin south globe balanc northern land europ asia north africa exist time ptolemi st centuri ad suggest idea preserv symmetri landmass world depict larg southern landmass common map earli centuri turkish piri rei map late centuri explor south america australia part fabl antarctica geograph believ contin larger actual size snow surfac dome station repres major contin surfac iceberg dwarf ship english magazin illustr whaler antarct european map continu show hypothet land captain jame cook ship hm resolut adventur cross antarct circl januari decemb januari museum retriev februari cook fact mile antarct coast retreat face field ic januari jame cook journal edit philip edward penguin book confirm sight antarctica narrow crew ship captain individu organ nation scienc foundat antarct program extern panel nation scienc foundat retriev februari nasa gui guthridg nasa govern retriev februari univers california san diego retriev march sourc retriev februari retriev februari ship captain men sight antarctica fabian gottlieb von bellingshausen captain russian imperi navi edward bransfield captain british navi nathaniel palmer american sealer stonington connecticut von bellingshausen antarctica januari dai bransfield sight land ten month palmer novemb dai two-ship expedit led von bellingshausen mikhail petrovich lazarev reach point kilomet mi antarct mainland ic field document land mainland antarctica american sealer john davi western antarctica februari historian disput claim decemb part unit state explor expedit conduct unit state navi call wilk expedit expedit sail sydnei australia antarct ocean report discoveri antarct contin west balleni island part antarctica name wilk land maintain dai explor jame clark ross pass ross sea discov ross island name sail huge wall ic name ross ic shelf name mount erebu mount terror name ship expedit hm erebu terror retriev februari mercat cooper land eastern antarctica januari februari retriev februari endur night ernest shackleton imperi trans-antarct expedit expedit led ernest shackleton parti led edgeworth david climb mount erebu reach south magnet pole dougla mawson assum leadership magnet pole parti peril return lead expedit retir australian govern antarct divis retriev februari addit shackleton member expedit first decemb februari human travers ross ic shelf travers transantarct mountain rang beardmor glacier set foot south polar plateau decemb expedit led norwegian polar explor roald amundsen ship fram reach geograph south pole rout bai whale axel heiberg glacier retriev februari month ill-fat scott expedit reach pole richard evelyn byrd led voyag antarct plane credit implement mechan land transport contin conduct extens geolog biolog research south retriev februari octob set foot south pole dai navi group led rear admir georg dufek successfulli land aircraft navi retriev februari geographi satellit composit imag antarctica maritim antarctica size comparison center asymmetr south pole larg south antarct circl antarctica southernmost contin surround southern ocean altern consid surround southern pacif atlant indian ocean southern water world ocean cover million km million sq mi make fifth-largest contin time larger europ coastlin measur kilomet mi character ic format tabl show antarctica divid transantarct mountain close neck ross sea weddel sea portion west weddel sea east ross sea call western antarctica remaind eastern antarctica roughli correspond western eastern hemispher rel greenwich meridian antarctica cover antarct ic sheet sheet ic averag kilomet mi thick contin world ic world fresh water ic melt sea level rise meter ft howstuffwork retriev februari interior contin precipit millimet year blue ic area precipit mass loss sublim local mass balanc neg dry vallei effect occur rock base lead desicc landscap western antarctica cover west antarct ic sheet sheet concern real small possibl collaps sheet break ocean level rise meter geolog short period time matter centuri antarct ic stream account ic sheet flow antarct ic shelv mount erebu activ volcano ross island vinson massif highest peak antarctica meter ft locat ellsworth mountain antarctica home volcano mount erebu activ locat ross island erebu southernmost activ volcano famou volcano call decept island famou giant erupt minor erupt frequent lava flow observ year dormant volcano potenti activ british antarct survei retriev februari underwat volcano antarct peninsula american canadian research evid show unnam volcano activ unit state nation scienc foundat retriev februari antarctica home lake lie thousand meter surfac continent ic sheet lake vostok discov beneath russia vostok station largest subglaci lake believ lake seal million year evid form ic core drill meter ft water line vostok water microbi life seal frozen surfac lake share similar jupit moon europa life discov lake vostok strengthen argument possibl life europa unit state nation scienc foundat retriev februari nasa retriev februari februari nasa team embark mission lake unterse search extremophil water resili creatur bolster argument extraterrestri life extrem cold environ nasa retriev februari geologi geolog histori paleontolog million year antarctica part supercontin gondwana time gondwana gradual broke antarctica todai form million year paleozo era mya survei rout cambrian period gondwana mild climat west antarctica partial northern hemispher period larg amount sandston limeston shale deposit east antarctica equat sea floor invertebr trilobit flourish tropic sea start devonian period mya gondwana southern latitud climat cooler fossil land plant time sand silt laid ellsworth horlick pensacola mountain glaciat began devonian period mya gondwana center south pole climat cool flora remain permian period plant life domin fern-lik plant glossopteri grew swamp time swamp deposit coal transantarct mountain permian period continu warm led dry hot climat gondwana june stonehous ed encyclopedia antarctica southern ocean john wilei son mesozo era mya bransfield strait result continu warm polar ic cap melt gondwana desert east antarctica seed fern establish larg amount sandston shale laid time antarct peninsula began form jurass period mya island gradual rose ocean ginkgo tree cycad plenti period reptil lystrosauru west antarctica conifer forest domin entir cretac period mya southern beech began period ammonit common sea antarctica dinosaur present antarct dinosaur speci cryolophosauru hanson format date lesli mitch decemb smithsonian magazin retriev januari period gondwana began break gondwana breakup mya cool antarctica occur stepwis continent spread chang ocean current longitudin current latitudin current preserv accentu latitud temperatur differ africa separ antarctica mya indian subcontin earli cretac mya mya antarctica connect australia tropic subtrop climat complet marsupi fauna mya australia-new guinea separ antarctica latitudin current isol antarctica australia ic began mya drake passag open antarctica south america result antarct circumpolar current ic spread replac forest cover contin mya contin cover ic septemb mari ed antarctica encyclopedia abbott ic shelf zooplankton firefli book antarct ic cap reach present extens mya geologi present-dai antarctica antarctica ic shield map sea level rise melt ic landmass rise meter ten thousand year weight ic longer depress landmass port lockroi museum geolog studi antarctica greatli hinder fact contin perman cover thick layer ic techniqu remot sens ground-penetr radar satellit imageri begun reveal structur beneath ic geolog west antarctica close resembl and mountain rang south america antarct peninsula form uplift metamorph sea bed sediment late paleozo earli mesozo era sediment uplift accompani igneou intrus volcan common rock west antarctica andesit rhyolit volcan form jurass period evid volcan activ ic sheet form mari byrd land alexand island anomal area west antarctica ellsworth mountain region stratigraphi similar eastern part contin east antarctica geolog vari date precambrian era rock form billion year compos metamorph igneou platform basi continent shield top base modern rock sandston limeston coal shale laid devonian jurass period form transantarct mountain coastal area shackleton rang victoria land fault occur main miner resourc contin coal record beardmor glacier frank wild nimrod expedit low-grad coal part transantarct mountain princ charl mountain signific deposit iron valuabl resourc antarctica lie offshor oil natur ga field ross sea exploit miner resourc ban protocol environment protect antarct treati climat blue ic cover lake fryxel transantarct mountain glacial meltwat canada glacier smaller glacier coast decemb temper antarctica coldest place earth mi vostok station antarctica scientist record world lowest temperatur antarctica frozen desert precipit south pole receiv centimet year averag temperatur reach minimum interior winter reach maximum coast summer sunburn health issu snow surfac reflect ultraviolet light fall british antarct survei retriev februari eastern antarctica colder western counterpart higher elev weather front rare penetr contin leav center cold dry lack precipit central portion contin ic last extend time period heavi snowfal uncommon coastal portion contin snowfal meter hour record snow cornic ridg top edg contin strong katabat wind polar plateau blow storm forc interior wind speed typic moder summer solar radiat reach surfac clear dai south pole equat hour sunlight dai pole antarctica colder arctic reason contin kilomet mi sea level temperatur decreas elev arctic ocean cover north polar zone ocean rel warmth transfer icepack prevent temperatur arctic region reach extrem typic land surfac antarctica latitud long period constant dark constant sunlight creat climat unfamiliar human be rest world aurora australi commonli southern light glow observ night sky south pole uniqu spectacl diamond dust ground-level cloud compos tini ic crystal gener form clear clear ski peopl refer precipit sun dog frequent atmospher optic phenomenon bright spot true sun tabletop iceberg antarctica popul antarctica perman resid number govern maintain perman research station contin number peopl conduct support scientif research work contin nearbi island vari summer winter station staf year-round research studi plankton microscop semi-perman inhabit region antarctica area situat south antarct converg british american sealer spend year south georgia onward whale era last popul island vari summer year winter whaler norwegian increas proport briton settlement includ grytviken leith harbour king edward point strom husvik princ olav harbour ocean harbour manag senior offic whale station live famili founder grytviken captain carl anton larsen promin norwegian whaler explor famili adopt british citizenship field work child born southern polar region norwegian girl solveig jacobsen born grytviken octob birth regist resid british magistr south georgia daughter jacobsen assist manag whale station klara jacobsen jacobsen arriv island manag grytviken serv children born island headland island south georgia cambridg univers press emilio marco palma person born antarct mainland base esperanza parent famili argentinean govern determin famili life suitabl contin juan pablo camacho born frei montalva station chilean born antarctica base home famili children attend school station antarct sun retriev februari flora fauna flora speci lichen antarctica climat antarctica extens veget combin freez temperatur poor soil qualiti lack moistur lack sunlight inhibit flourish plant result plant life limit moss liverwort autotroph commun protist flora contin larg consist lichen bryophyt alga fungi growth gener occur summer week speci lichen speci bryophyt moss speci alga exist phytoplankton multicolor snow alga diatom abund coastal region summer speci flower plant antarct peninsula deschampsia antarctica antarct hair grass quitensi antarct australian govern antarct divis retriev februari fauna land fauna complet invertebr invertebr life includ microscop mite lice nematod tardigrad rotif krill springtail flightless midg belgica antarctica millimet size largest pure terrestri anim antarctica snow petrel bird breed exclus antarctica south pole due extrem cold bodi fluid tini mite midg antarctica glycerol antifreez liquid protect solidifi temperatur plummet emperor penguin ross sea antarctica varieti marin anim exist reli indirectli phytoplankton antarct sea life includ penguin blue whale orca fur seal emperor penguin penguin breed winter antarctica adéli penguin breed south penguin rockhopp penguin distinct feather ey give appear elabor eyelash king penguin chinstrap penguin gentoo penguin breed antarct antarct fur seal heavili hunt centuri pelt sealer unit state unit kingdom weddel seal true seal name sir jame weddel command british seal expedit weddel sea antarct krill congreg larg school keyston speci ecosystem southern ocean import food organ whale seal leopard seal fur seal squid icefish penguin albatross bird retriev februari pass antarct conserv act brought restrict activ contin introduct alien plant anim bring crimin penalti extract indigen speci overfish krill plai larg role antarct ecosystem led offici enact regul fish convent conserv antarct marin live resourc ccamlr treati forc requir regul manag southern ocean fisheri potenti effect entir antarct ecosystem act unregul illeg fish patagonian toothfish market chilean sea bass remain problem illeg fish toothfish increas estim tonn short ton bbc new retriev februari australian govern antarct divis retriev februari polit resuppli uruguayan navi vessel vanguardia antarctica govern belong countri countri claim area mutual recogn claim michel bioprospect mean antarctica southern ocean von barbara law issu south pacif ashgat publish australia zealand franc norwai unit kingdom reciproc recogn valid claim countri recogn claim area part antarctica claim countri claim antarctica suspend contin consid polit neutral statu regul antarct treati relat agreement collect call antarct treati system purpos treati system antarctica defin land ic shelv south treati sign twelv countri includ soviet union russia unit kingdom argentina unit state set antarctica scientif preserv establish freedom scientif investig environment protect ban militari activ contin arm control agreement establish cold war antarct treati parti began negoti convent regul mine antarctica antarctica zealand retriev septemb coalit intern organis launch public pressur campaign prevent miner develop region led larg greenpeac intern greenpeac intern establish scientif station world park base ross sea region greenpeac intern conduct annual expedit document environment impact human activ contin scientist retriev june convent regul antarct miner resourc adopt scientist retriev novemb year australia franc announc ratifi convent render dead intent purpos propos comprehens regim protect antarct environ negoti place retriev june countri suit protocol environment protect antarct treati negoti januari enter forc madrid protocol ban mine activ antarctica design contin reserv devot peac antarct treati prohibit militari activ antarctica establish militari base fortif carri militari manoeuv test type weapon militari personnel equip permit scientif research peac purpos scientif committe antarct research retriev februari document land militari manoeuvr oper undertaken argentin militari antarctica institut argentina retriev februari unit state militari issu antarctica servic medal militari member civilian perform research duti antarctica medal includ winter bar issu remain contin complet six-month season navi retriev februari antarct territori territori claim antarctica argentin british chilean claim overlap british claim recognis australia greatest claim antarct territori germani maintain claim antarctica swabia situat overlap norwai claim claim abandon fall nazi germani economi illeg captur sale patagonian toothfish led arrest pictur antarct toothfish sister speci coal hydrocarbon iron or platinum copper chromium nickel gold miner larg quantiti exploit protocol environment protect antarct treati restrict struggl resourc compromis agreement reach place indefinit ban mine review limit econom develop exploit primari agricultur activ captur offshor trade fish antarct fisheri report land tonn santa barbara citi colleg biolog scienc retriev februari antarct postal servic small-scal expedit tourism exist subject antarct treati environment protocol provis effect self-regul intern associ antarctica tour oper vessel antarct tourism member member account tourist activ travel larg small medium ship focus specif scenic locat access concentr icon wildlif total tourist visit austral summer come commerci ship number predict increas antarct treati secretariat retriev august retriev februari concern potenti advers environment ecosystem effect caus influx visitor call stricter regul ship tourism quota environmentalist scientist telegraph uk retriev februari primari respons antarct treati parti develop committe environment protect partnership site guidelin set land limit close restrict zone frequent visit site antarct sight flight land oper australia zealand fatal crash air zealand flight mount erebu kill aboard qanta resum commerci overflight antarctica australia mid- transport transport contin transform explor cross isol remot area antarctica foot open area due human technolog enabl conveni faster transport land predominantli air water dog pull research sledg ban alien antarctica object electr buggi side dog excel sens crevic thin ic buggi research full moon exposur allow suffici light photo amundsen-scott south pole station long antarct night station left power plant center mechan garag green light background aurora australi year scientist nation conduct experi reproduc place world summer scientist oper research station number decreas winter mcmurdo station capabl hous scientist visitor tourist research includ biologist geologist oceanograph physicist astronom glaciologist meteorologist geologist tend studi plate tecton meteorit outer space resourc breakup supercontin gondwanaland glaciologist antarctica concern studi histori dynam float ic season snow glacier ic sheet biologist addit examin wildlif interest harsh temperatur presenc peopl affect adapt surviv strategi wide varieti organ medic physician discoveri spread virus bodi respons extrem season temperatur astrophysicist amundsen-scott south pole station studi celesti dome cosmic microwav background radiat astronom observ interior antarctica surfac locat high elev result thin atmospher temperatur minim amount water vapour atmospher allow view space clearer earth antarct ic serv shield detect medium largest neutrino telescop world built kilomet amundsen-scott station antarct connect retriev februari import focu studi ozon layer atmospher antarctica british scientist work data gather hallei station brunt ic shelf discov exist hole layer nasa satellit data show antarct ozon hole largest record cover million km million sq mi eventu determin destruct ozon caus chlorofluorocarbon emit human product ban cfc montreal protocol believ ozon hole close fifti year princess elisabeth polar scienc station septemb intern polar foundat unveil princess elisabeth station world zero-emiss polar scienc station antarctica research climat chang cost million prefabr station part intern polar year ship south pole belgium monitor health polar region belgian polar explor alain hubert state base kind produc emiss make uniqu model energi antarct johan bert leader station design team manag project conduct research climatolog glaciolog microbiolog princess elisabeth station meteorit antarct meteorit name alh mar meteorit antarctica import area studi materi form earli solar system thought asteroid origin larger planet meteorit japanes expedit discov meteorit meteorit fallen ic sheet million year motion ic sheet concentr meteorit block locat mountain rang wind eros bring surfac centuri beneath accumul snowfal compar meteorit collect temper region earth antarct meteorit well-preserv nasa retriev februari larg collect meteorit understand abund meteorit type solar system meteorit relat asteroid comet type meteorit rare meteorit piec blast moon mar impact specimen alh discov center controversi evid microbi life mar meteorit space absorb record cosmic radiat time elaps meteorit hit earth determin laboratori studi elaps time fall terrestri resid ag meteorit repres inform environment studi antarct ic sheet team research ohio state univers graviti measur nasa grace satellit discov km wilk land crater form million year gorder pam frost june research new volcan erupt januari british antarct survei ba scientist led hugh corr david vaughan report journal natur geoscienc year volcano erupt antarctica ic sheet base airborn survei radar imag biggest erupt year volcan ash deposit ic surfac hudson mountain close pine island glacier effect global warm contin ici mass proven larg impervi climat chang situat solid rock deep interior grow volum economist novemb antarctica peripheri notic affect global warm antarct peninsula pine island bai contribut rise sea level economist novemb ic shelf collaps ow global warm british antarct survei nasa signific antarct melt year occur mass ic compar size california briefli melt result temperatur rise high reuter cnn retriev june obviou effect contin environ larg ozon hole antarctica detect scientist continu grow dai main emiss chlorofluorocarbon cfc atmospher decompos ozon gass ozon hole ozon deplet +motto en unión libertad spanish union liberti anthem himno nacion argentino locat argentina capit largest citi bueno air offici languag spanish demonym argentin argentinian govern feder presidenti republ presid cristina fernández de kirchner vice presid julio cobo independ spain revolut declar juli area total km sq mi water popul estim censu densiti km sq mi gdp ppp estim total billion gdp ppp rank capita gdp nomin estim total billion gdp nomin list st capita gini gini list hdi high currenc peso ar time zone art summer dst art internet tld ar websit call code argentina territori disput unit kingdom addit km sq mi antarctica falkland island south georgia south sandwich island popul argentina south american countri constitut feder twenty-four provinc autonom citi size contin brazil eighth world argentina occupi continent surfac area km sq mi and mountain rang west southern atlant ocean east south border paraguai bolivia north brazil uruguai northeast chile west south countri claim british control territori falkland island spanish isla malvina south georgia south sandwich island argentina claim km sq mi antarctica argentin antarctica overlap claim chile unit kingdom argentina highest human develop index level gross domest product gdp capita purchas power pariti latin america intern gdp rank highest hdi latin america countri classifi upper-middl incom countri secondari emerg market world bank argentina nomin gdp st largest economi world etymolog spanish conquistador discov río de la plata name estuari mar dulc fresh water sea indigen peopl gave gift silver survivor shipwreck expedit led juan díaz de solí legend sierra del plata mountain rich silver reach spain print venic map sourc silver area citi found expedit trail silver pilcomayo river final reach sourc find own explor reach lima capit viceroyalti peru argentina latin argentum silver extens book historia del descubrimiento población conquista del río de la plata histori discoveri popul conquest río de la plata rui díaz de guzmán name territori tierra argentina land silver spanish spanish tradition british english countri argentin longer common histori río de la plata aborigin pictur hendrick sign human presenc argentina locat patagonia piedra museo santa cruz date bc ad maize-bas civil develop andean region santa maría huarp diaguita inca empir rule emperor pachacutec launch offens conquer present-dai northwestern argentina integr region call collasuyu northeastern area develop cultur base yuca sweet potato central southern area pampa patagonia domin nomad cultur unifi seventeenth centuri mapuch bueno air european explor arriv spain establish perman coloni site bueno air viceroyalti río de la plata creat earli part period larg countri spanish immigr descend creol gather bueno air citi live pampa gaucho descend african slave present signific number indigen peopl inhabit rest argentina british empir launch invas bueno air creol popul repel attempt confirm rumor overthrow king ferdinand vii napoleon citizen bueno air advantag situat creat govern junta revolut formal independ spain declar juli tucumán gener de san martín cross and free chile peru elimin spanish threat centralist federalist group spanish unitario federal conflict nation uniti establish constitut promulg constitut strongli defend move oratori patriot franciscan mamerto countri depart name bloodi war tripl allianc fought argentina brazil uruguai paraguai foreign invest immigr europ led adopt modern agricultur techniqu conquest desert subdu remain indigen tribe southern pampa patagonia leav indigen dead carlo floria césar garcía belsunc historia de lo argentino ii argentina enjoi increas prosper promin top richest countri world agricultur export-l economi popul countri swell sevenfold conserv forc domin argentin polit non-democrat mean tradit rival radic won control govern militari forc hipólito yrigoyen power lead decad conserv rule polit chang led presid juan perón empow work class greatli expand number union worker economi turn protectionist polici develop industri revolución libertadora depos presid juan perón soft militari weak civilian administr trade power year economi grew strongli poverti declin time polit violenc continu escal fight militari govern demand return perón spanish exil perón return presid di year assum power wife isabel vice presid succeed offic militari coup march remov offic arm forc power junta charg self-appoint nation reorgan process militari govern repress opposit leftist group harsh illeg measur dirti war thousand dissid disappear side cooper dina south american intellig agenc cia oper condor militari leader part dirti war train school america argentin dictat leopoldo galtieri roberto viola militari dictatorship greatli increas extent countri foreign debt point economi countri began control condit impos creditor imf intern monetari fund prioriti servic repay foreign debt econom problem charg corrupt public revuls face human right abus final countri defeat british falkland war discredit argentin militari regim democraci restor raúl alfonsín govern step account disappear establish civilian control arm forc consolid democrat institut member militari junta prosecut sentenc life term failur resolv endem econom problem inabl maintain public confid led alfonsín earli departur month term complet began hyperinfl presid carlo menem impos fix exchang rate stop hyperinfl adopt far-reach market-bas polici dismantl protectionist barrier busi regul implement privat program reform contribut signific increas invest growth stabl price peso ti dollar artifici high rate maintain flood market dollar result foreign debt increas enorm state compani servic privat total open market foreign good produc local result collaps local industri part popul save dollar travel oversea purchas import luxuri good cheapli rest popul experienc increas poverti unemploy imf world economist prais liber argentin market countri present larg fiscal deficit overvalu peg peso caus gradual slide econom crisi period profound econom recess began direct result econom measur domin decad produc fals sens stabil term accumul problem perceiv corrupt menem unpopular menem de la rúa administr face diminish competit export massiv import damag nation industri reduc employ chronic fiscal trade deficit contagion econom crise unemploy reach high econom activ popul part-tim work asian financi crisi precipit outflow capit mushroom recess culmin econom crisi novemb govern coalit forc undertak seri measur includ freez bank account halt flow capit countri stem grow debt crisi climat popular discont unleash result decemb argentina thrown worst institut econom crisi decad violent street protest brought clash polic result fatal increasingli chaotic climat bloodi riot final result resign presid de la rúa econom crisi accentu peopl lack trust politician time street protest accompani cry refer politician involv report act corrupt accus deal fraudul public good monei judici sanction place curb corrupt week presid quick success culmin eduardo duhald appoint interim presid argentina legisl assembl januari argentina default intern debt oblig peso eleven year-old linkag unit state dollar abandon result major depreci peso spike inflat competit flexibl exchang rate countri implement polici base import substitut increas export consist fiscal trade surplus economi began stabil soybean boom float exchang rate néstor kirchner elect presid kirchner presid argentina restructur default debt steep discount percent bond paid debt intern monetari fund renegoti contract util nation previous privat enterpris argentina enjoi period econom growth cristina fernández de kirchner elect presid woman elect presid argentina center-left fabiana río ari woman elect governor tierra del fuego elect femal governor argentina histori polit govern argentina polit framework feder presidenti repres democrat republ presid argentin nation head state head govern complement pluriform multi-parti system current presid cristina fernández de kirchner julio cobo vice presid argentin constitut mandat separ power execut legisl judici branch nation provinci level execut power resid presid cabinet presid argentin nation vice presid elect four-year term limit consecut term cabinet minist appoint presid legisl power vest bicamer nation congress congreso de la nación consist senat senado seventy-two seat chamber deputi cámara de diputado member senat serv six-year term one-third stand reelect year member chamber deputi elect four-year term system proport represent member hous elect year candid present parti women judiciari independ execut legislatur argentin suprem court justic member appoint presid consult senat rest judg appoint council magistr nation secretariat compos repres judg lawyer congress execut law argentina argentina member intern bloc mercosur legisl supran function mercosur compos full member argentina brazil paraguai uruguai venezuela associ member full vote right bolivia chile colombia ecuador peru argentina countri latin america particip gulf war mandat unit nation latin american countri involv phase haiti oper argentina contribut worldwid peacekeep oper includ el guatemala western sahara angola kuwait cypru croatia kosovo bosnia timor lest recognit contribut intern secur presid bill clinton design argentina major non-nato alli januari elect temporari member secur council argentina launch unit nation white helmet indic humanitarian aid novemb argentin citi mar del plata host fourth summit america summit mark number anti-u protest argentina emphas mercosur intern prioriti contrast reli heavili relationship unit state argentina long claim sovereignti falkland island isla malvina south shetland island south sandwich island million km antarctica meridian parallel centuri argentin presenc base argentina found signatori perman consult member antarct treati system antarct treati secretariat establish bueno air militari argentina arm forc control defens ministri countri presid commander-in-chief histor argentina militari equip region develop advanc jet fighter earli org face expenditur cutback comparison region militari ag allow militari servic year obligatori militari servic conscript arm forc compos tradit armi navi air forc control separ ministri interior ministri argentin territori water patrol naval prefectur border region nation gendarmeri arm maintain liaison defens ministri argentina arm forc undertak major oper haiti cypru accord mandat provinc provinc argentina argentina claim falkland island isla malvina uk oversea territori slice antarctica consid part tierra del fuego provinc argentina divid twenty-thre provinc provincia singular provincia autonom citi commonli capit feder offici ciudad autónoma de bueno air declar capit bueno air didn't capit countri move reloc administr centr presid raúl alfonsín law pass order transfer feder capit viedma citi patagonian provinc río negro studi underwai econom problem halt project law formal repeal treat relic provinc divid smaller secondari unit call departamento depart total provinc bueno air similar divis partido departamento partido subdivid municip district descend order number inhabit major citi argentina bueno air córdoba rosario mendoza tucumán la plata mar del plata salta santa fe san juan resistencia neuquén geographi topograph map argentina includ territori claim main featur total surfac area argentina includ antarct claim total km land km water km argentina km mi long north south km mi east west maximum valu roughli divid part fertil plain pampa center countri sourc argentina agricultur wealth flat roll oil-rich plateau patagonia southern tierra del fuego subtrop flat gran chaco north rug and mountain rang western border chile highest point sea level argentina locat mendoza cerro aconcagua meter feet highest mountain america southern highest mountain peak contin western hemispher lowest point laguna del carbón santa cruz meter ft sea level lowest surfac point contin lowest point south american contin geograph center countri locat south-centr la pampa provinc countri territori claim portion antarctica unrecogn countri maintain constant presenc geograph region countri tradition divid major geograph distinct region pampa plain west south bueno air call humid pampa cover provinc bueno air córdoba big portion provinc santa fe la pampa western part la pampa provinc san lui plain dry pampa drier graze sierra de córdoba homonym provinc extend san lui import geograph featur pampa gran chaco gran chaco region north countri season dry wet cotton grow livestock rais cover provinc chaco formosa dot subtrop forest scrubland wetland home larg number plant anim speci provinc santiago del estero li drier region gran chaco mesopotamia land uruguai river call mesopotamia share provinc corrient entr río featur flatland apt graze plant grow wetland central corrient mision provinc tropic belong brazilian highland geograph featur featur subtrop rainforest fall patagonia stepp patagonia provinc neuquén río negro chubut santa cruz tertiari origin region semiarid north cold arid south forest grow western fring dot larg lake tierra del fuego cool wet moder ocean influenc northern patagonia roughli río negro south homonym river neuquén refer comahu region cuyo west-centr argentina domin impos and mountain east arid region cuyo melt water high mountain form backbon irrig lowland oasi center rich fruit wine grow region mendoza san juan provinc north region hotter drier geograph accid la rioja provinc noa northwest region highest averag elev parallel mountain rang peak higher feet domin area rang grow wider geograph extent north cut fertil river vallei import vallei provinc catamarca tucumán salta north provinc jujui bolivia li altiplano plateau central and tropic capricorn north region river lake major river argentina includ pilcomayo paraguai bermejo colorado río negro salado uruguai largest river flow meet atlant ocean form estuari río de la plata region import river atuel mendoza homonym provinc chubut patagonia río grand jujui san francisco river salta larg lake argentina patagonia lake argentino viedma santa cruz nahuel huapi río negro fagnano tierra del fuego huapi muster chubut lake bueno air o'higgin san martín lake share chile mar chiquita córdoba largest salt water lake countri numer reservoir creat dam argentina featur hot spring terma de río hondo temperatur coastal area sea argentina km mi coastlin nation law center inter-american free trade continent platform unusu wide argentina shallow area atlant ocean call mar argentino water rich fisheri suspect hold import hydrocarbon energi resourc argentina coastlin vari area sand dune cliff major ocean current affect coast warm brazil current cold falkland current spanish corrient antártica corrient de la malvina unev coastal landmass current altern influenc climat temperatur fall evenli higher latitud southern coast tierra del fuego form north shore drake passag climat vallei provinc salta longitudin elev amplitud argentina subject varieti climat rule climat predominantli temper extrem rang subtrop north subpolar south north countri character hot humid summer mild drier winter subject period drought central argentina hot summer thunderstorm western argentina produc world largest hail cool winter southern region warm summer cold winter heavi snowfal mountain zone higher elev latitud experi cooler condit hottest coldest temperatur extrem record south america occur argentina record high temperatur record villa de maría córdoba januari lowest temperatur record vall de lo pato superior san juan juli major wind argentina includ cool pampero blow flat plain patagonia pampa cold front viento nort warm wind blow north mid late winter creat mild condit zonda hot dry wind föhn wind affect west-centr argentina squeez moistur meter descent and zonda wind blow hour gust km fuel wildfir caus damag zonda blow june-novemb snowstorm blizzard viento blanco condit affect higher elev liter consid similar snowfal rare involv unpreced deep winter pressur system moder cold temperatur bring heavi rain rough sea coastal flood common late autumn winter coast central argentina río de la plata estuari southern region south experi long period daylight novemb februari nineteen hour extend night august argentina time zone countri observ daylight save time occasion summertim start decemb finish march extrem argentina continent point northeast town bernardo de irigoyen mision westernmost mariano moreno rang santa cruz northernmost point locat confluenc grand de san juan river jujui southernmost cape san pío tierra del fuego spanish chamber deputi provinc santa cruz enclav exclav argentin exclav martín garcía island co-ordin confluenc uruguai river kilomet mi uruguayan water kilometr mi uruguayan coastlin small town martín chico halfwai nueva palmira colonia del sacramento agreement reach argentina uruguai reaffirm argentin jurisdict island century-old disput term agreement martín garcía devot exclus natur preserv area squar kilometr acr popul peopl flora fauna flora subtrop plant domin north part gran chaco region south america genu dalbergia tree dissemin repres brazilian rosewood quebracho tree predomin white black algarrobo tree prosopi alba prosopi nigra area exist drier region nearer and aquat plant thrive wetland dot region ceibo argentina nation flower central argentina humid pampa true tallgrass prairi ecosystem origin pampa virtual tree todai road town countri estat estancia import speci american sycamor eucalyptu present tree-lik plant nativ pampa evergreen surfac soil pampa deep black color primarili humu commonli compost region product earth respons decim origin ecosystem commerci agricultur western pampa receiv rainfal dry pampa plain short grass stepp patagonia south li rain shadow and flora shrubbi bush plant suit withstand dry condit soil hard rocki make large-scal farm imposs river vallei conifer forest grow western patagonia island tierra del fuego conif nativ region includ alerc fitzroya cupressoid cipré de la cordillera austrocedru chilensi cipré de la guaiteca pilgerodendron podocarpu prumnop andina hembra conspicua araucaria araucana nativ broadleaf tree includ speci nothofagu includ coihu lenga nothofagu pumilio nothofagu antarctica introduc tree present forestri plantat includ spruce cypress pine common plant chusquea anim argentina cuyo semiarid thorni bush plant abound river oasi grass tree grow signific number area present optim condit larg scale growth grape vine northwest argentina speci cacti highest elev mt veget grow extrem altitud soil virtual devoid plant life ceibo flower tree erythrina nation flower argentina fauna puma inhabit northeast countri speci live subtrop north big cat jaguar cougar ocelot primat howler monkei larg reptil crocodil speci caiman anim includ tapir capybara giant anteat peccari bush dog raccoon mane wolf speci turtl tortois bird notabl hummingbird flamingo toucan parrot hornero nation emblem argentina central grassland popul armadillo pampa cat mara rhea flightless bird hawk falcon heron partridg inhabit region deer fox speci extend patagonia western mountain home anim includ llama guanaco vicuña recogniz speci south america region fox viscacha andean mountain cat kodkod largest fly bird world andean condor southern argentina home cougar huemul world smallest deer introduc non-n wild boar anim argentina coast patagonia rich anim life eleph seal fur seal sea lion speci penguin south popul cormor bird territori water argentina abund ocean life mammal dolphin orca whale southern whale major tourist draw naturalist sea fish includ sardin argentin hake dolphinfish salmon shark present squid spider crab tierra del fuego river stream argentina speci trout south american dorado fish dorado trout outstand snake speci inhabit argentina includ boa constrictor venom pit viper south american rattl snake hornero elect nation bird survei info hornero economi contemporari develop argentina benefit abund natur resourc highli liter popul export-ori agricultur sector diversifi industri base wealthiest nation larg middl class segment popul suffer success econom crise argentina maintain high standard live argentina economi start slowli lose ground wealthi nation strong prosper economi deep recess mid lose place posit prosper industri nation economi declin militari dictatorship last period govern borrow larg loan high interest rate imf privat bank institut countri engag disorgan corrupt rapid liber mark industri hegemoni latin america militari dictatorship compani size bankrupt econom decis fail revert situat final year recess economi broke reach worst point histori signific progress occur result todai signific segment popul financi well-off stand sharp contrast million purchas power drastic reduc improv situat poorer sector strong rebound middl class urban poverti rate drop percent observ level prior recess world bank late countri pile public debt plagu bout high inflat govern peg peso dollar limit growth monei suppli embark path trade liber deregul privat inflat drop gross domest product grew extern econom shock failur system dilut benefit caus economi crumbl slowli collaps argentina default debt gdp shrunk unemploy peso depreci devalu float care spend control heavi tax export allow state regain resourc conduct monetari polici import substitut polici soar export coupl inflat expans econom measur trigger surg gdp repeat creat million job encourag intern consumpt capit flight decreas foreign invest slowli return influx foreign currenc export creat huge trade surplu central bank forc bui dollar market continu time time prevent argentin peso appreci significantli cut competit situat improv economi grew inflat estim offici number issu incom distribut consider unequ intern monetari fund septemb sector agricultur output account gdp export soi veget oil major export commod export wheat maiz oat sorghum sunflow seed total cattl major industri beef milk leather product chees total export sheep wool industri import patagonia pig caprin fruit veget export appl pear río negro vallei orang citru northwest mesopotamia grape strawberri cuyo berri south cotton yerba mate major crop gran chaco sugarcan tobacco northwest oliv garlic cuyo banana formosa tomato salta peach mendoza grown domest consumpt argentina world fifth-largest wine produc fine wine product major leap qualiti grow export total viticultur potenti met mendoza largest wine region san juan spanish industri petrochem oil natur ga argentina group export total import oil field lie patagonia cuyo impress network pipelin send raw product bahia blanca center petrochem industri la industri belt coal mine mine rise industri northwest san juan provinc main region activ metal mine includ gold silver zinc magnesium copper sulfur tungsten uranium ten year export soar million billion total economi ministri argentina spanish estim bn fold rise fisheri argentin hake account catch pollack squid follow forestri expand mesopotamia elm cellulos pine eucalyptu furnitur timber paper product sector account export dam hydroelectr complex largest world manufactur nation lead singl sector gdp output share lead sector motor vehicl auto part transport farm equip export iron steel foodstuff textil manufactur includ cement industri chemic home applianc process wood biggest industri center bueno air rosario córdoba telecommun sector grow fast pace import penetr mobil telephoni popul clarin februari spanish internet million peopl onlin broadband servic regular telephon million line cia factbook mail robust servic sector biggest contributor total gdp argentina produc energi larg part develop hydroelectr resourc nuclear energi high import www gov ar countri largest produc export canada russia radioact isotop wide cancer therapi construct led employ creation current econom expans gdp tourism increasingli import provid econom output argentin travel border foreign flock countri afford safe incred divers cosmopolitan bueno air rosario iguazu fall coloni salta south american indigen jujui provinc fun-fil córdoba wineri mendoza scenic bariloch beach pinamar perito moreno glacier tierra del fuego million tourist visit transport cargo ship front rosario-victoria bridg light rail bueno air argentina infrastructur good compar countri latin america nation economi encyclopedia km mi road km pave km expresswai cia factbook privat multilan highwai connect main citi construct la república digit retriev februari railwai network total length km bueno air subwai built latin america southern hemispher decad decai servic lack mainten passeng servic shut rail compani privat thousand kilomet track disrepair railwai servic reactiv citi countri kilomet waterwai signific río de la plata uruguai río negro paraguai river water suppli sanit water suppli sanit argentina face kei challeng coverag higher level servic provis incom level ii poor servic qualiti iii high level pollut iv cost recoveri unclear alloc respons institut sector popul contemporari figur nation institut statist censu argentina indec censu show popul argentina rank south america total popul global estim popul argentina popul densiti inhabit squar kilomet popul evenli distribut area citi bueno air popul densiti inhab km santa cruz provinc inhab km argentina nation south america net posit migrat rate person citi metropolitan area oroño boulevard rosario catalina tower bueno air cordoba citi centr argentina fifteen largest metropolitan area demograph fiesta del inmigrant festiv celebr immigr argentina centuri town mision ethnic argentina melt pot peopl autochthon immigr citizen european descent great major popul estim vari white total popul nation censu base similar figur studi conduct argentin swedish north american institut establish genet averag structur argentin popul european contribut amerindian admixtur fulli visibl physic appear estim present high percentag popul close patern matern lineag shown amerindian ancestor lineag estructura genética de la argentina impacto de contribucion genética ministerio de educación de ciencia tecnología de la nación spanish colonist wave european settler migrat argentina late nineteenth mid-twentieth centuri major contributor includ itali initi piedmont veneto lombardi campania calabria www org ar spain foremost galician basqu franc bueno air mendoza smaller signific number immigr germani switzerland lake region patagonia córdoba scandinavia denmark norwai sweden greec lebanon unit kingdom ireland bueno air santa patagonia english settlement argentina portug eastern european numer poland hungari russia ukrain croatia slovenia monografía spanish lithuania balkan countri romania montenegro chaco larg armenian commun patagonian chubut vallei signific welsh-descend popul minor argentin gaucho small grow number peopl east asia settl argentina bueno air japanes descent korean vietnames chines clarin septemb major argentina jewish commun deriv immigr north eastern european origin ashkenazi jew sephard group syria argentina home largest ashkenazi jewish commun world histori jew argentina argentina larg arab commun immigr syria lebanon gain promin statu nation busi polit includ presid carlo menem son syrian settler provinc la rioja arab argentin christian eastern orthodox eastern cathol church offici recogn indigen popul countri complementari survei indigen peopl base censu data stand approxim peopl percent total popul spanish illeg immigr illeg immigr import factor argentin demograph illeg immigr bolivia paraguai countri border argentina north smaller number arriv peru ecuador romania editori clarín spanish argentin govern estim inhabit lack offici document launch program call patria grand greater homeland encourag illeg immigr regular statu applic process program urban govern hous tucumán beach atlant ocean mar del plata argentina popul highli urban million peopl live autonom citi bueno air million greater bueno air make largest urban conglomer world respect metropolitan area third-largest citi argentina córdoba rosario compris million inhabit european immigr argentina settl citi offer job educ opportun enabl newcom enter middl class settl grow small town expand railwai system rural worker move big citi rural town ghost town train servic ceas local product manufactur small scale replac massiv amount cheap import good slum villa miseria sprout outskirt largest citi inhabit impoverish lower-class urban dweller migrant smaller town interior larg number immigr neighbour countri time convert leav crisi argentina urban area european reflect influenc european settler citi built style main squar plaza cathedr import govern build face plaza gener layout citi call checkerboard base pattern squar block modern develop depart citi la plata built nineteenth centuri organ checkerboard diagon avenu fix interv el faro tower show modern architectur urban citi la plata south america electr street illumin cultur european modern style bueno air street san telmo bueno air european style arquitectur argentin cultur primarili inform influenc european root bueno air consid cultur capit european citi south america result preval peopl european descent consciou imit european style architectur big influenc gaucho tradit countri lifestyl self-reli final indigen american tradit mate tea drink absorb greater cultur realm literatur argentina rich histori world-renown literatur includ twentieth centuri critic acclaim writer jorg lui borg countri leader latin american literatur fulli unit entiti strong constitut defin nation-build plan struggl federalist favor loos confeder provinc base rural conservat unitarian advoc strong central govern encourag european immigr set tone argentin literatur time ideolog divid gaucho epic martín fierro hernández facundo net free digit book domingo faustino sarmiento great hernández federalist oppos central modern european tendenc sarmiento wrote immigr save argentina subject rule small number dictatori caudillo famili argu immigr argentina modern enlighten western european thought prosper societi argentin literatur period fierc nationalist modernist movement emerg franc late nineteenth centuri period turn vanguard ricardo güirald import refer jorg lui borg acclaim writer wai modern world metaphor philosoph debat influenc extend writer globe borg famou work short stori ficcion aleph argentina produc internation note writer poet intellectu juan bautista alberdi roberto arlt enriqu adolfo bioi eugenio julio cortázar esteban echeverría leopoldo lugon eduardo mallea ezequiel martínez estrada tomá eloi martínez victoria ocampo manuel puig ernesto sabato osvaldo soriano alfonsina storni maría elena walsh quino born joaquin salvador lavado entertain reader world dip event modern time mafalda comic strip gang film theatr nuev de julio avenu world widest street honor argentin independ dai juli argentina major produc motion pictur world anim featur film releas argentina cartoonist quirino cristiani argentin cinema enjoi score product consid classic spanish-languag film industri produc actor movi star argentin cinema tango perform libertad lamarqu floren tito tita merello roberto escalada hugo del carril film wave cinema achiev worldwid recognit offici stori la historia offici queen nuev reina man face southeast hombr mirando al sudest son bride el hijo de la novia motorcycl diari diario de motocicleta iluminado por el fuego rare rival movi popular local film releas weekli wide argentina internation low-budget film earn prize cinema festiv cann citi mar del plata organ film festiv bueno air independ cinema counterpart capita number screen highest latin america view capita highest region gener argentin director caught attent critic worldwid new bbc uk april addition argentina major center cinema compar european countri term peopl attend movi theater spider-man dai record argentina itali germani break record dai releas bueno air great capit theater teatro colon nation landmark opera classic perform built xix centuri teatro colon acoust consid world kind major mainten program order preserv outstand sound characterist style impress golden room minor auditorium target chamber music perform museum entranc enrico caruso gigli félix weingartn artur nikisch richard strauss arturo toscanini igor stravinski paul hindemith camil saint-saën manuel de falla aaron copland krzysztof penderecki gian-carlo menotti wilhelm furtwängler herbert von karajan tullio serafin gino albert wolff víctor de sabata leonard bernstein mstislav rostropovich sir malcolm sargent karl böhm fernando previtali sir thoma beecham ferdinand leitner lorin maazel igor markevitch bernard haitink zubin mehta marek janowski aldo ceccato riccardo muti kurt masur michel corboz decker riccardo chailli sir simon rattl claudio abbado jacob artist compos conductor perform opera hous teatro colón great opera hous world program nation intern calib call corrient corrient avenu synonym art dub street refer broadwai bueno air adam fiona cultur shock argentina portland graphic art center publish compani great career act music film begun theater teatro gener san martín prestigi corrient avenu teatro nacion cervant design nation theater argentina import theater independencia mendoza florencio sanchez griselda gambaro famou argentin playwright julio bocca great ballet dancer modern era día de sol sunni dai benito quinquela martín paint sculptur enigmat figur argentin cultur oscar agustín alejandro schulz solari aka xul solar watercolor style unorthodox paint media draw larg crowd museum worldwid imaginari languag work candido lopez naïv art style emilio cubist antonio berni neo-figur style fernando fader guillermo appreci internation benito quinquela martín consid painter citi bueno air work class la boca neighborhood excel suit lucio fontana leon ferrari acclaim sculptor conceptu artist ciruelo world-wid famou fantasi artist sculptor food drink argentin food influenc cuisin spain itali germani franc european countri food countri pasta sausag dessert common nation diet argentina wide varieti stapl food includ empanada stuf pastri locro mixtur corn bean meat bacon onion gourd chorizo spici sausag popular item includ dulc de lech mate argentina nation beverag asado argentin barbecu asado famou world includ type meat chorizo sweetbread chitterl morcilla blood sausag thin sandwich sandwich de miga popular argentin highest consumpt red meat world argentina invest million dollar modern wineri industri countri import wine produc rate world yearli capita consumpt wine highest worldwid malbec repres varieti argentina malbec grape discard variet franc countri origin provinc mendoza ideal environ successfulli develop turn world malbec citi mendoza wine capit world mendoza account countri total product variet consid wine tourism signific provinc mendoza impress landscap cordillera de lo and highest peak america mount aconcagua meter high provid desir destin intern tourism sport ignacio corleto lo puma score franc rugbi world cup beat franc argentina reach place tournament footbal soccer popular sport argentina nation team fifa world cup champion one-tim olymp gold medalist copa américa winner widespread volleybal basketbal number basketbal player particip nba european leagu manu ginobili andr nocioni carlo delfino fabricio oberto nation team won olymp gold athen olymp argentina import rugbi union team lo puma argentina nation rugbi union team player plai europ argentina beat franc rugbi world cup place competit beat franc argentin tenni competit world stage dozen player male femal activ tour popular sport includ field hockei top femal sport la leona golf sail argentina highest number highly-rank polo player world nation squad uninterrupt world champion open polo championship bueno air import event world cricket grow popular due nation team success underdog finish runner inaugur world cricket leagu divis basebal plai limit fashion gridiron motorsport repres argentina turismo carretera tc popular car race format peopl countri enjoi race fervent small town rural argentina attract similar demograph nascar unit state ralli argentina part world ralli championship held córdoba provinc formula race countri produc world champion juan manuel fangio time runners-up froilán gonzález carlo reutemann offici nation sport countri pato plai ball horseback famou argentin sport includ music tango music lyric sung form slang call lunfardo argentina music symbol milonga danc predecessor slowli evolv modern tango tango chang danc focus music lyric poetri singer carlo gardel roberto goyenech hugo del carril tita merello edmundo rivero golden ag tango mid- mirror jazz swing unit state featur larg orchestr group band osvaldo puglies anib troilo francisco canaro juan tango turn intellectu led astor piazzolla todai tango worldwid popular rise neo-tango global phenomenon group tanghetto bajofondo gotan project argentin rock call rock nacion popular music youth arguabl listen form spanish-languag rock influenc success internation ow rich uninterrupt evolut band soda stereo sumo compos charli garcía lui alberto spinetta fito páez refer nation cultur mid bueno air rosario cradl music argentin rock establish middl class youth almendra sui generi pappo cruci seru giran bridg gap argentin band popular latin america enanito verd fabuloso cadillac viru andr calamaro sub-genr underground pop orient work class la renga attaqu dividido lo redondito current popular band includ babasonico rata blanca el otro yo attaqu bersuit lo piojo catupecu machu miranda european classic music repres argentina bueno air home world-renown colón theater classic musician martha argerich daniel barenboim eduardo eduardo delgado lalo schiffrin classic compos alberto ginastera internation acclaim major citi argentina impress theater opera hous provinci citi orchestra citi annual event import classic music festiv semana music san carlo de bariloch multitudin amadeu bueno air argentin folk music uniqu vast dozen region danc nation folk style emerg perón argentina give rise nueva canción artist began express music object polit theme atahualpa yupanqui greatest argentin folk musician merced sosa defin figur shape nueva canción gain worldwid popular process style huge recept chile influenc entireti latin american music todai chango soledad brought folk younger gener leon gieco folk-rock bridg gap argentin folklor argentin rock introduc style million oversea success tour notabl musician includ gato barbieri seduct saxophon free jazz composit jaim torr spaciou andean music religion cathedr córdoba date seventeenth centuri argentin predominantli roman cathol declar roman cathol survei church estim affili marita carballo valor cultural al cambio del milenio la nación depart state constitut argentin govern support roman catholic impli offici religion argentin republ impli peopl work govern faith evangel church gain foothold argentina follow number million total popul tradit protest commun present commun member church jesu christ latter-dai saint mormon number seventh-largest concentr world present countri host largest jewish popul latin america percent popul islam argentina constitut approxim popul estim sunni argentina home largest mosqu latin america serv argentina muslim commun approxim argentin consid non-religi secular languag offici languag argentina spanish call castellano castilian argentin phonet studi conduct laboratori sensori investig conicet univers toronto show accent inhabit bueno air porteño closer neapolitan dialect italian spoken languag italian immigr european immigr influenc lunfardo slang spoken río de la plata region permeat vernacular vocabulari region argentin largest spanish-speak societi univers emploi voseo pronoun vo occas altern verb form preval dialect rioplatens speaker primarili locat basin río de la plata standard german spoken retriev januari argentin german ancestri state german todai fourth spoken languag argentina survei italian speaker spoken languag countri speaker levantin arab number longer current newer gener switch spanish speak ancestr languag home phenomenon appli galician languag spanish immigr yiddish japanes usag languag declin respect immigr wave end centuri indigen commun retain origin languag spoken northeast corrient enjoi offici statu mision quichua spoken northwest local variant santiago del estero aymara spoken member bolivian commun migrat argentina bolivia patagonia welsh-speak commun immigr brought chines korean bueno air english brazilian portugues french spoken lesser extent english commonli taught school portugues french educ independ argentina construct nation public educ system comparison nation place countri high global rank literaci todai countri literaci rate est ubiquit white uniform argentin school children nation symbol learn school attend compulsori ag argentin school system consist primari school level last year secondari high school level last year system split type high school instruct call educacion secundaria provinc adopt project execut repeal measur return tradit secondari level system approv clarin juli spanish presid domingo faustino sarmiento overwhelmingli credit push implement free modern educ system argentina univers reform shape current tripartit represent public univers educ fund tax payer level major graduat studi privat school institut primari secondari univers level million peopl enrol formal educ kind peopl attend kindergarten primari school secondari high school establish peopl attend non-univers level establish train technic school peopl attend colleg univers nation institut statist censu argentina spanish educ public school primari secondari tertiari free public educ perceiv qualiti mid centuri perceiv bad continu declin lack fund help privat educ flourish albeit caus imbal term afford middl upper class privat school scholarship system place thirty-f public univers countri privat univers bueno air largest student córdoba student rosario student la plata student utn nation technolog univers student import public univers face cutback spend led declin qualiti holidai public holidai includ cathol holidai holidai faith respect main histor holidai includ anniversari revolut independ dai juli nation flag dai june death nation hero de san martín august christma ev extend famili gather dinner music danc candi serv midnight firework displai even includ open gift noel santa clau year dai mark firework holidai includ good fridai easter labor dai anniversari revolut sovereignti dai malvina dai april flag dai june independ dai juli scienc technolog argentina contribut distinguish doctor scientist inventor world includ nobel prize laureat scienc lui federico leloir won nobel prize chemistri argentin respons major breakthrough world medicin domingo liotta design develop artifici heart successfulli implant human favaloro develop techniqu perform world coronari bypass surgeri francisco de pedro invent reliabl artifici cardiac pacemak medicin nobel laureat bernardo houssai discov role pituitari hormon regul glucos anim medicin nobel laureat césar milstein extens research antibodi chemistri nobel laureat lui leloir discov organ store energi convert glucos glycogen compound fundament metabol carbohydr lui agot perform blood transfus blood histori enriqu design oper tabl tool surgic scissor bear scissor roberto zaldívar pioneer procedur research argentin research led advanc therapi heart diseas form cancer argentina nuclear program highli advanc argentina develop nuclear program overli depend foreign technolog nuclear facil argentin technolog built peru algeria australia egypt countri admit capabl produc uranium major step assembl nuclear weapon argentina pledg nuclear power peac purpos non-prolifer area juan vucetich yugoslavian immigr father modern fingerprint julia rodríguez columbia univers fingerprint raúl patera de pescara demonstr world flight helicopt mass-produc modern ball point pen eduardo develop effici pendular combust engin juan maldacena argentine-american scientist lead figur string theori argentin satellit successfulli launch januari pslv commun media print print media argentina highli develop independ newspap countri influenti home citi region major nation newspap bueno air includ centrist clarín sell daili spanish speak world nation paper la nación center-right street página left financiero busi conserv tageblatt german le mond diplomatiqu spanish french crónica populist region paper import includ la capit rosario lo and mendoza la voz del interior córdoba el tribuno salta bueno air herald well-respect english languag daili argentin publish industri spain mexico import spanish-speak world argentina featur largest bookstor chain latin america el ateneo yenni bookstor numer well-stock independ store abound number carri titl english languag hundr magazin public cover plethora issu hobbi sold kiosk citi sidewalk bookstor radio televis argentina pioneer nation radio broadcast pm august sociedad radio argentina announc bring home live perform richard wagner parsif opera coliseo theater downtown bueno air twenti home citi receiv tune world radio station countri radio cultura air twelv station bueno air ten citi golden ag radio argentina live varieti new soap opera sport show don moor present radio station licens argentina broadcast fm broadcast radio remain import medium argentina music youth varieti program domin fm format new debat sport radio primari broadcast amateur radio widespread countri radio serv vital servic inform entertain life save remot commun argentin televis industri larg divers wide view latin america product world local program broadcast network countri right purchas foreign produc adapt market argentina major network provinci capit larg citi local station argentina boast highest penetr cabl satellit televis latin america similar percentag north america trend latin american network cabl network oper argentina serv spanish-speak world includ satelit tyc sport fox sport en español unit state méxico mtv argentina cosmopolitan tv new network todo noticia intern rank +motto anthem azərbaycan himni march azerbaijan locat azerbaijan capit largest citi baku offici languag azerbaijani demonym azerbaijani govern presidenti republ presid ilham aliyev prime minist artur rasizad independ soviet union declar august complet octob area total km sq mi water popul estim st censu densiti km sq mi gdp ppp estim total billion capita gdp nomin estim total billion capita gini hdi medium currenc manat azn time zone utc summer dst utc internet tld az call code azerbaijan ipa uk azerbaijani azərbaycan offici republ azerbaijan azerbaijani azərbaycan largest popul countri south caucasu region eurasia locat crossroad eastern europ western asia bound caspian sea east russia north georgia northwest armenia west iran south azerbaijani exclav nakhchivan border armenia north east iran south west turkei northwest nagorno-karabakh district azerbaijan southwest control armenia nagorno-karabakh war unit nation secur council resolut call withdraw occupi forc occupi area azerbaijani republ countri territori encompass island caspian sea azerbaijan nation ethnic azeri muslim major popul secular unitari republ countri co-found guam organis prohibit chemic weapon member commonwealth independ state septemb countri perman mission european union host special envoi european commiss member unit nation osc council europ nato partnership peac pfp program etymolog histori maiden tower baku azerbaijan deriv atrop minorski minorski encyclopaedia islam edit bearman bianqui bosworth van donzel heinrich brill brill onlin encyclopedia iranica azerbaijan pre-islam histori achaemenid satrap media achaemenid empir reinstat satrap media alexand macedonia chaumont iranica london routledg kegan paul histor dictionari azerbaijan tadeusz swietochowski brian collin scarecrow press lanham maryland retriev june origin etymolog thought root ancient zoroastrian avestan yasht hymn guardian angel mention liter translat persian worship fravashi holi atrop rule region present-dai iranian azerbaijan atrop deriv persian root mean protect fire azerbaijani turk power ident russian rule audrei altstadt hoover institut press retriev june ancient histori earliest evid human settlement territori azerbaijan date late stone ag relat cultur cave upper paleolith mousterian cultur attest cave zar jug remnant dry wine reveal necropolis testifi wine-mak activ late bronz ag mausoleum shirvanshah baku entir south caucasu conquer achaemenid led spread zoroastrian part median empir overthrow alexand great seleucid greek inherit caucasu ultim beset pressur rome secessionist greek bactria advers parthian caucasian albanian origin inhabit area establish kingdom centuri part caucasian albania subjug neighbor armenia part tigran great empir strabo roman parthian began expand domain albania iberia armenia remain independ roman domin sign peac treati strabo xi roman inscript gobustan testifi presenc legio xii fulminata time domitian caucasian albania remain larg independ sassanid turn vassal state king caucasian albania offici adopt christian state religion centuri albania remain predominantli christian state islam conquest centuri numer conquest sassanid byzantin caucasian albania remain entiti region centuri territori modern azerbaijan roughli correspond ancient state caucasian albania minorski caucasica iv bulletin school orient african studi univers london mediev histori islam umayyad caliph defeat sassanid byzantin make caucasian albania vassal state christian resist led princ javanshir suppress declin abbasid caliph territori present-dai azerbaijan swai numer dynasti sajid shaddadid rawadid buyid begin centuri territori gradual seiz wave turkic oghuz tribe central asia dynasti ghaznavid part area azerbaijan local possess subsequ seljuk empir rule atabeg technic vassal seljuk sultan de facto ruler seljuk turk local poet nizami ganjavi shirvani gave rise blossom persian literatur territori present-dai azerbaijan rule state jalayirid short-liv fell conquest tamerlan local dynasti shirvanshah vassal state tamerlan empir assist tamerlan war ruler golden hord tokhtamysh tamerlan death independ rival state emerg kara koyunlu ak koyunlu death ak koyunlu sultan uzun hasan rule territori azerbaijan shirvanshah maintain high degre autonomi local ruler vassal shirvanshah persecut safavid dynasti impos shia islam sunni popul battl sunni ottoman empir area rule iranian dynasti afshar zand collaps safavid briefli qajar independ khanat bertsch gari kenneth crossroad conflict secur foreign polici caucasu central asia routledg capit independ azeri khanat azeri sens muslim spoke version turkic languag call azeri todai nafzig wayn stewart franc väyrynen raimo war hunger displac origin humanitarian emerg oxford univers press fragil frontier diminish domain qajar iran intern journal middl east studi ibrahim khalil khan wali qarabagh warn sultan selim iii aqa muhammad khan ambit fear independ inform sultan aqa muhammad khan abil subdu azerbaijan qarabagh erivan georgia baddelei john frederick russian conquest caucasu harvard univers longman green sum achiev charact short time pass transcaucasia manag complet alter map countri compos minut divid independ muhammadan state lean persia khanat baku shirvan karabagh erivan averi peter hambl gavin cambridg histori iran cambridg univers press muhammad khan turn restor outli provinc safavid kingdom return tehran spring assembl forc cavalri infantri shawwal set azarbaijan intend conquer countri river ara kura safavid control region compris number independ khanat import qarabagh capit shusha ganja capit shirvan kura capit shamakhi north-west bank kura christian georgia capit tifli emerg area collaps zand dynasti earli qajar era engag constant warfar khanat eventu incorpor russian empir russo-persian war treati turkmenchai persian empir recogn russian sovereignti erivan khanat nakhchivan khanat remaind talysh khanat independ soviet azerbaijan collaps russian empir world war azerbaijan armenia georgia part short-liv transcaucasian democrat feder republ republ dissolv azerbaijan declar independ azerbaijan democrat republ adr adr democrat parliamentari republ muslim world last month bolshevik xith red armi invad april overthrow adr govern bolshevik establish azerbaijan ssr baku april azerbaijan armenia georgia part transcaucasian soviet feder socialist republ tsfsr constitu member newly-establish soviet union tsfsr dissolv azerbaijan ssr constitu member state soviet union azerbaijan ssr suppli soviet union oil eastern front world war close azerbaijani fought front nazi germani oper edelweiss launch adolf hitler occupi caucasian oilfield captur baku offens push german larg fruitless effort enlist cooper emigr polit figur mam amin rasulzad berlin opportun meet captur soviet azerbaijani pow swietochowski tadeusz russia azerbaijan borderland transit columbia univers paint enver aliyev depict azerbaijani citizen dig entrench antitank obstacl baku prevent nazi invas newli independ azerbaijan polit glasnost initi gener secretari communist parti soviet union mikhail gorbachev civil unrest ethnic strife grew region soviet union includ nagorno-karabakh region azerbaijan ssr disturb azerbaijan respons moscow indiffer heat conflict result call independ secess ussr subsequ culmin event black januari baku time ayaz appoint secretari azerbaijan communist parti suprem council azerbaijan ssr drop word soviet socialist titl adopt declar sovereignti azerbaijan republ constitu member soviet union restor modifi flag azerbaijan democrat republ state flag earli suprem council azerbaijan establish offic presid ayaz subsequ elect presid council septemb ayaz elect presid nationwid elect candid run octob suprem council azerbaijan adopt declar independ affirm nationwid referendum decemb soviet union offici dissolv earli year independ overshadow nagorno-karabakh war neighbor armenia hostil azerbaijan lost control internation recogn territori includ nagorno-karabakh thoma de waal black garden armenia azerbaijan peac war york york univers press democrat elect presid abulfaz elchibei overthrown militari insurrect led colonel suret huseynov result rise power leader soviet azerbaijan heydar aliyev suret huseynov time prime minist attempt militari coup heydar aliyev fail arrest charg treason coup attempt aliyev command militari polic rovshan avert result kill disband azerbaijan militari polic presid aliyev manag reduc countri unemploy rein crimin group establish fundament institut independ statehood brought stabil peac major foreign invest countri taint rampant corrupt govern bureaucraci octob aliyev reelect term improv economi exploit oil field shah deniz ga field aliyev presid unpopular due vote fraud wide-spread corrupt object autocrat regim harsh critic elect prime minist ilham aliyev leader azerbaijan parti death father heydar geographi total length azerbaijani land border km armenia constitut iran georgia russia turkei state statist committe republ azerbaijan retriev coastlin stretch km length widest area azerbaijani section caspian sea km territori azerbaijan extend km north south km west east mountain rang greater lesser caucasu talysh mountain cover approxim countri org retriev highest peak azerbaijan mount lowest point li caspian sea mud volcano earth concentr azerbaijan nasa satellit imag azerbaijan march main water sourc surfac water river greater km length river drain caspian sea east countri largest lake km longest river kur km transboundari azerbaijan main island caspian sea combin area squar kilomet climat format climat azerbaijan influenc cold arctic air mass scandinavian anticyclon temper siberian anticyclon central asian anticyclon azerbaijan az retriev landscap divers air mass wai enter countri greater caucasu protect countri direct influenc cold air mass come north lead format subtrop climat foothil plain countri plain foothil character high solar radiat rate eleven exist climat zone present azerbaijan water resourc azerbaijan republ institut hydrometeorolog ministri ecolog natur resourc retriev absolut minimum temperatur absolut maximum temperatur observ julfa ordubad maximum annual precipit fall lankaran mm minimum absheron mm natur ecolog water suppli point azerbaijan averag world approxim year water km big water reservoir built kur main area plant divers azerbaijan highland nakhchivan speci occur plain region east greater caucasu centr lesser caucasu gobustan lenkoran region talysh mountain absheron region slope great caucasu northern eastern slope lesser caucasu talysh mountain deem vast forest area azerbaijan org retriev endem includ speci plant speci caspian alga reptil perch fifteen speci sub-speci gobiida endem freshwat fish belong cypriniform strictli endem mammal major biodivers loss azerbaijan decreas natur environ administr divis azerbaijan divid rayon singular rayon citi district singular autonom republ respublika nakhchivan subdivid rayon citi presid azerbaijan appoint governor unit govern nakhchivan elect approv parliament nakhchivan autonom republ local govern region citi armenian occup khankendi shusha continu function exil govern polit ilham aliyev current presid azerbaijan structur format azerbaijan polit system complet accept constitut novemb state symbol azerbaijan republ articl constitut flag coat arm nation anthem state power azerbaijan limit law intern issu intern affair addition limit provis intern agreement govern azerbaijan base separ power legisl execut judici branch legisl power held unicamer nation assembl suprem nation assembl autonom republ parliamentari elect held year sundai novemb accuraci elect result check confirm constitut court law enact nation assembl effect dai public execut power carri presid elect year term direct elect presid author form cabinet minist inferior execut bodi subordin cabinet minist azerbaijan consist primarili prime minist deputi minist presid dissolv nation assembl veto decis overrid presidenti veto parliament major vote judici power vest constitut court suprem court econom court presid nomin judg court secur council delib bodi presid organ constitut establish april administr depart part presid offic manag financi technic pecuniari ensur activ presid offic foreign relat short-liv azerbaijan democrat republ succeed establish diplomat relat countri send diplomat repres germani finland retriev process intern recognit azerbaijan independ collaps soviet union last roughli year countri bahrain recogn azerbaijan novemb ministri foreign affair retriev full diplomat relat includ mutual exchang mission establish turkei unit state iran azerbaijan diplomat relat countri hold membership intern organ fco gov uk retriev observ statu held non-align movement world trade organ correspond intern telecommun union azerbaijani diaspora repres countri azerbaijani diaspora az retriev dozen ethnic minor center turn function countri german cultur societi slavic cultur center commun kurdish cultur center intern talysh associ lezgin nation center samur commun crimean tatar societi ministri foreign affair retriev azerbaijan elect member newli establish human right council unit nation gener assembl term offic begun june foreign polici prioriti azerbaijan includ restor territori integr elimin consequ loss nagorno-karabakh region azerbaijan develop mutual advantag relat neighbour countri promot secur stabil region integr european transatlant secur cooper structur promot econom energi transport project inform azerbaijan offici foreign polici azeri govern late state comprehens peac treati sign armenia azerbaijan adopt militari solut conflict involv karabakh enclav govern process increas militari budget oil ga revenu bring torrent cash coffer econom sanction impos iran south turkei west azerbaijan east combin greatli erod armenia economi lead steep price basic commod great declin armenian state revenu azerbaijan activ member intern coalit fight intern terror countri contribut peacekeep effort kosovo afghanistan iraq azerbaijan activ member nato program maintain good relat european union potenti dai appli membership azerbaijan european union militari azerbaijani interior guard troop train arm forc republ azerbaijan creat law republ azerbaijan arm forc azerbaijan octob initi equip facil soviet fourth armi arm forc branch land forc air forc air defenc forc unit branch navi arm forc addit militarili organis group involv state defenc need intern troop ministri intern affair forc state border servic includ coast guard azerbaijan adher treati convent arm forc europ januari azerbaijan sign chemic weapon convent unit nation gener assembl pari countri sign document small arm light weapon retriev azerbaijan member nato partnership peac nato individu partnership action plan kamil retriev azerbaijan parti nuclear non-prolifer treati addit protocol intern atom energi agenc nationmast retriev arm forc support american oper endur freedom provid peacekeep infantri platoon oper iraqi freedom peacekeep infantri compani centcom mil retriev militari expenditur reach mln usd todai az retriev economi nation bank gain independ azerbaijan member intern monetari fund world bank european bank reconstruct develop islam develop bank asian develop bank azerbaijan az retriev bank system azerbaijan consist nation bank azerbaijan commerci bank non-bank credit organ nation bank creat base azerbaijan state save bank affili state save bank ussr nation bank serv azerbaijan central bank empow issu nation currenc azerbaijani manat supervis commerci bank major commerci bank state-own intern bank azerbaijan unit univers joint-stock bank push spend demand growth inflat rate reach todai az retriev nomin incom monthli wage climb figur price increas non-oil industri encourag inflat countri azerbaijan show sign so-cal dutch diseas fast grow energi sector inflat third azerbaijan rich oil natur ga azerbaijan az retriev region lesser caucasu account countri gold silver iron copper titanium chromium manganes cobalt molybdenum complex or antimoni septemb contract sign state oil compani azerbaijan republ socar oil compani amoco bp exxon lukoil statoil western oil compani tap deepwat oilfield untouch soviet exploit azerbaijan consid import spot world oil explor develop msu retriev state oil fund establish fund ensur macroeconom stabil transpar manag oil revenu safeguard resourc futur gener begin hectar util agricultur area state statist committe republ azerbaijan retriev year total wood resourc count million azerbaijan agricultur scientif research institut focus meadow pastur horticultur subtrop crop green veget viticultur wine-mak cotton grow medicin plant org retriev land profit grow grain potato sugar beet cotton tobacco caspian fish industri concentr dwindl stock sturgeon beluga azerbaijani merchant marin ship retriev part product import begun produc local coca cola coca cola bottler beer parquet nehir oil pipe pipe coat azerbaijan statist yearbook azerbaijan retriev azerbaijan import econom hub term raw materi transport baku-tbilisi-ceyhan pipelin btc oper stretch kilomet territori azerbaijan km georgia km turkei km btc design transport million ton crude oil annual carri oil caspian sea oilfield global market south caucasu pipelin stretch territori azerbaijan georgia turkei oper offer addit ga suppli european market shah deniz ga field expect produc billion cubic metr natur ga year azerbaijan plai major role silk road project transport commun azerbaijan led capita mobil phone ci retriev public pai phone local call requir purchas token telephon exchang shop kiosk token call indefinit durat main telephon line internet user intut retriev gsm mobil network oper cdma broad gaug railwai stretch km electrifi railwai number km number airport reach heliport demograph man child villag northeast azerbaijan popul total approxim broken total popul april citi dweller rural popul azerbaijan gender inform center retriev total popul femal gender ratio total popul year male femal intut retriev popul growth rate compar worldwid signific factor restrict popul growth high level migrat instanc men women left countri due labour migrat azerbaijan migrat person highest morbid respiratori diseas diseas total popul ministri health retriev highest morbid infecti parasit diseas note influenza acut respiratori infect popul ministri health retriev estim total life expect year year women men msn encarta retriev languag religion shaykh abba mosqu offici figur popul muslim shia sunni christian compos popul russian armenian orthodox roman cathol catholic-hierarchi org retriev christian denomin includ lutheran baptist molokan corlei felix april keston new servic retriev jewish hare krishna jehovah wit commun adher so-cal nehemiah church star east church cathedr prais church cultur tradit azeri musician azerbaijan folk consist azerbaijani repres part societi nation ethnic group compactli live area countri radio broadcast kurdish lezgin talysh georgian russian armenian languag financ state budget local radio station balakan organ broadcast avar languag khachmaz tat baku newspap publish russian kurdish dengi kurd lezgin samur talysh languag jewish societi publish newspap aziz nation music instrument fourteen string instrument percuss instrument wind instrument atla az retriev azerbaijan nation tradit dress chokha azerbaijan debut appear eurovis song contest event previous showcas soviet eastern bloc state entri submit unesco world heritag tent list includ gobustan state reserv fire templ baku momin khatun mausoleum khan palac sheki +amateur astronom watch night sky perseid meteor shower amateur astronomi subset astronomi hobbi particip enjoi studi observ celesti object overview amateur astronom depend field astronomi primari sourc incom support profession degre advanc academ train amateur beginn high degre astronomi assist work side profession astronom amateur astronomi view night sky celesti object event visibl amateur astronom oper dai event sunspot solar eclips amateur astronom sky ey common tool amateur astronomi includ portabl telescop binocular peopl studi sky histori amateur framework formal method fund centuri amateur astronomi activ distinguish profession astronomi relat activ amateur astronomi object collect amateur astronom observ varieti celesti object phenomena common target amateur astronom includ moon planet star comet meteor shower varieti deep sky object star cluster galaxi nebula amateur specialis observ object type object type event interest branch amateur astronomi amateur astrophotographi involv photo night sky astrophotographi popular amateur time sophist equip high qualiti ccd camera afford amateur work visibl wavelength small minor experi wavelength visibl spectrum pioneer amateur radio astronomi karl janski start observ sky radio wavelength interest increas time non-visu amateur astronomi includ infrar filter convent telescop radio telescop amateur astronom home-mad radio telescop radio telescop origin built astronomi research amateur one-mil telescop common tool amateur astronom rang instrument studi sky depend combin interest resourc method includ simpli night sky nake ey binocular varieti telescop vari power qualiti addit sophist equip camera studi light sky visual non-visu part spectrum commerci telescop place common amateur astronom build commiss build custom telescop peopl focu amateur telescop make primari interest hobbi amateur astronomi specialis experienc amateur astronom tend acquir specialis power equip time simpl equip prefer task binocular instanc gener power major telescop tend provid wider field view prefer object night sky amateur astronom star chart depend experi intent rang simpl planispher detail chart specif area night sky rang astronomi softwar amateur astronom includ softwar gener map sky softwar assist astrophotographi softwar perform calcul pertain astronom phenomena amateur astronom record observ take form observ log observ log typic record detail object observ describ detail sketch log photograph record observ time internet essenti tool amateur astronom astronomi club member web site popular ccd imag amateur mean larg number web site written individu imag equip social interact amateur astronomi occur mail list discuss group yahoo group googl group host numer astronomi list great deal commerc amateur astronomi bui sell equip occur onlin amateur onlin tool plan nightli observ session tool clear sky chart common techniqu method amateur astronomi locat item sky variat specif techniqu star hop star hop method amateur astronom low-tech equip binocular manual driven telescop involv map memori locat landmark star hop simplic star hop common method find object close naked-ey star advanc method locat object sky includ set circl assist point telescop posit sky object interest goto telescop fulli autom telescop capabl locat object demand calibr set circl set circl angular measur scale main rotat ax telescop widespread adopt digit set circl classic engrav set circl specif identifi analog set circl asc know coordin object equatori coordin telescop user set circl align telescop direct eyepiec computer set circl call digit set circl dsc digit set circl displai telescop ra dec coordin simpli digit read-out telescop analog set circl go-to telescop digit set circl comput commerci name includ argo navi sky command ngc max databas ten thousand celesti object project planet posit find object globular cluster ngc ra dec coordin book move telescop numer read object chosen databas arrow marker displai direct move telescop telescop move distanc reach ra dec ax zero object eyepiec user databas book laptop match desir object list coordin coordin telescop dsc go-to system work conjunct laptop sky program computer system provid advantag comput coordin precess tradit print sourc subtitl epoch year refer posit celesti object time nearest year print sourc updat interv fifti year computer sourc hand calcul ascens declin epoch date exact instant observ goto telescop goto telescop popular time technolog improv price reduc computer-driven telescop user typic enter item interest mechan telescop point telescop item automat notabl advantag amateur astronom intent research goto telescop tend faster locat item interest star hop allow time studi object goto manufactur add equatori track simpler telescop mount allow produc expens product goto telescop increasingli afford type begin amateur astronom emerg goto telescop offer form instant gratif allow difficult object quickli requir experi learn find goto debat earli amateur astronomi commun engag debat light-heart method superior astronom argu begin technolog star hop techniqu excel method learn sky good knowledg night sky advantag peopl prefer simpler equip calibr setup time versatil star hop involv print media depend comput gener sourc user print star map home book atlas magazin articl comput gener graphic aid quest find object goto telescop hand hobbi access prefer peopl studi object time effort requir find object prepar digit set circl go-to system provid tour function user set paramet magnitud class object view seri planetari nebula cygnu user discov list close doubl star imposs view condit select altern view program minut middle-ag older amateur astronom discov electron point system conveni spare difficult postur ach pain point telescop zenith common straight-through finder horizon elev mount finder reach explos astrophotographi webcam ccd camera mount telescop download data nearbi laptop enhanc demand robot system point telescop oper stai seat set imag paramet imag techniqu amateur astronom engag imag techniqu includ film ccd astrophotographi ccd imag linear imag process subtract effect increas popular astrophotographi urban area scientif research scientif research main goal amateur astronom profession astronomi work scientif merit amateur successfulli contribut knowledg base profession astronom astronomi promot remain scienc amateur contribut data recognis astronom societi pacif annual amateur achiev award signific contribut astronomi amateur major scientif contribut amateur astronom area data collect appli larg number amateur astronom small telescop effect small number larg telescop profession astronom organis exist coordin contribut amateur astronom contribut activ monitor bright variabl star help track asteroid observ occult determin shape asteroid shape terrain appar edg moon earth advanc equip cheap comparison profession setup amateur astronom measur light spectrum emit astronom object yield high-qual scientif data measur perform due care amateur astronom search overlook phenomena kreutz sungraz vast librari digit imag data captur earth space base observatori internet present amateur astronom plai major role discov comet fund project lincoln near-earth asteroid research earth asteroid track project meant comet discov autom system long amateur societi larg number amateur astronom societi world serv meet point interest amateur astronomi peopl activ interest observ armchair astronom simpli interest topic societi rang wide goal depend varieti factor geograph spread local circumst size membership instanc local societi middl larg citi regular meet speaker focus observ night sky membership observ due factor light pollut common local societi hold regular meet includ activ star parti present societi meet point peopl interest amateur telescop make famou amateur astronom john dobson perfect dobsonian telescop mount revolutionis build newtonian reflector telescop observ william ferri discov comet observ near-earth object robert fri found braesid observatori flagstaff arizona hai famou comedian actor discov white spot saturn david levi discov co-discov comet includ comet shoemaker-levi individu lesli peltier prolif discover comet well-known observ variabl star russel porter found stellafan refer founder amateur telescop make isaac robert appli photographi astronomi leon stuart photograph lunar flare novemb amateur thoma bopp share discoveri comet hale-bopp unemploi phd physicist alan hale sir patrick moor present bbc long-run sky night author book astronomi suraj manjunath discov near-earth comet robert owen evan minist unit church australia amateur astronom hold all-tim record visual discoveri supernova +aikido japanes martial art develop morihei ueshiba synthesi martial studi philosophi religi belief aikido translat unifi life energi saotom mitsugi principl aikido boston massachusett shambhala harmoni spirit westbrook adel ratti oscar aikido dynam sphere tokyo japan charl tuttl compani ueshiba goal creat art practition defend protect attack injuri aikido techniqu perform blend motion attack oppos attack aikidoka aikido practition redirect attack momentum minimum effort type throw joint lock pranin stanlei encyclopedia aikido aikido categor gener umbrella grappl art aikido deriv martial art aiki-jūjutsu began diverg late partli due ueshiba involv religion ueshiba earli document bear term aiki-jūjutsu pranin stanlei encyclopedia aikido ueshiba senior student approach aikido depend studi todai aikido world number style broad rang interpret emphasi share techniqu learn ueshiba concern well-b attack etymolog basic philosophi word aikido form kanji ai join harmon ki spirit life energi path term connect practic aikido philosoph concept tao martial art judo kendo peac art japanes calligraphi flower arrang term aiki refer martial art principl tactic blend attack movement purpos control action minim effort pranin stanlei encyclopedia aikido retriev august appli aiki understand rhythm intent attack find optim posit time appli histor aiki master purpos kill aikido seek neutralis aggressor caus harm founder aikido declar control aggress inflict injuri art peac ueshiba morihei tran steven john art peac boston massachusett shambhala public number aikido practition interpret aikido metaphor parallel aikido techniqu method conflict resolut ringer judi teacher find hidden gift daili conflict press crum thoma magic conflict turn life work work art rev ed touchston dobson miller aikido everydai life give ed north atlant book dobson terri lot danc aikido journei blue snake book siegel andrea women aikido north atlant book kanji ident korean version charact form word hapkido korean martial art direct connect art suspect founder art train aiki-jūjutsu histori morihei ueshiba founder aikido creat morihei ueshiba ueshiba morihei decemb april refer aikido practition great teacher pranin stanlei encyclopedia aikido ueshiba envis aikido synthesi martial train express person philosophi univers peac reconcili ueshiba lifetim continu todai aikido evolv old-styl martial art ueshiba studi wide varieti express martial artist world initi develop takeda sokaku ueshiba develop aikido primarili late synthesi older martial art studi steven john aikido harmoni boston massachusett shambhala core martial art aikido deriv aiki-jūjutsu ueshiba studi takeda sokaku art addition ueshiba studi tenjin tozawa tokyo nakai masakatsu sakai judo takagi takagi tanab pranin stanlei encyclopedia aikido art primari technic influenc aikido empty-hand throw joint-lock techniqu ueshiba incorpor train movement weapon spear yari short staff bayonet jūken aikido deriv technic structur art swordsmanship kenjutsu ueshiba move began studi takeda sokaku offici associ continu part period ueshiba begun distanc takeda time ueshiba refer martial art aiki unclear ueshiba began aikido offici art greater japan martial virtu societi dai nippon butoku kai engag govern sponsor reorgan central japanes martial art religi influenc onisaburo deguchi ueshiba left met profoundli influenc onisaburo deguchi spiritu leader religion movement ayab pranin stanlei encyclopedia aikido primari featur emphasi attain utopia life great influenc ueshiba martial art philosophi extend love compass seek harm aikido demonstr philosophi emphasi master martial art receiv attack harmlessli redirect ideal resolut receiv unharm attack oomoto foundat teach scriptur commiss retriev august addit effect spiritu growth connect deguchi gave ueshiba entri elit polit militari circl martial artist result exposur attract financi back gift student student style aikido fumiaki intern dissemin aikido brought west minoru mochizuki visit franc introduc aikido techniqu judo student pranin stanlei encyclopedia aikido tadashi ab offici aikikai hombu repres remain franc year kenji tomiki tour deleg martial art fifteen continent state unit state year koichi tohei aikikai hombu hawaii full year set dojo visit consid formal introduct aikido unit state unit kingdom itali germani australia design deleg europ africa morihei ueshiba masamichi noro noro biographi link arriv franc septemb todai aikido dojo train world prolifer independ organis biggest aikido organis aikikai foundat remain control ueshiba famili aikido style form morihei ueshiba major student earliest independ style emerg yoseikan aikido begun minoru mochizuki yoshinkan aikido found gozo shioda pranin stanlei encyclopedia aikido shodokan aikido found kenji tomiki shishido fumiaki tetsuro aikido tradit competit edg shodokan publish usa emerg style pre-dat ueshiba death major upheav formal shodokan aikido controversi introduc uniqu rule-bas competit felt contrari spirit aikido ueshiba death major style emerg signific controversi aros departur aikikai hombu dojo chief instructor koichi tohei tohei left result disagr son founder kisshomaru ueshiba time head aikikai foundat disagr proper role ki develop regular aikido train tohei left form style call shin shin toitsu aikido organ govern ki societi pranin stanlei encyclopedia aikido final major style evolv ueshiba retir iwama ibaraki teach methodolog long term student morihiro saito unoffici refer iwama style point number follow form loos network school call iwama ryu iwama style practition remain part aikikai saito death follow saito subsequ split group remain aikikai form independ organ shinshin kai saito son hitohiro saito todai major style aikido run separ govern organ headquart honbu japan intern breadth physic train aikido virtual japanes martial art physic mental aspect train physic train aikido divers cover gener physic fit condit specif techniqu homma gaku aikido life berkelei california north atlant book substanti portion aikido curriculum consist throw student learn safe fall roll specif techniqu attack includ strike grab techniqu defens consist throw pin basic techniqu learn student studi freestyl defens multipl oppon style techniqu weapon fit physic train goal pursu conjunct aikido includ control relax flexibl endur emphasi strength train aikido techniqu push extend movement common pull contract movement art distinct appli gener fit goal aikido practition anaerob fit activ weight train emphas contractionari power specif muscl muscl group isol work improv tone mass power train emphas coordin whole-bodi movement balanc similar yoga pilat dojo class warm-up exercis includ stretch break fall pranin stanlei encyclopedia aikido role uk nage aikido train base primarili partner practic pre-arrang form kata freestyl practic basic pattern receiv techniqu uk initi attack thrower nage refer tori shite depend aikido style neutralis attack aikido techniqu halv techniqu uk nage consid essenti aikido train studi aikido principl blend adapt nage learn blend control attack energi uk learn calm flexibl disadvantag off-bal posit nage place receiv techniqu call ukemi homma gaku aikido life berkelei california north atlant book uk continu seek regain balanc cover vulner expos side nage posit time uk off-bal vulner advanc train uk appli revers techniqu regain balanc pin throw nage ukemi ukemi refer act receiv techniqu good ukemi involv parri avoid pain injuri joint disloc atemi initi attack aikido techniqu defens attack practic aikido partner student learn deliv type attack attack studi art honest attack strong strike immobil grab need studi correct effect applic techniqu strike uchi aikido resembl cut sword grasp object suggest origin techniqu intend arm combat techniqu explicitli punch tsuki practic thrust knife sword kick gener reserv upper-level variat reason cite includ fall kick danger kick high kick uncommon type combat preval feudal japan basic strike includ strike vertic strike head strike diagon strike side head neck chest thrust punch torso specif target includ chest abdomen solar plexu middle-level thrust direct thrust face thrust punch face upper-level thrust beginn practic techniqu grab safer easier feel energi line forc hold strike grab histor deriv held draw weapon techniqu free oneself immobil strike attack grab defend exampl basic grab single-hand grab hand grab wrist grab hand grab wrist grab hand grab wrist doubl single-hand grab shoulder grab shoulder grab chest grab grab cloth chest collar grab basic techniqu diagram techniqu similar mechan action upper hand grip forearm elbow sampl basic wide practic throw pin precis terminolog vari organis style term aikikai foundat note name techniqu list univers taught numer order aikido exercis teach train berkelei california north atlant book techniqu control hand elbow hand wrist leverag uk ground pranin stanlei encyclopedia aikido grip appli pressur ulnar nerv wrist techniqu wristlock torqu arm appli pain nerv pressur techniqu pronat wristlock direct tension arm elbow shoulder fourth techniqu shoulder control similar hand grip forearm knuckl palm side appli recipi radial nerv periosteum forearm bone pranin stanlei encyclopedia aikido techniqu visual similar invert grip wrist medial rotat arm shoulder downward pressur elbow common knife weapon take-awai throw hand fold shoulder lock shoulder joint forearm return supin stretch extensor digitorum breath throw loos term type mechan unrel techniqu pranin stanlei encyclopedia aikido enter throw throw nage move space occupi uk classic form superfici resembl clotheslin techniqu throw begin move nage sweep hand earth high heaven unbal uk easili toppl hip throw aikido version hip throw nage drop hip uk flip uk result fulcrum throw entangl throw lock arm kanji cross-shap pranin stanlei encyclopedia aikido rotari throw nage sweep arm lock shoulder joint pressur throw pranin stanlei encyclopedia aikido implement diagram show version techniqu move omot version move ura version text detail aikido bodi movement tai sabaki blend uk enter techniqu consist movement uk turn tenkan techniqu pivot motion amdur elli aikido journal addition uchi techniqu take place front uk soto techniqu take place side front omot techniqu appli motion front uk rear ura version appli motion rear uk incorpor turn pivot motion final techniqu perform seat postur seiza seat techniqu call twenti basic techniqu thousand implement instanc appli oppon move strike ura type movement redirect incom forc oppon struck move reestablish distanc version specif aikido kata typic refer formula taylor michael aikido terminolog essenti refer tool english japanes lulu press instanc refer techniqu execut uk hold wrist omot refer forward-mov techniqu grab atemi strike feint emploi aikido techniqu view atemi attack vital point meant damag instanc shioda atemi brawl quickli gang leader shioda tran payet jacqu johnston christoph aikido shugyo harmoni confront book atemi face method distract meant enabl techniqu strike block startl target break concentr target unbalanc attempt avoid blow jerk head easier throw shioda dynam aikido kodansha intern sai atemi attribut morihei ueshiba consid essenti element techniqu scott nathan retriev februari weapon train disarm attack sword techniqu weapon train aikido tradition includ short staff wooden sword bokken knife dang phong aikido weapon techniqu wooden sword stick knife aikido charl tuttl compani todai school incorpor techniqu taught integr arm unarm aspect school aikido train weapon iwama style morihiro saito spend substanti time bokken practis name founder develop empti hand aikido tradit sword spear movement practic movement gener purpos give insight origin techniqu movement vital practic basic build block ratti oscar westbrook adel secret samurai martial art feudal japan edison jersei castl book multipl attack randori techniqu perform attack featur aikido train defend oneself multipl attack freestyl randori practic multipl attack kei part curricula requir higher level rank ueshiba kisshomaru moriteru ueshiba aikido fundament illustr japanes classic kodansha intern randori exercis person abil intuit perform techniqu unstructur environ strateg choic techniqu base reposit student rel attack import randori train instanc ura techniqu neutralis current attack turn face attack approach shodokan aikido randori differ perform multipl person defin role defend attack peopl particip attack defend counter respect resembl judo randori injuri appli techniqu train respons nage prevent injuri uk emploi speed forc applic commensur partner profici ukemi injuri joint occur aikido result nage misjudg abil uk receiv throw pin aikido injuri special report fumiaki aiki new april partial english translat articl re-print aikido journal pranin stanlei encyclopedia aikido studi injuri martial art show type injuri vari consider art differ rate injuri pronounc soft tissu injuri common type injuri aikido death repetit report zurakowski mich british journal sport medicin bmj publish group retriev august mental train aikido train mental physic emphas abil relax mind bodi stress danger situat hyam joe zen martial art york bantam book enabl practition perform bold movement underli aikido techniqu attack met confid direct homma gaku aikido life berkelei california north atlant book morihei ueshiba remark receiv oppon attack stare death face order execut techniqu hesit martial art concern fight profici better daili life mental aspect kei import aikido practition heckler richard aikido warrior berkelei california north atlant book ki kanji ki chang studi ki critic compon aikido studi defi categor physic mental train encompass origin kanji ki shown symbol represent lid cover pot full rice nourish vapor contain ki bing literati tradit retriev februari charact ki everydai japanes term health genki shyness ki understood unifi physic mental intent tradit martial art relat life energi shioda yoshinkan aikido consid larg ueshiba teach world war ii surmis secret ki li time applic bodi strength singl point year ueshiba applic ki aikido softer gentl feel aiki student teach ki perspect koichi tohei ki societi center exclus studi empir albeit subject experi ki student rank separ aikido techniqu ki develop reed william retriev august uniform rank aikido practition commonli call gener progress promot seri grade seri degre dan pursuant formal test procedur aikido organis white black belt distinguish rank belt color test requir vari rank organ compar interchang rank uniform worn practic aikido similar train uniform keikogi modern martial art simpl trouser wraparound jacket white thick thin cotton top top shorter sleev reach elbow aikido system add pair wide pleat black indigo trouser call hakama style reserv practition black belt dan rank practition femal practition wear hakama rank critic common critic aikido suffer lack realism train gener observ manifest facet practic attack initi uk nage defend critic sloppi caricatur attack pranin stanlei fisher alex fall aiki new aiki new retriev novemb creat domino effect train ineffect defens techniqu nage underdevelop strength condit need safe practic counteract number style train partner demonstr profici protect train partner compliant time style notabl shodokan aikido address issu introduc fulli resist train competit format critic relat ueshiba seclus iwama mid increasingli emphas spiritu philosoph aspect aikido result strike vital point nage enter initi techniqu nage distinct omot ura techniqu practic weapon deemphas elimin practic lack train area thought lead loss effect aikido practition pranin stanlei aiki new aiki new retriev novemb altern critic aikido practition place import spiritu practic emphas ueshiba premis critic aikido continu extens distinct discontinu martial philosoph concept shibata minoru aikido journal www retriev decemb aikido practition focu aikido root tradit jujutsu kenjutsu diverg ueshiba taught critic urg practition embrac assert ueshiba transcend spiritu univers realiti fundament paradigm demonstr +bath paint mari cassatt terrac place du forum arl night vincent van gogh septemb art refer divers rang human activ artifact cover art includ music literatur form refer specif visual art includ media paint sculptur printmak appli form art stimul sens music auditori art aesthet branch philosophi consid art tradition term art refer skill masteri concept alter romant period art special faculti human mind classifi religion scienc gombrich ernst gombrich archiv retriev januari gener art product human activ intent stimul human sens human mind transmit emot idea descript gener agreed-upon definit art art illustr abstract thought express elicit previous hidden emot audienc evalu art problemat centuri richard wollheim distinguish approach realist aesthet qualiti absolut independ human view objectivist absolut depend gener human experi relativist posit absolut depend vari human experi human wollheim op cit essai object character intent lack thereof creator appar purpos cup ostens contain consid art intend sole ornament paint deem craft mass-produc visual art defin arrang color form element manner affect sens beauti specif product beauti graphic plastic medium american heritag dictionari fourth edit retriev januari natur art wollheim elus tradit problem human cultur richard wollheim art object edn cambridg univers press defin vehicl express commun emot idea mean explor appreci formal element sake mimesi represent jerrold levinson oxford handbook aesthet oxford univers press leo tolstoi identifi art indirect mean commun person benedetto croce collingwood advanc idealist view art express emot work art essenti exist mind creator jerrold levinson oxford handbook aesthet oxford univers press collingwood view express principl art consid wollheim op cit art form root philosophi immanuel kant develop earli twentieth centuri roger fry clive bell art mimesi represent deep root philosophi aristotl usag common usag word art rose promin understood denot skill produc aesthet result hatcher britannica onlin defin skill imagin creation aesthet object environ experi share britannica onlin definit word artist work exist long humankind earli pre-histor art contemporari art written concept art davi carrol adorno grant concern art grant adorno theodor aesthet theori danto broadest sens art remain closest older latin mean roughli translat skill craft indo-european root mean arrang arrang sens art undergon deliber process arrang agent exampl mean prove broad includ artifact artifici artific artilleri medic art militari art colloqui word relat etymolog sens word art abbrevi creativ art fine art fine art mean skill express artist’ creativ engag audience’ aesthet sensibl draw audienc consider finer skill common practic peopl craft art skill commerci industri consid commerci art art hand craft design consid appli art art follow argu differ fine art appli art judgment art clear definit differ fine art goal pure creativ self-express purpos work art commun idea art creat sens beauti aesthet explor natur percept pleasur gener strong emot purpos seemingli nonexist paint song dynasti artist ma lin cm ultim deriv fine fine art philosophi aristotl propos explan final purpos exist term fine art deriv notion final artwork simpli artwork art art sake mean artwork appropri call fine close relat concept beauti classic defin pleas pleasur final beauti mean art describ studi creativ skill process creativ skill product creativ skill audience’ experi creativ skill creativ art art disciplin collect disciplin art produc artwork art object compel person drive art activ echo reflect messag mood symbol viewer interpret art experi artwork defin purpos creativ interpret limitless concept idea order commun person artwork explicitli purpos interpret base imag object art stimul individu thought emot belief idea sens express idea form serv purpos applic scientif theori deriv scientif theori involv skill result creation repres scienc categor art theori fountain marcel duchamp nineteenth centuri artist primarili concern idea truth beauti aesthet theorist john ruskin champion raw natur turner art role commun artific essenti truth natur natur singl heart reject select scorn believ good rejoic truth ruskin john modern painter volum london smith elder arriv modern earli twentieth centuri lead radic break concept function art griselda pollock differenc canon routledg london late twentieth centuri advent postmodern clement greenberg articl modernist paint defin modern art characterist method disciplin critic disciplin modern art modern critic antholog ed franci charl harrison greenberg origin appli idea abstract expressionist movement understand justifi flat abstract paint insert text quot quotat mark greenberg import art theorist emerg michael fri clark rosalind krauss linda nochlin griselda pollock origin intend understand specif set artist greenberg definit modern art underli idea art art movement centuri earli st centuri art marcel duchamp clear context submit urin titl fountain societi independ artist exhibit critiqu art exhibit method pop artist andi warhol noteworthi influenti critiqu popular cultur art world languag popular cultur radic artist idea expand techniqu self-critic high art cultur image-mak includ fashion imag comic billboard pornographi util defin characterist fine art oppos appli art absenc clear us utilitarian requir critic class prejudic labor util oppon view art argu human activ utilitarian function object claim non-utilitarian function attempt mystifi codifi flaw social hierarchi argu seemingli non-us art useless effect psych creator viewer art art therapist psychotherapist clinic psychologist art therapi art tool person test product princip goal case process heal creativ act sought result piec artwork offer insight troubl experienc subject suggest suitabl approach convent form psychiatr therapi spray-paint graffiti wall rome graffiti art type street art graphic imag spray-paint stencil publicli viewabl wall build buse train bridg permiss type art part youth cultur hip-hop cultur express polit view depict creativ imag social context art serv boost public moral art util form propaganda subtli influenc popular concept mood case artwork appropri manner creator initi intend art propaganda anthropolog perspect art pass idea concept gener univers languag interpret languag depend observer’ perspect context convers subject art demonstr import facilit exchang discuss rival idea provid social context dispar group peopl congreg mingl classif disput imag hors lascaux cave common histori art peopl disput form work piec work count art fact centuri idea art simpli challeng art philosoph art call disput disput art ancient greek philosoph debat ethic consid art live classificatori disput centuri includ cubist impressionist paint fountain movi superl imit banknot propaganda crucifix immers urin conceptu art intention push boundari count art media video game slowli co-opt artist recogn art form classif shift univers adopt remain subject disput deborah solomon annual year idea video game art york time magazin section decemb philosoph david argu disagr definit art rare heart problem passion concern interest human vest social life part classificatori disput art classificatori disput disput valu societi theori proper daili mail critic hirst work argu year art great civilis forc todai pickl sheep soil bed threaten barbarian advanc definit theori art question work painter colin contemporari art home berg publish arthur danto suggest thought experi show statu artifact work art result idea cultur appli inher physic percept qualiti cultur interpret art theori kind constitut object’ dutton deni aesthet edit michael kelli york oxford univers press danto arthur art art artifact edit susan vogel york controversi art theodor gericault raft medusa social commentari current event unpreced time edouard manet le déjeuner sur l'herb consid scandal nude woman seat men john singer sargent madam pierr madam caus huge uproar reddish pink color woman ear lobe consid suggest supposedli ruin high-societi model reput twentieth centuri pablo picasso guernica arrest cubist techniqu stark monochromat oil depict harrow consequ contemporari bomb small ancient basqu town leon golub interrog iii depict femal nude hood detaine strap chair leg open reveal sexual organ surround tormentor dress everydai cloth andr serrano piss christ photograph crucifix sacr christian religion repres christ sacrific final suffer submerg glass artist urin result uproar led comment unit state senat public fund art twenty-first centuri eric fischl creat tumbl woman memori jump fell death attack world trade center septemb initi instal rockefel center york citi year work remov disturb art class versail loui le vau open interior court creat expans entranc cour d'honneur copi europ art perceiv belong social class exclud context art upper-class activ wealth abil purchas art leisur requir pursu enjoi palac versail hermitag st petersburg vast collect art amass fabul wealthi royalti europ exemplifi view collect art preserv rich govern institut fine expens good popular marker statu cultur continu todai cultur push direct louvr privat palac king franc open public art museum french revolut modern public museum art educ program children school trace impuls art museum unit state tend gift rich mass metropolitan museum art york citi creat john taylor johnston railroad execut person art collect seed museum import function art st centuri remain marker wealth social statu perform joseph beui artist libertarian form social organ attempt artist creat art bought wealthi statu object prime origin motiv art late creat art bought sold present mere object sharp willoughbi decemb interview joseph beui artforum retriev august major post war german artist joseph beui time period rise perform art video art conceptu art idea artwork perform leav simpli idea bought sold democrat precept revolv idea work art commod impel aesthet innov germin mid- reap artist broadli identifi head conceptu art substitut perform publish activ engag materi materialist concern paint sculptur form endeavor undermin art object qua object rorim ann art redefin realiti page thame hudson decad idea lost art market learn sell limit edit dvd video work fineman mia slate march retriev august invit exclus perform art piec object left conceptu piec perform creat work understood elit educ idea video piec appar garbag consid art marker statu understand work necessarili own artwork remain upper-class activ widespread dvd record technolog earli artist galleri system deriv profit sale artwork gain import mean control sale video comput artwork limit edit collector robertson jean craig mcdaniel theme contemporari art visual art page oxford univers press form genr medium style creativ art divid specif categori decor art plastic art perform art literatur paint form visual art poetri form literatur art form specif form artist express specif term art specif genr artist medium substanc artist work stone bronz medium sculptur multipl form share medium poetri music sound form multipl media genr set convent style art form media instanc recogn genr film western horror romant comedi genr music includ death metal trip hop genr paint includ life pastor landscap work art bend combin genr genr recogniz group convent cliché troup note word genr older mean paint genr paint phrase centuri refer specif paint scene everydai life detail leonardo da vinci mona lisa show paint techniqu sfumato artwork artist’ movement style distinct method form art take loos brushi drip pour abstract paint call expressionist case ic style link histor period set idea artist movement jackson pollock call abstract expressionist style specif cultur mean import sensit differ techniqu roi lichtenstein paint pointillist dot align origin propon pointil lichtenstein dot evenly-spac creat flat area color type dot color comic strip intend combin high art paint art comic comment cultur unreal pointil emploi dot space creat variat color depth attempt paint imag closer color attempt closer realiti dot mean great wave kanagawa katsushika hokusai japanes color woodcut print wai begin defin work art narrow imagin art critic mission compar mean find wide rang individu artwork proce task examin materi artist select make object imag video event decis cast sculptur bronz instanc inevit effect mean work cast gold plastic chocol artwork remain examin materi artwork arrang shape color textur line turn organ pattern composit structur interpret comment salient featur form contribut mean finish artwork mean artwork exhaust discuss materi techniqu form interpret includ discuss idea feel artwork engend robertson jean craig mcdaniel theme contemporari art visual art page oxford univers press histori venu willendorf art predat histori sculptur cave paint rock paint petroglyph upper paleolith start roughli year precis mean art disput cultur produc oldest art object world seri tini drill snail shell yr discov south african cave radford tim guardian unlimit april retriev januari great tradit art foundat art great ancient civil ancient egypt mesopotamia persia india china ancient greec rome arabia ancient yemen oman center earli civil develop uniqu characterist style art size durat civil art work surviv influenc transmit cultur time record artist work period greek art vener human physic form develop equival skill show musculatur pois beauti anatom correct proport byzantin gothic art western middl ag art focus express biblic materi truth emphas method show higher unseen glori heavenli world gold paint glass mosaic window present figur ideal pattern flat form styliz signatur sultan mahmud ii ottoman empir written arab calligraphi read mahmud khan son abdulhamid victori western renaiss return valuat materi world place human paradigm shift reflect art form show corpor human bodi dimension realiti landscap landscap pine vallei ming dynasti artist chen east islam art reject iconographi led emphasi geometr pattern islam calligraphi architectur east religion domin artist style form india tibet emphasi paint sculptur danc religi paint borrow convent sculptur tend bright contrast color emphasi outlin china art form flourish jade carv bronzework potteri includ stun terracotta armi emperor qin poetri calligraphi music paint drama fiction chines style vari greatli era era tradition name rule dynasti tang dynasti paint monochromat spars emphas ideal landscap ming dynasti paint busi color focu tell stori set composit japan name style imperi dynasti interplai style calligraphi paint woodblock print import japan centuri western ag enlighten centuri artist depict physic ration certainti clockwork univers polit revolutionari vision world blake’ portray newton divin geomet david’ propagandist paint led romant reject favor pictur emot side individu human exemplifi novel goeth late centuri host artist movement academ art symbol impression fauvism centuri pictur fall shatter discoveri rel einstein turnei jon guardian septemb retriev januari unseen psycholog freud fordham univers retriev januari unpreced technolog develop acceler implos civilis world war histori twentieth centuri art narr endless possibl search standard torn success paramet impression expression fauvism cubism dadaism surreal maintain time invent increas global interact time equival influenc cultur western art pablo picasso influenc african sculptur japanes woodblock print influenc western renaiss draftsmanship immens influenc impression subsequ develop african sculptur picasso extent matiss similarli west huge impact eastern art centuri origin western idea commun post-modern exert power influenc artist style modern idealist search truth gave centuri realiz unattain rel accept unavoid truth led period contemporari art postmodern critic cultur world histori chang form appreci drawn ironi separ cultur increasingli blur argu term global cultur region cultur characterist art facilit intuit ration understand conscious creat intent fine art intention serv purpos result impetu work art elus refract attempt classif appreci suscept interpret case gericault raft medusa special knowledg shipwreck paint depict prerequisit appreci appreci gericault polit intent piec art superfici depict mundan event object invit reflect elev theme tradition highest achiev art demonstr high level abil fluenci medium characterist consid point content modern artist notabl conceptu artist creat work conceiv creat work convent demonstr sens art transform capac confer appeal aesthet satisfi structur form origin set unrel passiv constitu skill craft adam detail michelangelo fresco cappella sistina connot sens train abil masteri medium art simpli refer develop effici languag convei mean immediaci depth art act express feel thought observ understand reach materi result handl facilit thought process common view epithet elev sens requir level creativ expertis artist demonstr technic abil origin stylist approach plai shakespear combin tradition skill execut view qualiti insepar art success leonardo da vinci art endeavor manifest skill rembrandt work prais ephemer virtu admir contemporari virtuos turn centuri adroit perform john singer sargent altern admir view skeptic manual fluenci time artist era recogn peripatet iconoclast pablo picasso complet tradit academ train excel common contemporari critic modern art occur line object appar lack skill abil requir product artist object tracei emin bed hirst physic imposs death mind live exampl piec artist exercis tradition recognis set skill innov exercis skill manipul mass media medium case emin simpli slept engag activ bed place result galleri insist high degre select arrang work includ object underwear bottl bed shock mundan arrang prove startl lead interpret work art case hirst conceptu design artwork physic particip creation piec left eventu creation work emploi artisan case celebr hirst found abil produc shock concept actual product object matter assembl approach exemplari kind contemporari art conceptu art judgment aborigin hollow log tomb nation galleri canberra australia relat word art appli judgment express meal work art cook artist art decept highli attain level skill deceiv prais word measur high qualiti high term flavor subject make judgment requir basi critic simplest level determin impact object sens meet criteria consid art perceiv attract repuls percept color experi necessarili subject commonli aesthet satisfi fashion art good art regularli aesthet appeal major viewer word artist prime motiv pursuit aesthet art depict terribl imag social moral thought-provok reason francisco goya paint depict spanish shoot graphic depict fire squad execut plead civilian time horrif imageri demonstr goya keen artist abil composit execut produc fit social polit outrag debat continu mode aesthet satisfact requir defin assumpt valu rebellion accept notion aesthet superior occur concurr complet abandon pursuit aesthet appeal revers true revis popularli conceiv aesthet appeal re-invigor aesthet sensibl appreci standard art countless school propos wai defin qualiti agre point aesthet choic accept work art determin capac transcend limit chosen medium order strike univers chord rariti skill artist accur reflect term zeitgeist commun art intend appeal connect human emot arous aesthet moral feel understood commun feel artist express audienc arous extent conscious art explor commonli term human condit essenti human effect art bring insight human condit singli en-mass necessarili posit necessarili widen boundari collect human abil degre skill artist affect abil trigger emot respons provid insight abil manipul show exemplari skill determin +actor period costum share joke wait take locat film actor actress player rare thespian terminolog person act dramat product work film televis theatr radio capac ancient greek word actor render verb mean interpret relat word hypocrit mean answer tragic choru weimann sens actor interpret dramat charact true charact actor plai base real person fiction actor form experiment perform art commonli john malkovich perform film john malkovich act creat charact perform dramat world extend includ remain surrog refer elam terminolog word actor refer act actress refer specif femal act oxford english dictionari state origin sex english word actress deriv latin french actric oxford english dictionari actress form independ english actress specif feminin word feminist assert word sexist gender-neutr usag actor re-emerg modern english dictionari retriev novemb refer male femal perform collect actress remain commonli word gender-neutr term player common film earli dai product code gener deem archaic remain theatr incorpor theatr group compani east west player histori actor perform theatric plai record case actor perform place bc novemb calendar year hard determin greek perform thespi step stage theatr dionysu person speak word charact plai stori prior act stori told song danc person narr honour thespi centuri poet actor commonli call thespian theatric legend dai maintain thespi exist mischiev spirit disast theatr blame ghostli intervent actor tradition peopl high statu earli middl ag travel act troup view distrust part europ actor receiv christian burial tradit belief region time period held left actor condemn neg percept larg revers centuri act honor popular profess art part easier popular access dramat film entertain result rise movi star social statu salari command combin public presenc wealth profoundli rehabilit imag men actor societi ancient greec rome decemb bbc mediev world consid disgrac woman stage belief continu centuri venic broken time william shakespear women role gener plai men boi british prohibit end reign charl ii enjoi watch femal actor actress stage techniqu gener act actress emploi varieti techniqu learn train experi rigor voic commun charact line express emot achiev attent diction project correct breath articul achiev tone emphasi actor put word role order creat believ charact audienc act space appropri correctli gestur complement voic interact actor bring emphasi word plai symbol mean shakespear believ comment act style techniqu era hamlet advic player encourag actor speech pronounc avoid ing air passion give smooth hand hamlet urg player tame suggest action word word care modesti natur told player plai clown laugh set quantiti barren spectat laugh hamlet consid tactic english critic benedict nightingal discuss compar great classic actor long dead present magic effect audienc articl york time onlin york time sex histor act consid man profess shakespear time instanc men boi plai role includ femal part case english restor theater occurr term actress o dryden japan men onnagata femal role kabuki theatr women ban perform stage edo period form chines drama femal plai role modern time women plai role prepubesc boi stage role peter pan tradition plai woman princip boi dame british pantomim uncommon film anim film televis programm boi voic women simpson voic bart simpson nanci cartwright opera pant role tradition sung women mezzo-soprano exampl hansel hänsel und gretel cherubino marriag figaro actor dress sex comic effect long stand tradit comic theatr film shakespear comedi includ instanc overt cross-dress franci flute midsumm night dream movi funni happen forum star jack gilford dress young bride toni curti jack lemmon famous pose women escap gangster billi wilder film hot cross-dress comic effect frequent devic carri film dustin hoffman robin william appear hit comedi film plai scene dress woman role modern plai music plai member sex charact cross-dress charact edna turnblad hairsprai plai divin origin film harvei fierstein broadwai music john travolta movi music occasion issu complic woman act man pretend woman juli andrew victor victoria gwyneth paltrow shakespear love act award academi award oscar film cann film festiv award intern french festiv world wide film documentari golden globe award film televis emmi award televis geni award canadian film gemini award canadian televis british academi film televis art award film televis bafta toni award theatr specif broadwai theatr european theatr award theatr laurenc olivi award theatr name honour actor sir laurenc olivi screen actor guild award actor film televis indian nation film award indian cinema filmfar award honor excel indian film industri bollywood limit hindi languag film goya award spanish film san sebastián intern film festiv spanish film festiv celebr san sebastián césar award french film afi award australian film berlinal german film festiv berlin golden silver bear piala citra citra award indonesian film ifta irish film televis +a s order trilobit small trilobit appear earli cambrian thrive middl cambrian present cambrian fossil record trilobit order s extinct late ordovician a divid subord divid number famili group s tail similar size shape cephalon head difficult distinguish speci eyeless systemat posit order a class trilobita remain uncertain continu debat trilobit stem group challeng statu focus partli juvenil genu leg greatli adult trilobit suggest separ descend crustacean research suggest base cladist analys a close unit descend trilobit order scientist long debat s live pelag benthic lifestyl lack ey morpholog well-suit swim fossil associ benthic trilobit suggest benthic bottom-dwel mode life live area ocean floor receiv light fed detritu descend upper layer sea bottom contrast wide geograph dispers fossil record uncharacterist benthic anim suggest pelag exist thorac segment appear form hing head pygidium allow bivalv lifestyl orient thorac appendag appear ill suit benthic live gener refer simpli s call +imag padlock-silver-medium svg abort remov expuls embryo fetu uteru result caus death spontan expuls fetu embryo week commonli miscarriag retriev januari miscarriag spontan loss fetu week pregnanc pregnanc loss week call preterm deliveri miscarriag call spontan abort refer natur occur event elect therapeut abort procedur woman choos induc abort remov expuls embryo fetu medic surgic mean point human pregnanc therapeut elect reason retriev june includ definit dorland medic dictionari american heritag stedman medic dictionari retriev june approxim number induc abort perform worldwid million guttmach org retriev januari record histori abort induc tradit medicin method includ botan abortifaci sharpen tool abdomin pressur moral legal aspect abort subject intens social debat part world aspect debat includ public health impact unsaf illeg abort legal abort effect crime rate ramif sex-select practic debat includ suggest unproven effect abort includ cancer hypothesi post-abort syndrom fetal pain modern western abort law trace english common law allow abort quicken fetu abort law vari countri countri regard religi moral cultur sensibl form abort medic terminolog term abort refer basic phenomena miscarriag spontan abort induc abort common parlanc term abort synonym induc abort medic text word exclus refer refer spontan abort miscarriag spontan abort spontan abort expuls embryo fetu due accident trauma natur miscarriag due incorrect replic chromosom caus environment factor spontan abort gener refer miscarriag occur embryo fetu lost due natur week gestat pregnanc end week gestat result infant prematur birth fetu di utero week deliveri term stillbirth prematur birth stillbirth gener consid miscarriag usag term overlap miscarriag occur earli pregnanc pregnanc miscarriag depend ag health pregnant woman retriev januari washington univers school medicin depart obstetr gynecolog web site case occur earli pregnanc woman awar pregnant risk spontan abort decreas sharpli week august bbc new retriev januari lennart nilsson child born risk greater histori spontan abort induc abort system diseas ag infect woman fetu immun respons system diseas spontan abort caus accident trauma intent trauma miscarriag consid induc abort feticid induc abort pregnanc intention abort wai manner select depend chiefli gestat ag embryo fetu addit legal region avail doctor-pati prefer specif procedur reason procur induc abort typic character therapeut elect abort consid therapeut perform save life pregnant woman roch natali retriev march preserv woman physic mental health termin pregnanc result child born congenit disord fatal signific morbid select reduc number fetus lessen health risk multipl pregnanc abort consid elect perform reason method surgic gestat ag determin abort method practic week vacuum abort common method healthwis webmd retriev august manual vacuum aspir mva abort consist remov fetu embryo suction manual syring electr vacuum aspir eva abort electr pump techniqu compar differ mechan appli suction earli pregnanc cervic dilat mva menstrual extract earli pregnanc requir cervic dilat surgic techniqu refer surgic termin stop week approxim dilat evacu consist open cervix uteru empti surgic instrument suction dilat curettag common method abort standard gynecolog procedur perform varieti reason includ examin uterin line malign investig abnorm bleed abort curettag refer clean wall uteru curett world health organ recommend procedur call sharp curettag mva unavail world health organ retriev august term suction curett euphem trimest abort procedur method techniqu induc abort trimest prematur deliveri induc prostaglandin coupl inject amniot fluid caustic solut salin urea week gestat abort induc intact dilat extract idx call intrauterin cranial decompress requir surgic decompress fetu head evacu idx call partial-birth abort feder ban unit state abort procedur similar caesarean section perform gener anesthesia consid major abdomin surgeri requir smaller incis caesarean section stage pregnanc msn encarta retriev juli week gestat inject stop fetal heart phase surgic abort procedur sand johnston ta russel rimmer pmid s avoid prompt referr diagnosi fetal abnorm obstet gynaecol retriev march cahen garel dumez pmid feticid termin pregnanc opinion health care profession fetal diagn ther mar-apr retriev march sairam holli pmid comparison feticid carri cardiac punctur ultrasound obstet gynecol sep retriev march mv fischer bernard jp vill pmid lidocain late termin pregnanc bjog mar retriev march mv fischer vill pmid late termin pregnanc prenat diagn retriev march ensur fetu born aliv nuffield council bioethic medic effect trimest pregnanc non-surg abort refer compris abort unit state europ combin regimen includ methotrex mifepriston prostaglandin misoprostol misoprostol uk sweden dai gestat approxim women undergo medic abort combin regimen complet surgic intervent spitz al earli pregnanc termin mifepriston misoprostol unit state england journal medicin pmid misoprostol efficaci rate combin regimen case failur medic abort vacuum manual aspir complet abort surgic mean bas-relief angkor wat date circa depict demon perform abort pound mallet woman belli histor number herb reput possess abortifaci properti folk medicin tansi pennyroy black cohosh now-extinct silphium histori abort riddl john ev herb histori contracept abort west cambridg ma harvard univers press herb manner lethal side effect multipl organ failur recommend physician labord toxicol clin toxicol retriev januari abort attempt caus trauma abdomen degre forc sever intern injuri necessarili succeed induc miscarriag educ choic retriev januari accident deliber abort kind subject crimin liabil countri burma indonesia malaysia philippin thailand ancient tradit attempt abort forc abdomin massag pott malcolm campbel martha gynecolog obstetr chp retriev januari report method unsaf self-induc abort includ misus misoprostol insert non-surg implement knit needl cloth hanger uteru method rare develop countri surgic abort legal thapa rimal preston induct abort instrument aust fam physician incid induc abort incid reason induc abort vari region estim approxim million abort perform worldwid year million occur place abort legal million happen procedur illeg countri belgium pregnanc netherland rate induc abort russia vietnam compar high rate world ratio induc abort pregnanc henshaw stanlei singh susheela haa taylor intern famili plan perspect supplement retriev januari gestat ag method histogram abort gestat ag england wale averag week abort rate vari depend stage pregnanc method practic data collect area unit state suffici report gestat ag abort conduct prior week week week classifi curettag dilat curettag dilat evacu medic mean mifepriston intrauterin instil salin prostaglandin includ hysterectomi strauss gambl parker cook zane hamdan novemb morbid mortal weekli report retriev guttmach institut estim intact dilat extract procedur account total number abort perform year finer lawrenc henshaw stanlei perspect sexual reproduct health retriev similarli england wale termin occur week week week report vacuum aspir medic depart health retriev octob person social factor bar chart depict select data agi meta-studi reason women state abort aggreg studi countri reason women seek termin pregnanc conclud common factor cite influenc abort decis desir delai childbear concern interrupt work educ issu financi relationship stabil perceiv immatur bankol singh susheela haa taylor intern famili plan perspect retriev januari studi american women clinic answer questionnair yield similar result finer lawrenc lori lindsai singh moor ann perspect sexual reproduct health retriev januari finland unit state concern health risk pose pregnanc individu case factor commonli bangladesh india kenya health concern cite women frequent reason abort women survey-bas studi pregnant result rape result incest american studi conclud women abort form contracept time pregnant inconsist report condom combin oral contracept pill condom report failur slip breakag jone rachel darroch jacquelin henshaw stanlei perspect sexual reproduct health retriev june abort undergon result societ pressur includ stigmat disabl person prefer children specif sex disapprov singl motherhood insuffici econom support famili lack access reject contracept method effort popul control china one-child polici factor result compulsori abort sex-select abort health consider surgic abort simpl procedur safer childbirth perform week henshaw stanlei induc abort world review intern famili plan perspect grime american journal obstetr gynecolog pt retriev decemb abort method minim invas procedur carri small potenti complic health organ medic method termin pregnanc technic report seri emedicin retriev june risk complic increas depend pregnanc progress pauli haller zimmermann rundsch retriev decemb bartlei tong baird contracept retriev decemb women typic experi minor pain abort procedur studi patient report experienc degre pain patient rate pain earach toothach headach backach practition advoc minim anaesthesia patient alert complic recommend gener anaesthesia prevent patient movement perfor gener anaesthesia carri risk includ death public health offici recommend routin histori abort french period pill clandestin advertis publish edit boston daili time induc abort trace ancient time devereux retriev april abort america medic psychiatr legal anthropolog religi consider boston beacon press retriev april evid suggest histor pregnanc termin number method includ administr abortifaci herb sharpen implement applic abdomin pressur techniqu hippocrat oath chief statement medic ethic hippocrat physician ancient greec forbad doctor help procur abort pessari soranu second-centuri greek physician suggest work gynaecolog women wish abort pregnanc engag energet exercis energet jump carri heavi object ride anim prescrib number recip herbal bath pessari bloodlet advis sharp instrument induc miscarriag due risk organ perfor lefkowitz mari fant maureen baltimor md john hopkin univers press retriev januari believ addit contracept ancient greek reli silphium abortifaci folk remedi vari effect risk tansi pennyroy poison herb side effect time termin pregnanc abort centuri continu ban unit kingdom unit state disguis open advertis servic victorian era suggest retriev januari centuri soviet union nazi germani sweden countri legal form abort social issu number complex issu exist debat abort suggest effect health list focu research fixtur discuss member side controversi effect crime rate theori attempt draw correl unit unpreced nationwid declin crime rate decrimin abort year prior suggest brought widespread attent academ paper impact legal abort crime author economist steven levitt john donohu attribut drop crime reduct individu higher statist probabl commit crime unwant children born mother african-american impoverish adolesc uneduc singl chang coincid adolesc peak year potenti crimin born result roe wade similar case donohu levitt studi note state legal abort rest nation experienc lower crime rate pattern earlier higher abort rate pronounc reduct donohu john levitt steven quarterli journal econom retriev februari fellow economist christoph foot christoph goetz critic methodolog studi note lack accommod statewid yearli variat cocain recalcul base incid crime capita statist signific result foot christoph goetz christoph work paper retriev februari levitt donohu respond present adjust data set account concern report data maintain statist signific initi paper donohu john levitt steven measur error legal abort declin crime respons foot goetz retriev februari univers chicago initi chicago price theori web site research critic utilitarian discriminatori race socioeconom class promot eugen solut crime studi continu draw pro-lif backlash august pro-lif infonet retriev februari januari st anthoni messeng retriev februari levitt state book freakonom promot negat action report data economist sex-select abort advent sonographi amniocentesi allow parent determin sex birth led occurr sex-select abort target termin fetu base sex suggest sex-select abort partial respons notic dispar birth rate male femal children place prefer male children report area asia abort limit femal birth report mainland china taiwan south korea india banist judith march retriev januari india econom role men cost dowri hindu tradit dictat funer rite perform male rel led cultur prefer son kim choe arnold fred roi nation famili health survei subject report number retriev januari widespread avail diagnost test led advertis servic read invest rupe sex test save rupe dowri patel rita practic sex select abort india mother son retriev januari univers north carolina univers center intern studi web site male-to-femal sex ratio india skew biolog norm averag sudha rajan retriev januari research assert million femal fetus select abort reanei patricia januari reuter alertnet retriev januari indian govern pass offici ban pre-nat sex screen move pass complet ban sex-select abort ganapati british medic journal new roundup retriev januari peopl republ china histor son prefer implement one-child polici respons popul concern led increas dispar sex ratio parent attempt circumv law sex-select abort abandon unwant daughter graham maureen larsen ulla xu xipe intern famili plan perspect retriev januari sex-select abort influenc shift baselin male-to-femal birth rate elev nation rate report trend pronounc rural region high guangdong hainan ted british medic journal new roundup retriev januari ban practic sex-select abort enact march xinhua new agenc retriev januari unsaf abort soviet poster circa promot hospit abort titl translat abort perform train self-taught midwiv maim woman lead death access safe abort bar due explicit sanction gener unavail women seek termin pregnanc resort unsaf method back-allei abort slang term abort practic gener accept standard sanit profession world health organ defin unsaf abort procedur carri person lack skill environ conform minim medic standard includ person medic train profession health provid oper sub-standard condit woman unsaf abort remain public health concern todai due higher incid sever complic incomplet abort sepsi hemorrhag damag intern organ estim million unsaf abort occur world annual result woman death world health organ retriev januari complic unsaf abort account global approxim matern mortal region estim includ asia latin america sub-saharan africa salter johnson hengen popul report retriev februari studi publish lancet global rate abort declin million million unsaf procedur account abort perform henshaw singh shah lancet retriev octob health educ access famili plan improv health care abort propos address phenomenon world health organ retriev march abort debat pro-choic activist washington monument march women live pro-lif activist march life ralli held annual washington dc histori abort induc abort sourc consider debat controversi activ individu posit complex ethic moral philosoph biolog legal issu relat system opinion abort combin belief moral belief respons ethic scope proper extent government author public polici religi ethic influenc person opinion greater debat abort religion abort abort debat pertain abort law spearhead advocaci group belong camp unit state favor greater legal restrict complet prohibit abort describ pro-lif legal restrict abort describ pro-choic central principl argument abort fetu human fundament life pro-lif advoc pro-choic woman choos continu pregnanc public privat debat argument present favor abort focu moral permiss induc abort justif law permit restrict abort argument moral legal tend collid combin complic issu hand debat focus pregnant woman notifi consent distinct case minor parent common-law wife husband pregnant woman biolog father gallup poll unit state male femal respond favor spousal notif support oppos pew research center peopl press novemb pew research center retriev march public opinion number opinion poll world explor public opinion issu abort result vari poll poll countri countri region region vari regard aspect issu survei examin attitud abort european countri agre statement woman doesn't children allow abort highest level approv czech republ lowest poland tn sofr retriev januari north america decemb poll survei canadian opinion abort canadian circumst abort permit respond abort legal circumst legal circumst legal circumst similar poll januari survei peopl unit state opinion abort abort permit case rape incest save woman life abort permit case permit subject greater restrict permit save woman life permit retriev januari novemb poll mexico abort legal decemb angu reid global monitor retriev januari attitud south central america decemb survei argentin thought abort argentina allow situat allow circumst allow situat angu reid global monitor retriev januari march poll abort law brazil brazilian modifi expand abort case abort decrimin april angu reid global monitor retriev june juli poll colombia thought abort remain illeg legal unsur august angu reid global monitor retriev januari argument debat breast cancer hypothesi cancer abc hypothesi refer support cancer link unsupport hypothesi posit causal relationship induc abort increas risk develop breast cancer retriev decemb dale jr brinton la voigt lf al risk breast cancer white women induc abort epidemiol pmid earli pregnanc level estrogen increas lead breast growth prepar lactat hypothesi propos process interrupt abort full matur trimest vulner immatur cell left prior pregnanc result greater potenti risk breast cancer earli research suggest possibl correl relationship breast cancer abort causal hypothesi propos base reinterpret rat studi conduct russo russo suscept mammari gland carcinogenesi pregnanc interrupt risk factor tumor incid pathol pmid russo tai russo differenti mammari gland suscept carcinogenesi breast cancer re treat pmid russo russo biolog molecular base mammari carcinogenesi lab invest pmid abort consid breast cancer risk major cancer organ org retriev novemb hypothesi continu champion pro-lif activist joel brind angela lanfranchi karen malec larg epidemiolog studi mad melby al data nation registri denmark report correl neglig non-exist statist adjust melby wohlfahrt olsen frisch westergaard andersen induc abort risk breast cancer engl med pmid nation cancer institut conduct workshop expert issu februari determin select evid well-establish correl relationship abort breast cancer effect refut causal hypothesi cancer gov retriev novemb beral al publish collabor reanalysi epidemiolog studi conclud abort increas woman risk develop breast cancer beral bull doll peto reev breast cancer abort collabor reanalysi data epidemiolog studi includ women breast cancer countri lancet pmid hypothesi larg reject scientif commun ongo promot cancer hypothesi pro-lif advoc part current pro-lif women-cent strategi abort org retriev novemb retriev octob pro-lif advoc sought legal action disclosur cancer issu suit brought short-term legal polit intervent scientif commun respond form nci consensu workshop current scientif consensu abort increas risk breast cancer solidifi public larg prospect cohort studi find signific associ abort breast cancer cancer org retriev novemb michel kb xue colditz ga willett wc induc spontan abort incid breast cancer young women prospect cohort studi arch intern med pmid subject continu polit scientif debat jasen med hist pmid how seni herzfeld earli abort breast cancer risk women ag int epidemiol pmid mental health relationship abort mental health area polit controversi scientif controversi david brancaccio pb number studi conclud abort psycholog risk carri unwant pregnanc term smaller number studi report statist correl abort neg psycholog effect studi causal relationship pre-exist factor woman life emot attach pregnanc lack social support pre-exist psychiatr ill conserv view abort increas likelihood experienc neg feel abort adler ne david hp major bn roth sh russo nf wyatt ge psycholog respons abort scienc pmid articl free full text fee american psycholog associ apa research review find evid research studi psycholog effect abort inconclus press releas januari summar evid american psycholog associ sever neg reaction abort rare line normal life stress nanci adler propos neg psycholog effect abort refer pro-lif advoc separ condit call post-abort syndrom exist post-abort syndrom recogn medic psycholog organ grime da md induc abort overview internist ann intern med pmid kei summari point abort lead increas risk breast cancer late psychiatr medic sequela author state alleg trauma exist physician pro-choic advoc argu effort popular idea post-abort syndrom tactic pro-lif advoc polit purpos emili bazelon publish york time magazin januari access januari chri moonei publish washington monthli octob nl abort psychiatr practic psychiatr pract pmid activ attempt convinc public women abort abort frequent neg psychiatr consequ assert born literatur vast major women toler abort psychiatr sequela nl myth abort trauma syndrom jama oct pmid fetal pain debat fetal pain exist implic debat polit academ medic research agre pain felt trimest pregnanc msnbc emerg consensu development neurobiologist establish thalamocort connect week critic event regard fetal percept pain johnson martin everitt barri blackwel multidimension pain percept involv sensori emot cognit factor basi consciou pain experi remain difficult attribut fetu development ag retriev februari pain involv sensori emot cognit factor imposs pain experi thalamocort connect establish week fetu abil feel pain suffer part abort debat white frank american societi anesthesiologist newslett octob retriev march david barri goldberg barth illinoi bar journal decemb retriev march legisl propos pro-lif advoc requir abort provid woman fetu feel pain abort procedur requir accept declin anesthesia fetu weisman jonathan washington post decemb retriev februari abort law intern statu abort law detail scientif discoveri human develop begin fertil english common law allow abort perform quicken earliest percept fetal movement woman pregnanc abort crimin lord ellenborough act abort law homepag retriev februari british parliament pass offenc person act continu outlaw abort serv model similar prohibit nation unit nation popul divis retriev februari soviet union legisl iceland legisl countri gener abort centuri liber abort law countri abort act allow abort limit reason unit kingdom case roe wade unit state suprem court struck state law ban abort rule law violat impli privaci unit state constitut suprem court canada similarli case morgental discard crimin code abort rule restrict violat secur person guarante women canadian charter right freedom canada struck provinci regul abort case morgental contrast abort ireland affect addit amend irish constitut popular referendum recogn life unborn current law pertain abort divers religi moral cultur sensibl continu influenc abort law world life liberti secur person reproduct health major issu human right justif exist absenc law control abort countri abort legal requir criteria met order abort obtain system regul window legal unit state state impos wait period procedur prescrib distribut inform fetal develop requir parent contact minor daughter request abort unit kingdom countri doctor certifi abort medic social perform countri abort illeg perform case rape incest danger pregnant woman life health nation ban abort chile el salvador malta nicaragua chilean govern began free distribut emerg contracept ross jen septemb christian scienc monitor retriev gallardoi eduardo septemb washington post retriev bangladesh abort illeg govern long support network menstrual regul clinic menstrual extract manual vacuum aspir perform menstrual hygien nation abort feder retriev septemb +law abstract statement import point long legal document relat legal paper abstract titl abstract titl real estat transact common form abstract abstract titl list owner piec land hous build possess present owner abstract record deed will mortgag document affect ownership properti abstract describ chain transfer owner owner agreement owner bind owner clear titl clear titl properti state oblig deed properti reveal break chain legal ownership record properti trace titl clear guarante insur state effici system insur titl real properti registr clear titl public author accomplish abstract titl patent law context patent law specif prior art search search abstract common find relev prior art document question novelti invent step non-obvi unit state patent law invent unit state patent law abstract call abstract disclosur unit state patent trademark offic uspto web site administr process govern bureaucraci depart motor vehicl issu abstract complet transact updat record intend serv proof complianc administr requir advanc updat report databas issuanc offici document note +alan alda born januari five-tim emmi award-win six-tim golden globe-win academi award-nomin american actor famou role hawkey pierc televis seri view archetyp sympathet male year appear role counter imag biographi famili earli life alda born alphonso joseph d'abruzzo york citi father robert alda aka alphonso giovanni giusepp roberto d'abruzzo actor singer mother joan brown crown york beauti pageant alda italian irish descent berk philip jerusalem post decemb retriev decemb adopt surnam alda combin alfonso d'abruzzo alda half-broth actor antoni alda alda contract polio ag epidem parent administ pain treatment develop sister elizabeth kenni hot woolen blanket appli limb muscl stretch massag smilei tavi pb decemb retriev treatment brutal allow alda recov movement attend archbishop stepinac high school white plain york receiv bachelor degre fordham colleg fordham univers bronx student staff member fm radio station wfuv junior year studi europ act plai rome perform father televis amsterdam graduat join armi reserv serv six-month tour duti gunneri offic korea korean war year graduat marri arlen weiss daughter ev elizabeth beatric grandchildren arlen alda accomplish photograph author musician alda member compass player late activist femin year alda longtim resid leonia jersei kolbert elizabeth york time access novemb alda split time east coast hous hampton leonia west own hous bel air section lo angel octob episod british talk show loos women alan work theatr st loui land role earli act career alda began career member compass player comedi revu star music appl tree broadwai nomin toni award actor music alda hollywood act debut support player dai film version highli broadwai plai purli victori co-star veteran black actor rubi dee husband late ossi davi film role follow portray late author humorist actor georg plimpton film paper lion extraordinari seaman mephisto waltz seri earli alda audit select plai role hawkey pierc tv adapt film nomin emmi award win part write episod direct won emmi award write happi perform cartwheel run stage accept award person win emmi award act write direct seri richard hooker wrote base alan alda portray hawkey pierc hooker republican base hawkey alda charact left-w direct alda direct show hour seri final goodby farewel amen remain singl watch episod tv seri alda fact seri regular episod origin seri writer left seri alda gain control final season project creativ consult watch openli address polit issu result year gener split era larri gelbart gene reynold comedi year alan alda dramat year time alda frequent appear panelist reviv line appear panelist i'v secret syndic reviv alda promin enorm success gave platform speak polit topic strong vocal support women right boston globe dub quintessenti honorari woman feminist icon activ behalf equal right amend liber activist target polit social conserv alan alda plai nobel prize-win physicist richard feynman plai qed charact peter parnel wrote plai alda produc inspir alda appear frequent film woodi allen guest star time er plai kerri weaver mentor gabriel lawrenc episod reveal lawrenc suffer earli stage alzheim alda co-star role robert gallo tv movi band plai run continu alda embark success career writer director ensembl dramedi season notabl hit betsi wed direct credit date alda seri role parodi contradict nice gui imag role pompou celebr comedian crime misdemeanor wide self-parodi alda deni west wing aviat role alda deni briefli consid run unit state senat jersei time star presid michael moor polit satir comedi film canadian bacon alda plai henri ford camp henri tom base book mark st germain begin alda regular cast member nbc program west wing portrai republican senat presidenti hope arnold vinick show conclus premier sixth season eighth episod room ad open credit thirteenth episod king corn august alda won emmi portray arnold vinick final season west wing alda portrai late conserv main senat owen brewster martin scorses academy-award win film aviat co-star leonardo dicaprio career alda receiv emmi award nomin toni award nomin won peopl choic award golden globe award director guild america award long distinguish act career alda receiv academi award nomin role aviat alda wrote stori poem appear marlo thoma free televis show spring alda star shelli leven toni award-win broadwai reviv david mamet glengarri glen ross receiv toni award nomin featur actor plai common alda role refer earli work line er charact mention surgic techniqu armi trick alda west wing charact refer korea peopl dmz wouldn't mind ethanol abort charit work interest alda extens chariti work help narrat st jude children hospit produc one-hour special tv show fight life saint jude children hospit web editor decemb saint jude web site retriev april wife arlen close friend marlo thoma activ fund rais hospit father found special featur ben bowen patient treat childhood cancer saint jude alda publish memoir dog stuf i'v learn alda alan dog stuf i'v learn york random hous stori recal intestin strangul locat chile pb show scientif american frontier mildli surpris young doctor understand medic procedur learn talk mother battl schizophrenia titl incid childhood alda distraught dog dy well-mean father anim stuf alda horrifi result accept desper fruitlessli chang alda contribut voic part audio book max world war book voic arthur sinclair director unit state govern fiction depart strateg resourc memoir overheard talk weav advic public speech person recollect life belief person belief above-ment memoir overheard talk alda candidli describ briefli time life realiz practic begun think agnost atheist rais cathol teen heaven heaven exist last mere lifetim spent scrupul order small invest infinit payoff dai realiz longer believ realiz couldn’t lost urg prai occasion stop believ send quick memo master univers matter need urgent attent god don’t crash automat expuls word so messag base brain similar short prayer admir church cathol boyhood call idea shorten time purgatori ejacul boi wouldn’t find comfort idea effort plane air talk god didn’t suddenli overcom belief scare i’d wake heaven mean occur etern question edg foundat clarifi remark clear consid simpli believ edg foundat web site retriev januari act role person memoir wikiquot collect quotat relat alan alda dog stuf overheard talk audio book world war voic depart strateg resourc director arthur sinclair award nomin handprint alan alda front great movi ride walt disnei world disnei hollywood studio theme park award won emmi outstand support actor drama seri portray senat presidenti candid arnold vinick west wing nomin audiobook version overheard talk nomin grammi award categori spoken word album alda receiv nomin academi award support role senat ralph owen brewster martin scorses film aviat +px default page semi-protect edit desc american footbal game tennesse titan houston texan american footbal snap american footbal unit state simpli footbal unit state canada term footbal refer american footbal similar sport canadian footbal mean clear context articl describ american variant competit team sport mix strategi intens physic plai object game score point advanc ball technic ball prolat spheroid oppos team zone ball advanc carri run plai throw teammat pass plai point score varieti wai includ carri ball goal line catch pass goal line tackl oppos ball carrier zone kick ball goal post oppos side winner team point time expir plai american footbal small unit state attempt nation footbal leagu nfl global game histori earli american footbal team turn twentieth centuri histori american footbal trace earli version rugbi footbal game origin varieti footbal plai unit kingdom mid-th centuri ball kick goal run line american footbal result major diverg rugbi footbal notabl rule institut walter camp consid father american footbal import introduct line scrimmag rule late earli centuri gameplai develop colleg coach amo alonzo stagg knute rockn glenn pop warner help advantag newli introduc pass popular collegi footbal grew domin version sport twentieth centuri bowl game colleg footbal tradit attract nation audienc collegi team bolster fierc rivalri colleg footbal hold widespread appeal journei camp origin american footbal profession footbal research associ retriev histori sport retriev nfl nfl enterpris llc retriev origin profession footbal trace william pudg heffelfing contract plai game allegheni athlet associ pittsburgh athlet club american profession footbal associ form leagu chang nation footbal leagu nfl year eventu major leagu american footbal primarili sport midwestern industri town unit state profession footbal eventu nation phenomenon footbal increas popular trace nfl championship game contest dub greatest game plai rival leagu nfl american footbal leagu afl began plai pressur put senior leagu led merger leagu creation super bowl watch televis event unit state annual basi nation footbal leagu retriev august rule object american footbal score point oppos team time limit field player number field number yard nearest zone american footbal plai field feet yard long feet yard wide longer boundari line sidelin shorter boundari line line field goal line yard score area call zone extend yard goal line line yard line cross field yard number yard goal line line midfield similar typic rugbi leagu field row line inbound line hash mark parallel sidelin middl field plai start ball hash mark zone goalpost call upright feet feet high school post connect crossbar feet cm ground team player field time team substitut player time break plai result player special role rare activ player nfl team plai game team divid separ unit offens defens special team start halv similar associ footbal game begin coin toss determin kick game goal team defend option present start choic automat determin start refere conduct coin toss captain coach oppos team team win coin toss option choos receiv open kickoff kick choos goal defend choos defer choic team choic start nfl nfl rule digest nfl enterpris llc retriev januari team choos team option choic team elect receiv start game team decid goal defend start option kick receiv choos goal defend present captain team choos start defer privileg choos choic option nation collegi athlet associ retriev januari game durat standard footbal game consist typic minut high-school footbal quarter half-tim intermiss quarter clock stop plai game consider longer hour real time game broadcast televis tv timeout interv game broadcast commerci game action nfl game ti quarter team plai addit period last minut nfl overtim game team score win team possess refer sudden death regular-season nfl game team score overtim game tie nfl playoff game addit overtim period plai need determin winner colleg overtim rule complic overtim sport advanc ball line scrimmag quarterback search opportun throw pass run tackl run ball advanc ball american footbal resembl rule play-the-bal rugbi leagu team take possess ball offens attempt call down advanc ball yard oppon defens zone offens gain yard mean team set down gain yard score offens fail gain yard down team possess ball spot footbal begin begin halv score ball put plai snap offens player line face defens player line scrimmag posit field plai begin offens player center pass snap ball leg teammat quarterback player advanc ball wai run ball rush ball-carri hand ball player throw player handoff pass refer later throw ball teammat pass pass footbal pass kei factor distinguish american canadian footbal footbal sport offens throw ball line scrimmag ball thrown pitch toss sidewai time end ball dead player ball forc ground tackl progress halt member team determin offici pass fli dimens field bound touch ground caught incomplet pass ball return line scrimmag ball player ball bound team score offici blow whistl notifi player team choos plai coordin movement action player follow down refer plai chang possess offens maintain possess ball occur team fail down fail move ball line yard down current line scrimmag lose yardag defens team take ball spot plai end chang possess manner commonli call turnov down credit defens turnov offici statist offens effici percentag offens score touchdown field goal team score kick ball team special plai call kickoff offens punt ball defens punt kick player drop ball kick hit ground punt fourth quick kick offens team risk give ball team current spot field fail attempt feel team goal post attempt field goal defens player catch pass call intercept player intercept run ball tackl forc bound score offens player drop ball fumbl defens player pick intercept player recov fumbl run ball tackl forc bound pass caught incomplet pass ball live fumbl lost fumbl intercept turnov offens team miss field goal attempt defens team ball spot previou plai began nfl spot kick unsuccess kick attempt yard zone team ball yard line yard zone field goal miss ball remain field plai defens player catch ball attempt advanc zone offens ballcarri tackl forc bound lose ball bound offens commit penalti rare occurr call safeti offens ballcarri fumbl ball zone ball bound extrem rare occurr lead touchback ball oppos team yard line note touchback non-offens special team plai punt kickoff common score kicker attempt extra point team score point plai touchdown td worth point score player run ball catch pass oppon zone touchdown analog rugbi major differ requir player place ball ground touchdown score team attempt convers analog convers rugbi ball team line line nfl team attempt kick crossbar goal post manner field goal point extra point touchdown pat octob offici rule nfl triumph book run pass zone manner touchdown point two-point colleg footbal defens intercept recov fumbl point convers attempt return oppos zone defens team award point field goal fg worth point score kick ball crossbar goal post upright field goal kick ball held vertic ground teammat drop-kick extrem uncommon modern game success year field goal attempt fourth punt ball close oppon goal line time left score safeti worth point score defens ball-carri tackl zone safeti award offens fumbl ball out-of-bound zone kick block zone commit penalti zone safeti rare kickoff free kick begin kickoff team kick score touchdown field goal ball kick kick tee team line nfl colleg footbal season team kick return catch ball advanc stop point offens drive seri offens plai kick return catch ball zone run ball elect touchback kneel zone case receiv team start offens drive yard line touchback occur kick out-of-bound zone kickoff out-of-bound zone touch receiv team consid illeg procedur penalti ball bound yard kickoff spot depend advantag team punt kickoff yard recov kick team team lose advantag attempt onsid kick punt turnov zone touchback safeti team gave point free kick ball team yard line penalti foul type rule violat punish penalti offend team penalti result move footbal offend team zone penalti move ball distanc offend zone penalti distanc goal normal penalti result replai defens penalti give offens automat convers offens penalti result loss loss repeat penalti offens team yardag gain usual foul occur offici throw yellow flag spot foul end team commit foul option accept penalti declin penalti accept result most-common foul includ fals start offens player illeg move line prior snap ball dead allow offsid defens offens player wrong side ball ball snap foul occur simultan snap hold illeg grasp pull oppon runner pass interfer illeg contact oppon prevent catch pass delai game fail plai time face mask grasp face mask player attempt block tackl illeg block blocker contact member oppos team runner waist clip blocker contact oppon runner waist circumst clip block legal variat variat basic rule exist touch flag footbal design non-contact altern rel violenc regular american footbal touch flag footbal tackl permit offens player tackl defend tag remov flag bodi varieti plai inform set intramur youth game variat wrap player tackl player wrap arm ball carrier profession intercollegi varsity-level high school footbal invari standard tackl rule variat number player field spars popul area uncommon find high school footbal team plai nine-man footbal eight-man footbal six-man footbal player plai offens defens arena footbal leagu leagu plai eight-man footbal plai indoor smaller plai surfac player diagram show typic offens defens format offens blue consist quarterback qb fullback fb tailback tb wide receiv wr tight te offens linemen og ot defens red consist defens line dl de lineback lb cornerback cb strong safeti ss free safeti fs team chang player plai number player posit differ plai offens normal i-form defens normal footbal player highli special role colleg nfl level plai offens defens offens offens line ol consist player job protect passer clear runner block member defens lineman middl center center guard tackl center snap ball back offens linemen gener handl ball quarterback qb receiv snap center plai hand toss run throw receiv run quarterback leader offens call plai signal sidelin run back rb line qb special run ball block catch pass rare occas pass ball receiv snap team run back game halfback hb tailback tb run ball fullback fb block wide receiv wr line sidelin special catch pass block run plai downfield receiv catch tight end te line offens line plai wide receiv catch pass offens linemen protect qb creat space runner offens lineman take tight posit refer tackl elig player line line scrimmag offens plai player line line exact number run back wide receiv tight end differ plai team yard tight end run back wide receiv hand yard replac run back tight end wide receiv defens contrast member offens rule profession footbal american colleg footbal start posit movement coverag zone member defens team defens zone start plai posit movement respons defens player assign team select coverag pattern placement assign respons posit role customari role vari histori american footbal customari defens posit coverag modern american footbal defens line consist player line immedi offens line occupi offens linemen order free lineback wreck backfield offens tackl run ball gain yardag quarterback throw pass ball line defens defens line lineback line defens line defens back rush quarterback cover potenti receiv main job cover run middl line defens secondari compris player line defens back cornerback safeti cover receiv stop pass complet occasion rush quarterback leav field wide open pass special team unit player handl kick plai special team import special-team player punter handl punt placekick kicker kick attempt field goal extra point long snapper snap ball extra point field goal punt includ special team return player return punt kickoff good field posit player score touchdown uniform number nfl rang uniform number reserv posit quarterback kicker punter quarterback kicker punter wide receiv run back defens back center lineback offens defens linemen wide receiv tight end defens linemen lineback ncaa high school rule offens linemen number rang ncaa strongli recommend quarterback run back number wide receiv number help offici mean number inelig receiv player receiv pass number restrict defens player ncaa player jersei number field time basic strategi game stop give team chanc call plai strategi plai major role footbal team playbook dozen hundr plai ideal plai script strateg sound endeavor plai safe yard plai potenti long gain greater risk loss yardag turnov gener speak rush plai riski pass plai safe pass plai riski run plai deceiv team pass plai design resembl run plai vice versa refer play-act pass draw trick gadget plai team line intend punt run pass high-risk plai great thrill fan work spell disast oppos team realiz decept act defens plan plai respons expect offens blitz lineback defens back charg quarterback attempt team defens expect pass blitz downfield pass difficult expos defens big gain offens line stem rush hour prepar strateg includ film review player coach dai footbal game demand physic footbal team typic plai game week physic halfback lead fellow back agil drill air forc academi american footbal collis sport stop offens advanc ball defens tackl player ball knock pull defens player form physic contact bring ball-carri ground rule guidelin tackler kick punch runner grab face mask runner helmet lead tackl helmet rule unnecessari rough form tackl legal blocker defend evad wide leewai forc oppon quarterback regularli hit defend come full speed quarterback field vision commonli blindsid compens player wear special protect equip pad plastic helmet shoulder pad hip pad knee pad protect pad introduc decad improv minim last injuri player unintend consequ safeti equip result increas level violenc game player hurl high speed signific chanc injuri injuri result tend sever season career-end fatal previou year pad tackl close resembl tackl rugbi footbal helmet allow player helmet weapon form tackl particularili unwis due great potenti brain spinal injuri caus leagu nfl implement complic seri penalti type contact virtual contact helmet defens player quarterback contact quarterback head foul protect equip rule emphas safeti injuri remain common footbal increasingli rare nfl quarterback run back direct hit entir season miss time injuri addition footbal player high schooler di direct footbal injuri year addit di indirectli dehydr exampl non-phys danger nation center catastroph sport injuri research updat januari access octob concuss common suffer year high school player brain injuri associ arizona pr newswir press releas august access octob extra option equip neck roll spider pad rib protector elbow pad injuri tend major player due lack requir danger footbal equip requir reduc regul footbal impract casual plai flag footbal touch footbal violent variant game popular recreat player organ unit state befit statu popular sport footbal plai leagu size ag qualiti region countri organ footbal plai exclus men boi amateur semi-profession women leagu begun plai year profession semi-profession nation footbal leagu nfl major profession american footbal leagu north america profession american footbal leagu slate plai all-american footbal leagu unit footbal leagu american footbal leagu locat countri world list leagu american canadian footbal popular intern leagu german footbal leagu gfl japanes nfl oper development leagu fold nfl europa player unabl nfl team plai leagu arena footbal leagu canadian footbal leagu rule differ nfl univers collegi colleg footbal popular north america major colleg univers footbal team dedic footbal stadium team plai similarli size school largest popular collegi team routin fill stadium larger colleg footbal stadium univers michigan michigan stadium penn state beaver stadium univers tennesse neyland stadium ohio state ohio stadium seat fan sell weekli autumn ritual colleg footbal includ march band cheerlead homecom parti tailgat parti form import part cultur smalltown america footbal gener major sourc revenu athlet program school public privat unit state high school american high school field footbal team school small field minimum number player plai variant footbal player normal eleven high school footbal popular texa florida ohio indiana illinoi california colorado pennsylvania southern unit state school regularli fill stadium hold fan afford artifici plai surfac high school team gener plai team state notabl except includ matchup nearbi school locat side state line occasion matchup nationally-rank team televis purpos privat christian high school plai nation championship organ feder christian athlet associ youth leagu footbal plai recreation amateur youth team american youth footbal pop warner program semi-pro team leagu player paid plai small salari gener hold full-tim job due speed violenc sport non-organ footbal game involv variat rule minim contact includ touch footbal flag footbal calendar footbal autumn sport season typic begin mid-to-l august run decemb januari profession playoff run januari super bowl plai week februari nfl draft held april elig colleg footbal player select nfl team order select determin final regular season record long-stand tradit unit state univers observ high school footbal game plai fridai night colleg game saturdai profession game sundai nfl began schedul game mondai night begin nfl began schedul game thursdai saturdai night colleg footbal regular season conclud mid-novemb air nfl network year nation televis thursdai night colleg game weekli fixtur espn night week featur colleg game game plai tradit saturdai fall winter holidai nfl thanksgiv classic numer year dai colleg bowl game tradit footbal game unit state unit state sport refer american footbal translat thereof differenti footbal code australia zealand game gridiron footbal unit state term gridiron refer plai field gridiron american heritag dictionari english languag fourth edit houghton mifflin compani world term footbal ambigu refer number code nfl attempt introduc game nation oper development leagu nfl europa team german citi netherland leagu fold season profession canadian footbal leagu collegi canadian interunivers sport plai slightli canadian rule japan profession leagu team divis promot releg post-season playoff champion determin japan bowl univers field team nation collegi championship determin koshien bowl profession collegi champion face rice bowl determin nation champion germani german footbal leagu elit divis call bundesliga team partit north south confer finalist playoff determin german champion german bowl intern feder american footbal govern bodi american footbal member associ north south america europ asia oceania overse american footbal world cup held year japan won world cup held team usa particip previou world cup won titl game slow catch countri octob arizona cardin san francisco er plai regular season nfl game unit state mexico citi estadio azteca unit state naval academi plai univers notr dame dublin ireland +imag padlock-silver-medium svg paramet error paramet beg mid dle paramet error paramet beg mid dle american revolutionari war american war independ british writer gener favor american war independ american rebellion war american independ omohundro institut earli american histori cultur bibliographi usag titl initi civil war kingdom great britain thirteen british coloni north american contin naval conflict war culmin polit american revolut colonist overthrew royalist rule revolutionari seiz control thirteen coloni govern set continent congress form continent armi year formal declar independ nation unit state america time european nation rival britain coloni power support rebel secretli openli nativ american african american serv side war british naval superior captur occupi coastal citi control countrysid popul live larg elud due small land armi earli shortli american victori saratoga franc sign treati allianc nation declar war britain summer spain netherland war britain year french involv prove decis french naval victori chesapeak lead surrend british armi yorktown treati pari end war recogn sovereignti unit state territori bound canada north florida south mississippi river west combat armi militia mercenari war began british colonist american profession armi navi coloni defens local militia militiamen lightli arm slightli train uniform unit serv week month time reluct home gener unavail extend oper militia lack train disciplin regular soldier numer overwhelm regular troop battl concord bennington saratoga sieg boston side partisan warfar american effect suppress loyalist activ british regular area black war america fight independ militia boatner russel weiglei american war ch german troop serv british call hessian ziegler conrad gessner seek coordin militari effort continent congress establish paper regular armi june appoint georg washington commander-in-chief develop continent armi work progress washington regular state militia war unit state marin corp trace institut root continent marin war form tun tavern philadelphia resolut continent congress novemb date regard celebr birthdai marin corp american revolut continent navi continent marin disband men serv regular militiamen revolutionari year war total men arm time armi small european standard era greatest number men washington person command field time attribut tactic prefer lack powder american side boatner largest forc washington command christoph duffi militari experi ag reason estim washington maximum troop comparison duffi note frederick great command battl earli british armi consist men worldwid wartim recruit steadili increas number addition war british hire soldier german princ soldier call hessian hesse-kassel troop mercenari sens profession hire princ german one-third british troop strength north america number british german troop station north america spread canada florida black boatner african-american nativ american draw american soldier yorktown campaign show black infantryman st rhode island regiment african american slave free serv side war british activ recruit slave belong patriot master manpow shortag georg washington lift ban black enlist continent armi januari small all-black unit form rhode island massachusett slave promis freedom serv all-black unit haiti french forc black soldier fought revolutionari revolutionari all-black unit kaplan kaplan black soldier fought british side nativ american east mississippi river affect war commun divid question respond conflict nativ american oppos unit state nativ land threaten expand american settlement estim warrior fought british side largest group iroquoi confederaci field men jame merrel indian republ blackwel encyclopedia american revolut boatner war north massachusett war boston scene revolutionari activ lead massachusett govern act end home rule punish popular resist measur compel newli appoint royal offici massachusett resign seek refug boston lieuten gener thoma gage british north american commander-in chief command regiment british regular men headquart boston countrysid hand revolutionari british march concord april night april gener gage men seiz munit store coloni militia concord massachusett rider includ paul rever alert countrysid british troop enter lexington morn april minutemen form villag green shot exchang kill minutemen british move concord detach compani engag rout north bridg forc minutemen british retreat boston thousand militiamen attack road inflict great damag time british reinforc prevent total disast battl lexington concord war begun militia converg boston bottl british citi british soldier arriv sea june british forc gener william how seiz charlestown peninsula battl bunker hill american fell british loss heavi attack sieg broken gage replac how british commander-in-chief higginbotham juli newli appoint gener washington arriv boston charg coloni forc organ continent armi realiz armi desper shortag gunpowd washington ask sourc arsen raid manufactur attempt suppli million pound import franc orlando stephenson suppli gunpowd american histor review jstor standoff continu fall winter earli march heavi cannon patriot captur fort ticonderoga dorchest height major henri knox artilleri overlook british posit how situat unten british fled march sail naval base halifax nova scotia arthur lefkowitz retriev septemb washington move continent armi fortifi york citi quebec regiment join american colonel jame livingston led st canadian regiment battl quebec mose hazen led canadian regiment support american battl saint-pierr continu fight american war canada long standoff boston continent congress sought seiz initi congress initi invit french canadian join fourteenth coloni fail happen congress author invas canada goal remov british rule primarili francophon provinc quebec compris present-dai quebec expedit undertaken septemb brigadi gener richard montgomeri march north fort ticonderoga militiamen captur montreal novemb gener gui carleton governor canada escap quebec citi expedit led colonel benedict arnold logist nightmar men succumb smallpox time arnold reach quebec citi earli novemb origin men montgomeri forc join arnold attack quebec citi decemb soundli defeat carleton remain american held quebec citi spring withdrew attempt american push quebec fail trois-rivièr june carleton launch invas defeat arnold battl valcour island octob arnold fell fort ticonderoga invas canada begun invas canada end disast american arnold effort delai full-scal british counteroffens saratoga campaign invas cost american base support british public opinion violent measur america freeli adopt countenanc major individu rank profess occup countri rockingham burk sept watson reign georg iii york jersei withdrawn armi boston gener how focus captur york citi defend citi gener washington divid soldier long island manhattan british troop assembl staten island campaign washington newli issu declar american independ read men longer possibl compromis august land men long island british drove american brooklyn height largest battl entir revolut how laid sieg fortif washington manag evacu armi manhattan septemb how land men manhattan quickli control york citi american withdrew harlem height skirmish dai held ground how move encircl washington armi octob american fell battl white plain fought octob washington retreat how return manhattan captur fort washington mid novemb prison addit captur battl long island began infam prison ship system british maintain york remaind war american soldier sailor di neglect di battl entir war combin emanuel leutz styliz depict washington cross delawar icon imag heroic action washington gener lord cornwal continu chase washington armi jersei american withdrew delawar river pennsylvania earli decemb campaign appar conclus season british enter winter quarter how miss opportun crush diminish american armi kill captur american outlook continent armi bleak time men soul wrote thoma pain armi retreat armi dwindl men fit duti reduc enlist expir year congress abandon philadelphia despair popular resist british occup grow countrysid washington decid offens stealthili cross delawar christma night captur hessian battl trenton decemb cornwal march retak trenton outmaneuv washington successfulli attack british rearguard princeton januari washington enter winter quarter morristown jersei moral boost american jersei militia continu harass british hessian forc winter forc british retreat base york citi stage british strategi assum larg base loyalist support ralli king militari support februari clinton men naval squadron invad north carolina call learn loyalist crush battl moor creek bridg june seiz charleston south carolina lead port south hope simultan rise south carolina cheap wage war fail naval forc defeat fort local loyalist attack town loyalist poorli organ effect late senior offici london misl loyalist exil confid rise saratoga philadelphia british began plan oper main armi north america carleton armi canada how armi york london lord georg germain approv campaign armi miscommun poor plan rivalri command work conjunct how successfulli captur philadelphia northern armi lost disastr surrend saratoga carleton how resign campaign saratoga campaign campaign expedit canada led gener john burgoyn goal seiz lake champlain hudson river corridor effect isol england rest american coloni burgoyn invas compon lead men lake champlain albani york column men led barri st leger move mohawk river vallei link burgoyn albani york mohawk leader joseph brant led nativ american white loyalist battl burgoyn set june recaptur fort ticonderoga earli juli march slow american knock tree path detach seiz suppli decis defeat american militia august depriv burgoyn men st leger forc nativ american led sayenqueraghta laid sieg fort stanwix american militiamen nativ american alli march reliev sieg ambush scatter battl oriskani relief expedit approach time led benedict arnold st leger broke sieg retreat canada burgoyn armi reduc men setback determin push albani fate decis produc controversi american armi men command gener horatio gate entrench mile km south saratoga york burgoyn outflank american check battl saratoga septemb burgoyn situat desper hope how armi york citi how sail expedit captur philadelphia american militiamen flock armi swell forc begin octob badli beaten battl saratoga burgoyn surrend octob saratoga turn point war revolutionari confid determin suffer how success occup philadelphia renew importantli victori encourag franc open allianc american year semi-secret support british war complic higginbotham philadelphia campaign secur york citi gener how concentr captur philadelphia seat revolutionari govern move slowli land troop late august northern chesapeak bai washington posit men how philadelphia driven battl brandywin septemb continent congress abandon philadelphia septemb how final outmaneuv washington march citi unoppos washington unsuccessfulli attack british encamp nearbi germantown earli octob retreat watch wait washington lafayett troop vallei forg repel british attack white marsh washington armi encamp vallei forg decemb mile km philadelphia stai month winter men di diseas exposur spring armi emerg vallei forg good order part train program supervis baron von steuben von steuben introduc modern prussian method organ tactic gener clinton replac how british commander-in-chief french entri war chang british strategi clinton abandon philadelphia order reinforc york citi vulner french naval power washington shadow clinton withdraw forc draw battl monmouth june major battl north clinton armi york citi juli french fleet admir d'esta arriv american coast washington armi return white plain york north citi armi year earlier natur war chang georg athan billia georg washington gener oppon exploit leadership higginbotham intern war war rebellion north america intern spread europ european coloni chiefli india learn american victori saratoga franc sign treati allianc unit state februari spain enter war alli franc june renew bourbon famili compact franc spain initi refus recogn independ unit state spain keen encourag similar anti-coloni rebellion spanish empir countri quietli assist american begin war hope dilut british power netherland eventu brought open war london king georg iii gave hope subdu america armi britain european war fight joke keep pennsylvania hope recov england king determin acknowledg independ american punish contumaci indefinit prolong war promis etern georg otto trevelyan georg charl fox conclud part american revolut plan men garrison york rhode island canada florida forc attack french spanish west indi punish american king plan destroi bombard port sack burn town coast london connecticut turn loos nativ american attack civilian frontier settlement oper king felt inspir loyalist splinter congress rebel harass anxiou poor dai natur inevit process discont disappoint convert penit remors beg return author trevelyan georg charl fox plan meant destruct loyalist loyal nativ american indefinit prolong costli war risk disast french spanish assembl armada invad british isl seiz london british plan rebelli coloni deal european alli widen naval war war began british overwhelm naval superior american colonist royal navi ship line frigat smaller craft fleet poor condit situat blame lord sandwich lord admiralti year war royal navi primarili transport troop land oper protect commerci ship american colonist ship line reli extens privat harass british ship privat caus worri disproportion materi success oper french channel port franc join war caus signific embarrass royal navi inflam anglo-french relat continent congress author creation small continent navi octob primarili commerc raid john paul jone great american naval hero captur hm drake april victori american militari vessel british water higginbotham defeat float batteri gibraltar septemb john singleton coplei french entri war meant british naval superior contest franco-american allianc began poorli fail oper rhode island savannah georgia part problem franc unit state militari prioriti franc hope captur british possess west indi help secur american independ french financi assist american war effort critic import french militari aid american show posit result arriv juli larg forc soldier led comt de rochambeau spain enter war side american goal recaptur gibraltar minorca lost british gibraltar besieg year british garrison stubbornli resist year final resuppli admir rodnei victori moonlight battl januari franco-spanish effort captur gibraltar unsuccess notabl success place februari spanish french forc captur minorca spain retain war west indi gulf coast action west indi island chang hand lesser antil battl saint april victori rodnei fleet french admir de grass frustrat hope franc spain jamaica coloni british count bernardo de gálvez spanish governor louisiana captur british naval base provid bahama french retent small island tobago sovereignti west indi return statu quo ant bellum peac treati gulf coast gálvez seiz british mississippi river outpost manchac baton roug natchez gálvez captur mobil forc surrend british outpost pensacola action led spain acquir east west florida peac settlement india netherland militari action north america caribbean help spark conflict britain franc india form anglo-mysor war start chief combat tipu sultan ruler kingdom mysor kei french alli british govern madra mysor war treati mangalor import document histori india occas nativ indian power dictat term british plai role humbl supplic peac warren hast call humili pacif appeal king parliament punish madra govern faith honor british nation equal violat british struck unit provinc netherland order preempt dutch involv leagu arm neutral declar european power conduct neutral trade war britain netherland openli give aid american rebel agit dutch radic friendli attitud unit state dutch govern influenc american revolut encourag british attack fourth anglo-dutch war last disastr dutch mercantil economi southern theater year american revolutionari war primari militari encount north french entri war british turn attent southern coloni hope regain control recruit loyalist southern strategi advantag keep royal navi closer caribbean british need defend possess french spanish british banastr tarleton account kill surrend american prison paint sir joshua reynold decemb expeditionari corp clinton armi york captur savannah georgia attempt french american forc retak savannah fail octob clinton besieg charleston captur casualti clinton seiz south biggest citi seaport pave conquest south remnant southern continent armi began withdraw north carolina pursu colonel banastr tarleton defeat waxhaw event organ american militari activ region collaps war carri partisan franci marion cornwal british oper horatio gate arriv command american effort august gate defeat battl camden set stage cornwal invad north carolina victori quickli turn wing armi utterli defeat battl king mountain octob tarleton decis defeat battl cowpen januari american gener daniel morgan gener nathanael green replac proceed wear british seri battl tactic victori british give strateg advantag victor green sum approach motto famou fight beat rise fight unabl captur destroi green armi cornwal move north virginia march gener washington dispatch gener lafayett defend virginia young frenchman skirmish cornwal avoid decis battl gather reinforc cornwal unabl trap lafayett move forc yorktown virginia juli royal navi return armi york northern western frontier georg roger clark mile km winter march led captur gener henri hamilton lieutenant-governor canada west appalachian mountain canadian border american revolutionari war indian war nativ american support british iroquoi confederaci tribe cheroke shawne split faction british suppli nativ alli musket gunpowd advis raid civilian settlement york kentucki pennsylvania joint attack wyom vallei cherri vallei provok washington send sullivan expedit western york summer fight sullivan systemat destroi nativ american winter food suppli forc flee perman british base canada niagara fall area ohio countri illinoi countri virginia frontiersman georg roger clark attempt neutral british influenc ohio tribe captur outpost kaskaskia vincenn summer gener henri hamilton british command detroit retook vincenn clark return surpris march februari captur hamilton massacr pennsylvania militiamen kill neutral nativ american august major encount war forc kentucki militia defeat battl blue lick yorktown war surrend cornwal yorktown john trumbul northern southern naval theater war converg yorktown virginia earli septemb french naval forc defeat british fleet battl chesapeak cut escap washington hurriedli move american french troop york combin franco-american forc men commenc sieg yorktown earli octob posit quickli unten surrend armi octob surrend yorktown king georg lost control parliament peac parti major militari activ land british garrison troop occupi york citi charleston savannah war continu sea british french fleet west indi number british troop america pier mackesi war america british troop attack colonist numer american ship attack british ship lane worldwid due impact british pocketbook merchant put pressur parliament war london polit support war plummet yorktown prime minist lord north resign march april common vote war america preliminari peac articl sign pari novemb formal war occur treati pari sign septemb unit state congress confeder ratifi treati januari british troop left york citi novemb britain negoti pari peac treati consult nativ american alli cede nativ american territori appalachian mountain mississippi river unit state full resent nativ american reluctantli confirm land cession unit state seri treati fight renew conflict frontier come year largest northwest indian war cost war casualti total loss life result american revolutionari war unknown typic war era diseas claim live battl historian joseph elli suggest washington decis troop inocul smallpox epidem import decis smallpox epidem elizabeth ann fenn pox americana great smallpox epidem great number smallpox death occur theater war mexico nativ american west mississippi river washington inocul elli excel georg washington estim american revolutionari di activ militari servic death battl death diseas includ di prison war number revolutionari wound disabl war estim total american militari casualti figur high american dead wound john shy peopl numer arm figur number wound chamber seamen serv british war percent press servic kill battl di diseas greatest killer scurvi diseas time easili prevent issu lemon juic sailor british seamen desert war british seamen mackesi approxim german kill action di ill accid remain german troop return home roughli remain unit state war reason eventu american citizen reliabl statist exist number casualti group includ loyalist british regular nativ american french spanish troop civilian financi cost british spent million end nation debt million easili financ million year interest french spent billion livr million total nation debt million easili financ french nation revenu debt servic debt crisi major enabl factor french revolut govern unabl rais tax public approv robert isabel tomb sweet enemi french british sun king present unit state spent million nation level million state cover loan franc netherland loan american issuanc paper monei worth continent final solv debt problem merril jensen nation histor assess war american independ sum civil war fought foreign soil oppos forc compris resid argu declar independ juli war nation american british side technic english european descent result compar american revolutionari war english civil war parliamentarian royalist english nation faction war america surviv french assist addit britain signific militari disadvantag distanc major problem troop suppli ship atlant ocean british logist problem oper port citi american local sourc manpow food familiar acclim territori addition ocean travel meant british commun month date time british gener america receiv order london militari situat chang black don higginbotham war independ saratoga blackwel encyclopedia american revolut suppress rebellion america pose problem coloni cover larg area unit war central area strateg import europ captur capit meant war america british seiz citi york philadelphia war continu unab larg size coloni meant british lack manpow control forc area occupi troop revolutionari regain control troop unavail offens oper british suffici troop defeat american battlefield simultan occupi coloni manpow shortag critic french spanish entri war british troop dispers theater previous concentr america higginbotham black map campaign revolutionari war british difficult task fight war simultan retain allegi loyalist loyalist support import goal war coloni british empir impos numer militari limit earli war how brother serv peac commission simultan conduct war effort dual role limit effect addition british recruit slave nativ american fight war alien loyalist controversi hire german mercenari retain loyalist allegi meant british unabl harsh method suppress rebellion emploi ireland scotland limit potenti neutral colonist driven rank revolutionari war combin factor led ultim downfal british rule america rise independ nation unit state america harsh method black slave indian black neutral revolutionari black battl war approxim battl american revolutionari war british alli won tactic battl decis conflict pyrrhic american alli won battl decis decis engag won franc spain pyrrhic twenti battl end inconclus +current measur galvanomet deflect magnet needl magnet field creat current amper practic shorten amp symbol unit electr current amount electr charg amper si base unit name andré-mari ampèr main discover electromagnet definit amper constant current maintain straight parallel conductor infinit length neglig circular cross section metr vacuum produc conductor forc equal newton metr length paul monk physic chemistri understand chemic world john wilei son descript forc law serwai raymond serwai jewett jw fourth edit belmont ca thompson brook cole ampèr forc law amper base unit metr kelvin mole candela kilogram defin refer quantiti electr charg unit charg coulomb defin deriv unit amount charg displac amper current time gener charg determin steadi current flow time explan base unit definit amper ti electr unit definit amper equival fix magnet constant prior so-cal intern amper defin term electrolyt deposit rate silver robert northrop introduct instrument measur crc press older unit equal realiz amper accur realiz watt balanc practic maintain ohm law unit emf resist volt ohm ti physic phenomena easi reproduc josephson junction quantum hall effect offici realiz standard amper discuss propos futur definit coulomb approxim equal elementari charg amper approxim equival elementari charg electron move boundari si base unit propos redefin kilogram defin present measur physic constant fix valu propos definit kilogram redefinit kilogram effect fix elementari charg result function equival definit coulomb sum elementari charg amper electr current elementari charg consist current codata elementari charg cipm recommend intern committe weight measur cipm recommend prepar step definit kilogram amper kelvin mole term fundament constant intern committe weight measur cipm approv principl prepar definit mise en pratiqu kilogram amper kelvin result experiment measur year accept agre consult committe relev bodi cipm prepar propos put member state metr convent time adopt cgpm give consider possibl redefin time mole term fix avogadro constant prepar draft resolut put cgpm alert member state activ +wiktionari list word relat american footbal footbal american categori word wiktionari free dictionari term american footbal canadian footbal glossari canadian footbal defens variat nickel format linemen de dt lineback olb mlb defens back cb ss fs call stack call rule breaker due fact block scheme offens line defens defens format linemen lineback profession deriv earlier oklahoma defens linemen lineback lineback resembl stand-up end older defens defens defens format linemen lineback variat emploi coach joe kuharich tom landri dalla morn new retriev januari sport new retriev januari defens infam defens coin coach color comment john madden refer team penal men field defens pronounc forty-six defens format defens linemen lineback defens back cornerback strong safeti crowd line scrimmag remain safeti free safeti stai backfield invent buddi ryan chicago bear popular super bowl xx champion chicago bear defens popular colleg defens defens linemen lineback oklahoma defens structur similar team nose tackl nt defens tackl dt line slightli offens tackl ot defens end de lineup tight te maxim size line scrimmag high school team run ball lot air raid offens philosophi deriv west coast offens adapt shotgun format offens run game heavili de-emphas quick pass medium pass screen game highli develop all-purpos yardag sum yard gain player possess ball plai includ rush receiv yard gain offens yard gain return intercept fumbl yard gain kickoff punt return audibl plai call quarterback line scrimmag chang plai call huddl automat sever foul includ pass interfer person foul nfl ncaa nfh high school rule foul penalti result automat rough snapper holder kicker passer pass interfer defens award offens team yardag penalti yardag need posit offens defens linemen offens run plai run tailback quarterback halfback fullback wingback defens gener faster player respons cover receiv lineback cornerback safeti backup string player start game relief starter pass pass thrown side call onsid pass canadian footbal limit number pass thrown incorrectli refer later ballcarri player attempt advanc ball rush plai player possess ball attempt advanc ground ball secur abil player maintain control footbal plai avoid fumbl blitz defens maneuv lineback defens back remain line scrimmag charg backfield defens lineback typic rush passer linemen consid blitz addit lineback bring total number rusher blitz block player obstruct player path bodi exampl cut block zone block trap block pull block screen block pass block double-team block block sled heavi piec practic equip pad angular frame metal skid develop strength block techniqu bomb long pass bootleg offens plai predic misdirect quarterback pretend hand ball player carri ball direct suppos ballcarri intent pass run quarterback option nake bootleg riski variat plai quarterback blocker pull contrast scrambl sneak draw box area defens side ball offens linemen yard deep player box mean bring defens strong safeti stop offens team run game bust term refer player draft dai nfl draft fail meet expect draft team ryan leaf akili smith tim couch hook dig rout receiv run straight upfield distanc plant hard run straight quarterback simpli call hook rout dig rout case dig rout consid long yard downfield receiv dig cleat hard stop quarterback run fast carri carri statist refer number time rush player attempt advanc ball ballcarri player attempt advanc ball offens plai posit center player posit offens center snap ball middl lineman snapper trick plai famou film snap entir offens line side center elig receiv centr canadian center chain long chain chain crew aka chain gang measur seri down chuck duck degrad refer run shoot offens strategi pass quarterback complet short pass run tight resort avoid sack handl situat run catch short pass speed power run extra yardag clip illeg block victim block waist penalti yard origin clip defin block restrict block waist block punish penalti coffin corner corner field plai punter close attempt kick ball bound close receiv team goal line pin zone comeback rout receiv tight rout player run straight upfield number yard short medium rout plant hard turn run sidelin degre angl confusingli name wide receiv doesn't quarterback catch ball guarante bound complet percentag percentag pass thrown player complet run throw pass season complet complet percentag defens assign run sweep defens player cornerback lineback assign rusher edg plai turn upfield execut properli rusher turn upfield plai call give lineback chanc stop plai gain cornerback cb defens line line scrimmag wide receiv primari job disrupt pass rout defend short medium pass pass game rusher rush plai cover gener scheme defend pass man-to-man elig receiv cover defens lineback zone player defens back lineback occasion linemen assign area field flat hook curl deep cover common type coverag cover strict man-to-man coverag safeti blitz plai men cross line scrimmag cover man-to-man coverag safeti assign player cover deep pass rout cover zone coverag safeti plai deep cover field cover man receiv cover defens player cover zone tampa cb cover flat zone olb hook zone mlb curl zone cover zone coverag extra strong safeti cornerback player cover one-third deep zone cover corner safeti drop deep coverag one-fourth width field refer quarter counter run plai run step appar direct plai direct line move handoff direct weak side linemen pull lead downfield call counter trap necessarili plai design defens flow action step follow linemen allow room run block illeg block deliv oppon waist offens player left area close line plai return snap term describ legal block deliv front side offens player helmet front block player wide receiv player line cut sharp chang direct run player call cutback cut block block techniqu offens linemen blocker block legal waist front defens player attempt bring defend ground make unabl pursu run short time need find gap defens techniqu controversi carri risk leg injuri block defend dead ball ball longer plai defens cornerback safeti posit defens team commonli defend wide receiv pass plai gener defens back plai time nickel dime defens de player posit defens line defens line princip function deliv pressur quarterback rush defens tackl dt player posit defens defens line princip function run defens tackl line center nose tackl heaviest player defens defens tackl line offens guard og offens tackl ot techniqu tackl defens team team begin plai scrimmag possess ball delai game foul occur offens team put ball plai plai clock run common occurr result delai game foul penalti yard dime extra sixth total defens name dime nickel nickel direct snap plai ball pass presum ball carrier center contrast indirect snap plai ball hand quarterback pass hand eventu ball carrier refer format direct snap singl wing dive plai ball hand run attack middl offens format og plai part tripl option strategi doubl revers plai ball revers direct line scrimmag accomplish mean hand-off hand-off direct previou plai extrem infrequ footbal doubl wing format tight end wingback snap toss center leg quarterback halfback moder deep backfield doubl wing ed format tight end wingback center hand ball quarterback hold hand leg center unit game start legal snap legal free kick ball readi plai end ball dead plai fourth american canadian footbal occur chang possess ball advanc ball yard previou penalti lineman player station front line scrimmag three-point stanc four-point stanc hand ground draw plai plai quarterback drop pass hand run run ball contrast scrambl drive continu set offens plai gain substanti yardag down lead score opportun block techniqu drive block offens player advantag angl assist drive defens player posit creat hole ball carrier drop kick kick ball drop kick hit ground hit half-vollei kick drop kick type kick score field goal dual threat quarterback quarterback skill pass rush ball quarterback difficult defend defens team focu threat exclus elig receiv player legal touch pass passer team end back nfl player posit hand-to-hand snap quarterback player shirt displai number rang allow elig receiv player oppos team elig receiv ball touch player oppos team american line scrimmag canadian footbal player elig encroach illeg action player cross line scrimmag contact oppon ball snap plai confus revers quarterback hand ball wide receiv receiv motion move backfield ball snap handoff run line zone area line deadlin canadian amateur footbal goal line bound sidelin extra point singl point score convers attempt make field goal safeti gener plai face mask protect grill form part footbal helmet face mask penalti foul player grab portion player helmet process make tackl yardag assess penalti vari sever infract yard grab quickli releas grasp facemask yard grab notic move player head fals start sudden movement offens effort draw defens offsid fair catch unhind catch oppon kick player want signal fair catch wave arm overhead ball air signal gain possess ball dead immedi oppon receiv fifteen yard penalti hit fantasi footbal american game particip call owner draft aid softwar team real-lif nfl player score point base statist perform field field judg offici tradition charg timekeep field plai area goal line sidelin context space vertic field goal score point drop-kick ball oppon goal kickoff free kick safeti goal field miss field goal return punt recov in-bound defend team field posit rel measur yard team travel order score good field posit offens distanc cover set down team advanc ball yard receiv penalti field posit yard oppos zone affect flanker player posit offens wide receiv line backfield receiv term infrequ american footbal long replac wide receiv flat area field line scrimmag yard defens backfield yard sidelin run back run pass rout flat safeti valv receiv flea flicker trick plai run throw pass quarterback throw pass wide receiv tight flexbon format involv run back fullback line quarterback slotback line line scrimmag end offens line format arrang offens skill player format term run back line format refer line yard deep fullback line yard deep quarterback wide receiv line trip left wide receiv line left linemen frequent format allud strong slot halfback line yard deep quarterback fullback yard deep guard tackl strong side wide receiv line side offens line rule limit legal format offens linemen line scrimmag small amount leewai tackl line pass protect receiv tight wide receiv line line side offens linemen doesn't matter close tackl long line total player line number number except exist offens scrimmag kick format player number place lineman number receiv line motion pass pass touch person object ground closer oppon line releas accident lost throw motion fourth final set down achiev penalti forc replai team lose control ball plai team punt fourth kick field goal close fourth convers act fourth plai compar uncommon team close gener attempt field goal fourth punt coach elect amount yardag need convers small team trail signific amount likelihood increas game four-point stanc lineman stanc point ground word feet hand techniqu short yardag goal line situat free kick kick put ball plai kickoff safeti score safeti touch canadian footbal fair catch free safeti fs player posit defens free safeti typic plai deep center field pass defens respons assist defens back deep coverag compar strong safeti assign receiv run support respons fullback fb player posit offens origin line deep quarterback format modern format posit vari player block respons comparison halfback tailback fumbl ball player accident lost possess canadian footbal term includ muff goal surfac space mark structur upright post feet inch extend horizont crossbar top edg feet ground goal surfac bar line edg post extend infinit upward center line american goal line canadian footbal goal area zone canadian profession footbal goal line front zone gridiron footbal field call mark peopl refer american footbal distinguish footbal soccer rugbi union rugbi leagu american footbal guard og player posit offens linemen gunsling term quarterback act aggress decis manner throw riski pass higher reward gunner widest player line punt format hail mari long pass plai thrown group receiv zone hope touchdown team resort time run half team trail refer cathol prayer halfback hb player posit offens tailback halfback option plai trick plai halfback option throw pass run halo violat season ncaa colleg footbal halo rule foul interfer opportun catch kick call halo rule state player kick team yard receiv team player posit catch punt kickoff person touch ball rule abolish begin season hand-off quarterback wear photo hand ball run hand-off pass player hand live ball player hand-off later oppos pass call switch touch footbal note usag term rugbi mean hash mark line ball begin plai line parallel distanc side line mark broken line plai blown dead ball hash mark ball spot blown dead plai plai end hash mark ball spot nearer hash mark h-back player list roster depth chart fullback athlet pass-catch abil plai hybrid fullback tight hero term penn state footbal team refer strong safeti hike synonym snap handoff pass center begin plai scrimmag holder player hold ball upright place kick backup quarterback superior ball-handl abil punter abil catch long snap hold kind hold offens hold illeg block player oppos team grab hold uniform bodi defens hold call defens player hold offens player activ make attempt catch ball defens player imped offens player act catch ball sever foul pass interfer home method schedul oppon team plai game team home stadium colleg footbal confer big team plai team year home schedul plai oppon year row rotat oppon team method schedul non-confer oppon roughli equal skill ticket revenu split evenli schedul team calibr higher-r team plai home cash payout team hook later hook ladder trick plai receiv wide receiv run hook pattern move line scrimmag catch later ball player gener receiv run direct famou plai bois state epic fiesta bowl win oklahoma huddl on-field gather member team order secretli commun instruct upcom plai hurry-up offens offens strategi design gain yardag run time clock involv make plai huddl techniqu defens team off-bal format format includ fullback tailback line fullback front tailback line refer hous line side fullback refer illeg format offens player line line scrimmag count ball snap illeg format incomplet pass pass ball player legal caught inbound line hash mark indirect snap plai ball hand quarterback thrown ballcarri center direct snap plai name quarterback act intermediari relai ball ballcarri refer format snap modern format indirect snap format explod popular world war inelig receiv player offens allow catch pass situat offens linemen receiv team penal catch ball except ball tip player player path close refer side field ball snap ballcarri path cross neutral zone oppon run gener rush defens player put move rush movement ball player direct player cut player backfield throw hand ball place snap pass handoff revers call scissor plai revers plai handoff intent ground type illeg pass thrown intend receiv chanc complet offens player sole purpos conserv time loss yardag foul cost offens loss yard occur yard line scrimmag yard spot foul foul commit zone penalti safeti intent ground call case spike hand hand snap nfl ncaa rule quarterback tackl box imaginari area tackl time pass ball travel line scrimmag tackl box pocket intercept legal catch pass thrown oppos player iwfl independ women footbal leagu jack interior lineback ilb format plai weak side format jumbo offens packag includ tight end full similar heavi jumbo fullback replac tight goal line format miami packag tight end lineback england patriot mike vrabel career regular season td offens lineman nfl player report elig receiv lineman lineback gener wear elig number kick verb strike ball deliber foot noun action produc punt place kick drop kick kicker player special placekick field goal kick off kickoff free kick start restart game touchdown field goal kickoff place kick american canadian footbal drop kick american footbal kick return player receiv team special field kick run risk plai quarterback kneel receiv snap plai run clock call knee later pass letterman letterwinn player award letter excel activ varsiti sport specif requir vari school sport encarta retriev januari univers delawar retriev januari line scrimmag scrimmag line vertic plane parallel goal line ball put plai scrimmag team american footbal line scrimmag point ball closest line line scrimmag call offens line scrimmag defens line scrimmag shorten line line gain line parallel goal line ball dead entitl offens seri down line yard advanc ball snap previou goal line yard lineback lb player posit defens lineback typic plai yard defens linemen versatil player field defend run pass defens call blitz type lb middl lineback mlb lineback olb format lineback olb design rush lineback rush passer plai lineman defens offens posit line scrimmag offens player snap ball center player side guard player tackl player line end vari unbalanc line defens linemen end tackl linemen linemen guard rare profession footbal goal-lin defens high school colleg live ball ball plai player possess ball live plai scrimmag free kick includ kickoff long snapper center special long accur snap requir punt field goal attempt team emploi specialist long snapper requir normal center perform duti loos ball ball plai player possess includ ball flight later pass lost gem term coin undraft free agent plai steal steal draft lost gem sign draft notabl exampl jake delhomm aaron stecker greg camarillo man coverag man-to-man coverag player offens move parallel line scrimmag snap american footbal offens player motion time move line scrimmag snap player line scrimmag canadian footbal motion move direct long line scrimmag snap man-to-man coverag defens player pass coverag typic lineback defens back cover specif player pure man coverag rare defens typic mix man zone coverag margin victori total differ point game express possess win team marti ball conserv gameplan involv offens base halfback pass game advanc run game great emphasi defens popular term marti schottenheim approach coach format fullback tailback max protect modif pass plai combin shotgun format tight back line scrimmag pass protect run pass rout obviou blitz situat give quarterback maximum protect pocket good hold blitz leav quarterback receiv throw player secondari defend logic plai stem player suppos lack defens receiv randi moss duo histor joe rice calib complet receiv close guard defend redskin head coach joe gibb tight format protect qb unstopp blitzer lawrenc taylor colt septemb access march charl nick sportsillustr cnn august access mike mlb middl lineback format format mike interior lineback ilb plai strong side format mike respons defend interior gap curl zone mike leader defens bright quarterback call audibl defens irrelev final player draft class drafte mo jack interior lineback ilb format plai weak side format muff loos ball drop mishandl player attempt gain possess muf punt occur uncontrol touch footbal punt recov advanc kick team nation footbal leagu nfl largest profession american footbal leagu team nation collegi athlet associ ncaa princip govern bodi colleg sport includ colleg footbal nation associ intercollegi athlet naia govern bodi colleg sport includ colleg footbal member school tend smaller ncaa neutral zone region line scrimmag free kick restrain line nfl nation footbal leagu nfl europa nfl european spring leagu fold season nickel extra defens name coin worth cent popular miami dolphin common good unsuccess unsuccess field goal attempt no-huddl offens tactic offens quickli form line scrimmag huddl plai nose tackl tackl defens line line center nose offens team team possess ball offsid infract rule requir team side restrain line ball put plai offsid call defens team scrimmag kick team free kick down canadian footbal time ball kick teammat ball person held ball place kick format format offens team run backfield quarterback elig receiv line scrimmag onsid kick plai kick team recov kick ball option type plai quarterback option hand keep later pass back type format plai action tripl option veer option counter option team run option plai special plai pass run pat point touchdown packag group player field plai nickel packag substitut cornerback lineback defens lineman refer nickel jumbo packag substitut wide receiv tight pancak hard block leav block player ly flat field statist record nfl nfl comput game statist determin good blocker pass interfer player illeg hinder elig receiv opportun catch pass passer rate quarterback rate numer measur perform quarterback formul player complet percentag pass yard touchdown intercept pass plai plai pass pass protect block offens line back quarterback time space throw ball pick player block player describ intercept pass pass offens pick defens pistol format hybrid version shotgun quarterback line yard center run line quarterback place kick kick ball stationari ground legal tee plai plai action plai clock timer increas pace game plai offens team snap ball time expir receiv yard delai game foul nfl second second time plai field field plai pocket area offens side line scrimmag offens linemen attempt prevent defens player reach quarterback pass plai pooch kick punt kickoff deliber kick full forc attempt limit abil return team return ball templat error argument titl requir mallori bill don nehlen complet guid special team american footbal coach associ posit place player plai rel teammat role fill player possess ball offens number down ultim result score turn-ov physic control ball pass fumbl preseason nfl game august count final team stand game pick final team roster star player limit plai time preseason prevent defens defens strategi util deep zone coverag order prevent big pass plai happen field expens give yard shorter distanc hail mari plai game defend team protect lead disparag fan john madden legendari player coach comment quot prevent defens prevent win pro set offens format back line side-by-sid yard quarterback side quarterback pull term describ offens lineman block player front step move line pull block player trap sweep pump fake quarterback fake pass ball hand attempt fool defens team punt kick ball drop kick reach ground give ball opposit offens down field punt return punt field receiv team advanc field posit punt return gener attempt move ball field altern signal fair catch ball zone touchback punter kicker special punt oppos place kick quarter period plai standard game last fifteen game clock minut gener take longer clock continu run tie quarter result overtim quarterback qb offens player line center take snap quarterback controversi public outcri fan media start quarterback perform par back-up quarterback perform expect exampl histori includ san francisco steve young joe montana washington doug william jai schroeder england tom bradi drew bledso possibl infam buffalo rob johnson doug fluti quarterback rate passer rate quarterback sneak plai commonli short yardag goal line situat quarterback quickli snap ball run center quarter defens defens format defens back linemen lineback quick kick unexpect punt recept player catch receiv ball red flag weight red marker thrown field coach offici plai review refer challeng flag red zone area yard line goal defens team refere offici direct offici field offici regular season colleg footbal portion season schedul school exclud bowl game confer championship play-off game nfl footbal regular season defin week restrain line team respect line scrimmag return act progress ball field chang possess kick intercept return intercept touchdown return yard yard gain advanc ball plai chang possess punt kickoff turnov fumbl intercept revers offens plai run carri ball side field hand toss ball teammat exclus wide receiv run direct contrast ball hand wide receiv man motion direct plai revers road game game plai oppon home stadium game neutral site gener consid road game home run shoot offens philosophi design forc defens show hand prior snap ball split receiv send motion receiv run pattern base plai defend predetermin plan run rb player posit offens term refer halfback tailback fullback consid runningback run plai plai offens attempt advanc ball pass rush rush averag yard carri averag quotient player total rush yard divid number rush attempt sack tackl ball carrier intend throw pass sack award player forc fumbl ball ball carrier bound line scrimmag appar intend pass plai term gain currenc ca safeti player posit defens free safeti strong safeti method score worth point down oppos ballcarri zone forc oppos ballcarri zone bound forc offens team fumbl ball exit zone safeti award offens team commit foul zone safeti team score kick ball score team line safeti score score point point nfl kickoff safeti valv receiv job open short pass case receiv cover sam strong side lineback run gener fast good juke make defend oppos run purpos scrambl call pass plai quarterback run pocket attempt avoid sack give receiv time open attempt gain posit yard run screen pass short pass receiv blocker front receiv plai run wide receiv tight screen call screen pass wide receiv screen run screen reason case run screen plai design pass rusher offens linemen leav defend posit plai plai emploi defus pass rush case run screen wide receiv screen faster develop plai design catch defens guard scrimmag plai scrimmag secondari refer defens backfield specif safeti cornerback primarili respons pass coverag defens shield punt men line line scrimmag immedi start cover punt offens player stai guard punter shift offens player move time snap player move shift complet stop prior snap shoot action lineback defens blitz shotgun format format offens team line start plai format quarterback receiv snap yard center sidelin line mark side field adject field sidelin side zone area hash mark sidelin singl wing term describ divers set format fashion highli popular world war ii typic unbalanc line direct snap wingback singl wing ed format wingback adjoin tight center hand ball quarterback hold hand leg center slant receiv rout slant rout receiv run straight field yard plant foot hard full stride turn degre quarterback stapl west coast offens wco player yard yard move pass variat includ quick slant player plant turn snap run slow zone rout receiv run yard downfield lineback turn gruesom tackl hit slot area split offens line pass receiv line slot snap ball call slotback slot receiv snap handoff pass center begin plai scrimmag snap count hut sound quarterback signal snap sneak offens plai quarterback immedi receiv snap dive ball plai team short gain reach goal line line gain special team unit handl kickoff punt free kick field goal attempt man team player spike plai quarterback throw ball ground immedi snap technic incomplet pass stop clock note spike consid intent ground quarterback center immedi snap penalti sacrif run spike plai presum plai team immedi afterward occasion time left game quarterback choic spike ball run regular plai spike run clock case quarterback nfl quarterback regular plai fail rose bowl ryan leaf spike ball inadvert ran clock plai split-t format gap offens guard tackl larg gap center guard split distanc feet adjac offens linemen wide larg gap player narrow gap small split player posit offens receiv line line scrimmag yard offens linemen term rare american footbal long replac wide receiv wideout distinct receiv line squib kick type kickoff ball intention kick ground typic bounc ground time pick hope prevent long return ball pick oppos design kickoff return starter player plai posit game season depend posit game situat player replac share time player game quarterback start game replac backup quarterback game one-sid running-back start game share time run specif situat provid opportun rest game steal case player bust player draft expect draft end great player england patriot tom bradi matt light asant samuel dan koppen unexpect player draft notabl punter rai gui great punter kicker draft earlier late-round stick pole attach chain chain crew measur seri down line gain stiff-arm straight-arm ballcarri ward would-b tackler push straight arm strong format tailback line deep quarterback fullback line offset strong side format strong safeti ss kind safeti defens oppos free safeti central defens origin term line strong side field cover tight modern usag term central defens respons run pass support slightli favor run support strong side simplist speak side field left player depend format team team tight strong side side field tight line offens packag tight tight strong side side field offens player line scrimmag stuff tackl ball carrier run plai line scrimmag compar sack stunt tactic defens linemen switch role attempt blocker defend start power rush stunt defend push lineman ideal pick free blocker sweep run plai blocker lead run design plai depend number blocker design plai refer power sweep left format classic offens format quarterback center run back quarterback form numer variat develop includ split-t wing-t player white tackl ball carrier tackl act forc ball carrier ground player posit line offens tackl defens tackl dt linemen knee ball carrier end plai deliber touch knee ground case touchback receiv team ball quarterback situat lead safe margin desir run quarter clock offens doesn't feel good posit score prefer simpli run clock head locker room half-tim call kneel notabl situat player give touchdown run knee run clock opposit timeout left ball run ball preserv lead brian westbrook dalla cowboi tackl box area offens tackl line prior snap tailback tb player posit offens farthest deepest kick format refer run offens three-and-out offens team fail gain plai drive forc punt fourth three-point stanc lineman stanc point ground word feet hand tight te player posit offens receiv line line scrimmag offens tackl tight end blocker run plai run rout stai block pass plai time possess amount time team ball possess rel team minut game team possess ball team divid time ball minut team minut time possess advantag posit highli correl win loss team domin time possess good defens oppos team offens mount long drive solid offens good run game run plai clock run pass plai total offens statist combin yard rush yard pass touchback act down ball goal line kickoff punt ball propel goal oppos team accomplish wai receiv team player catch ball endzon drop knee ball touch part endzon ball carri endzon possess team touchback team down ball line touchdown plai worth point accomplish gain legal possess ball oppon zone team chanc extra point kick ball point convers trap basic block pattern defens lineman allow line scrimmag block angl pull lineman design gain prefer block angl larger hole line true freshman player year high school contrast redshirt freshman practic team year plai game trick plai varieti plai decept catch team offguard famou trick plai includ fake punt kick statu liberti flea-flick surpris on-sid kick halfback pass plai plai danger upper level team skill experi fool long trip format wide receiv line side field scrimmag time number award team score point touchdown close oppon goal line line nfl yard line ncaa nfh offens code defens score addit point call convers convert canadian extra point point touchdown pat turn ball down team down score make relinquish ball team turnov loss ball team team result fumbl intercept tweener player plai posit gift athlet possess size posit quick two-level defens defens oppos usual level defens organ gener aggress defens normal two-point convers plai worth point accomplish gain legal possess ball oppon zone run pass touchdown unbalanc line refer offens format equal number linemen side ball gain block advantag side format typic tackl guard line side ball common align center refer quarterback line center snap contrast shotgun format kickoff player return team call except design kickoff return stand furthest start point kick team veer type option offens back backfield guard tackl refer split back allow tripl option plai give quarterback walk-on colleg non-scholarship player player receiv scholarship plai footbal weak format tailback line deep quarterback fullback line offset weak side format weak side tight side field tight offens packag side field fewest offens player line scrimmag west coast offens offens philosophi short high-percentag pass core ball-control offens invent cincinnati coach paul brown mid wide nfl origin popular san francisco er coach bill walsh origin west coast offens term don coryel sport illustr articl accident confus coryel titl offens walsh titl stuck coryel offens air coryel basi walsh offens short rout receiv deliv ball time accur short pass replac run reli heavili rac yardag elig receiv plai maxim quarterback option spread ball target defens confus wheel rout pass rout receiv run travel parallel line scrimmag take field wide adject mean sidelin kick wide miss side field perspect offens wide receiv wr player posit offens split wide yard format plai line scrimmag split yard flanker weak side lineback win-loss ratio win lose express pair number mean win loss wing wb player posit offens format flexbon line tight yard line scrimmag versatil posit receiv blocker runner revers wishbon format involv run back line quarterback shape similar shape wishbon term plai call refer split wide receiv line line scrimmag split jet post tell run post rout yac short yard catch quarterback length pass distanc line scrimmag receiv caught ball yac yac distanc receiv ran catch screen plai boost yac effect due short pass receiv run increas yardag term offens plai call refer tight buffalo boot corner tell run corner rout yard yard linear distanc direct goal field yard zone includ typic team requir advanc yard order set down yard line mark field distanc yard nearest goal line yardag amount yard gain lost plai game season career yard gain yardag yard scrimmag amount yard gain offens team advanc ball line scrimmag yellow flag weight yellow marker thrown field offici signifi foul commit offens defens team commonli refer flag term offens plai call refer flanker wide receiv line line scrimmag panther gun slant tell run call fly streak rout zebra colloqui term offici refer black-and-whit stripe uniform zone defens defens player pass coverag cover zone field individu player pure zone packag seldom defens emploi combin zone man coverag zone blitz defens packag combin blitz zone pass coverag defens choos blitzer offens show format pass coverag requir featur unpredict blitz lineback defens back invent coach dick lebeau zone read type option offens quarterback tail line approxim side side quarterback receiv snap player cross path motion hand-off base read defens reaction quarterback complet handoff pull ball run +flowchart graphic repres algorithm mathemat comput linguist relat disciplin algorithm type effect method definit list well-defin instruct complet task initi state proce well-defin seri success state eventu termin end-stat transit state necessarili determinist algorithm probabilist algorithm incorpor random concept algorithm origin mean record procedur solv mathemat problem find common divisor number multipli number algorithm babylonian earli bc partial formal concept began attempt solv entscheidungsproblem decis problem david hilbert pose subsequ formal frame attempt defin effect calcul kleen effect method rosser formal includ recurs function alonzo church lambda calculu emil post formul alan ture ture machin etymolog persian astronom mathematician wrote treatis arab ad calcul hindu numer algor translat latin centuri de numero indorum titl intend book number indian translat rendit author genit case peopl misunderstand titl treat latin plural led word algorithm latin algorismu come calcul method intrus due fals cognat greek mean number algorithm inform definit gener accept formal definit algorithm exist deriv clue issu involv inform mean word quotat boolo jeffrei boldfac ad human write fast long small list member infinit set write name notat human equal case infinit set give explicit instruct determin nth member set arbitrari finit instruct explicitli form comput machin human capabl carri elementari oper symbol boolo jeffrei word infinit countabl integ extend infin boolo jeffrei algorithm impli instruct process creat output integ arbitrari input integ integ theori chosen infin expect algorithm algebra equat arbitrari input variabl produc output algorithm character word algorithm impli order addit concept algorithm defin notion decid logic notion central explain formal system start small set axiom rule logic time algorithm requir complet measur appar relat customari physic dimens uncertainti character ongo work stem unavail definit algorithm suit concret sens abstract usag term formal algorithm algorithm essenti comput process inform comput program essenti algorithm tell comput specif step perform specif order order carri task calcul paycheck print report card algorithm consid sequenc oper perform turing-complet system author assert thesi includ savag gurevich ture inform argument favor thesi justifi stronger thesi algorithm simul ture machin gurevich savag algorithm comput process defin ture machin gurevich typic algorithm process inform data read input sourc devic written output sink devic store process store data regard part intern state entiti perform algorithm practic state store data structur algorithm requir intern data specif oper set call abstract data type comput process algorithm rigor defin appli circumst aris condit step systemat dealt case-by-cas criteria case clear comput algorithm precis list precis step order comput critic function algorithm instruct assum list explicitli start top bottom idea formal flow control discuss formal algorithm assum premis imper program common concept attempt describ task discret mechan mean uniqu concept formal algorithm assign oper set variabl deriv intuit memori scratchpad assign altern concept constitut algorithm function program logic program termin writer restrict definit algorithm procedur eventu finish categori kleen place decis procedur decis method algorithm question kleen includ kleen includ procedur run stop procedur call comput method knuth calcul procedur algorithm kleen kleen note method eventu exhibit object kleen minski pertin observ determin algorithm eventu termin start state length process advanc decis process time answer minski method shown alan ture celebr result undecid so-cal halt problem algorithm procedur determin arbitrari algorithm termin start state analysi algorithm likelihood termin call termin analysi exampl proper subtract partial function happen algorithm fail input number non-termin ii product junk output wrong format consid number number halt end comput output iii wrong number iv combin kleen propos product junk failur produc number solv algorithm detect instanc produc error messag suggest prefer forc algorithm endless loop kleen davi subtract algorithm fix algorithm proper subtract davi logic outcom true fals kleen propos logic symbol undecid kleen algorithm produc confront proposit problem wrong answer solv independ proof algorithm induct requir auxiliari evid algorithm correctli defin mu recurs function form induct proof argument comput termin uniqu minski express algorithm algorithm express kind notat includ natur languag pseudocod flowchart program languag natur languag express algorithm tend verbos ambigu rare complex technic algorithm pseudocod flowchart structur wai express algorithm avoid ambigu common natur languag statement remain independ implement languag program languag primarili intend express algorithm form execut comput defin document algorithm wide varieti represent express ture machin program sequenc machin tabl finit state machin state transit tabl flowchart state diagram form rudimentari machin code assembl code call set quadrupl ture machin help descript algorithm supplement small flow chart state diagram natural-languag arithmet express written block diagram summar flow chart accomplish represent algorithm gener class accept level ture machin descript sipser high-level descript implement descript formal descript implement algorithm intend implement comput program algorithm implement mean biolog neural network human brain implement arithmet insect food electr circuit mechan devic simplest algorithm find largest number unsort list number solut necessarili requir number list simpl algorithm state high-level descript english prose high-level descript assum item largest remain item list larger largest item note note item largest list process complet formal descript written prose closer high-level languag comput program formal code algorithm pseudocod pidgin code algorithm input non-empti list number output largest number list largest item list item largest largest item return largest loos shorthand instanc largest item mean largest item return termin algorithm output complex algorithm euclid algorithm greatest common divisor earliest algorithm algorithm analysi import resourc time storag requir algorithm method develop analysi algorithm obtain quantit answer algorithm time requir big notat length list time algorithm rememb valu largest number current posit input list space requir space requir store input number count log count algorithm complet task set instruct time space effort recip make potato salad peel potato boil potato present step revers order call step repeat potato potato salad readi eaten analysi studi algorithm disciplin comput scienc practic abstractli specif program languag implement sens algorithm analysi resembl mathemat disciplin focus underli properti algorithm specif implement pseudocod analysi simplest gener represent class wai classifi algorithm merit classif implement classifi algorithm implement mean recurs iter recurs algorithm invok refer repeatedli condit match method common function program iter algorithm repetit construct loop addit data structur stack solv problem problem natur suit implement tower hanoi understood recurs implement recurs version equival possibl complex iter version vice versa logic algorithm view control logic deduct notion express algorithm logic control kowalski logic compon express axiom comput control compon determin deduct appli axiom basi logic program paradigm pure logic program languag control compon fix algorithm suppli logic compon appeal approach eleg semant chang axiom defin chang algorithm serial parallel distribut algorithm discuss assumpt comput execut instruct algorithm time comput call serial comput algorithm design environ call serial algorithm oppos parallel algorithm distribut algorithm parallel algorithm advantag comput architectur processor work problem time distribut algorithm utilis multipl machin connect network parallel distribut algorithm divid problem symmetr asymmetr subproblem collect result resourc consumpt algorithm processor cycl processor commun overhead processor sort algorithm parallel effici commun overhead expens iter algorithm gener paralleliz problem parallel algorithm call inher serial problem determinist non-determinist determinist algorithm solv problem exact decis step algorithm non-determinist algorithm solv problem guess typic guess accur heurist exact approxim algorithm reach exact solut approxim algorithm seek approxim close true solut approxim determinist random strategi algorithm practic hard problem classif design paradigm classifi algorithm design methodolog paradigm number paradigm categori includ type algorithm commonli paradigm includ divid conquer divid conquer algorithm repeatedli reduc instanc problem smaller instanc problem recurs instanc small solv easili divid conquer merg sort sort segment data divid data segment sort entir data obtain conquer phase merg simpler variant divid conquer call decreas conquer algorithm solv ident subproblem solut subproblem solv bigger problem divid conquer divid problem multipl subproblem conquer stage complex decreas conquer algorithm decreas conquer algorithm binari search algorithm dynam program problem show optim substructur mean optim solut problem construct optim solut subproblem overlap subproblem mean subproblem solv problem instanc quicker approach call dynam program avoid recomput solut comput shortest path goal vertex weight graph shortest path goal adjac vertic dynam program memoiz main differ dynam program divid conquer subproblem independ divid conquer subproblem overlap dynam program differ dynam program straightforward recurs cach memoiz recurs call subproblem independ repetit memoiz dynam program solut complex problem memoiz maintain tabl subproblem solv dynam program reduc exponenti natur problem polynomi complex greedi method greedi algorithm similar dynam program algorithm differ solut subproblem stage greedi choic moment greedi method extend solut decis feasibl decis algorithm stage base current local optimum decis decis previou stage exhaust give accur answer problem work fastest method popular greedi algorithm find minim span tree kruskal linear program solv problem linear program specif inequ involv input attempt maxim minim linear function input problem maximum flow direct graph state linear program solv algorithm simplex algorithm complex variant linear program call integ program solut space restrict integ reduct techniqu involv solv difficult problem transform problem asymptot optim algorithm goal find reduc algorithm complex domin result reduc algorithm select algorithm find median unsort list involv sort list expens portion pull middl element sort list cheap portion techniqu transform conquer search enumer problem plai chess model problem graph graph explor algorithm specifi rule move graph problem categori includ search algorithm branch bound enumer backtrack probabilist heurist paradigm algorithm belong class fit definit algorithm loos probabilist algorithm choic randomli pseudo-randomli problem fact proven fastest solut involv random genet algorithm attempt find solut problem mimick biolog evolutionari process cycl random mutat yield success gener solut emul reproduct surviv fittest genet program approach extend algorithm algorithm solut problem heurist algorithm gener purpos find optim solut approxim solut time resourc limit practic find perfect solut local search tabu search simul anneal algorithm class heurist probabilist algorithm vari solut problem random amount simul anneal allud metallurg term mean heat cool metal achiev freedom defect purpos random varianc find close global optim solut simpli local optim idea random element decreas algorithm settl solut classif field studi field scienc problem effici algorithm relat problem field studi class search algorithm sort algorithm merg algorithm numer algorithm graph algorithm string algorithm comput geometr algorithm combinatori algorithm machin learn cryptographi data compress algorithm pars techniqu field tend overlap algorithm advanc field improv complet unrel field dynam program origin invent optim resourc consumpt industri solv broad rang problem field classif complex algorithm classifi amount time complet compar input size wide varieti algorithm complet linear time rel input size exponenti amount time wors halt addition problem multipl algorithm differ complex problem algorithm effici algorithm map problem problem ow suitabl classifi problem algorithm equival class base complex algorithm classif comput power classifi algorithm comput power typic collect class algorithm recurs class algorithm includ algorithm ture comput function class algorithm possibl restrict comput resourc time memori comput class algorithm ture comput function obtain algorithm run polynomi time suffic import type comput exhaust ture comput function class algorithm implement primit recurs function class burgin gener definit algorithm relax common requir output algorithm comput function determin finit number step defin class algorithm class algorithm comput function comput ture machin burgin close relat studi method hypercomput legal issu algorithm patent unit state claim consist sole simpl manipul abstract concept number signal constitut process uspto algorithm patent gottschalk benson practic applic algorithm patent diamond diehr applic simpl feedback algorithm aid cure synthet rubber deem patent patent softwar highli controversi highli critic patent involv algorithm data compress algorithm lzw patent addition cryptograph algorithm export restrict export cryptographi histori develop notion algorithm origin word word algorithm centuri persian mathematician abu abdullah muhammad ibn musa al-khwarizmi work introduc indian numer algebra concept work baghdad time centr scientif studi trade word algor origin refer rule perform arithmet arab numer evolv european latin translat al-khwarizmi algorithm centuri word evolv includ definit procedur solv problem perform task discret distinguish symbol track flock sack grain monei ancient talli accumul stone mark scratch stick make discret symbol clai babylonian egyptian mark symbol eventu roman numer abacu evolv dilson talli mark promin unari numer system arithmet ture machin post-tur machin comput manipul symbol place holder number algebra work ancient greek geomet persian mathematician al-khwarizmi consid father algebra western european mathematician culmin leibniz notion calculu ratiocin ca mechan contriv discret state clock bolter credit invent weight-driven clock kei invent europ middl ag verg escap bolter tick tock mechan clock accur automat bolter led immedi mechan automata begin thirteenth centuri final machin differ engin analyt engin charl babbag countess ada lovelac bolter jacquard loom hollerith punch card telegraphi telephoni electromechan relai bell newel jacquard loom precursor hollerith card punch card switch root tree lead develop comput bell newel diagram cf davi mid- telegraph precursor telephon world discret distinguish encod letter common sound late ticker tape ca hollerith card censu teletyp ca baudot code tape network electromechan relai invent work georg stibitz inventor digit ad devic work bell laboratori observ mechan calcul gear home even intend test idea tinker stibitz construct binari ad devic vallei new davi observ import electromechan relai binari state open close mathemat mid- symbol rule rapid success mathemat georg bool gottlob frege giusepp peano reduc arithmet sequenc symbol manipul rule peano principl arithmet present method attempt axiomat mathemat symbol languag van heijenoort ff heijenoort frege kudo import singl work written logic lingua languag written special symbol pure thought free rhetor embellish construct specif symbol manipul definit rule van heijenoort work frege simplifi amplifi alfr north whitehead bertrand russel principia mathematica paradox time number disturb paradox appear literatur burali-forti paradox russel paradox richard paradox dixon cf kleen result consider led kurt paper specif cite paradox liar complet reduc rule recurs number effect calcul effort solv entscheidungsproblem defin precis hilbert mathematician set defin meant effect method effect calcul effect calcul calcul succe rapid success appear alonzo church stephen kleen rosser cf footnot alonzo church finely-hon definit gener recurs work gödel act suggest jacqu herbrand cf gödel princeton lectur subsequ simplif kleen ff ff church proof ff entscheidungsproblem unsolv emil post definit effect calcul worker mindlessli list instruct move left sequenc room mark eras paper observ paper yes-no decis instruct cf formul post alan ture proof entscheidungsproblem unsolv machin ture ff effect ident post formul barklei rosser definit effect method term machin rosser kleen propos precursor church thesi call thesi kleen year kleen renam thesi church thesi kleen propos ture thesi kleen emil post alan ture remark coincid men know describ process work comput yield virtual ident definit emil post action comput human symbol space alan work preced stibitz unknown stibitz knew work ture biograph believ model deriv youth interest dreamt invent typewrit boi ture typewrit begun meant call typewrit hodg preval mors code telegraphi ticker tape machin teletyp conjectur influenc ture model comput call ture machin begin post analysi human comput whittl simpl set basic motion state mind continu step creat machin model comput number ture ture reduct yield chang necessarili invok chang state mind gener singl oper year ture expand analysi thesi definit forc express rosser kleen barklei rosser boldli defin mathemat manner boldfac ad rosser footnot refer work church kleen definit church unsolv problem elementari number theori herbrand gödel recurs gödel famou paper formal undecid proposit principia mathematica relat system post ture comput stephen kleen defin now-fam thesi church-tur thesi context boldfac origin histori number effort direct refin definit algorithm activ on-go issu surround foundat mathemat church-tur thesi philosophi mind argument artifici intellig algorithm character +pea annual plant botan annual plant plant germin flower di year true annual live longer year prevent set seed seedless plant consid annual flower garden annual refer plant grown outdoor spring summer surviv grow season food plant grown annual includ domest grain perenni biennial grown garden annual conveni consid cold hardi local climat carrot celeri parslei true biennial grown annual crop edibl root petiol leav tomato sweet potato bell pepper tender perenni grown annual ornament perenni commonli grown annual impatien wax begonia snapdragon pelargonium coleu petunia biennial grown annual pansi hollyhock life cycl annual occur month speci month oilse rapa week bank fluoresc lamp school classroom desert annual term ephemer life cycl week spend year seed surviv dry condit exampl true annual includ corn lettuc pea cauliflow watermelon bean zinnia marigold summer annual summer annual sprout flower die spring summer fall lawn weed crabgrass summer annual winter annual winter annual plant annual life span tend german fall winter bloom late autumn fall winter earli spring plant grow bloom cool season plant dormant annual seed form wait warmer weather germin winter annual die flower set seed seed wait germin soil temperatur cool fall winter winter annual typic grow ground shelter coldest night snow cover warm period winter growth snow melt common winter annual includ deadnettl chickwe winter cress winter annual import ecolog provid veget cover prevent soil eros winter earli spring cover exist provid fresh veget anim bird feed consid weed garden viewpoint die soil temperatur warm earli late spring plant dormant leaf compet cultiv plant winter annual consid pest commerci agricultur host insect pest fungal diseas ovari smut sp attack crop cultiv iron properti prevent soil dry problemat commerci agricultur +wiktionari atla atla wiktionari free dictionari atla modern usag commonli refer collect map tradition bound book form atla refer greek mytholog atla mytholog titan bore sphere heaven inspir wide imag man carri great sphere shoulder atla king atlanti scienc astronomi atla moon moon saturn atla crater promin impact crater moon atla star tripl star system pleiad cluster biologi book flora fauna area region atlas flora fauna britain ireland atla anatomi topmost cervic vertebra human spine atla beetl rhinocero beetl genu atla atla moth larg saturniid moth atla cedar larg cedar tree nativ atla mountain algeria morocco atla flycatch bird world flycatch famili atla bear speci bear nativ africa extinct testudo atla atla turtl extinct speci turtl pleistocen period physic atla experi particl detector lhc cern argonn tandem linear acceler system particl acceler argonn nation laboratori mathemat atla topolog collect local coordin chart mathemat comput atla comput manchest earli comput built univers manchest titan comput atla successor atla autocod program languag develop atla comput univac atla univac atla ii atla transform languag omg standard perform model transform asp net ajax codenam atla set asp net extens provid ajax function atla terrain engin develop garag game torqu shader engin automat tune linear algebra softwar commonli atla optim bla implement atla ti qualit analysi softwar textur atla geographi atla mountain mountain rang northwest africa atla illinoi unincorpor commun western pike counti illinoi unit state atla district art entertain district locat northeast neighborhood washington unit state entertain atla game compani publish role-plai card game atla album album mexican electro-pop band kinki advanc technolog leisur applic simul larg hydraul motion simul theme park industri atla band rock band christchurch zealand literatur press atla shrug ayn rand atla book photographi german artist gerhard richter atla american author william vollmann atla magazin turkish monthli magazin geographi environ histori cultur comic atla comic compani evolv marvel comic atla comic fiction charact marvel comic member thunderbolt atla comic seri comic book seri dylan horrock atla seaboard comic line comic publish seaboard period agent atla marvel comic mini-seri jeff parker compani atla aircraft corpor south african militari aircraft manufactur atla telecom worldwid commun compani atla elektronik gmbh naval marin electron system busi base bremen germani atla van line move van compani atla air cargo airlin base purchas york atla blue low-cost airlin base marrakech morocco atla copco swedish rock drill manufactur polar atla histor swedish diesel maker part atla copco histor american diesel engin builder atla media corpor non-fict entertain compani base york citi usa atla model railroad maker scale railroad model atla car manufactur compani manufactur small railroad locomot atla ventur intern early-stag ventur capit firm atla light truck greek vehicl manufactur atlasjet airlin turkei atla corpor architectur compani peopl meir atla rabbi lithuania founder telz yeshiva charl atla famou bodybuild toni atla born profession wrestler bodybuild powerlift teddi atla born well-known box trainer fight comment natacha atla born belgian femal singer jame atla found editor lipper vike penguin live seri rapper phoenix arizona atla american profession wrestler militari atla cheetah fighter aircraft south african air forc atla oryx medium-s util helicopt manufactur atla aircraft corpor south africa abbrevi test languag system program languag autom test equip atla simul system conduct militari command post exercis cpx royal thai armi armstrong whitworth atla armi air cooper aeroplan unit state marin corp helicopt squadron atla atla vener line space launch vehicl atla architectur support column sculpt form man farnes atla nd-centuri roman marbl copi hellenist sculptur titan atla atla languag subgroup northern berber languag spoken atla mountain morocco atla township michigan usa atla uranium mill decommiss uranium mill moab utah gm atla engin famili modern inlin piston engin truck gener motor cf atla mexican profession footbal club radio atla radio station montenegro atla vampir nicknam assail unsolv vampir murder stockholm sweden atla econom research foundat incub free market tank atla automobil american automobil manufactur atla automobil origin la coccinel mini-car franc nissan atla japanes light truck atla south devon railwai dido class steam locomot atla book size standard atla uk market light commerci vehicl van +kate nash song mouthwash song ska-punk band mouthwash band mouthwash mouth rins product oral hygien antisept mouth rins claim kill bacteri plaqu cari gingiv bad breath mouth rins fluorid protect tooth decai gener agre mouthwash elimin brush floss jc meta-analysi six-month studi agent dent assoc dec pmid tal rosenberg estim dental plaqu level gingiv inflamm simpl oral rins techniqu jun pmid absenc ready-mad mouthwash gargl plain water prefer remov food particl sugar pollut mouth mouth wash remov mucou food particl deeper throat alcohol strong flavor mouth wash cough purpos histori refer mouth rins chines medicin bce treatment gingiv greek roman period mechan cleans common upper class hippocr recommend mixtur salt alum vinegar fischman sl histori oral hygien product year oct pmid jewish talmud date year suggest cure gum ailment dough water oliv oil shifman rosenberg bad major disabl talmud isr med assoc oct pmid anton van leeuwenhoek famou centuri microscopist discov live organ live motil deposit teeth call dental plaqu organ water canal home delft experi sampl ad vinegar brandi result immobil kill organ suspend water rins mouth foul mouthwash vinegar brandi live organ remain dental plaqu conclud correctli mouthwash reach present long kill plaqu organ remain state affair late harald loe time professor royal dental colleg aarhu denmark demonstr chlorhexidin compound prevent build-up dental plaqu reason chlorhexidin effect strongli adher surfac mouth remain present effect concentr hour chlorhexidin dentur disinfect treatment dentur stomat scand dent re commerci interest mouthwash intens newer product claim effect reduc build-up dental plaqu sever gingiv inflamm gum addit fight bad breath solut aim control volatil sulfur compound vsc anaerob bacteria live mouth excret substanc lead bad breath unpleas mouth tast bosi kulkarni gv rosenberg mcculloch ca relationship oral malodor periodont evid independ discret subpopul jan pmid loesch wj microbiolog treatment halitosi pmid usag common involv rins mouth ml fl oz mouthwash time dai brush wash typic swish gargl minut spat brand expector stain bacteria debri kozlovski goldberg gelernt rosenberg efficaci oil water control oral malodor gingiv plaqu jun pmid rosenberg gelernt barki day-long reduct oral malodor two-phas oil water compar chlorhexidin placebo rins jan pmid advis mouthwash hour brush toothpast anion compound toothpast inactiv cation agent present effect time rins gargl bed time rosenberg scienc bad breath sci apr pmid composit activ ingredi commerci brand mouthwash includ thymol eucalyptol je paraskeva van der long-term effect essenti oil dental plaqu gingiv systemat review jul pmid methyl salicyl menthol chlorhexidin glucon ribeiro lg hashizum ln maltz effect formul chlorhexidin reduc level mutan streptococci oral caviti systemat review literatur dent epub mar pmid benzalkonium chlorid chlorid goldberg koni rosenberg effect chlorid microbi adhes polystyren appl environ microbiol jun pmid methylparaben hydrogen peroxid bromid fluorid levi sm updat fluorid fluorosi dent assoc pmid enzym calcium ingredi includ water sweeten sorbitol sucralos sodium saccharin xylitol doubl bacteri inhibitor scheie aa effect mouth rins xylitol fluorid dental plaqu saliva cari re pmid signific amount alcohol ad carrier flavor provid bite contribut antibacteri effect alcohol content fail breathalyz test rins addit alcohol dry agent worsen chronic bad breath alcohol abus mouthwash assumpt carcinogen charact alcohol clear evid cole rodu mathisen mouthwash oropharyng cancer review epidemiolog dent assoc aug pmid carretero peláez ma esparza gómez gc ruiz mouthwash oral cancer critic analysi literatur med oral mar-apr pmid commerci mouthwash preserv sodium benzoat preserv fresh contain open newer brand alcohol-fre agent oxid agent zinc ion technolog futur bad breath develop salt mouthwash home treatment mouth infect injuri post extract dissolv teaspoon salt cup warm water plain dilut hydrogen peroxid common mouthwash nunn van dyke te efficaci fluorid hydrogen peroxide-bas treatment gingiv random clinic trial jan pmid note commerci mouthwash acid ph scale heartburn acid reflux acid indigest import mouthwash neutral ph avoid irrit fermin carranza carranza clinic periodontolog edit page +imag padlock-silver-medium svg alexand great greek deriv greek word repel shield protect man genit case mean protector men alexand retriev june mega alexandro juli bc june bc health alexand death riddl note month year theoret start moon summer solstic alexand born juli astronom religi civil calendar coincid fourth centuri consequ imposs give date alexand birth alexand iii ancient greek templar marcu pomeroi burstein dolan robert ancient greec polit social cultur histori oxford univers press hammond macedonian state origin institut histori oxford univers press king basileu macedon bc success militari command histori undef battl time death conquer world ancient greek unif multipl city-st ancient greec rule father philip ii macedon labour alexand repeat southern greek rebel philip death alexand conquer achaemenid persian empir includ anatolia syria phoenicia judea gaza egypt bactria mesopotamia extend boundari empir punjab india prior death alexand plan militari mercantil expans arabian peninsula turn armi west carthag rome iberian peninsula origin vision east end world great outer sea boyhood tutor aristotl alexand integr foreign armi lead scholar credit polici fusion encourag marriag soldier foreign marri foreign princess alexand di twelv year constant militari campaign possibl result malaria poison typhoid fever viral enceph consequ alcohol legaci conquest live long usher centuri greek settlement cultur influenc distant area period hellenist ag featur combin greek middl eastern indian cultur alexand featur promin histori myth greek non-greek cultur exploit inspir literari tradit appear legendari hero tradit achil earli life alexand fight lion friend crateru detail wear chlami cape hat centuri mosaic pella museum world view time alexand reconstruct ancient world map centuri bc born pella capit macedon alexand son king philip ii macedon fourth wife olympia epirot princess mother side cousin pyrrhu epiru celebr gener notabl exampl militari geniu side famili h father descend heracl macedon mother descend aeacu neoptolemu achil h alexand h relat philip olympia dreamt son futur birth philip dream seal womb seal lion alarm consult seer determin wife pregnant child charact lion h alexand odd coincid templ artemi ephesu set afir night birth h explan god busi watch alexand care templ historian antiqu arrian curtiu diodoru justin h visit oracl ammon siwa rumor spread oracl reveal alexand father zeu philip support h alexand claim philip avoid bed affin sleep compani snake earli year alexand rais nurs older sister alexand educ strict teacher leonida rel olympia frugal wai extant record reportedli alexand threw larg amount sacrifici incens fire leonida reprimand tell wast incens wish conquer spice bear region year alexand conquest gaza citi persian spice trade rout young king ton myrrh leonida retort aristotl alexand famou import tutor famou philosoph train alexand rhetor literatur stimul interest scienc medicin philosophi gift alexand copi iliad purportedli young king prize pillow dagger alexand ten year thessalian brought hors qualiti sell philip label prodigi turn hors wild man mount young alexand recogn hors shadow sourc fear steed turn sun hors calm young king easili mount rode father peopl impress philip kiss tear joi son seek thee kingdom equal thyself macedon room thee hors name bucephalu mean ox-head possibl refer brand denot hors origin bucephalu alexand companion journei love hors di due ag h sourc claim bucephalu di wound sustain battl india alexand name citi call bucephala ascent macedon sardonyx cameo repres alexand great thought engrav alexand bc cabinet de médaill pari bust alexand roman copi bce statu lysippu louvr museum diodoru alexand sculptur lysippu faith bc philip led attack byzantium leav alexand ag act regent macedon shortli bc philip wife cleopatra eurydic alexand mother olympia epiru cleopatra eurydic true macedonian led polit machin alexand heir throne wed feast attalu uncl bride supposedli gave toast marriag result legitim heir throne macedon alexand respond hurl goblet attalu shout bastard respons phillip drew sword move alexand fell drunken stupor drink couch alexand famous remark man plan conquer greec asia move tabl episod alexand mother left macedon sister name cleopatra remain eventu philip alexand reconcil son return home olympia remain epiru bc alexand fought father decis battl chaeronea city-st athen thebe phillip entrust alexand left wing armi entail face sacr band thebe elit hoplit corp hitherto regard invinc detail battl surviv alexand annihil corp battl philip led wild celebr alexand notabl absent account describ specul alexand person treat demad notabl orat athen oppos athenian align philip draw present peac plan assembl athenian armi vote approv philip content depriv thebe dominion boeotia leav macedonian garrison citadel month leagu corinth form phillip acclaim hegemon hellen bc philip assassin wed daughter cleopatra uncl king alexand epiru theori abound motiv kill common stori present assassin disgrac lover young nobleman pausania oresti held grudg philip king grievanc outrag person believ philip murder plan knowledg involv alexand olympia theori point dariu iii crown king persia philip death armi proclaim alexand ag king macedon greek citi athen thebe forc pledg allegi philip untest king opportun regain full independ alexand move swiftli thebe activ submit appear gate assembl greek isthmu corinth except spartan elect command persia previous bestow father year bc alexand felt free engag thracian illyrian order secur danub northern boundari macedonian kingdom triumphantli campaign north theban athenian rebel alexand react immedi citi hesit thebe decid time resist utmost vigor resist useless citi conquer great bloodsh thebe raze ground territori divid boeotian citi theban sold slaveri alexand spare priest leader pro-macedonian parti descend pindar hous left stand thebe cow athen submiss h special athenian embassi led phocion oppon anti-macedonian faction persuad alexand give demand exil leader anti-macedonian parti demosthen h phocion period conquest fall achaemenid persian empir map alexand empir alexand armi cross hellespont approxim soldier macedon greek city-st mercenari tribut soldier thrace paionia illyria initi victori persian forc battl granicu alexand accept surrend persian provinci capit treasuri sardi proceed ionian coast halicarnassu alexand successfulli wage sieg eventu forc oppon mercenari captain memnon rhode persian satrap caria withdraw sea alexand left caria hand ada ruler caria depos brother pixodaru halicarnassu alexand proceed mountain lycia pamphylian plain assert control coastal citi deni enemi pamphylia onward coast held major port alexand move inland alexand humbl storm pisidian citi ancient phrygian capit gordium alexand undid hitherto unsolv gordian knot feat await futur king asia vivid stori alexand proclaim matter knot undon hack sword version claim sword simpli realiz simplest undo knot simpli remov central peg knot ti alexand mosaic show battl issu hous faun pompeii alexand armi cross cilician gate met defeat main persian armi command dariu iii battl issu bc dariu forc flee battl armi broke left wife daughter mother fabul amount treasur offer peac treati alexand concess land conquer ransom talent famili alexand repli king asia decid territori divis proceed mediterranean coast tyre gaza famou sieg sieg tyre bc alexand attempt lead armi nubia confront brilliant militari format devis warrior queen candac led armi opposit top eleph daunt prospect defeat engag oppos armi conclud withdraw forc chose enter egypt jone david women warrior histori brassei bc alexand welcom liber egypt pronounc son zeu egyptian priest deiti amun oracl siwa oasi libyan desert henceforth alexand refer true father subsequ currenc depict adorn ram horn symbol divin found alexandria egypt prosper capit ptolema dynasti death leav egypt alexand march eastward assyria northern iraq defeat dariu battl gaugamela dariu forc leav field alexand chase arbela dariu fled mountain ecbatana modern hamedan alexand march babylon statuett greek soldier centuri bc burial site north tian shan maximum extent alexand advanc east xinjiang museum china draw babylon alexand susa achaemenid capit captur legendari treasuri send bulk armi persian capit persepoli royal road alexand storm captur persian gate modern zagro mountain sprint persepoli treasuri loot alexand stare crumbl statu xerx decid leav symbol gestur vengeanc stai capit fire broke eastern palac xerx spread rest citi theori abound result drunken accid deliber act reveng burn acropoli athen persian war book arda zoroastrian work compos centuri ad speak archiv avesta zand written prepar gold ink destroi statement treat scholar measur skeptic gener thought centuri avesta transmit oral magi alexand set pursuit dariu anew persian king longer control destini prison bessu bactrian satrap kinsman alexand approach bessu men murder great king declar successor artaxerx retreat central asia launch guerrilla campaign alexand death dariu alexand declar war vengeanc releas greek alli servic leagu campaign allow wish re-enlist mercenari armi three-year campaign bessu satrap sogdiana alexand media parthia aria west afghanistan drangiana arachosia south central afghanistan bactria north central afghanistan scythia process captur refound herat found seri citi call alexandria includ modern kandahar afghanistan alexandria eschat furthest modern tajikistan oppon defeat betrai bc year hostil time alexand adopt element persian dress custom court notabl custom proskynesi symbol kiss hand persian paid social superior practic greek disapprov greek regard gestur provinc deiti believ alexand meant deifi requir cost sympathi countrymen plot life reveal offic philota execut fail bring plot attent death son necessit death father parmenion charg guard treasuri ecbatana assassin command alexand attempt vengeanc infam alexand person slew man save life granicu cleitu black drunken argument central asian campaign plot life reveal instig royal page offici historian callisthen olynthu fallen favor king lead opposit attempt introduc proskynesi implic plot consensu actual involv conspiraci invas india campaign landmark alexand invas southern asia death marriag roxana bactrian cement relat central asian satrapi bc alexand final free turn attent indian subcontin alexand invit chieftain satrapi gandhara north pakistan submit author ambhi greek ruler taxila kingdom extend indu jhelum greek hydasp compli chieftain hilli clan includ aspasioi assakenoi section kamboja classic name indian text ashvayana ashvakayana name refer equestrian natur societi sanskrit root word ashva mean hors refus submit alexand person command shield-bear guard archer led kamboja aspasioi kunar vallei panjkora vallei assakenoi swat buner vallei write modern historian brave peopl hard work alexand stronghold special mention worthington extract narain greec rome fierc contest ensu aspasioi alexand wound shoulder dart eventu aspasioi lost fight enslav assakenoi face alexand armi cavalri infantri eleph curtiu fought brave offer stubborn resist invad stronghold citi ora fort reduc dai bloodi fight alexand wound ankl chieftain fell battl suprem command armi mother stood determin defend motherland extrem assum suprem command militari brought entir women local fight ancient india dr majumdar histori cultur indian peopl ag imperi uniti foreign invas dr mukerje alexand reduc resort polit strategem action betray curtiu alexand slaughter entir popul reduc build rubbl similar manslaught ora stronghold assakenoi paint charl le brun depict alexand poru puru battl hydasp aftermath gener slaughter arson commit alexand ora numer peopl fled high fortress call aorno alexand close heel captur strateg hill-fort fourth dai bloodi fight stori repeat aorno similar carnag write alexand campaign assakenoi victor hanson comment promis surround live capitul execut soldier surrend stronghold ora similarli storm garrison slaughter carnag cultur landmark battl rise western power victor hanson help alexand campaign governor aorno reduc aorno alexand cross indu fought believ won epic battl local ruler poru origin indian raja puru rule region punjab battl hydasp bc silver coin alexand bce british museum battl alexand greatli impress poru braveri battl allianc appoint satrap kingdom ad land alexand name citi found bucephala honor hors brought india di battl hydasp alexand continu conquer headwat indu river east kingdom gang river origin indian ganga power empir magadha rule nanda dynasti fear prospect face power indian armi exhaust year campaign armi mutini hyphasi river modern bea river refus march east river mark easternmost extent alexand conquest macedonian struggl poru blunt courag stai advanc india repuls enemi muster twenti thousand infantri thousand hors violent oppos alexand insist cross river gang width learn thirty-two furlong depth fathom bank side cover multitud men-at-arm horsemen eleph told king await thousand horsemen thousand footmen thousand chariot thousand fight eleph h ptolemi coin alexand wear eleph scalp symbol conquest india alexand meet offic coenu convinc return alexand forc turn south armi ran malli clan modern dai multan malli warlik clan south asia period alexand armi challeng malli ensu battl led malli citadel assault alexand wound arrow h alexand forc believ king dead citadel unleash furi malli refug perpetr massacr spare man woman child histori ancient india rama shankar tripathi surviv malli surrend alexand forc beleagu armi move armi carmania modern southern iran gener crateru commiss fleet explor persian gulf shore admir nearchu led rest forc persia southern rout desert part southern iran makran part pakistan alexand left forc india territori indu nomin offic peithon satrap posit hold ten year bc punjab left eudemu charg armi side satrap poru taxil eudemu ruler part punjab death ruler return west bc armi bce chandragupta maurya found maurya empir india overthrew greek satrap india statuett young alexand astrid hors begram afghanistan discov satrap militari governor misbehav absenc alexand execut number exampl susa gestur paid debt soldier announc send over-ag disabl veteran macedonia crateru troop misunderstood intent mutini town opi refus bitterli critic adopt persian custom dress introduct persian offic soldier macedonian unit alexand execut ringlead mutini forgav rank file attempt craft last harmoni macedonian persian subject held mass marriag senior offic persian noblewomen susa marriag last year attempt merg persian cultur greek soldier includ train regiment persian boi wai macedonian historian alexand adopt persian royal titl shahanshah mean king king claim alexand want overrun integr arabian peninsula theori wide disput assum alexand turn westward attack carthag itali conquer arabia travel ecbatana retriev bulk persian treasur closest friend possibl lover aelian varia historia xii hephaest di ill possibl poison alexand mourn hephaest side month death eastern hemispher bc afternoon june bc alexand di palac nebuchadrezzar ii babylon month short attain year ag theori propos death includ poison son antipat sick drink parti relaps malaria contract bc alexand particip banquet organ friend mediu larissa heavi drink immedi bath forc bed due sever ill rumor ill circul troop caus anxiou june gener decid soldier king aliv time admit presenc time king ill speak confin move hand dai alexand dead poison theori deriv stori held antiqu justin curtiu origin stori state cassand son antipat viceroi greec brought poison alexand babylon mule hoof alexand royal cupbear brother cassand administ power motiv alexand wors death deadli agent kill alexand dose includ hellebor strychnin lane fox opinion strongest argument poison theori fact twelv dai pass start ill death ancient world long-act poison coin alexand great depict athena profil stand nike warrior cultur macedon favour sword strychnin ancient historian h arrian maintain alexand poison di natur alexand di malaria typhoid fever rampant ancient babylon ill culprit includ acut pancreat west nile viru theori advanc state alexand di treatment diseas hellebor believ wide medicin time deadli larg dose overus impati king speed recoveri deadli result disease-rel theori cite fact alexand health fallen danger level year heavi drink suffer appal wound includ india claim life matter time sick final kill stori conclus alexand death reinterpret time centuri alexand di high fever june bc successor diari year bc record death alexand locat british museum london death bed marshal ask bequeath kingdom alexand obviou legitim heir son alexand iv born death son concubin wife question vital import debat alexand repli alexand strongest stronger alexand crateru greek pronunci stronger crateru differ posit accent syllabl scholar alexand intend choos gener obviou choic crateru command largest part armi infantri proven excel strategist displai trait ideal macedonian crateru chosen hear stronger repli crateru press issu empir split successor diadochi long accus foul plai thrown gener contemporan sourc fulli trust bodi alexand bodi gold anthropoid sarcophagu turn gold casket cover purpl robe alexand coffin armour gold carriag vault roof support ionic peristyl decor carriag lavish great detail diodoro rare coin ptolemi show obvers begin reign revers alexand great triumphantli ride chariot drawn eleph remind success campaign alexand india legend alexand preserv clai vessel full honei act preserv inter glass coffin aelian varia historia ptolemi stole bodi brought alexandria displai late antiqu ptolemi ix successor ptolemi replac alexand sarcophagu glass melt origin order strike emerg gold issu coinag citizen alexandria outrag ptolemi ix kill roman emperor caligula loot tomb steal alexand breastplat wear ad emperor septimiu severu close alexand tomb public son successor caracalla great admir alexand visit tomb reign detail fate tomb sketchi so-cal alexand sarcophagu discov sidon istanbul archaeolog museum gener thought hephaest appoint king sidon alexand order sarcophagu depict alexand companion hunt battl persian testament classic author diodoru relat alexand detail written instruct crateru time death crateru start implement alexand order build fleet cilicia expedit carthag alexand successor chose implement ground impract extravag time crateru receiv written instruct king execut death alexand successor carri plan diodoru xviii testament diodoru xviii call militari expans southern western mediterranean monument construct intermix eastern western popul remark item complet pyre hephaest build thousand warship larger trirem phoenicia syria cilicia cypru campaign carthaginian live coast libya iberia adjoin coastal region sicili build road northern africa pillar heracl port shipyard erect great templ delo delphi dodona dium amphipoli ilium construct monument tomb father philip match greatest pyramid egypt establish citi transplant popul asia europ direct europ asia order bring largest contin common uniti friendship mean intermarriag famili ti diodoru siculu bibliotheca historia xviii person life alexand lifelong companion hephaest son macedonian nobl hephaest held posit second-in-command alexand forc death devast alexand full extent relationship hephaest subject histor specul alexand marri women roxana daughter bactrian nobleman oxyart stateira persian princess daughter dariu iii persia accept tradit parysati suppos marri persia personag court dariu iii intim male eunuch bagoa son roxana alexand iv macedon kill death father reach adulthood alexand admir lifetim treat lover human h alexand moralia ii fortun virtu alexand legaci divis empir coin alexand bear arama languag inscript alexand death bc rule empir alexand half-broth philip alexand son alexand philip mental ill son alexand babi regent name perdicca receiv alexand ring death crateru mention successor alexand perdicca quickli manag sole power perdicca elimin oppon kill diodoru siculu partit babylon name gener alexand satrap region empir bc perdicca assassin troop conflict ptolemi lead partit triparadisu antipat name regent satrapi share gener time alexand offic focus explicit format rival monarchi territori state ultim conflict settl battl ipsu phrygia bc alexand empir divid major portion cassand rule macedon lysimachu thrace seleucu mesopotamia persia ptolemi soter levant egypt antigonu rule anatolia syria eventu defeat gener ipsu bc control indian territori pass chandragupta maurya maurya emperor expand dominion settlement seleucu bc hellenist state consolid greco-bactrian king demetriu reign bce wear eleph scalp alexand legaci east invad india bce establish indo-greek kingdom bc ad st centuri bc hellenist territori west absorb roman republ east dramat reduc expans parthian empir territori east seced form greco-bactrian kingdom bc expand india form indo-greek kingdom ad ptolemi dynasti persist egypt epoch queen cleopatra allianc juliu caesar mark antoni roman republ offici roman empir alexand conquest long term cultur effect flourish hellenist civil middl east central asia develop greco-buddhist art indian subcontin alexand successor toler non-greek religi practic interest syncret develop greek town found central asia realist portray buddha appear time reminisc greek statu apollo buddhist tradit influenc ancient greek religion concept boddhisatva reminisc greek divin hero life cultur ancient india earliest time page nathuram india civil mahayana ceremoni practic burn incens gift flower food altar similar practic ancient greek zen buddhism draw part idea greek stoic zeno pilgrimag buddhism buddhist pilgrimag page jame bissett pratt effect hellenist koin dialect greek lingua franca so-cal civil world instanc standard version hebrew scriptur jew diaspora egypt life jesu greek septuagint translat compil ca bc scholar patronag macedonian ruler ptolemi ii philadelphu jew egypt rome troubl understand teach scholar templ jerusalem hebrew origin text arama translat acquaint greek version specul issu jesu spoke koin greek write greek don't decis matter influenc ancient rome mural pompeii depict marriag alexand barsin stateira bc coupl appar dress ar aphrodit late republ earli empir educ roman citizen latin legal polit ceremoni purpos greek discuss philosophi intellectu topic roman want hear masteri greek languag weak roman world languag spoken alexand greek top live greatest monarch histori page mohsin ashraf alexand exploit admir roman want associ achiev diplomat relat time juliu caesar wept spain mere sight alexand statu pompei great rummag closet conquer nation alexand cloak roman gener wore costum great zeal honor alexand augustu accident broke nose macedonian mummifi corps lai wreath hero shrine alexandria egypt unbalanc emperor caligula dead king armor tomb don luck roman famili rose imperi throne centuri imag alexand person stamp bracelet ring stitch garment dinnerwar bore alexand face stori king life displai rim special bowl frank holt alexand great mysteri eleph medallion univers california press summer archaeolog work season center excav remain domest architectur date statu alexand recov structur richli decor mosaic marbl pavement construct st centuri ad occupi centuri charact modern opinion alexand run gamut idea believ divinely-inspir mission unit human race view megalomaniac bent world domin view tend anachronist sourc varieti interpret alexand person aim remain enigmat disinterest comment alexand time afterward account read skeptic alexand rememb legendari hero europ southwest asia central asia iskand iskandar zulkarnain zoroastrian hand rememb conqueror great empir destroy persepoli ancient sourc gener written agenda glorifi denigr man make difficult evalu actual charact refer grow instabl megalomania year gaugamela suggest simpli reflect greek stereotyp orient king murder friend cleitu alexand deepli immedi regret cite sign paranoia execut philota gener parmenion failur pass detail plot view prudenc paranoia modern continu debat issu modern time unresolv topic involv alexand attempt world conquest purpos primarili rule world partial respons ubiqu posit portray alexand altern charact present emphas alexand neg aspect propon view cite destruct thebe tyre persepoli gaza exampl atroc argu alexand prefer fight negoti claim respons view alexand gener toler cultur conquer attempt cultur fusion sever practic admir persian art cultur think alexand foremost gener statesman alexand charact suffer interpret historian subject bia ideal time good exampl tarn wrote late centuri earli centuri alexand extrem good light peter green wrote world war ii alexand inher selfish tarn wrote ag world conquest accept encourag green wrote backdrop holocaust nuclear weapon greek latin sourc addit cuneiform evid babylonia discov translat numer greek latin text alexand primari sourc text written peopl knew alexand gather inform men serv alexand lost inscript dubiou authent contemporari wrote full account life includ historian callisthen alexand gener ptolemi aristobulu nearchu onesicritu influenti account cleitarchu direct wit alexand expedit sourc publish work backbon heavili influenc historian work surviv work surviv work base primari sourc main surviv account arrian curtiu h diodoru justin anabasi alexandri campaign alexand greek greek historian arrian nicomedia write centuri ad base larg ptolemi lesser extent aristobulu nearchu consid gener trustworthi sourc historia alexandri magni biographi alexand ten book surviv roman historian quintu curtiu rufu written st centuri ad base larg cleitarchu mediat materi ptolemi life alexand parallel live orat fortun virtu alexand great moralia greek historian biograph h chaeronea centuri base larg aristobulu cleitarchu bibliotheca historia librari world histori written greek sicilian historian diodoru siculu book relat conquest alexand base work book immedi philip alexand successor throw light alexand reign epitom philipp histori pompeiu trogu justin factual error highli compress difficult case understand sourc epitom thought pompeiu trogu limit latin histori main sourc add metz epitom anonym late latin work narrat alexand campaign hyrcania india recount incident author includ strabo athenaeu polyaenu aelian problem sourc main concern chief delight effect present alexand detail suit arrian interest militari aspect curtiu veer privat darker alexand h can't resist good stori light dark except arrian includ consider level fantasi prompt strabo remark wrote alexand prefer marvel true sourc leav interpret imagin arrian word legend detail alexand alexand sarcophagu alexand legend time court historian callisthen portrai sea cilicia draw proskynesi write alexand death particip onesicritu invent tryst alexand queen mythic amazon onesicritu read passag patron alexand gener king lysimachu reportedli quip time centuri alexand death alexandria quantiti legendari materi coalesc text alexand romanc fals ascrib historian callisthen text underw numer expans revis antiqu middl ag exhibit plastic unseen higher literari form latin syriac translat late antiqu version develop major languag europ middl east includ armenian georgian persian arab turkish hebrew serbian slavon romanian hungarian german english italian french romanc regard western scholar sourc account alexand qur'an sura cave sourc incid ferdowsi shahnama mongolian version extant except religi text widely-read work pre-modern time alexand charact greek folklor region protagonist tale braveri maritim legend sister mermaid ask sailor brother aliv unsuspect sailor answer truthfulli arous mermaid wrath boat perish wave sailor mind circumst answer live reign conquer world sea boat immedi calm alexand charact standard plai repertori alexand great accurs serpent ancient greek poet adrianu compos epic poem histori alexand great call extant centuri lost bibl daniel state king greec conquer mede persian die height power kingdom broken kingdom refer alexand alexand briefli mention book maccabe chapter vers alexand son philip macedonian defeat dariu king persian succeed king alexand previous king greec gather strong armi rule countri nation fell sick perceiv dy summon offic divid kingdom alexand reign twelv year di qur'an cent persian miniatur paint herat depict iskand persian alexand great alexand great identifi persian arab tradit sourc dhul-qarnayn arab two-horn possibl refer appear figur appear coin mint rule imit ancient middl eastern coinag account dhul-qarnayn qur'an refer alexand refer alexand persian tradit tradit combin persia sassanid persian idea alexand tradit alexand built wall iron melt copper gog magog confin muslim scholar disagre alexand dhul-qarnayn theori dhul-qarnayn persian king vast empir possibl king cyru great reason dhul-qarnayn holi quran monotheist believ worship allah god claim remov alexand candid dhul-qarnayn alexand polytheist contemporan persian nobl practic zurvan disqualifi basi shahnameh shahnameh ferdowsi oldest book written modern persian chapter alexand book epic poetri written ad believ plai import role surviv persian languag face arab influenc start mythic histori iran stori alexand mention arsacid account epic poetri portrai histor figur alexand child persian king list king book name match histor king daughter philip roman king due problem relationship persian king philip daughter rome alexand born philip claim son true ident child secret name alexand zoroastrian middl persian work arda alexand accurs alexand great man god ian worthington religi persecut alexand great persian languag alexand great nigel cawthorn due conquest persian empir destruct capit persepoli top live greatest monarch histori mohsin ashraf alexand macedonia persian alexand supplement ross alexand macedonian greek arab alexand hebrew arama two-horn appar due imag coin mint rule seemingli depict ram horn egyptian god ammon al-akbar alexand great arab urdu skandar pashto sikandar urdu hindi term synonym expert extrem skill ancient modern cultur seventi town outpost claim found alexand diodoru siculu credit alexand plan citi grid plan diodoru siculu bibliotheca historia alexand figur work high popular cultur era modern dai note +alfr skarbek korzybski juli march polish-american philosoph scientist rememb develop theori gener semant earli life career alfr korzybski famili coat-of-arm born warsaw congress poland aristocrat famili member work mathematician scientist engin gener learn polish home russian school french gover german gover fluent languag child adult chose train engin korzybski educ warsaw univers technolog world war korzybski serv intellig offic russian armi wound leg suffer injuri north america canada unit state coordin shipment artilleri war front lectur polish-american audienc conflict promot sale war bond war decid remain unit state natur citizen book manhood human publish book propos explain detail theori humankind mankind class life gener semant korzybski work culmin found disciplin call gener semant gs korzybski explicitli gs confus semant subject basic principl gener semant includ outlin scienc saniti publish korzybski found institut gener semant direct death lakevil connecticut usa essenc korzybski work view human be limit structur nervou system structur languag human be experi world abstract nonverb impress glean deriv nervou system verbal indic express deriv languag percept languag mislead fact deal understand lack similar structur stress train awar abstract techniqu deriv studi mathemat scienc call awar goal system conscious abstract system includ modifi approach world attitud don't discov reflect realiti shown modern scienc techniqu involv inwardli outwardli quiet experi call silenc object level korzybski support critic korzybski reduc complex system simpl matter verb system base primarili terminolog abstract formul abstract korzybski oppos verb unfortun exagger thought verb call ident predic faulti structur statement joe fool person name regard foolish korzybski system assess joe belong higher order abstract joe korzybski remedi deni ident continu awar call find joe verbal domain world word nonverb domain amount order abstract express korzybski famou premis map territori note premis phrase form exampl show intend abandon fact expressli structur problem verb auxiliari verb state exist locat faulti form verb long awar structur limit anecdot korzybski dai korzybski give lectur group student suddenli interrupt lesson order retriev packet biscuit wrap white paper briefcas mutter eat ask student seat front row biscuit student biscuit nice biscuit don't korzybski student chew vigor tore white paper biscuit order reveal origin packag big pictur dog head word dog cooki student look packag shock want throw put hand front mouth ran lectur hall toilet ladi gentlemen korzybski remark demonstr peopl don't eat food word tast outdon tast appar prank aim illustr human suffer origin confus conflat linguist represent realiti realiti sourc dagblad cite derk holland van nlp utrecht servir critic critic section main gener semant articl impact korzybski work influenc gestalt therapi ration emot behavior therapi neuro-linguist program bandler richard john grinder structur magic book languag therapi palo alto ca scienc behavior book meta model idea human model report edit scienc saniti armi world war ii system treat battl fatigu europ supervis dougla kellei psychiatrist charg nazi prison nuremberg individu influenc korzybski includ kenneth burk william burrough frank herbert albert elli gregori bateson buckminst fuller dougla engelbart stuart chase alvin toffler robert heinlein ron hubbard van vogt robert anton wilson entertain steve allen tommi hall lyricist floor elev scientist william alanson white psychiatri physicist bridgman research horslei gantt student colleagu pavlov influenc belgian surrealist writer comic jan bucquoi seventh part comic seri jaun labyrinth explicit refer plot korzybski map territori part gener semant tradit upheld samuel hayakawa fall korzybski ask hayakawa repli word wikiquot collect quotat relat alfr korzybski +asteroid video arcad game releas atari popular influenti game golden ag arcad game asteroid vector graphic two-dimension view wrap screen ax player control spaceship asteroid field period travers fly saucer object game shoot destroi asteroid saucer collid hit counter-fir descript asteroid inspir roundabout semin spacewar computer-bas video game stand-up arcad game version produc space war includ number option version ad float asteroid visual devic asteroid essenti one-play version spacewar featur wedg ship origin promot asteroid main oppon game conceiv lyle rain program design ed logg asteroid hit unit state atari sell game time atari process releas vector game lunar lander demand asteroid high stop product lunar lander build asteroid asteroid machin lunar lander cabinet asteroid popular video arcad owner instal larger box hold amount quarter spent player asteroid game atari system full-color version develop game space duel tempest gameplai object asteroid score point destroi asteroid fly saucer player control ship rotat left fire shot straight thrust ship move momentum conserv ship eventu stop thrust player send ship hyperspac caus disappear reappear random locat screen risk self-destruct appear top asteroid stage start asteroid drift random direct screen object wrap screen edg instanc asteroid drift top edg screen reappear bottom continu move direct player shoot asteroid break smaller asteroid frequent move faster difficult hit smaller asteroid score higher point period fly saucer appear side screen move disappear saucer kind larg saucer fire random direct small saucer aim player ship minimalist soundtrack featur memor electron heartbeat quicken asteroid densiti reduc player fire screen clear asteroid fly saucer set larg asteroid appear number asteroid increas maximum twelv game player lost live game time asteroid bug result origin programm underestim game popular skill player maximum score game point roll oversight small saucer program gave rise popular strategi lurk saucer shoot player posit screen player hide screen shoot screen boundari remain safe led experienc player plai indefinit singl credit oversight address game sequel asteroid delux led signific game develop design test game futur earli version game hide ship score area indefinit hit asteroid technic descript asteroid arcad machin vector game mean game graphic compos line drawn vector monitor hardwar consist primarili standard mo cpu execut game program digit vector gener vector process circuitri develop atari slow control game plai vector hardwar time task deleg origin design concept atari off-campu research lab grass vallei ca prototyp engin howard delman refin produc ad addit featur atari vector game lunar lander decid asteroid vector game delman modifi lunar lander circuit board ed logg memori ad circuitri sound game origin asteroid prototyp board exist delman person collect pictur frame write graphic command defin area ram vector ram ask draw vector imag screen read command gener signal vector monitor command posit cathod rai draw line destin call subroutin command asteroid featur sound effect implement circuitri distinct audio circuit design howard delman cpu activ audio circuit hardwar compon write special memori address memori map port input player control button map cpu address space main asteroid game program kb rom code kb vector rom descript main graphic element rock saucer player ship explos pictur letter digit form command legaci due success asteroid sequel asteroid delux space duel killer list videogam klov credit game top videogam reader klov credit seventh popular game gameplai asteroid imit game object sinistar shoot asteroid order releas resourc player collect port xbox live arcad port asteroid port multipl system includ atari system atari atari lynx port game util bank-switch cartridg doubl rom space port develop advertis launch titl offici releas unoffici releas produc atariag releas pc window part origin microsoft arcad packag version asteroid develop playstat nintendo window game boi color late port includ atari cosmo system system releas tv game seri atari game includ arcad version asteroid atari game late antholog seri essenti game find asteroid includ atari port arcad origin asteroid delux includ part atari antholog xbox playstat digit eclips emul technolog packag releas pc year earlier titl atari classic game asteroid releas xbox live arcad xbox novemb option special revamp hd graphic high-spe throttl monkei mode clone bootleg countless unoffici port asteroid produc includ near-copi acornsoft meteor expand gameplai background stardust sphere chao astro fire platform glu mobil releas licens cellular phone version asteroid includ origin game updat gameplai skin mode record break gameplai novemb scott safran cherri hill nj set world record point classic arcad game asteroid beat point score set leo daniel carolina beach februari congratul safran accomplish twin galaxi intergalact scoreboard search fifteen year discov di accid special ceremoni philadelphia april walter dai twin galaxi present special award surviv member scott safran famili commemor asteroid champion achiev march portland oregon resid bill carlton attempt break world record plai arcad version asteroid plai hour machin malfunct record run score million point put place all-tim asteroid rank comedian jim norton record score game asteroid led pictur local jersei paper juli men hyde park ny plai quarter score quit game run matthew collier john denver hyde park time altern pt minut briefli nap time lengthi session hour plai laundri mat convinc owner lock night men time contact guin uninterest time record fall video game field local radio newspap extent minut fame john master game time matt master spend quarter earn video game asteroid popular cultur buckner garcia record song titl hyperspac sound effect game releas album pac-man fever +asparagal order flower plant order includ famili asparagacea famili includ order vari markedli classif apg ii system apg ii system place order clade monocot circumscript order asparagal famili alliacea famili famili amaryllidacea famili asparagacea famili agavacea famili famili famili hyacinthacea famili famili ruscacea famili famili famili famili famili famili famili iridacea famili famili famili orchidacea famili famili xanthorrhoeacea famili asphodelacea famili famili note option segregr famili split preced famili apg ii consolid famili earlier apg system recogn altern smaller famili follow classif system taxonomist correctli choos includ daylili hemeroc famili famili xanthorrhoeacea apg system apg system order clade monocot circumscript order asparagal famili famili agavacea famili alliacea famili amaryllidacea famili famili famili famili asparagacea famili asphodelacea famili famili famili famili famili famili famili famili famili hyacinthacea famili famili iridacea famili famili famili famili orchidacea famili famili famili xanthorrhoeacea famili kubitzki system volum kubitzki seri refer book vascular plant circumscript order asparagal famili famili agavacea famili alliacea famili amaryllidacea famili famili famili famili asparagacea famili asphodelacea famili famili famili famili famili famili famili famili famili famili famili hyacinthacea famili famili famili iridacea famili famili famili famili famili famili orchidacea famili ruscacea famili famili famili xanthorrhoeacea dahlgren system dahlgren system order superord liliana subclass liliida monocotyledon class magnoliopsida angiosperm circumscript order asparagal famili agavacea famili alliacea famili amaryllidacea famili famili famili asparagacea famili asphodelacea famili famili famili famili famili famili famili famili famili famili famili famili famili hyacinthacea famili famili famili famili famili famili famili famili ruscacea famili famili xanthorrhoeacea system cronquist system recognis order plant involv order lilial subclass liliida class liliopsida monocotyledon genera includ famili liliacea wettstein system revis recognis order plant involv order class monocotyledon +alismatal order flower plant order necess famili alismatacea taxonomi apg ii system unchang apg system assign order clade monocot circumscript order alismatal famili alismatacea famili aponogetonacea famili aracea famili butomacea famili famili hydrocharitacea famili famili famili famili potamogetonacea famili famili scheuchzeriacea famili famili circumscrib order genera famili cosmopolitan distribut famili compos herbac plant commonli aquat environ flower arrang infloresc matur seed lack endosperm biggest departur earlier system inclus famili aracea inclus order grown enorm number speci famili aracea account genera total thousand speci rest famili speci cronquist system order subclass class liliopsida monocotyledon circumscript order alismatal famili alismatacea famili butomacea famili cronquist subclass conform close order alismatal circumscrib apg famili aracea dahlgren system order superord subclass liliida monocotyledon class magnoliopsida angiosperm circumscript order alismatal famili alismatacea famili aponogetonacea famili butomacea famili hydrocharitacea famili dahlgren superord conform close order alismatal circumscrib apg famili aracea wettstein system version engler system updat order +asteral order dicotyledon flower plant includ composit famili asteracea sunflow daisi thistl relat famili order includ herbac speci small number tree lobelia shrub present asteral character morpholog molecular level synapomorphi includ oligosaccharid inulin nutrient storag stamen aggreg dens style fuse tube properti plunger secondari pollin common famili order famili asteral includ eleven famili largest asteracea speci campanulacea speci remain famili count speci larg famili center mass northern hemispher smaller confin australia adjac area south america cronquist system asteracea famili group newer system apg ii expand evolut biogeographi asteral order origin cretac supercontin gondwana area australia asia extant speci herbac examin basal famili order suggest common ancestor order arboresc plant fossil evid asteral rare belong epoch precis estim order ag difficult oligocen pollen asteracea goodeniacea seed oligocen miocen menyanthacea campanulacea bremer gustafsson econom import asteracea includ speci grown food includ sunflow helianthu annuu lettuc lactuca sativa chicori cichorium spice medicin herb present horticultur import asteracea chrysanthemum campanulacea +mathild c-type asteroid wiktionari asteroid wiktionari free dictionari asteroid call minor planet planetoid class astronom object term asteroid gener divers group small celesti bodi solar system orbit sun asteroid greek star-lik commonli word english literatur minor planet term prefer intern astronom union languag prefer planetoid greek planet-lik describ late august iau introduc class small solar system bodi includ object classifi minor planet comet time term dwarf planet creat classifi largest minor planet asteroid discov cere largest asteroid date classifi dwarf planet classifi small solar system bodi vast major asteroid main asteroid belt ellipt orbit mar jupit thought asteroid remnant protoplanetari disc region accret planetesim larger planet planet form period solar system prevent larg gravit perturb jupit asteroid moon co-orbit pair binari system asteroid solar system main asteroid belt white trojan asteroid green hundr thousand asteroid discov solar system present rate discoveri month regist minor planet orbit assign perman offici number jpl jpl solar system dynam nasa retriev februari minor planet center retriev februari offici name minor planet center retriev februari lowest-numb unnam minor planet fv minor planet center retriev octob highest-numb name minor planet minor planet center retriev novemb current estim put total number asteroid km diamet solar system million european space agenc april press releas retriev februari largest asteroid solar system cere diamet km larg solar system belt asteroid palla vesta diamet km vesta main belt asteroid visibl nake ey rare occas near-earth asteroid briefli visibl technic aid apophi left vesta cere earth moon mass asteroid main belt estim kg percent mass moon cere compris kg percent total krasinski vasilyev juli icaru cospar scientif assembl held juli pari franc ad massiv asteroid vesta palla hygiea bring figur davida interamnia juno add total number asteroid increas rapidli individu mass decreas asteroid classif asteroid commonli classifi criteria characterist orbit featur reflect spectrum orbit group famili asteroid group famili base orbit characterist customari group asteroid member group discov group loos dynam associ famili tighter result catastroph break-up larg parent asteroid al asteroid famili search sampl cluster techniqu icaru full list asteroid group famili minor planet asteroid famili spectral classif pictur ero show view asteroid goug undersid featur small asteroid taxonom system base colour albedo spectral shape develop clark chapman david morrison ben zellner chapman morrison zellner surfac properti asteroid synthesi polarimetri radiometri spectrophotometri icaru properti thought correspond composit asteroid surfac materi origin classifi type asteroid base meteoroid type c-type asteroid carbonac asteroid s-type asteroid asteroid m-type asteroid metal asteroid list expand includ number asteroid type number type continu grow asteroid studi asteroid spectral type detail categori asteroid spectral class list note proport asteroid fall spectral type necessarili reflect proport asteroid type type easier detect bias total problem spectral classif origin spectral design base infer asteroid composit mcsween harri meteorit parent planet carbonac metal correspond spectral class composit good varieti classif led signific confus asteroid spectral classif compos materi assur asteroid taxonom class compos similar materi present spectral classif base coars resolut spectroscop survei standard scientist unabl agre taxonom system larg due difficulti obtain detail measur consist larg sampl asteroid finer resolut spectra non-spectr data densiti asteroid discoveri ida moon dactyl satellit asteroid discov histor method asteroid discoveri method drastic improv centuri year centuri baron franz xaver von zach organ group astronom search sky miss planet predict au sun titius-bod law partli consequ discoveri sir william herschel planet uranu distanc predict law task requir hand-drawn sky chart prepar star zodiac band agreed-upon limit faint subsequ night sky chart move object spot expect motion miss planet second arc hour readili discern observ iron asteroid cere discov member group accid giusepp piazzi director observatori palermo sicili discov star-lik object tauru displac object night colleagu carl friedrich gauss observ determin exact distanc unknown object earth calcul object planet mar jupit piazzi name cere roman goddess agricultur asteroid palla juno vesta discov year vesta year fruitless search astronom assum abandon search karl ludwig henck persist began search asteroid fifteen year astraea asteroid year hebe year astronom join search asteroid discov year wartim year notabl asteroid hunter earli era hind annibal de gaspari robert luther goldschmidt jean chacornac jame ferguson norman robert pogson tempel watson peter borrelli palisa henri brother august max wolf pioneer astrophotographi detect asteroid appear short streak long-exposur photograph plate drastic increas rate detect compar previou visual method wolf discov asteroid begin brucia slightli discov point centuri thousand asteroid identifi number name astronom bother call vermin ski manual method modern report asteroid discov four-step process region sky photograph wide-field telescop astrograph pair photograph typic hour multipl pair seri dai film region view stereoscop bodi orbit sun move slightli pair film stereoscop imag bodi float slightli background star move bodi identifi locat measur precis digit microscop locat measur rel star locat retriev june step constitut asteroid discoveri observ apparit provision design year discoveri letter repres week discoveri final letter number indic discoveri sequenti number fj final step discoveri send locat time observ brian marsden minor planet center comput program determin apparit ti previou apparit singl orbit object receiv catalogu number observ apparit calcul orbit declar discover grant honor name object subject approv intern astronom union computer method fh centr dot sequenc object flash clip artifici satellit increas interest identifi asteroid orbit cross earth time collid earth earth-cross asteroid import group near-earth asteroid apollo amor aten asteroid deflect strategi propos earli near-earth asteroid ero discov long brought flurri similar object order discoveri amor apollo adoni final herm approach au earth astronom began realiz possibl earth impact event decad increas level alarm increas accept walter hypothesi impact event result cretaceous-tertiari extinct observ comet shoemaker-levi crash jupit militari declassifi inform militari satellit built detect nuclear explos detect hundr upper-atmospher impact object rang metr consider help spur launch highli effici autom system consist charge-coupl devic ccd camera comput connect telescop larg major asteroid discov autom system list team autom system includ retriev june lincoln near-earth asteroid research linear team near-earth asteroid track neat team spacewatch lowel observatori search loneo team catalina sky survei css campo imperator near-earth object survei team japanes spaceguard associ asteroid survei ada linear system discov asteroid august retriev august autom system near-earth asteroid discov retriev august includ km diamet name asteroid overview name convent newli discov asteroid provision design consist year discoveri alphanumer code orbit confirm number ero formal name convent parenthes number ero drop parenthes common inform common drop number altogeth drop mention repeat run text asteroid number provision design da modern discoveri techniqu discov vast number asteroid increasingli left unnam asteroid left unnam long time va syrinx novemb distinct held fv rare occas small bodi provision design unnam qb gave group kuiper belt object cubewano number asteroid asteroid award offici number orbit confirm increas rapid asteroid discoveri asteroid award six-figur number switch figur figur arriv public minor planet circular mpc octob highest number asteroid jump chang caus small yk crisi autom data servic digit allow data format asteroid number servic widen asteroid number field problem address case leftmost digit ten-thousand place alphabet digit extens high number cross-referenc list sourc name asteroid name figur graeco-roman mytholog name start name famou peopl literari charact discover wive children televis charact asteroid massalia name citi marseil time femal femin name alexand von humboldt man asteroid name femin alexandra unspoken tradit last chicago name oddli feminis name show list year afterward number asteroid began run hundr eventu thousand discover began give increasingli frivol name hint petrina name discover pet dog controversi name spock name star trek charact discover cat supposedli bore resembl iau subsequ ban pet name sourc eccentr asteroid name propos accept jame bond special name rule asteroid name free-for-al type asteroid rule develop sourc name instanc centaur asteroid orbit saturn neptun name mytholog centaur trojan hero trojan war trans-neptunian object underworld spirit well-establish rule comet name discover asteroid circumv rule astronom exchang courtesi name discoveri except rule name discover luci crespo da silva di shortli discoveri ag retriev june retriev june object cross-list comet asteroid asteroid symbol asteroid discov assign symbol tradition design earth moon sun planet symbol quickli ungainli hard draw recognis asteroid symbol gould symbol notat asteroid astronom journal johann franz enck major chang berlin astronomisch jahrbuch baj berlin astronom yearbook introduc encircl number symbol number began astraea asteroid continu denot tradit symbol symbol innov adopt quickli astronom commun year astraea number bump cere vesta list number edit asteroid bellona enck der bellona nebst nachrichten die sternwart astronomisch nachrichten peter und zeichen de von herrn luther zu bilk april planeten astronomisch nachrichten fide luther schreiben de herrn luther director der sternwart zu bilk den herausgeb astronomisch nachrichten symbol number scheme circl pair parenthes parenthes omit altogeth decad hilton jame septemb retriev march asteroid explor ag space travel object asteroid belt pinprick light largest telescop shape terrain remain mysteri close-up photograph object marin probe imag phobo deimo small moon mar captur asteroid imag reveal irregular potato-lik shape asteroid subsequ imag voyag probe small moon ga giant gaspra asteroid imag close true asteroid photograph close-up gaspra ida moon dactyl imag galileo probe en rout jupit dedic asteroid probe shoemak photograph mathild enter orbit ero final land surfac asteroid briefli visit spacecraft en rout destin includ braill deep space stardust septemb japanes hayabusa probe start studi itokawa detail return sampl surfac earth hayabusa mission plagu difficulti includ failur control wheel render difficult maintain orient sun collect solar energi asteroid encount involv european rosetta probe launch studi lutetia septemb nasa launch dawn mission orbit dwarf planet cere asteroid vesta mission possibl extend palla suggest asteroid futur sourc materi rare exhaust earth asteroid mine materi construct space habitat colon asteroid materi heavi expens launch earth mine asteroid space manufactur construct asteroid fiction asteroid asteroid belt stapl scienc fiction stori asteroid plai potenti role scienc fiction place human be colon resourc extract miner hazard encount spaceship travel point threat life earth due potenti impact +gener allocut law mean speak formal field apologet allocut gener defens belief polit allocut legisl bodi effort influenc posit issu law gener meant state specif detail reason relat commiss crime unit state jurisdict defend allow opportun allocut explain sentenc pass jurisdict hold absolut absenc sentenc potenti overturn result sentenc hear held allocut requir defend plead guilti crime plea bargain exchang reduc sentenc instanc allocut serv provid closur victim famili principl remov doubt exact natur defend guilt matter case defend allocut crime commit requir receiv lesser sentenc term allocut gener jurisdict unit state vagu similar process common law countri australia term clerk arraign formal associ court gener phrase prison bar guilti juri peer offens xyz sentenc court pass defens counsel plea mitig call submiss penalti attempt mitig rel serious offens heavili refer reli defend previou good charact good work plea mitig australia absolut judg magistr refus hear plea fail properli sentenc doubt overturn appeal jurisdict defens lawyer mitig client behalf defend rare opportun speak media allocut refer dissemin inform media channel assum parti unlimit amount inform kind expertis act servic parti act servic kaam term allocut differ distribut distribut impli origin parti lose kind control inform parti piec inform lose origin inform store empti kaam origin parti hold control inform decid inform give inform servic consum consum control model exampl type commun includ radio tradit televis program new jan van kaam ben classif servic deni ed reader mass commun theori sage london +affidavit formal sworn statement fact sign declar call depon wit verac signatur taker oath notari public mediev latin declar oath affidavit includ evid gather wit particip testifi person court fear safeti true ident reveal court obtain declar legal document applic voter registr inform applic truth applic knowledg sign declar inform deliber untru intent deceiv applic face perjuri charg unit state american jurisprud rule hearsai admiss unsupport affidavit evid unusu cross-examin regard materi fact disposit matter bar affidavit person dead incapacit locat accept court presenc corrobor evid affidavit reflect grasp fact close time actual event refresh recollect materi refresh recollect admiss evid parti case oppon success affidavit admit evid statement consid hearsai type motion accept court accompani independ sworn statement evid support motion case court accept affidavit file attornei support motion assumpt wit affidavit place sworn testimoni promot judici economi lawyer offic court fals swear ground sever penalti includ disbar lawyer call present independ detail evid prove fact set affidavit accept affidavit societi confirm accept legal document jurisdict equal accept lawyer offic court swear affidavit matter address wikipedia mean certif commonli english refer legal document intern term hagu convent abolish requir legal foreign public document document notar notari public document certifi conform accept legal nation sign hagu convent affidavit requir cross border issu republ ireland affidavit similar england wale oath omit declar substitut affidavit case oppos swear oath person make affidavit depon sign affidavit affidavit conclud standard format sworn declar commission oath solicitor commission oath solicitor date locat counti citi counti citi depon declar sign stamp commission oath +ari latin ram symbol unicod constel zodiac li pisc west big dipper east notabl featur star faint ari hamal ari import star ari ari teegarden star discoveri constel sun closest neighbor light year exhibit largest proper motion arc second yr notabl deep sky object deep sky object ari dim includ galaxi ngc northwest ari ngc southeast ari ngc constel northern corner ngc northwest ari graphic visual star constel ari connect altern graphic show ram run jump diagram altern connect star ari constel ram head consist star ari ari ari ari magnitud beta arieti magnitud ram bodi consist star ari ari ari ari ari ari ari fourth magnitud ram tail consist star ari ari ari star ari fourth magnitud repres ram front foot star ari fourth magnitud repres ram hind foot astrolog religion western astrolog sign ari tropic zodiac march differ astronom constel hindu astrolog sign sider zodiac august octob +aquariu latin water-bear cup-bear eleventh sign zodiac situat capricornu pisc symbol unicod repres part stream water aquariu oldest recogn constel zodiac sun appar path region call sea due profus wateri constel cetu pisc eridanu river eridanu depict spill water pot notabl planetari system glies planetari system red dwarf star planetari system planet includ terrestri planet time mass earth aquarii planet orang giant star mass time jupit semimajor axi au glies long-period jupiter-lik planet red dwarf star semimajor axi au mass jupit notabl deep sky object deep sky object messier catalog globular cluster messier messier open cluster messier well-known planetari nebula locat aquariu saturn nebula ngc southwest aquarii famou helix nebula ngc southwest aquarii mytholog best-known myth identifi aquariu ganymed beauti youth zeu fell love disguis eagl repres constel aquila carri olympu cup bearer god crater identifi cup aquariu gener resembl figur man fainter humanli visibl star take imag man bucket pour stream aquariu identifi pourer water flood earth great flood ancient greek version myth constel eridanu identifi river pour aquariu constel pegasu part origin myth mare diomed form twelv labour heracl associ pour river nearbi constel capricornu sourc myth augean stabl form labour astrolog western astrolog sign aquariu tropic zodiac januari depend sourc date januari februari januari februari differ astronom constel hindu astrolog sign sider zodiac februari individu born aquariu sign western astrolog thought creativ progress rebelli independ charact ag mytholog gospel dimens we'r live ag aquariu ag year long approxim precess equinox mark begin ag altern visual diagram altern connect star aquariu constel water bearer shown run hold vessel spill water vessel star constel aquariu connect altern graphic show water bearer run hold vessel water spill water bearer head form quadrangl barnei magnitud star lodg quadrangl repres ey water bearer torso form star magnitud water bearer left leg form star leg form star star repres foot water bearer arm form star hand water bearer hold vessel jar form star open top vessel consist triangl star water pour vessel pair streamlin streamlin left form star streamlin form star +imag padlock-silver-medium svg anime-styl illustr charact combin design element mahoro andou mahoromat haruhi suzumiya suzumiya haruhi yūutsu anim anim pronounc anim listen help·info japanes typic english abbrevi english word anim origin japan root manga retriev februari buckingham david digit gener children young peopl media routledg term japan refer anim gener english usag term popularli refer materi origin japan subset anim anim tradition hand drawn comput assist techniqu common year subject anim repres major genr fiction anim motion-pictur media rang televis broadcast literatur histori screenshot momotaro divin sea warrior feature-length anim film histori anim begin start centuri japanes filmmak experi anim techniqu explor franc germani unit state russia schodt frederik reprint edit august manga manga world japanes comic tokyo japan kodansha intern oldest anim clip sailor boi allen butler juli retriev august anim altern format storytel compar underdevelop live-act industri japan america live-act industri japan remain small market suffer budget locat cast restrict lack actor imposs shoot film set europ america fantasi world natur involv japan anim allow artist creat charact set retriev decemb success disnei featur film snow white dwarf influenc japanes anim michael o'connel otakon program book retriev septemb osamu tezuka adapt simplifi disnei anim techniqu reduc cost number frame product intend temporari measur produc materi tight schedul inexperienc anim staff surg growth popular osamu tezuka call legend ohara atsushi asahi shimbun english asahi archiv retriev august god manga english anim encyclopedia anim march retriev august gravett paul retriev august work pioneer field inspir characterist genr fundament element anim todai giant robot genr mecha japan instanc shape tezuka develop super robot genr nagai revolution decad yoshiyuki tomino develop real robot genr robot anim gundam macross seri instant classic robot genr anim common japan worldwid todai anim accept mainstream japan manga experienc boom product success adapt anim oversea market anim gain increas accept market terminolog japanes english term anim written katakana pronounc shorten term anim emerg etymonlin retriev septemb origin abbrevi form valid interchang japanes shorter form commonli pronunci anim japanes differ significantli standard english ipa vowel stress japanes mora carri equal stress japanes word pokémon kobo anim spell english acut accent final cue reader letter pronounc silent expect english accent commonli system roman japanes frequent recognis oxford english dictionari word usag japan term anim nation origin style blanket term refer form anim world leslei bellaonlin retriev octob art galleri south wale retriev octob english dictionari sourc defin anim japanes style motion-pictur anim style anim develop japan dictionari retriev octob non-japanes work borrow styliz anim commonli refer anime-influenc anim unusu viewer doesn't countri origin materi refer simpli anim work co-product non-japanes compani cartoon network product seri igpx star-rac consid anim viewer dvd outlet uk increasingli categoris anim materi aim older market anim style countri origin titl includ flux hellboi spawn english-speak anim fandom gener accept anim product anim anim profession produc featur film necessarili movi creat japanes compani japanes market english anim common noun watch anim supplet adject anim guyver movi guyver mass noun anim collect plural anim synonym anim occasion refer japanim term fallen disus anim new network retriev novemb japanim usag supplant anim mid- materi wide english-speak countri patten fred watch anim read manga year essai review stone bridg press gener term appear nostalg context term coin japan refer anim import japan primarili japan refer domest anim anim identifi countri origin japanes usag japanim distinguish japanes work rest world japan manga addition refer anim comic manga refer anim restrict non-fan english speaker manga stricter mean japanes comic altern explan due promin manga entertain distributor anim uk market manga entertain origin uk term common japan portmanteau collect refer anim manga term describ comic produc anim cel visual characterist repres style classic modern anim art uncommon art style modern anim anim commonli refer art form john animen april retriev januari visual medium natur place larg emphasi visual style style vari artist artist studio studio titl extens common styliz flcl wild exagger styliz contrast titl yesterdai jin-roh realist approach featur stylist exagger titl artist artist style stylist element common definit anim gener modern anim share strict common art style anim art style commonli call anim style fan word anim refer titl gener common form anim draw exagger physic featur larg ey big hair elong limb dramat shape speech bubbl speed line onomatopo exclamatori typographi access februari stylist element line anim line influenc stylist brush work calligraph pen due fact japanes tradition written brush larg influenc japanes art line treat tend western art western letter calligraph pen influenc influenti amount taper thick line involv anim borrow element manga includ text background borrow panel layout manga open emploi manga panel stori dramat point humor effect demonstr anim kare kano charact design bodi proport emul anim proport human bodi height head consid base unit proport head height vari long remaind bodi remain proport anim charact head tall extrem height set head tall akemi anim world retriev august variat proport mod chibi super deform charact featur small bodi compar head specif bodi part leg shorten elong ad emphasi chibi head tall anim work crayon shin-chan complet disregard proport resembl western cartoon exagger bodi featur increas proport typic anim ey common approach larg ey style drawn anim manga charact osamu tezuka inspir exagger featur american cartoon charact betti boop mickei mous disnei bambi schodt frederik dreamland japan write modern manga berkelei california stone bridg press tezuka larg ey style allow charact show emot distinctli tezuka began draw ribbon kishi manga specif target young girl tezuka exagger size ey ribbon kishi tezuka set stylist templat shōjo artist tend follow color ad give ey cornea depth depth accomplish appli variabl color shade gener mixtur light shade tone color dark shade centi retriev august carlu june retriev august cultur anthropologist matt thorn argu japanes anim audienc perceiv styliz ey inher foreign retriev decemb anim larg ey hayao miyazaki larg ey realist hair color charact poitra gill anim companion berkelei california stone bridg press addit product smaller ey design resembl tradit japanes art charact smaller ey simpl black dot wide varieti facial express charact denot mood thought rio retriev august anim set facial express comparison western anim stylist element common comed anim charact shock surpris perform face fault displai extrem exagger express angri charact exhibit vein effect line repres bulg vein forehead angri women summon mallet strike lead concept hammerspac cartoon physic male charact develop bloodi nose femal love interest typic arous base tale concept bloodi nose supposedli due blood rush face exagger blush charact propel air fountain blood embarrass charact produc massiv wide recogn stereotyp motif anim produc visibl red blush beneath ey manifest repress romant feel common face fault option anim polit plot subject matter abandon face fault gundam wing teknoman non-human charact diversifi arrai charact includ robot anim spirit demon hybrid be catgirl creat non-humanoid charact wide varieti shape size rang miniatur charact size skyscrap size proport vari typic style non-human dramat size drastic shrinkag typic spirit demon robot anim shown proport size skyscrap build purpos give impress great power sync seri main charact giant robot defeat giant robot creatur robot anim shown accur size miniatur sake comic stori import reason anim techniqu basic anim base tradit anim anim consid separ cartoon anim multipl imag rapid success produc anim visual effect anim product process storyboard voic act charact design cel product appli improv comput technolog comput anim increas effici product process anim consid form limit anim mean stylist bigger product convent limit anim fool ey think movement techniqu compris cost-cut measur work set budget anim scene place emphasi achiev three-dimension view background depict atmospher anim put emphasi chang season numer anim tenchi muyo actual set duplic anim background melancholi haruhi suzumiya base locat suburb nishinomiya hyogo japan retriev januari camera angl camera movement light plai import role scene director discret determin view angl scene background addit camera angl show perspect product retriev august director choos camera effect cinematographi pan zoom facial closeup panoram understand anim retriev august genr dragon ball huge success shōnen anim base origin manga seri span episod movi anim genr typic mass media form genr includ action adventur children stori comedi drama erotica specif ecchi hentai mediev fantasi occult horror romanc scienc fiction anim includ content genr varieti themat element seri categor multipl genr neon genesi evangelion consid fall genr post-apocalypt scienc fiction mecha drama show seemingli simpl surfac plot time featur complex deeper storylin charact develop uncommon action theme anim involv humor romanc social commentari appli romanc theme anim involv action element case brutal violenc list major genr design specif anim manga retriev novemb action adventur primarili focus battl war physic competit martial art weapon fight action orient materi featur exampl naruto piec drama primarili high degre charact develop emot theme center relationship complic exampl fushigi yūgi inuyasha game base primarili revolv sort card board game exampl yu-gi-oh hikaru horror darker supernatur theme exampl vampir hunter seri chrono crusad scienc fiction consist futurist element featur futur scienc technolog drawn current scientif studi invent creat meet world exampl ghost shell wing honneamis progress art film extrem styliz exampl sayonara sensei centimetr demograph demograph describ intend target audienc shōjo japanes young ladi girl gener target girl exampl fruit basket mermaid melodi pichi pichi pitch shōnen japanes young boi exampl dragon ball digimon seinen japanes young man includ teenag young male adult exampl goddess cowboi bebop josei japanes young woman exampl gokusen honei clover kodomo japanes child children seri fall categori exampl kitti themat bishōjo japanes beauti girl blanket term featur pretti girl charact conflat exampl magic knight rayearth negima bishōnen japanes beauti boi blanket term describ anim featur pretti eleg boi men exampl fushigi yūgi clamp show sentai liter fight team japanes refer show involv superhero team exampl cyborg voltron robot mecha featur real robot super robot exampl mobil suit gundam mazing post-apocalypt simpli deal post-apocalypt world exampl fist north star vallei wind shōjo subgenr shōjo magic girl stori exampl sailor moon cardcaptor sakura shōnen male equival shōjo exampl angel fullmet alchemist featur charact perki cute weak naïv behavior overli independ retriev august exampl snow fairi sugar expertis special specif topic depth topic rang sport art cook exampl eyeshield footbal yakit japan bread-mak lolicon lolita complex sexual under-ag femal charact come titular charact vladimir nabokov lolita kodomo jikan shotacon complex sexual under-ag male charact come lead child actor papa kiss dark harem genr focus male charact surround romanc multipl femal charact typic male cohabit femal romant element arguabl anim boi mom list harem show review list harem show review sourc retriev august market shōnen seinen retriev august review suggest term seinen synonym harem romant comedi exampl ranma love hina revers harem revers gender balanc harem femal charact romant involv male charact shōjo josei anim exampl ouran high school host club fruit basket magic girlfriend accur term exot girlfriend genr focus romant relationship cohabit man woman extraordinari origin alien tenchi muyo urusei yatsura supernatur goddess technolog chobit consid subgenr harem good treatment goddess call classic anim short-liv natur romant rivalri focu romant relationship quot fujishima kosuk goddess manga volum retriev august ecchi japanes indec sexual deriv japanes pronunci letter origin term japan main articl inform sexual humor fan servic preval exampl ebichu master hentai japanes abnorm pervert term synonym pornographi erotica hentai content specif consist exampl la blue girl bibl black yuri japanes focu love romanc femal charact replac term girl love gl yuri involv older charact explicit sexual activ exampl revolutionari girl utena kannazuki miko shōnen-ai japanes focu love romanc male charact term shōnen-ai phase japan due mean pederasti replac term boi love bl exampl loveless gravit yaoi shōnen-ai involv older charact explicit sexual activ exampl sensit pornograph distribut anim enter market japan grew major cultur export market expans anim market unit state worth approxim billion japan extern trade organ bianca wall street journal august retriev august anim commerci success asia europ latin america anim mainstream unit state saint seiya video game releas europ due popular show year seri off-air anim distribut compani handl licens distribut anim japan licens anim modifi distributor dub languag countri ad languag subtitl japanes languag track similar global distribut pattern hollywood world divid region edit cultur refer occur follow refer non-japanes cultur compani remov objection content compli domest law edit process preval robotech declin demand anim origin form light touch approach local favor viewer unfamiliar anim method evid success naruto cartoon network adult swim program block emploi minor edit advent dvd includ multipl languag track simpl product case vh cassett separ vh media vh cassett price singl dvd light touch approach appli dvd releas includ dub audio origin japanes audio subtitl typic unedit anim edit televis releas dvd uncut scene intact tv network regularli broadcast anim program japan major nation tv network tv tokyo broadcast anim regularli smaller region station broadcast anim uhf unit state cabl tv channel cartoon network disnei sci-fi dedic time slot anim anim network specif show anim soni base animax disnei jetix channel broadcast anim countri world anim central sole broadcast anim uk violat copyright law countri fan add subtitl anim distribut fansub ethic implic produc distribut watch fansub topic controversi fansub group profit activ seri licens japan fansub group ceas distribut work case media factori incorpor request fansub materi respect fansub commun cnet februari retriev septemb instanc bandai specif thank role help melancholi haruhi suzumiya popular english speak world retriev decemb internet plai signific role exposur anim japan prior anim limit exposur japan border coincident popular internet grew anim fandom anim grew internet combin internet commun increas amount anim materi video imag help spur growth fandom juli retriev august internet gain widespread internet advertis revenu grew billion yen billion yen busi new decemb retriev august influenc western cultur anim commerci profit western countri earli commerci success western adapt anim astro boi reveal retriev phenomen success nintendo multi-billion dollar pokémon franchis pr newswir octob retriev septemb help greatli spin-off anim seri broadcast late run worldwid dai anim signific impact western cultur centuri western express interest japan anim dramat expos western cultur japan anim facet japanes cultur increas popular faiola anthoni washington post washington post compani decemb retriev august worldwid number peopl studi japanes increas japanes languag test devis meet increas demand japan foundat retriev august anime-influenc anim refer non-japanes work anim emul visual style anim ann juli retriev august work creat studio unit state europ non-japanes asia gener incorpor styliz method gag anim physic case avatar airbend product crew fan anim requir view anim scifi retriev octob creator cite anim sourc inspir seri troi roger undergroundonlin retriev octob ten minut mega xlr octob french product team star-rac move tokyo collabor japanes product team hal film maker critic gener anim fanbas anim animen retriev august american anim televis seri singl anim style satir intent south park chinpokomon good time weapon south park notabl draw style parodi brittl bullet episod anim flcl releas month chinpokomon air intent satir anim springboard basic premis kappa mikei nicktoon network origin cartoon clich anim parodi perfect hair episod son draw famili gui parodi anim appear speed racer trainer speak english phrase punctuat ha-ha anim convent began earli anim boom start anim expo otakon jacon anim convent held annual citi america asia europ animecon retriev septemb attende particip cosplai dress anim charact guest japan rang artist director music group invit +ankara capit turkei countri largest citi istanbul citi popul provinc elev ft angora hittit gave bc galatian roman call ancyra classic hellenist byzantin period ankara serv capit provinc ankara central locat anatolia ankara import commerci industri citi center turkish govern hous foreign embassi import crossroad trade strateg locat center turkei highwai railwai network serv market center surround agricultur area citi famou long-hair angora goat prize wool mohair uniqu breed cat angora cat white rabbit prize wool angora wool pear honei region muscat grape ankara situat steep rocki hill rise plain left bank su tributari sakarya sangariu river citi locat north east ankara driest place turkei surround barren stepp veget hittit phrygian hellenist roman byzantin ottoman archaeolog site harsh dry continent climat cold snowi winter hot dry summer rainfal occur spring autumn hill overlook citi crown ruin castl add picturesqu view histor structur surround citadel surviv date fine preserv remain hellenist roman byzantin architectur remark templ augustu rome bc monumentum histori hittit artifact displai museum anatolian civil region vibrant histori trace bronz ag hatti civil succeed millennium bc hittit centuri bc phrygian lydian persian macedonian galatian roman byzantin turk seljuk empir ottoman empir turkei oldest settlement citi center ankara belong hatti civil live bronz ag artifact discov citi reveal hittit call ankara prior bc citi significantli grew size import phrygian start bc experienc larg expans mass migrat gordion capit phrygia earthquak sever damag citi antiqu phrygian tradit king mida vener founder ancyra pausania mention citi older line present-dai knowledg histori pausania descript greec ancyra older phrygian rule succeed lydian persian rule strongli phrygian charact peasantri remain evidenc graveston roman period persian sovereignti last defeat hand macedonian king alexand great conquer citi bc alexand gordion ankara stai citi short period death babylon bc subsequ divis empir gener ankara environ fell share antigonu phrygian period citi experienc largest expans ancient time import expans place greek ponto develop citi trade center commerc good black sea port crimea north assyria cypru lebanon south georgia armenia persia east time citi mean anchor greek turk slightli modifi form ankara bc citi rest central anatolia occupi celtic race galatian ankara main tribal centr headquart tectosag tribe centr todai tribe east ankara tribe citi ancyra celtic element small number warrior aristocraci rule peasant celtic languag continu spoken galatia centuri centuri ad st jerom nativ galatia observ languag spoken ankara similar spoken northwest roman world trier ancyra capit roman provinc galatia citi subsequ conquer augustu bc pass control roman empir capit citi roman provinc galatia ancyra continu center great commerci import ankara famou monumentum templ augustu rome offici record act augustu re gesta divi augusti inscript cut marbl wall templ ruin ancyra furnish todai valuabl bas-relief inscript architectur fragment augustu decid ancyra main administr centr central anatolia town popul phrygian celt galatian spoke languag close relat welsh gaelic ancyra center tribe tectosag augustu upgrad major provinci capit empir galatian tribal centr yozgat pessinu west continu import settlement roman period ancyra grew grand metropoli estim peopl live ancyra good time roman empir greater number case fall roman empir earli twentieth centuri small river ankara ran centr roman town cover divert form northern boundari town roman byzantin ottoman period rim majest hill south present citi center stood roman citi summer resort centuri remain roman villa larg hous stand presidenti resid stand todai west roman citi extend area gençlik park railwai station southern side hill extend site present occupi hacettep univers sizeabl citi standard larger roman town gaul britannia ancyra import rest fact junction point road northern anatolia run north-south east-west intersect great imperi road run east pass ankara success emperor armi roman highwai network equal conveni invad centuri ancyra invad rapid success goth come west rode heart cappadocia slave pillag arab decad town western outpost brilliant queen ancient world arab empress zenobia palmyra syrian desert advantag period weak disord roman empir set short-liv state templ augustu rome commonli monumentum ulu primari intact copi re gesta written roman emperor augustu surviv town reincorpor roman empir emperor aurelian tetrarchi system multipl emperor introduc diocletian engag substanti programm rebuild road construct ankara westward germ dorylaeum eskişehir heydai roman ankara larg market trade center function major administr capit high offici rule citi praetorium larg administr palac offic centuri life ancyra anatolian town militaris respons invas instabl town period citi central anatolia ankara undergo christianis earli martyr includ hilario nativ unknown villag ancyra suffer repress emperor trajan ad hear christian corn merchant southern anatolia captur martyr ankara eustathiu roman town reign diocletian mark culmin point repress christian ancyra town co-emperor diocletian deputi galeriu launch anti-christian persecut ancyra target bishop town clement clement life describ rome forc undergo interrog hardship brother companion put death remain church st clement todai build işıklar caddesi ulu district possibl mark site clement origin buri year doctor town name plato brother antiochu celebr martyr galeriu theodotu ancyra vener saint column julianu ulu district erect honor roman emperor julian apost visit ancyra persecut prove unsuccess ancyra center import council earli church consid ecclesiast polici reconstruct christian church persecut treatment christian conform pagan persecut council held capit galatia asia minor centuri orthodox plenari synod held disciplinari canon constitut import document earli histori administr sacrament penanc deal condit reconcili lapsi marriag alien church properti pagan totter ancyra clement dai major religion twenti year christian monoth place ancyra quickli turn christian citi life domin monk priest theolog disput town council senat gave bishop main local figurehead middl centuri ancyra involv complex theolog disput natur christ form arian origin synod semi-arian conciliabulum presid basil ancyra condemn grosser arian blasphemi set equal heret doctrin proposit son similar father ident substanc aerial view current turkish parliament build design renown austrian architect clemen holzmeist emperor julian apost pass ancyra ill-fat campaign persian christian sourc engag persecut holi men stone base statu inscript describ julian lord world british ocean barbarian nation built eastern side circuit wall ankara castl column julian erect honor emperor visit citi stand todai arian bishop met ancyra depos bishop st gregori nyssa modern ankara western text angora remain roman cathol titular roman provinc galatia asia minor suffragan laodicea episcop list gam seri episc eccl cath ancyra phrygia centuri ancyra imperi holidai resort constantinopl east roman capit emperor centuri retir humid summer weather bosphoru drier mountain atmospher ancyra theodosiu ii court ancyra summer law issu ancyra testifi time spent citi militari logist signific last long byzantin reign ancyra fell hand arab armi numer time centuri remain import crossroad poli byzantin empir late centuri seljuk sultan alparslan open gate anatolia turk victori battl manzikert malazgirt annex ankara import locat militari transport natur resourc territori orhan bei ottoman empir captur citi turkic ruler timur defeat ottoman battl ankara captur citi ankara ottoman control dikmen vallei tower armada tower center tower background ottoman defeat world war ottoman capit istanbul anatolia occupi alli plan share land unit kingdom franc itali greec leav turk small piec land central asia minor respons leader turkish nationalist movement kemal atatürk establish headquart resist movement ankara treati sèvre turkish war independ war independ won turkish nationalist replac ottoman empir republ turkei octob dai earlier ankara replac istanbul constantinopl turkish capit citi octob ankara capit newli found republ turkei develop divid citi section call ulu section call yenişehir ancient build reflect roman byzantin ottoman histori narrow wind street mark section section center kızılai trap modern citi wide street hotel theater shop mall high-ris govern offic foreign embassi locat section ankara experienc phenomen growth turkei capit small town import columbia lippincott gazet capit turkei year govern move ankara resid resid popul grown popul million panoram view ankara tower left panoram view ankara tower left attract museum anıtkabir atatürk mausoleum hattian artifact millennium bc museum anatolian civil anıtkabir locat impos hill quarter citi mausoleum mustafa kemal atatürk founder republ turkei stand complet impress fusion ancient modern architectur style adjac museum hous wax statu atatürk write letter person item exhibit photograph record import moment life establish republ anıtkabir open dai adjac museum open dai mondai ankara ethnographi museum müzesi museum opera hous talat paşa boulevard ulu district fine collect folklor ottoman-era artifact museum anatolian civil anadolu müzesi situat entranc ankara castl cover bazaar beautifulli restor hous uniqu collect paleolith neolith hatti hittit phrygian urartian roman work major section dedic lydian treasur state art sculptur museum müzesi museum close ethnographi museum hous rich collect turkish art late centuri present dai galleri host guest exhibit war independ museum müzesi build locat ulu squar origin parliament build tbmm republ turkei war independ plan direct record photograph item present exhibit displai wax figur presid republ turkei exhibit tcdd locomot museum open-air museum railwai station celal bayar boulevard trace histori steam locomot locomot artifact displai turkish air forc aviat museum museum istanbul road museum home aircraft serv turkish air forc jet cargo plane hungarian pakistani bulgarian displai museum archeolog site ankara citadel foundat citadel laid galatian promin lava outcrop rest complet roman byzantin seljuk restor addit area citadel oldest part ankara fine exampl tradit architectur recreat area relax restor tradit turkish hous citadel area life restaur serv local cuisin music roman theatr remain stage backstag castl roman statu exhibit museum anatolian civil seat area excav templ augustu rome templ monumentum built bc bc conquest central anatolia roman empir format roman provinc galatia ancyra modern ankara administr capit death augustu ad copi text re gesta divi augusti inscrib interior pronao latin greek translat present exterior wall cella templ ancient acropoli ancyra enlarg roman centuri centuri convert church byzantin locat ulu quarter citi roman bath bath typic featur classic roman bath frigidarium cold room tepidarium cool room caldarium hot room bath built reign emperor caracalla centuri ad honour god medicin todai basement floor remain situat ulu quarter column julian column ulu erect commemor visit roman emperor julian stand fifteen meter high typic leaf decor capit modern monument kızılai squar heart ankara monument secur confid futur monument locat güven park kızılai squar erect bear atatürk advic peopl turk proud work hard victori monument zafer erect zafer squar quarter depict atatürk uniform hatti monument built squar impress monument symbol hatti god commemor anatolia earliest civil mosqu bayram mosqu mosqu ulu quarter templ augustu built earli centuri seljuk style unknown architect subsequ restor architect sinan centuri kütahya tile ad centuri mosqu built honor bayram veli tomb mosqu year death usabl space mosqu squar meter floor squar meter floor park göksu park gençlik park central ankara ankara park open space establish earli year republ maintain expand import park gençlik park hous amus park larg pond row botan garden park park park famou swan receiv gift chines govern abdi ipekçi park güven park monument park ice-sk rink promin exposit fair area claim biggest park europ citi border göksu park atatürk forest farm zoo atatürk orman expans recreat farm area hous zoo small agricultur farm greenhous restaur dairi farm breweri pleasant place spend dai famili picnic hike bike simpli enjoi good food natur exact replica hous atatürk born thessaloniki greec visitor farm affection call sampl famou product farm old-fashion beer ic cream fresh dairi product meat roll kebap charcoal tradit restaur merkez central restaur café establish scatter farm shop interior view karum shop busi center armada tower shop center ankara won europ shop mall award icsc mall turkei istanbul europ world win prestigi award foreign visitor ankara visit shop road ulu myriad rang tradit fabric hand-woven carpet leather product bargain price bazaar coppersmith popular interest item copper jewelri carpet costum antiqu embroideri hill castl gate shop sell huge fresh collect spice dri fruit nut produc modern shop area kızılai hilmi avenu includ modern mall karum locat avenu tower quarter highest elev citi command magnific view citi revolv restaur top complet panorama enjoi leisur fashion ankara start expand westward modern develop western highwai eskişehir road armada cepa mall highwai galleria huge mall bilkent center offer north american european style shop opportun place reach eskişehir highwai newli expand outskirt istanbul highwai hous well-known european brand mall largest ankara region cultur educ ankara opera hous turkish state opera ballet histor head offic turkish state theater situat build hous küçük oda turkish state opera ballet nation director opera ballet compani turkei headquart ankara serv citi venu ankara opera hous opera büyük leyla gencer name world-fam soprano leyla gencer turkish state theatr head offic ankara run stage citi yıl büyük doubl ankara opera hous küçük irfan oda mahir canova muhsin ertuğrul addit citi serv privat theatr compani ankara sanat stage citi centr notabl ankara host classic music orchestra turkish presidenti symphoni orchestra bilkent hacettep orkestra akademik başkent başkent oda chamber orchestra capit concert hall citi cso salonu bilkent salonu meb salonu festiv hall sanatlar merkezi salonu citi host well-establish annual theatr music film festiv ankara film festivali ankara müzik festivali intern ankara music festiv ankara festivali ankara caz festivali univers part metu campu mm build ankara note turkei multitud univers home includ reput countri transport ankara rapid transit network esenboğa intern airport locat north-east citi main airport ankara turkish ankara termin import part bu network cover neighbourhood citi central train station ankara turkish state railwai turkish türkiy cumhuriyeti devlet tcdd import hub connect western eastern part countri high-spe rail servic oper ankara istanbul begin electr ga bu gener director ego oper ankara metro form public transport ankara serv suburban rail subwai line total daili commut addit subwai line construct sport ankara mayı stadium citi turkei footbal popular sport ankara citi footbal club compet turkcel super leagu gençlerbirliği finish leagu season büyükşehir ankaraspor finish leagu season finish leagu season fourth club gençlerbirliği move particip turkcel super leagu season start august ankara mayı stadium venu footbal game capac all-seat turkish basketbal leagu ankara repres türk telekom casa ted ankara ankara buz ic skate ic hockei competit place citi popular spot skateboard activ citi skater ankara meet park grand nation assembl turkei turkish angora ankara home world famou cat breed turkish angora call ankara turkish medium small size longhair long-bodi fine-bon beauti athlet grace turkish angora cat intellig instanc uncommon angora cat plai fetch open door ankara imag galleri view central ankara botan garden state art sculptur museum esenboğa intern airport presidenti resid armada tower shop center akman tower sheraton hotel convent center tower build türkiy headquart emek busi center kızılai squar build kızılai squar sheraton hotel build botanik park central ankara park park park famou swan gees duck park famou swan gees duck park central ankara park central ankara park central ankara park central ankara park central ankara park dikmen vallei park town twin list ankara sister citi +arab largest live member semit languag famili term speaker classifi central semit close relat hebrew arama root proto-semit common ancestor modern arab classifi macrolanguag sub-languag iso varieti spoken arab world standard arab wide studi islam world modern standard arab deriv classic arab surviv member north arabian dialect group attest epigraph centuri literari languag liturg languag islam centuri arab lent word languag islam world latin contribut european languag turn borrow languag persian sanskrit earli contact affili region middl ag arab major vehicl cultur scienc mathemat philosophi result european languag borrow numer word spanish portugues due proxim european arab civil year caliph govern iberian peninsula al-andalu literari modern standard arab term arab refer literari arab local varieti arab commonli call colloqui arab arab literari arab standard languag tend view mere dialect literari arab translit eloqu arab languag refer languag present-dai media north africa middl east languag qur'an express media includ televis radio practic written matter includ book newspap magazin document kind read primer small children colloqui dialect arab refer nation region varieti deriv classic arab spoken north africa middl east constitut everydai spoken languag differ mutual incomprehens dialect typic unwritten amount literatur plai poetri exist vari degre inform spoken media soap opera talk show literari arab classic arab offici languag arab countri form arab taught school stage sociolinguist situat arab modern time prime linguist phenomenon diglossia normal separ varieti languag social situat case arab educ arab nation assum speak local dialect literari arab digloss situat facilit code switch speaker switch varieti languag sentenc educ arab nation engag convers moroccan speak lebanes switch literari arab sake commun languag literari arab continu evolv classic arab pre-islam abbasid period includ qur'an arab distinguish modern standard arab msa todai classic arab consid norm modern author attempt vari degre success follow syntact grammat norm laid classic grammarian sibawayh vocabulari defin classic dictionari al-arab modern term mysteri classic author languag film coin exist lexic resourc telephon caller structur influenc foreign languag colloqui affect modern standard arab msa text format list classic arab prefer sentenc common msa classic arab reason modern standard arab gener treat separ non-arab sourc influenc arab languag influenc arab profound islam countri arab major sourc vocabulari languag divers berber kurdish persian swahili urdu hindi spoken varieti turkish malai indonesian languag countri languag spoken arab word book kitāb languag list malai indonesian specif mean religi book addit spanish portugues larg number arab loan word english languag maltes deriv arab borrow vocabulari grammar rule term borrow rang religi terminolog berber prayer salat academ term uyghur logic econom item english sugar placehold spanish fulano so-and-so everydai conjunct urdu lekin berber varieti kabyl swahili borrow number arab islam religi term direct borrow arab salat imam languag contact arab world arab loanword mediat languag transfer arab arab loanword urdu enter persian older arab loanword hausa borrow kanuri word english european languag deriv arab european languag spanish italian commonly-us word sugar sukkar cotton magazin english word recogniz arab origin includ algebra alcohol alchemi alkali zenith word common intent inform origin calqu arab philosoph term list arab loanword arab islam text written arab calligraphi arab languag qur'an tradition muslim deem imposs translat qur'an reflect exact mean languag school thought maintain translat arab islam spoken arab christian arab druze mizrahi jew iraqi mandaean world muslim speak arab nativ languag read script recit word religi text histori modern arab consid part sub-branch central group west semit languag brian bishop april histori arab languag center arab cultur arab oldest semit languag share featur common ancestor semit languag afro-asiat group languag proto-semit phonolog morpholog syntact featur determin linguist brian bishop april histori arab languag center arab cultur linguist arab semit modern semit languag term complet preserv featur proto-semit titl url brian bishop april center arab cultur earliest ancient north arabian text inscript eastern saudi arabia centuri bc written modern arab alphabet nabataean ancestor variant epigraph south arabian musnad th-centuri bc text southeastern saudi arabia thamud text arabia sinai realiti connect thamud safait inscript begin st centuri bc arab person name attest nabataean inscript written arama centuri bc inscript al-faw reveal dialect longer consid pre-class arab fourth centuri ad arab kingdom lakhmid southern iraq ghassanid southern syria kingdom emerg central arabia court respons notabl exampl pre-islam arab poetri surviv pre-islam arab inscript arab alphabet dialect descend colloqui arab collect term spoken varieti arab arab world mention differ radic literari languag main dialect divis north african dialect middl east sedentari dialect conserv bedouin dialect speaker dialect unabl convers speaker dialect arab middl eastern gener understand troubl understand north african convers true due popular middl eastern egyptian film media factor differenti dialect influenc languag previous spoken area typic signific number word influenc pronunci word order signific factor dialect romanc languag retent chang mean classic form iraqi aku levantin north african classic arab form i sound major group egyptian arab spoken million peopl egypt wide understood varieti due popular film tv show maghrebi arab algerian arab moroccan arab tunisian arab maltes western libyan arab moroccan algerian dialect spoken million peopl levantin arab western syrian lebanes palestinian western jordanian cypriot maronit arab iraqi arab khuzestani arab signific differ south conserv northern citi east arabian arab eastern saudi arabia western iraq eastern syrian jordanian part oman gulf arab bahrain saudi eastern provinc kuwait uae qatar oman varieti includ mauritania mali western sahara sudanes arab dialect continuum chad hijazi arab western saudi arabia najdi arab najd region central saudi arabia yemeni arab yemen southern saudi arabia andalusi arab iberia centuri siculo arab sicili south itali centuri maltes spoken mediterranean island malta establish fulli separ languag independ literari norm phonolog maltes bear consider similar urban varieti tunisian arab histori languag adopt numer loanword phonet phonolog featur grammat pattern italian sicilian english semit tongu written latin alphabet sound phonem reflect pronunci standard arab minor variat countri countri vowel arab vowel long short form diphthong aj aw conson arab alphabet explan ipa phonet symbol chart pronounc speaker characterist egyptian southern yemeni dialect part north africa levant pronounc pronounc god allah word phonet approxim varieti epiglott report earlier work consid uvular sound linguist arab conson tradition term emphat velar pharyngealis simultan velar pharyng deem retract tongu root phonologist thelwal transcript system emphasi shown capit letter written letter underlin dot vowel conson phonolog short long long gemin conson written doubl latin transcript bb dd reflect presenc arab diacrit mark mark lengthen conson conson held long short conson conson lengthen phonem contrast qabala accept kiss syllabl structur arab kind syllabl open syllabl cv cvv close syllabl cvc cvcc syllabl begin conson conson borrow previou word elis case definit articl start utter word divid syllab director stress word stress phonem contrast standard arab bear strong relationship vowel length phonem syllabl shape correct word stress aid intellig basic rule syllabl stress restrict superheavi syllabl long vowel conson stress syllabl pre-fin syllabl stress allow syllabl stress standard arab final long vowel stress restrict appli spoken dialect origin final long vowel shorten secondari final long vowel arisen book writer desk desk librari msa wrote dialect msa wrote dialect msa dual fem wrote msa wrote dialect doubl conson count conson magazin palac dialect stress rule cairo egyptian arab dialect heavi syllabl carri stress syllabl word school cairo arab sana stress retract hous tabl desk school dialect syllabl long vowel diphthong consid heavi two-syl word final syllabl stress preced syllabl light longer word final syllabl stress dialect variat dialect phonem list chart non-arab maghrebi dialect written languag foreign name semit extrem earli arab written modern arab dialect iraqi influenc persian turkish distinguish interdent fric render stop dialect levantin egyptian maghreb dialect render learn word standard languag earli expans arab separ emphat phonem singl phonem predict dialect interdent fric exclus fric learn word standard languag render middl east north africa dialect interdent fric kei distinguish mark arab dialect render origin velar uvular stop proto-semit retain origin pronunci wide scatter region yemen morocco urban area maghreb render voic velar stop gulf arab iraqi arab upper egypt maghreb urban part levant jordan voic uvular constrict sudanes arab glottal stop prestig dialect spoken cairo beirut damascu tradition christian villag rural area levant render sound shia bahraini gulf dialect palat dialect modifi pronunci maintain pronunci word religi educ overton borrow classic languag retain pronunci iraq arabian peninsula morocco levant word gulf arab retain origin pronunci palat word palestin iraq arabian peninsula distinct suffix masc fem sana arab grammar noun literari arab grammat case nomin accus genit noun govern preposit number singular dual plural gender masculin feminin state indefinit definit construct case singular noun long suffix short vowel nomin accus genit feminin singular mark reduc paus plural end sound plural intern modif broken plural definit noun includ proper noun noun construct state noun prefix definit articl indefinit singular noun long add final case-mark vowel give refer verb literari arab mark person gender number conjug major paradigm term perfect imperfect non-past voic activ passiv mood imperfect indic imper subjunct jussiv energet participl activ passiv verbal noun infinit differ term tens system disagr distinct system accur character tens aspect combin perfect aspect construct fuse suffix combin person number gender singl morphem imperfect aspect construct combin prefix primarili encod person suffix primarili encod gender number mood imper primarili mark suffix indic subjunct jussiv energet imper end jussiv lack prefix passiv mark intern vowel plural form verb subject mention preced feminin singular non-human plural adject literari arab mark case number gender state noun plural non-human noun combin singular feminin adject take suffix pronoun literari arab mark person number gender varieti independ pronoun enclit enclit pronoun attach verb noun preposit verbal preposit object possess noun first-person singular pronoun enclit form verb noun preposit conson vowel noun verb pronoun adject agre respect non-human plural noun grammat consid feminin singular verb sentenc mark singular semant number subject verb explicitli mention noun numer ten show agreement grammat masculin numer feminin mark vice-versa spoken dialect lost case distinct limit dual occur noun longer requir circumst lost mood distinct imper gain mood prefix indic unmark subjunct lost indefinit intern passiv modern standard arab maintain grammat distinct literari arab energet mood addit modern standard arab drop final short vowel case mood semit languag arab verb format base triconsonant root word semant core conson k-t-b word form suppli root vowel structur affix tradition arab grammarian root templat discuss word format root fifteen verb form templat refer western scholar form form ii form xv form participl verbal noun primari mean form vocabulari arab form xi xv extrem rare write system arab alphabet deriv arama script syriac nabatean bear loos resembl coptic cyril script greek script tradition differ western north african middl eastern version alphabet fa qaf dot singl dot maghreb order letter slightli numer maghrebi variant abandon calligraph purpos maghreb remain quran school zaouia west africa arab semit languag maltes languag ge'ez script written left style script notabl naskh print comput commonli handwrit hanna sami naguib grei write arab linguist approach sound script brill archiv calligraphi definit fix arab script khalil ibn ahmad al style develop write qur'an book inscript monument decor arab calligraphi fallen calligraphi western world consid arab major art form calligraph held great esteem cursiv natur latin alphabet arab script write vers qur'an hadith simpli proverb spectacular composit composit abstract write shape actual form anim current master genr hassan massoudi transliter number standard arab transliter method accur effici repres arab latin alphabet multipl conflict motiv transliter scholarli system intend accur unambigu repres phonem arab gener suppli make phonet explicit origin word arab alphabet system heavili reliant diacrit mark sound equival written sh english case sh kh sound repres italic underlin distinguish separ sound sound compar gashous gash sight difficult recogn scientif system digraph sh kh simpl read sacrific definit scientif system system intend reader arab speaker linguist intuit pronounc arab name phrase system orthographi type transliter seek repres equival arab spell latin letter arab speaker arab write ascii commun devic system militari standard arab technic transliter system satt repres arab letter uniqu symbol ascii rang provid one-to-on map arab ascii system facilit type english keyboard present ambigu disadvantag decad text commun technolog preval arab world person comput world wide web email bulletin board system irc instant messag mobil phone text messag technolog origin abil commun latin alphabet arab alphabet option featur result arab speak user commun technolog transliter arab text latin script im arab handl arab letter accur repres latin script numer charact appropri numer repres arab letter ayn univers type transliter name arab chat alphabet system transliter exist dot capit repres emphat counterpart conson instanc capit letter daal repres emphat counterpart written numer present-dai north africa western arab numer egypt arabic-speak countri east eastern arab numer lowest-valu digit appear order digit page latin script reflect arab number tradition read increas order thousand read declin late sequenc digit telephon number read left regul academi arab languag number bodi form arab countri activ damascu cairo review languag develop monitor word approv inclus word publish standard dictionari publish histor arab manuscript studi arab arab languag interest million non-arab speaker learn level languag holi book quran islam term arab arab taught elementari secondari school muslim school worldwid univers world todai class studi arab foreign languag part foreign languag middl eastern studi religi studi area studi depart standalon arab languag depart arab languag school exist todai assist gain arab languag skill academ educ arab languag school locat arab world muslim world countri softwar book tape import part arab learn arab learner live place academ arab languag school class radio seri arab languag class radio station number websit internet provid onlin class level distanc educ mean +apocalyps academi award cann palm d'or golden globe win american film set vietnam war tell stori armi captain benjamin willard jungl assassin unit state armi special forc colonel walter kurtz plai marlon brando insan film view journei dark human psych film direct franci ford coppola script coppola john miliu michael herr larg part base joseph conrad novella heart dark draw element herr dispatch werner herzog aguirr wrath god coppola note aguirr incred imageri strong influenc remiss didn't mention peari gerald retriev march film star martin sheen captain benjamin willard base marlow conrad novella marlon brando colonel kurtz denni hopper photojournalist robert duval oscar-nomin turn wild colonel bill kilgor movi notori entertain press due lengthi troubl product coppola financ film monei plot armi captain benjamin willard return saigon season veteran deepli troubl appar longer fit civilian life group intellig offic approach special mission up-riv remot cambodian jungl find colonel walter kurtz member unit state armi special forc state kurtz consid model offic futur gener allegedli insan command legion montagnard troop deep forest neutral cambodia claim support disturb radio broadcast record kurtz willard order undertak mission find kurtz termin extrem prejudic willard studi intellig file boat ride river entranc learn kurtz isol compound assum role warlord worship nativ loyal men offic colbi earlier kill kurtz lieuten willard begin trip mekong river pbr patrol boat riverin eclect crew compos by-the-book formal chief phillip black navi boat command gm lanc johnson tan all-american california surfer gm tyron clean black south bronx orleanian engineman jai chef hick pbr arriv land zone willard crew meet colonel bill kilgor eccentr command region unit massiv hectic mopping-up oper conquer enemi town kilgor keen surfer befriend johnson learn men mike beach coast mark open river perfect surf factor persuad captur problem troop charli point heavili fortifi dismiss complaint explan charli don't surf kilgor order men saddl morn captur town beach ride high coast fleet huei accompani h- kilgor launch attack beach scene famou richard wagner ride valkyri theme end soldier surf bare claim beach skirmish infantri vc helicopt swoop villag demolish visibl sign resist giant napalm strike nearbi jungl dramat mark climax battl kilgor exult willard famou speech eulogis smell napalm morn smell victori love smell napalm smell light mood darken boat navig upstream willard silent obsess kurtz deepen incid journei includ run-in tiger willard chef search mango impromptu inspect vietnames sampan lead massacr surreal stop american outpost vietnames attack wood bridg construct shock death clean chief phillip gunfir ambush hidden viet cong soldier spear thrown nativ shore arriv outpost willard leav chef order call air strike villag return met freelanc photograph hopper explain kurtz great philosoph skill provok peopl brought kurtz held captiv darken templ willard’ constitut appear weaken kurtz lectur theori war human civil kurtz explain motiv philosophi famou haunt monologu prais ruthless viet minh ten divis men troubl quickli men moral time util primordi instinct kill feel passion judgment judgment judgment defeat bound pour rain willard approach kurtz place sever head chef lap coppola explicit willard kurtz develop understand kurtz wish die willard hand willard subsequ grant kurtz offer chanc succe role juxtapos ceremoni slaughter water buffalo willard enter kurtz chamber messag record kill machet entir sequenc set door sequenc begin film ly bloodi dy ground kurtz whisper horror horror line conrad novella willard walk crowd nativ return pbr float kurtz final word echo wind screen fade black altern version end time releas rumor surround apocalyps coppola state written hast willard kurtz join forc repel air strike compound coppola fulli agre apocalypt intens prefer film encourag manner coppola origin organ movi choic involv willard lead lanc hand kurtz base throw weapon end imag willard boat pull kurtz compound superimpos face stone idol fade black option show air strike call base blown bit spectacular displai kill left base origin mm theatric releas end willard boat stone statu fade black credit longer practic credit coppola elect show credit superimpos shot kurtz base explod anamorph mm rental print circul hand collector coppola heard audienc interpret air strike call willard coppola pull film mm run put credit black screen dvd commentari coppola explain imag explos intend part stori intend complet separ film ad credit captur footag demolit set philippin film multipl camera fit film stock lens captur explos speed confus misinterpret multipl slightli vari version credit tv screen maintain explos footag version mm releas end credit save omni film end mirror lack open titl supposedli stem coppola origin intent tour film plai credit appear print program screen began fact cinema repeat theatric releas apocalyps redux dvd theatric version plai mm version begin credit separ part dvd credit apocalyps redux credit plai black background ambient music rhythm devil apocalyps redux coppola releas apocalyps redux latin brought cinema subsequ dvd extend version restor minut scene cut origin film coppola continu circul origin version version packag complet dossier dvd releas august signific footag ad redux version anticoloni chapter involv de marai famili rubber plantat holdov colon french indochina featur coppola son giancarlo roman children famili scene remov cut premier cann scene footag heart dark coppola express anger set technic aspect shot scene result tight alloc resourc time redux version footag accomplish coppola vision scene french famili patriarch argu posit side coloni indochina denounc betray militari men indochina war hubert de marai argu french politician sacrif entir battalion biên tell willard creat viet cong viet minh fend japanes invad ad materi includ extra combat footag willard meet kilgor humor scene willard team steal kilgor surfboard shed light hunt mango follow-up scene danc playboi playmat willard team find playmat await evacu helicopt run fuel scene kurtz read time magazin articl war surround cambodian children adapt inspir joseph conrad heart dark film deviat extens sourc materi novella base conrad real experi steam paddleboat captain africa set belgian congo centuri kurtz marlow name willard movi work belgian trade compani brutal exploit nativ african worker marlow arriv kurtz outpost discov kurtz insan lord small tribe god novella end kurtz dy trip narrat muse dark human psych heart immens dark novella marlow pilot river boat collect ivori kurtz outpost gradual infatu kurtz fact discov kurtz terribl health marlow concert effort bring home safe movi willard assassin dispatch kill kurtz depict kurtz god-lik leader tribe nativ malari fever kurtz written exclam extermin brute appear film drop bomb extermin final line horror horror conrad novella coppola argu episod film spear arrow attack boat respect spirit novella critiqu concept civil progress coppola replac european colon american intervention messag conrad book clear background product film origin written late john miliu direct film wind lion red dawn conan barbarian miliu claim inspir film professor claim successfulli adapt book heart dark attempt legendari director orson well richard brook iron finish film anti-war movi miliu polit rightist origin conceiv titl cynic answer leftist hippi slogan nirvana origin screenplai includ speech kurtz extol virtu combat warrior life script origin direct georg luca coppola proteg american zoetrop coppola found zoetrop creat altern major hollywood studio support work rise gener graduat colloqui movi brat war vietnam activ time initi plan shoot apocalyps guerilla-styl vietnam warner bro product deal zoetrop refus financ project commerci reason fear filmmak kill shoot war zone luca claim studio project colleagu crazi luca success american graffiti coppola chose direct film reportedli caus friction men coppola chose financ film asset monei earn godfath film bank loan order retain total creativ control final product coppola rewrot script accommod vision remov miliu macho dialogu chang film miliu origin show kurtz willard join forc fight american air assault kurtz compound compound destroi massiv air strike kurtz di wound willard coppola dismiss cartoonish rewritten multipl time product kurtz role eventu improvis marlon brando film narrat written edit process michael herr written book dispatch war correspond vietnam apocalyps time coppola work cinematograph vittorio storaro shot film bernardo bertolucci includ conformist coppola favorit tango pari star marlon brando coppola approach legendari b-movi director roger corman coppola mentor gave break director corman experi shoot philippin film shot countri notabl pagsanjan river hidden vallei spring corman advis director don't film start shoot countri monsoon season weather help fuel shoot histori legendari length difficulti film long critic eventu began refer apocalyps film budget schedul reason typhoon destroi set rebuilt great expens philippin air forc helicopt shoot kilgor attack vietnames villag constantli call presid ferdinand marco serv actual combat anti-govern rebel lead role captain willard plai harvei keitel recast week shoot began keitel footag re-shot martin sheen suffer near-fat heart attack product suffer alcohol shoot film die air unit kingdom channel juli sheen reveal open scene complet improvis drink dai birthdai shot broke mirror accid start bleed coppola want stop film sheen insist continu watch scene sheen good know sheen week recov return set time film danger shut similar appear voic joe estevez sheen brother stood sheen long shot record film narrat marlon brando colonel kurtz marlon brando appear set massiv overweight charact descript sick emaci major brando dialogu improvis short time actor coppola famous shoot access monei equip insan director face bankruptci financi ruin film finish shut person invest bizarr circumst product creat immens person pressur documentari heart dark filmmak apocalyps direct eleanor coppola georg hickenloop fax bahr coppola marriag fell director suffer nervou breakdown includ declar commit suicid separ time make film film year edit editor make averag cut dai state-of-the-art edit equip purchas coppola specif product initi rough cut hour long sever cut three-hour version screen work progress cann film festiv won palm d'or film cann press confer coppola famou comment film vietnam vietnam director archiv materi complet dossier edit state plan creat singl theater geograph center unit state kansa show apocalyps apocalyps special tailor film mm projector surround sound sensurround system vibrat seat interv ey event liken travel mount rushmor incident idea motiv richard wagner bayreuth festiv wagner parsif initi shown bayreuth bayreuth chosen festiv locat heart germani wagner music featur promin apocalyps coppola inspir wagner origin releas version movi hour long box-offic success unit state oversea eventu million dollar box offic coppola re-releas film titl apocalyps redux print supervis vittorio storaro color process invent restor film releas storaro claim apocalyps redux origin releas print film catastroph product film symbol danger excess directori control major product shoot toll involv coppola mental emotion respons apocalyps premier mix review receiv polar respons audienc laud revil critic slam film call overli pretenti felt end anticlimact splendid act roger ebert hail film ad list great movi state apocalyps vietnam film greatest film push dark place soul war war reveal truth happi discov todai film wide regard masterpiec hollywood era afi year movi list number kilgor quot love smell napalm morn number afi year movi quot list sight sound magazin poll critic film year apocalyps name number list war film viewer channel greatest war film rank number channel film die poll uk film fan blockbust list kilgor eulogi napalm movi speech januari bbc new access februari water buffalo slaughter machet climact scene fact real ritual perform local nativ coppola film crew sidelin honor guest american product subject american anim cruelti law scene film philippin polic monitor american human associ gave film unaccept rate retriev novemb home video releas aspect ratio issu home video releas apocalyps pan-and-scan version origin mm anamorph print close credit white black background present compress full-fram format credit inform standard televis letterbox appear laserdisc crop film aspect ratio conform spec creat cinematograph vittorio storaro featur small degre pan-and-scan process notabl open shot willard hotel room featur composit montag insist coppola storaro credit videotap sourc film print crush zoom fit anamorph video frame dvd releas maintain aspect ratio anamorph widescreen present film credit treat separ featur dvd extra footag explos kurtz compound featur text credit includ commentari director coppola explain end base film screen cast martin sheen captain benjamin willard marlon brando colonel walter kurtz robert duval lieuten colonel william kilgor cavalri battalion command freder forrest engineman class jai chef hick sam bottom gunner mate class lanc johnson laurenc fishburn gunner mate class tyron clean miller albert hall quartermast chief georg phillip navi boat command spradlin lieuten gener corman militari intellig harrison ford colonel luca aid corman denni hopper american photojournalist scott glenn captain richard colbi previous assign willard current mission bill graham agent announc charg playmat show cynthia wood playmat year colleen camp playmat christian marquand hubert de marai redux version auror clément roxann marai redux version roman coppola franci de marai redux version actor promin star minor role movi includ harrison ford spradlin scott glenn lee ermei fishburn fourteen year shoot began march credit larri fishburn cast member futur promin actor film director martin sheen eldest son emilio estevez plai young soldier movi apocalyps long finish fishburn seventeen ag charact time releas award win academi award cinematographi vittorio storaro academi award sound walter murch mark berger richard begg nathan boxer cann film festiv palm d'or golden globe award director franci ford coppola golden globe award support actor robert duval golden globe award origin score carmin coppola franci ford coppola unit state librari congress deem film cultur signific select preserv nation film registri movi poster art apocalyps bob peak consid influenti artist world movi poster nomin academi award pictur golden globe award motion pictur drama academi award support actor robert duval academi award art direct set decor angelo graham georg nelson dean tavoulari academi award direct franci ford coppola academi award film edit lisa fruchtman gerald greenberg richard mark walter murch write screenplai base materi medium franci ford coppola john miliu wga award drama written screen john miliu franci ford coppola grammi award origin score written motion pictur carmin coppola franci ford coppola +sir alfr joseph hitchcock kbe august april ken mogg retriev march icon highli influenti director produc pioneer techniqu suspens thriller genr substanti film career nativ britain move hollywood american citizen dual nation remain british subject hitchcock direct fifti featur film career span decad silent film era invent talki colour era consist recogniz director gener public success film director lifetim continu popular filmmak time fame hitchcock famou expert larg unrival control pace suspens film draw heavili fear fantasi film droll humour wittic cinemat work portrai innoc peopl caught circumst control understand hitchcock began direct career unit kingdom onward work primarili unit state septemb hitchcock purchas km mountaintop estat marion dale scott vallei chamber commerc retriev march sum santa cruz librari ca retriev march cornwal ranch retriev march heart mountain locat canham road ranch perch high scott vallei california hitchcock resid hitchcock close friend parent joan fontain star film rebecca year break-in estat hitchcock replac accumul paint copi famili sold estat year hitchcock death hitchcock famili purchas home late bellagio road retriev march lo angel bel air countri club retriev march hitchcock di renal failur patrick mcgilligan alfr hitchcock life dark light york harpercollin rebecca internet movi databas retriev march film win academi award pictur imdb retriev march film nomin hitchcock won academi award director award irv thalberg memori award academi motion pictur art scienc retriev march lifetim achiev life adolesc hitchcock mosaic leytonston station alfr hitchcock born august leytonston london son youngest children william hitchcock greengroc poulter wife emma jane hitchcock née whelan famili roman cathol irish extract patrick mcgilligan hitchcock jesuit classic school st ignatiu colleg enfield london retriev march childhood lone shelter compound weight issu patrick mcgilligan pg wide child hitchcock father local polic station note offic lock ten minut punish behav badli sentinel staff report juli retriev march idea harshli treat wrongfulli accus commonli reflect hitchcock film patrick mcgilligan pg mother address stand foot bed behav badli forc stand hour experi hitchcock portray charact norman bate movi psycho internet movi databas retriev march patrick mcgilligan hitchcock father di year left jesuit-run st colleg stamford hill school time studi school engin navig graduat draftsman advertis design cabl compani patrick mcgilligan pg period hitchcock intrigu photographi start work film product london work design london branch paramount pictur receiv full-tim posit islington studio american owner famou players-laski british successor gainsborough pictur british film institut screenonlin retriev march design titl silent movi patrick mcgilligan pg pre-war british career michael balcon british film institut screenonlin retriev march gainsborough pictur gave hitchcock opportun direct film pleasur garden internet movi databas retriev march ufa studio hollywood report februari retriev march germani commerci failur film threaten derail promis career patrick mcgilligan pg hitchcock rebound debut thriller genr film lodger stori london fog internet movi databas retriev march film major commerci critic success releas januari unit kingdom earlier work film influenc expressionist techniqu hitchcock wit first-hand germani film hitchcockian retriev march entertain weekli ew retriev march film incorpor theme wrong man patrick mcgilligan success lodger hitchcock began initi effort promot media hire publicist imbu grow reput british film industri rise star decemb hitchcock marri assist director alma revil brompton oratori child daughter patricia born alma hitchcock closest collabor wrote screenplai uncredit work film began work tenth film blackmail internet movi databas retriev march film product studio decid britain sound pictur climax film place dome british museum blackmail began hitchcock tradit famou landmark backdrop suspens sequenc pb seri men movi public broadcast system retriev march hitchcock explain earli sound record special element film emphas word knife convers woman suspect murder patrick mcgilligan pg hitchcock work michael balcon gaumont-british pictur corpor british film institut retriev march film compani man knew internet movi databas retriev march success step internet movi databas retriev march consid film earli period film introduc concept macguffin plot devic stori revolv ultim true mean stori step macguffin stolen set blueprint hitchcock told french director françoi truffaut men sit train scotland man sir strang parcel luggag rack macguffin man macguffin answer apparatu trap lion scottish highland man lion scottish highland macguffin patrick mcgilligan hitchcock major success film ladi vanish internet movi databas retriev march clever fast-pac film search kindli englishwoman dame whitti internet movi databas retriev march disappear onboard train fiction countri thinly-veil version nazi germani retriev march hitchcock famou observ actor cattl braini quot retriev march remark earli late thought stage actor snobbish motion pictur michael redgrav hitchcock statement film ladi vanish phrase haunt hitchcock year result funni incid film product smith carol lombard brought heifer set surpris director patrick mcgilligan pg american movi classic hitchcock zenith artist talent posit negoti career option david selznick manag entic hollywood hollywood suspens gallow humour hitchcock trademark film continu product work arrang selznick optim selznick suffer perenni monei problem hitchcock displeas selznick creativ control film selznick end loan hitchcock larger studio produc hitchcock film addit selznick fellow independ produc samuel goldwyn film year selznick project hitchcock direct remark goldwyn negoti hitchcock contract outbid selznick hitchcock quickli impress superior resourc american studio compar financi restrict frequent encount england hitchcock fond homeland result numer american film set film unit kingdom next-to-last film frenzi internet movi databas retriev march prestigi selznick pictur rebecca hitchcock american movi set england base english author daphn du maurier star sir laurenc olivi joan fontain gothic melodrama explor fear naïv young bride enter great english countri home grappl problem distant husband predatori housekeep legaci husband late wife beauti mysteri rebecca film won academi award pictur statuett selznick film produc internet movi databas retriev march film fail win director award hitchcock addit problem selznick hitchcock selznick impos restrict rule hitchcock hinder creativ control hitchcock forc shoot film selznick want immedi creat friction relationship time selznick complain hitchcock goddamn jigsaw cut meant produc leewai creat film follow hitchcock vision finish product patrick mcgilligan pg film longest hitchcock film minut exceed paradin case minut north northwest internet movi databas retriev march minut patrick mcgilligan hitchcock american film thriller foreign correspond internet movi databas retriev march origin titl person histori nomin pictur year movi film year world war ii inspir rapidly-chang event europ american newspap report portrai wise-crack joel mccrea film cleverli actual footag european scene scene film hollywood backlot curious hollywood product code censorship film avoid direct refer germani german patrick mcgilligan film hitchcock film divers movi rang romant comedi smith courtroom drama paradin case internet movi databas retriev march dark disturb shadow doubt internet movi databas retriev march suspicion internet movi databas retriev march mark hitchcock film produc director hitchcock north coast santa cruz english coastlin sequenc film actor cari grant time work hitchcock time grant cast sinist role joan fontain hollywood retriev march won actress oscar york film critic circl award geociti retriev march outstand perform suspicion saboteur internet movi databas retriev march film hitchcock univers studio continu career year hitchcock forc util univers contract player robert cum priscilla lane work comedi light drama hitchcock situat receiv remark good perform lead actor break hollywood convent time hitchcock extens locat film york citi memor depict confront suspect saboteur cum real saboteur norman lloyd atop statu liberti shadow doubt person favourit film earli univers film young charlott charli newton teresa wright suspect belov uncl charli oaklei joseph cotten serial murder overlap charact dialogu closeup gener film theorist psychoanalyt potenti includ jacqu lacan slavoj film harken cotten film citizen kane internet movi databas retriev march hitchcock film extens locat time northern california citi santa rosa summer director showcas person fascin crime crimin charact discuss wai kill peopl obviou annoy charlott work centuri fox hitchcock adapt script john steinbeck chronicl experi survivor german u-boat attack film lifeboat internet movi databas retriev march action sequenc confin small boat film confin hitchcock film fox hitchcock consid direct film version cronin cathol priest china kei kingdom internet movi databas retriev march plan fell john stahl end direct film produc joseph mankiewicz star gregori peck luminari patrick mcgilligan return england extend visit late earli hitchcock film short film ministri inform bon voyag internet movi databas retriev march aventur malgach internet movi databas retriev march film franc free territori hitchcock french featur typic hitchcockian touch patrick mcgilligan pg film shown turner classic movi releas home video hitchcock serv treatment advisor effect holocaust documentari produc british armi film record liber concentr camp remain unreleas complet pb frontlin distribut titl memori camp patrick mcgilligan pg public broadcast system pb retriev march hitchcock work selznick direct spellbound internet movi databas retriev march explor then-fashion subject psychoanalysi featur dream sequenc design salvador dream sequenc appear film consider shorter origin envis minut long prove disturb audienc memor origin music score miklo rozsa adapt compos concert piano concerto notori internet movi databas retriev march spellbound selznick fail potenti allow hitchcock film rko point onward hitchcock produc film give greater degre freedom pursu project interest notori star hitchcock regular ingrid bergman cari grant featur plot nazi uranium south america huge box offic success remain hitchcock acclaim film uranium plot devic briefli led hitchcock surveil fbi mcgilligan wrote hitchcock consult scientist develop atom bomb selznick complain notion scienc fiction confront new stori deton atom bomb hiroshima nagasaki japan bomb led world war patrick mcgilligan pg complet final film selznick paradin case promis courtroom drama critic lost momentum appar ran long exhaust resourc idea hitchcock film color film rope internet movi databas retriev march appear hitchcock experi marshal suspens confin environ earlier lifeboat experi exception long take ten minut long theme devic featur jame stewart lead role rope film stewart hitchcock base leopold loeb case hitchcock cameraman manag move bulki heavi technicolor camera quickli set continu action long take capricorn internet movi databas retriev march set nineteenth-centuri australia short-liv techniqu long take limit extent technicolor product return black white film year rope capricorn hitchcock form product compani sidnei bernstein call transatlant pictur inact unsuccess pictur hitchcock continu produc film rest life peak year hitchcock film stage fright locat time hitchcock match warner retriev march biggest star jane wyman sultri german actress marlen dietrich dietrich daughter wrote dietrich detest wyman wyman won actress oscar johnni belinda hitchcock exploit offscreen animos wyman dietrich offbeat behind-the-scen glimps london theatric person commit murder hitchcock util number promin british actor includ michael wild richard todd alastair sim hitchcock product warner brother distribut rope capricorn transatlant pictur experienc financi difficulti patrick mcgilligan pg film stranger train internet movi databas retriev march base patricia highsmith hitchcock combin element preced british american film men casual meet specul remov peopl caus difficulti men take banter farlei granger repris element role rope stranger continu director interest narr possibl blackmail murder mca head lew wasserman client list includ jame stewart janet leigh actor hitchcock film signific impact packag market hitchcock film begin wasserman hitchcock receiv tremend creativ freedom studio substant financi reward result paramount profit-shar contract popular film star grace kelli dial murder adapt popular stage plai frederick knott origin experiment film hitchcock techniqu cinematographi film releas format receiv screen earli form film mark return technicolor product hitchcock hitchcock move paramount pictur film rear window internet movi databas retriev march star jame stewart kelli thelma ritter raymond burr wheelchair-bound stewart observ movement neighbour courtyard convinc murder wife lifeboat rope movi photograph confin small space stewart tini studio apart overlook massiv courtyard set catch thief set french riviera star kelli cari grant prove hitchcock film kelli marri princ rainier monaco resid homeland refus film remak film man knew internet movi databas retriev march time star jame stewart dori dai sang theme song sera sera won oscar music internet movi databas retriev march big hit dai wrong man internet movi databas retriev march hitchcock final film warner brother low-kei black white product base real-lif case mistaken ident film hitchcock star henri fonda vertigo internet movi databas retriev march star stewart time kim novak barbara bel gedd film commerci failur view hitchcock masterpiec highli sight sound decad poll premier san sebastian intern film festiv retriev march internet movi databas retriev march hitchcock won silver seashel late fifti sixti seventi time hitchcock film area unit state sonoma state univers retriev march vertigo success film recogn film north northwest psycho bird internet movi databas retriev march film notabl unconvent soundtrack orchestr bernard herrmann screech string plai murder scene psycho exceed limit time bird dispens complet convent instrument soundtrack unaccompani song school children prior infam attack histor bodega bai school sfgate retriev march notabl santa cruz mention place occur film consid great film career start lose pace critic robin wood donald spoto contend marni internet movi databas retriev march first-class hitchcock argu frenzi unfairli overlook fail health toll hitchcock reduc film product decad life hitchcock film spy thriller torn curtain internet movi databas retriev march paul newman juli andrew topaz internet movi databas retriev march base leon uri receiv mix review hitchcock return london film frenzi major success time hitchcock allow nuditi profan languag taboo film biograph note hitchcock push limit film censorship manag fool joseph breen longtim head hollywood product code time hitchcock slip subtl hint improprieti forbidden censorship mid- patrick mcgilligan wrote breen realiz hitchcock insert amus alarm hitchcock inescap infer patrick mcgilligan begin torn curtain hitchcock final blatantli includ plot element previous forbidden american film continu remaind film career famili plot internet movi databas retriev march film relat escapad madam blanch tyler plai barbara harri fraudul spiritualist taxi driver lover bruce dern make live phoni power william devan karen black cathleen nesbitt co-star hitchcock film score john william hitchcock mel brook work high anxieti enjoi brook initi fear hitchcock pleas walk movi internet movi databas retriev march dai brook fear prove untru hitchcock brook bottl champagn film work life hitchcock work script project spy thriller short night collabor screenwrit jame costigan ernest lehman preliminari work stori film due primarili hitchcock fail health concern health wife alma suffer stroke script eventu publish posthum book hitchcock year patrick mcgilligan pg freeman david dai alfr hitchcock overlook knighthood hitchcock knight command order british empir queen elizabeth ii year honour entitl titl sir remain british subject adopt american citizenship di month april receiv opportun formal invest queen death alfr hitchcock di renal failur bel-air lo angel home ag wife alma revil daughter patricia hitchcock o'connel surviv funer servic held good shepherd cathol church retriev march beverli hill bodi cremat ash scatter pacif alfr hitchcock di master suspens alfr hitchcock master suspens celebr film director di increasingli pessimist sought exot set technic challeng draftsman lure hollywood york time april wednesdai retriev august ref di york time wednesdai april retriev march theme plot devic motif articl theme plot devic film alfr hitchcock signatur appear film hitchcock film cameo appear hitchcock director moment board bu cross front build stand apart courtyard appear photograph play gestur hitchcock signatur recur theme carri music instrument memor larg doubl bass case wrestl train begin stranger train earliest appear fill obscur extra stand crowd walk scene long camera shot film lodger promin appear turn jane wyman disguis pass street stage fright stark silhouett final film famili plot cinemat experiment hitchcock delight technic challeng filmmak film lifeboat hitchcock stage entir action movi small boat manag cinematographi monoton repetit trademark cameo appear dilemma limit set hitchcock appear fictiti newspap ad weight loss product similarli entir action rear window take place singl apart spellbound unpreced point-of-view shot achiev construct larg wooden hand belong charact point view camera outsiz prop hold glass milk larg wooden gun ad novelti impact climact gunshot hand-colour red copi black-and-whit print film rope technic challeng film appear shot singl film shot take rang minut minut maximum amount film fit singl camera reel transit reel hidden dark object fill entir screen moment hitchcock point hide cut began camera place film vertigo camera techniqu imit re-us time filmmak hitchcock zoom charact effect film hitchcock film featur charact struggl relationship mother north northwest roger thornhil cari grant charact innoc man ridicul mother insist shadowi murder men case bird rod taylor charact innoc man find world attack viciou bird struggl free cling mother jessica tandi killer frenzi loath women idol mother villain bruno stranger train hate father incred close relationship mother plai marion lorn sebastian claud rain notori conflictu relationship mother correctli suspici bride alicia huberman ingrid bergman norman troubl mother psycho infam hitchcock heroin tend love cool blond proper arous passion danger respond sensual anim crimin note famou victim lodger blond step hitchcock glamor blond star madelein carrol put handcuff marni titl charact plai tippi hedren kleptomaniac catch thief franci grace kelli offer man believ cat burglar rear window lisa grace kelli risk life break lar thorwald apart notori psycho janet leigh unfortun charact steal murder reclus lunat hitchcock blond heroin year dani robin daughter claud jade topaz barbara harri phoni psychic turn amateur sleuth final film famili plot film diamond smuggler plai karen black fit role wear long blond wig scene increasingli uncomfort line work hitchcock relianc actor actress holdov theater tradit pioneer camera movement camera set up montag explor outer reach cinemat art critic hitchcock scholar includ donald spoto roger ebert agre vertigo repres director person reveal film deal obsess man craft woman woman desir vertigo explor frankli greater length interest relat sex death film filmographi hitchcock person favourit shadow doubt style work write hitchcock comment writer plan entir script smallest detail we'r finish left shoot film enter studio enter area compromis novelist cast doesn't cope actor rest storyboard product hitchcock storyboard movi finest detail report bother viewfind didn't public photo shown excus chang film initi vision studio ask chang film claim shot singl altern take view hitchcock director reli pre-product actual product challeng book hitchcock work written bill krohn american correspond cahier du cinema krohn investig script revis note product personnel written hitchcock inspect storyboard product materi observ hitchcock work deviat screenplai written film origin envis note myth storyboard relat hitchcock regurgit gener comment hitchcock movi great degre perpetu hitchcock public arm studio great famou cropdust sequenc north northwest wasn't storyboard scene film public arm ask hitchcock storyboard promot film hitchcock turn hire artist match scene detail hitchcock great deal prepar movi fulli cogniz actual film-mak process deviat laid plan flexibl adapt product occas storyboard scene shot differ significantli approach actor similarli hitchcock hatr actor exagger hitchcock simpli toler method approach believ actor concentr perform leav work script charact director screenwrit sight sound interview state method actor theatr free space move cut face see bfi film inspir retriev march make lifeboat walter slezak plai german charact state hitchcock knew mechan act knew critic observ reput man dislik actor actor work gave fine brilliant perform perform contribut film success hitchcock pleasant relationship actor persist rumor actor cattl hitchcock deni typic tongue-in-cheek clarifi actor treat cattl carol lombard tweak hitchcock drum public brought cow report set smith internet movi databas retriev march hitchcock actor prop part film set book devot director simpli name hitchcock document one-week interview françoi truffaut late french wave critic rohmer claud chabrol françoi truffaut promot film artist work hitchcock director appli auteur theori stress artist author director film-mak process hitchcock innov vision influenc great number filmmak produc actor influenc help start trend film director control artist aspect movi answer movi produc award academi motion pictur art scienc award hitchcock irv thalberg memori award earlier nomin won oscar contest categori oscar nomin director rebecca lifeboat spellbound rear window psycho produc pictur suspicion rebecca hitchcock direct won pictur oscar produc david selznick addit rebecca suspicion film hitchcock direct foreign correspond spellbound nomin pictur hitchcock consid film director time screen directori hitchcock knight sixteen film direct hitchcock earn oscar nomin film earn hitchcock nomin total number oscar nomin includ winner earn film direct fifti film earn pictur nomin televis book walt disnei hitchcock promin motion pictur produc fulli envis popular medium televis hitchcock host produc long-run televis seri entitl alfr hitchcock present tv retriev march film hitchcock strongli suspens tv seri hitchcock celebr voic imag manner instantli recogniz subject parodi show pictur minimalist caricatur hitchcock profil drew compos line real silhouett fill introduct stori program includ sort wry humor descript multi-person execut hamper electr chair shown sign wait direct episod tv seri upset number movi product compani insist tv product crew produc motion pictur psycho late version alfr hitchcock present produc televis make hitchcock origin introduct form hitch curiou tune media manag group retriev march french compos charl gounod internet movi databas retriev march compos opera faust theme song televis program suggest compos bernard herrmann arthur fiedler boston pop orchestra includ piec funer march marionett extend plai rpm disc rca victor alfr hitchcock appear charact popular juvenil detect seri alfr hitchcock investig long-run detect seri creat robert arthur wrote book author left seri investig jupit jone bob andrew peter crenshaw amateur detect slightli younger hardi boi introduct book alfr hitchcock introduc mysteri refer case boi solv book boi report hitchcock give memento case real alfr hitchcock di fiction hitchcock investig book replac retir detect name hector sebastian time seri titl chang alfr hitchcock investig investig height hitchcock success ask introduc set book attach seri collect short stori popular short-stori writer primarili focus suspens thriller titl includ alfr hitchcock antholog alfr hitchcock present stori read door lock alfr hitchcock monster museum alfr hitchcock supernatur tale terror suspens alfr hitchcock spellbind suspens alfr hitchcock witch brew alfr hitchcock ghostli galleri alfr hitchcock hangman dozen alfr hitchcock haunt hous hitchcock involv read review edit select short stori fact introduct ghost-written entir extent involv project lend collect check notabl writer work collect includ shirlei jackson stranger town lotteri white futur king robert bloch well war world robert loui stevenson sir arthur conan doyl mark twain creator investig robert arthur hitchcock wrote mysteri stori magazin murder monti woollei sequenc caption photograph invit reader inspect pictur clue murder ident hitchcock cast perform woollei dori merrick make-up man gui pearc hitchcock identifi photo murder articl reprint game magazin novemb decemb filmographi complet list film main articl alfr hitchcock filmographi phobia egg yolk alfr hitchcock dislik egg yolk biograph patrick mcgilligan confirm hitchcock avoid egg patrick mcgilligan alfr hitchcock life dark light york harpercollin page note director young man discov didn't annoi poach egg daughter patricia state love souffl dvd polic hitchcock fear polic reason learn drive reason drove opportun pull polic issu ticket patrick mcgilligan wrote hitchcock pooh-pooh drive insist interview didn't chauffeur daughter school marymount privat academi girl marymount santa barbara retriev march long time drove sundai patrick mcgilligan fear polic attribut circumst encount hitchcock youth told number interview mention pb documentari men movi attempt punish hitchcock instanc misbehavior alfr father detail write young hitchcock engag form childish mischief hitchcock father hand descript alfr send local polic station demonstr wrongdo respons written notic on-duti polic offic immedi brought hitchcock empti cell lock full minut cite justif action mean reprimand young boi undoubtedli histori record incid scar influenc signatur theme movi innoc person entangl web guilti person behaviour note film reason due hatr author side innoc manag convei messag audienc order innoc side frequent collabor +anaconda speci aquat boa inhabit swamp river dens forest tropic south america yellow anaconda south northern argentina etymolog origin word alter sinhales word mean liter altern tamil word mean dougla harper retriev septemb latin sinhales whip snake lit eng ceylones python erron appli larg amer boa call brazil word uncertain origin snake sinhales tamil suggest repres tamil kill eleph unclear origin snake nativ habitat due vagu similar larg asian python local name anaconda south america includ spanish term mean nativ american term anaconda member boa famili call water boa latin anaconda greek mean good swimmer size debat maximum size anaconda unverifi claim enorm snake alleg long ft lee petroleum expedit colombia claim measur ft specimen claim regard reliabl credibl report scientist vincent roth claim shot kill ft specimen anaconda grow feet long report earli explor south american jungl giant anaconda ft long nativ peopl report anaconda ft long report remain unverifi claim extraordinarili larg anaconda adventur perci fawcett expedit fawcett wrote shot anaconda measur ft nose tail publish account wide ridicul decad belgian zoologist bernard heuvelman fawcett defenc argu fawcett write gener honest reliabl historian mike dash write dash mike borderland ultim explor unknown overlook press claim larger anaconda alleg long ft sight support photo photo lack scale dash note ft anaconda strain credul ft long specimen gener regard outright imposs note wildlif conserv societi earli centuri offer larg cash reward worth live deliveri snake feet length prize claim studi wild anaconda brazil largest captur feet long anaconda snake measur meter weigh kilo lb captur backyard abandon hous parana brazil captiv instanc anaconda bred captiv octob england aquarium boston achiev breakthrough discov aquarium femal anaconda gravid yahoo new yahoo octob retriev octob english januari st fourteen anaconda babi born england aquarium anaconda boa give birth live young colour yellow green bibliographi bernard heuvelman track unknown anim hill wang +distribut altaic languag eurasia inclus japanes korean lesser degre exist singl altaic languag famili controversi altaic propos languag famili includ languag spoken million peopl central asia northeast asia ethnologu report altaic propon altaic tradition includ turkic languag mongol languag tungus languag call languag includ korean japon controversi linguist add ainu georg ramer sidwel tell gener linguist altaic journal linguist hypothes includ turkic mongol tungus call includ addit languag famili call relationship languag matter debat histor linguist scholar appar similar languag genet relationship propos famili deriv common ancestor sprachbund group languag similar wai massiv borrow long languag contact altaic part controversi eurasiat nostrat hypothes histori hypothesi idea turkic mongol tungus languag closest rel allegedli publish von shown ramer paul sidwel truth classif languag northeastern eurasia travel russia prison war great northern war oppos idea closer relationship languag altaic altaic design large-scal languag famili initi compris ural languag coin castrén earli anton boller suggest ad japanes korean ramstedt polivanov put addit etymolog earli centuri linguist studi languag famili regard member common ural-alta famili finno-ugr samoyed base share featur vowel harmoni agglutin ural-alta hypothesi encyclopedia atlas similar gener refer work adher linguist commun decad idea complet discard starostin al result decades-long work ramstedt book einführung die sprachwissenschaft altaic publish year ramstedt death separ ural languag finno-ugr samoyed famili altaic ad korean japanes contain attempt find regular correspond sound system grammar altaic languag famili contribut altaic studi attempt reconstruct common ancestor altaic languag hypothet languag linguist nikolau popp meng vera vladislav martin roi andrew miller attempt includ korean japanes judg turkic mongol tungus controversi altaic distribut altaic languag eurasia kind controversi altaic famili famili exist similar borrow languag includ notabl inclus japanes korean part propos buyeo famili controversi gener accept japanes linguist altaic hypothesi origin japanes ramstedt work subsequ develop pendulum swung direct clauson gerhard argu word featur share turkic mongol tungus part borrow rest attribut chanc resembl argu word share turkic mongol mongol tungus share turkic tungus mongol famili common ancestor expect loss happen random geograph margin famili hand expect supposedli observ pattern borrow respons argu typolog featur supposedli altaic languag agglutin sov word order occur sum idea turkic mongol tungus form sprachbund result converg intens borrow long contact speaker languag necessarili close relat propon hypothesi call doubt rais affin korean japanes defend roi andrew miller worker connect japanes austronesian languag debat rage defens altaic wide sens sergei starostin advocaci famili consist tungus korean japon turkic mongol marshal unger wholesal reject publish gener popular point view histor linguist west ex-ussr review georg al starostin lexicostatist research starostin sergei altaic problem origin japanes languag scienc show altaic group share potenti cognat list probabl cognat doubt stabl result mutual borrow altogeth starostin conclud altaic group substanti older languag famili eurasia indo-european finno-ugr reason modern altaic languag preserv element step debat public etymolog dictionari altaic languag starostin result twenti year work propos cognat set complet set regular sound correspond number grammat correspond import reconstruct todai altaic languag vowel harmoni reconstruct starostin al lack vowel assimil syllabl word occur turkic mongol tungus korean japon importantli hard distinguish loan turkic mongol mongol tungus cognat suggest word occur turkic tungus mongol starostin al combin branch occur book starostin aliorum sincer hope public bring discuss starostin al fulfil debat continu georg vovin vovin alexand altaic controversi central asiat journal starostin georg blažek starostin suggest japon languag altaic austronesian gener austric substratum geograph fit suggest bengtson john bengtson multilater greater austric mother tongu journal ainu austric languag controversi phenet method multilater comparison joseph greenberg famili consist turkic mongol tungus separ famili consist korean japanes ainu urheimat turkic inscript orkhon script centuri kyzyl russia altaic languag divers show great depth deep mesolith upper paleolith period central asia disappear lake call west siberian lake occupi practic territori western siberian flatland foothil kuznetsk alatau altai late glacial warm atlant phase post-glaci optimum mesolith group move northward area hissar bce bce cultur introduc bow arrow hunt dog kent flanneri call broad-spectrum revolut cultur practis mobil hunt gather fish time introduc stockbreed subsist system inhabit semi-desert desert deltaic area kara kyzyl kum desert amu darya zeravshan river whitnei coolidg jennif southern turkmenistan neolith petrograph case studi oxbow book seek origin spread cultur appear northern mongol element peopl live perman settlement hous economi complex bred livestock hors sheep period develop high level bronz metallurgi characterist cultur extens cemeteri tomb fenc stone slab laid crest cultur result migrat eastern part influenc ordo region china manchuria northern korea split turkic mongolian languag propos divis group suggest occur prior xiongnu period central asian histori equat cultur origin languag propos languag famili includ yeniseian languag burushaski member altaic associ languag archeolog discoveri absenc written evid easi reconstruct phonolog base propos correspond list phonem inventori reconstruct proto languag blažek summari newest altaic etymolog dictionari starostin al transcrib ipa conson phonem occur begin word phonem occur interior word vowel clear monophthong shown diphthong evid equivoc case occur syllabl word vowel occur long short version phonem syllabl starostin al treat length pitch prosod featur prosodi reconstruct starostin al pitch accent tone languag syllabl high pitch sound correspond proto languag exist reconstruct regular sound correspond protolanguag descend correspond distinguish cognat loanword case attempt repeatedli latest success version reproduc blažek summari newest altaic etymolog dictionari starostin al transcrib ipa phonem develop differ depend posit word begin interior special case case mark hyphen disappear mark begin turkic word turkic word conson singl conson consid middl word cluster conson allow reconstruct starostin al correspond tabl cluster span page book cluster reconstruct root khalaj languag retain number archaism ad front word initi conson case expect reconstruct depend khalaj preserv root starostin al khalaj decid reconstruct initi word reconstruct proto-turk languag kaiser disappear descend kitan extinct mongol languag consid starostin al preserv place blažek happen conson word front conson word happen syllabl origin high pitch starostin al conson word preced conson conson vowel vowel preced vowel preced starostin al follow minor opinion vovin interpret sound middl korean letter starostin footnot vowel vowel harmoni pervas altaic languag turkic mongol tungus languag korean arguabl process lose trace controversi hypothes japanes vowel harmoni typic neighbor ural languag count argument ural-alta hypothes starostin al reconstruct lack vowel harmoni vowel harmoni origin daughter branch assimil vowel syllabl vowel syllabl modifi lost situat close german german umlaut nakh languag eastern caucasu qualiti non-initi vowel recov basi umlaut process syllabl starostin al tabl starostin al preced bilabi conson trill preced bilabi conson preced fric prosodi length pitch syllabl evolv starostin al caveat clear pitch high starostin al simplic input displai syllabl symbol lost trace origin prosodi voic syllabl origin high pitch starostin al secondari process happen korean basic verb subsystem verb strong tendenc pitch syllabl starostin al morpholog correspond grammar easili borrow word grammar consid stronger evid languag relationship vocabulari starostin al reconstruct correspond case number suffix clitic altaic languag blažek symbol uncertain vowel suffix reconstruct proto-turk proto-mongol attest turkic classic mongolian middl korean japanes mark asterisk select cognat person pronoun person pronoun seldom borrow languag correspond altaic pronoun starostin al strong evid exist tabl slight modif blažek transcrib ipa form attest classic mongolian middl korean reconstruct ancestor mark asterisk repres uncertain vowel numer relat word indo-european famili numer remark stabl except case word higher number borrow wholesal famou case japanes korean complet set numer nativ chines altaic numer stabl indo-european starostin al reconstruct manchu soni singl odd bulgarian kitan blažek contract ubu reflect root suffix clear starostin al compar silla mir blažek compar goguryeo mir blažek fourth consist object song vers rhyme fourth kitan dur blažek kitan tau blažek prefix unclear separ word mean histor root doubt starostin al blažek consid goguryeo uti relat kitan nir blažek middl korean fit requir loss initi regular starostin al mongolian form suggest origin ladi dissimil metathesi proto-mongol starostin al kitan dol problemat starostin al compar goguryeo tok blažek manchu big number orok bundl squirrel nanai collect gather name hundr starostin al suspect redupl expect starostin al irregular chang due influenc tabl select propos cognat basic vocabulari altaic famili starostin al dual suffix breast chest heart singul suffix nv breast compar baekj stone blažek disput georg state tradit reconstruct replac espous need comparison starostin mention evid tungus languag cite starostin al georg accept refer georg upcom paper time starostin dead starostin publish posthum literatur blažek linguistica onlin januari und ein untersuchung hand von münchener studien starostin aspect compar linguist moscow publish georg repli starostin greenberg indo-european closest rel eurasiat languag famili volum grammar stanford univers press linguist mail list aug reinhard hahn kortlandt acta linguistica miller languag histori japanes korean altaic inst compar research human ruhlen guid world languag stanford univers press starostin etymolog dictionari altaic languag brill academ publish june starostin respons stefan georg review etymolog dictionari altaic languag vovin phonet middl korean graphem bulletin school orient african studi lvi read sinor essai compar altaic linguist bloomington ind indiana univers research institut asian studi popp introduct altaic linguist bibliothek wiesbaden harrassowitz refer note +austrian german deutsch nation standard varieti german languag spoken austria south tyrol german pluricentr languag austrian german standard varieti addit german spoken germani relationship american british english austrian german simpli standard form german languag codifi wörterbuch state specif grammar rule dictionari austrian spell addit standard varieti everydai life austrian speak number high german dialect overview dialect austro-bavarian group compris dialect bavaria central austro-bavarian main river isar danub spoken northern part state salzburg upper austria austria vienna viennes german northern burgenland southern austro-bavarian tyrol south tyrol carinthia styria southern part salzburg burgenland spoken vorarlberg high alemann dialect standard german call high german german philologist gener refer hochdeutsch austria region accent strong form dialect fulli comprehens northern german virtual commun barrier speaker bavaria central austro-bavarian dialect intellig speaker standard german southern austro-bavarian dialect tyrol viennes austro-bavarian dialect vienna frequent germani imperson typic inhabit austria peopl graz capit styria speak dialect styrian easili understood peopl part austria styrian dialect western styria simpl word dialect similar pronunci distinct listen spoken word austrian realis dialect spoken regard dialect deeper vallei tyrol tyrolean unabl understand speaker state austria easili distinguish accent bavarian carinthia styria vienna upper austria tyrol characterist speaker region speak standard german easili identifi accent untrain listen dialect influenc contact non-german linguist group dialect carinthia speaker bilingu slovenian dialect vienna influenc immigr austro-hungarian period todai czech republ dialect south tyrol influenc italian loan word interestingli geograph borderlin accent isogloss coincid strongli border state border bavaria bavarian markedli rhythm speech spite similar languag grammar perfect tens austria german speak part switzerland southern germani verb express state tend sein auxiliari verb perfect tens verb movement verb fall categori includ sit liegen lie part carinthia schlafen sleep perfect tens verb ich bin ich bin ich bin verb fall categori sein auxiliari perfect chang haben avoid confus verb tens case stehen stand confess perfect ich bin ich habe vocabulari offici austrian term differ standard german includ januari januar heuer year dies jahr seri food veget potato german ground beef german green bean german cauliflow german carrot german brussel sprout german apricot german tomato german pancak german pfannkuchen semi-sweet cottag chees german quark kren horseradish german austrian gott god greet subj greet guten tag german offici austrian german occasion austrian dialect region written form larg number contract abbrevi compar standard german hard understand non-n speaker appli german dialect germani switzerland standard german austria street sign vienna replac germani german pluricentr languag austrian dialect confus varieti standard german spoken austrian distinct germani switzerland distinct vocabulari persist culinari term commun german frequent difficult administr legal languag due austria exclus develop german nation-st late centuri manifold tradit comprehens collect austrian-german legal administr econom term offer heidemari wörterbuch der und peter lang austria member european union austrian varieti german languag limit agricultur term so-cal protocol specif austrian term german languag framework european union form part austrian eu access treati austrian german varieti pluricentr languag recognis intern law eu primari law fact document heidemari da deutsch im rahmen der eu peter lang region dialect viennes german +mathemat axiom choic ac axiom set theori intuit speak axiom choic collect bin object object select bin infinit bin rule object pick axiom choic requir number bin finit select rule formul ernst zermelo zermelo ernst reprint mathematisch annalen origin controversi reserv mathematician van heijenoort jech ff school mathemat thought primarili set theori reject axiom choic investig consequ axiom inconsist ac statement axiom choic state choic function function collect nonempti set set element concept axiom state altern compactli immedi permit compact formul negat axiom choic variant version axiom choic state author version effect author formul speak choic function advis slightli notion choic function domain powerset empti set sens set definit articl domain choic function collect set collect sens set set altern notion choic function axiom choic compactli state equival negat axiom choic express usag late centuri axiom choic implicitli formal state establish set non-empti set mathematician member gener imposs prove exist axiom choic unnot zermelo situat requir axiom choic finit set axiom choic axiom set theori case equival finit number box item choos item box start box choos item box choos item number box finit eventu choic procedur result explicit choic function function take box element chose box element chose formal proof finit set principl mathemat induct infinit set avoid axiom choic suppos element set natur number nonempti set natur number smallest element choic function simpli map set element set definit choic element set write explicit express tell choic function take time explicit choic axiom choic unnecessari difficulti appear natur choic element set explicit choic set exist suppos set non-empti subset real number proce finit choos element set infinit choic procedur produc choic function won't work trick element set subset real number don't element open interv element strictli smaller element doesn't work reason choos element subset natur number fact natur number well-ord subset natur number uniqu element natur order clever usual order real number work find order real number well-ord choic function choos element set unusu order problem construct well-ord turn requir axiom choic exist set well-ord axiom choic true drawback proof requir axiom choic necessarili nonconstruct proof establish exist object imposs object axiom choic assert well-ord real number give subset real number proven exist axiom choic construct mathematician dislik axiom choic produc intang constructivist posit exist proof total explicit construct proven exist reject axiom choic assert exist object tell hand mere fact axiom choic prove exist set construct method reason mathematician dislik axiom choic impli exist bizarr counterintuit object banach–tarski paradox effect carv solid unit ball finit piec rotat translat reassembl piec ball volum origin note proof proof involv axiom choic exist proof carv unit sphere happen simpli tell hand negat axiom choic counterintuit mathematician statement set cardin equal cardin cardin equal cardin equival axiom choic put differ axiom choic fals set incompar size map one-to-on fashion subset possibl prove theorem axiom choic negat tactic prefer construct mathemat statement true model zermelo–fraenkel set theori truth falsiti axiom choic model render claim reli axiom choic negat undecid assumpt banach–tarski paradox true fals imposs construct decomposit unit ball reassembl unit ball imposs prove can't banach–tarski paradox rephras statement model zf model zf ac true banach–tarski paradox true similarli statement list requir choic weaker version thereof proof undecid zf provabl model zfc model zf statement true altern weaker form weaker statement equival axiom choic close relat simpl axiom countabl choic ac cc state choic function exist countabl set suffic statement real number ration number countabl form dens subset real axiom advantag consist axiom subset real number boolean prime ideal theorem axiom depend choic dc axiom uniform independ work kurt gödel paul cohen axiom choic logic independ axiom zermelo–fraenkel set theori zf mean negat proven true zf zf consist zf consist zfc consist consist decis axiom choic proof appeal axiom set theori decis ground argument favor axiom choic conveni hurt result contradict prove proposit prove theorem provabl choic eleg gener charact ideal ring contain maxim ideal vector space basi product compact space compact axiom choic theorem hold mathemat object larg cardin proof independ result show wide class mathemat statement includ statement phrase languag peano arithmet provabl zf provabl zfc statement class includ statement np riemann hypothesi unsolv mathemat problem attempt solv problem class differ zf zfc emploi question exist proof shorter proof theorem zfc zf axiom choic signific statement independ zf gener continuum hypothesi gch independ zf independ zf axiom choic zfc zf gch impli ac make gch strictli stronger claim ac independ zf stronger axiom axiom construct gener continuum hypothesi impli axiom choic strictli stronger class theori von neumann–bernays–gödel set theori morse–kellei set theori axiom call axiom global choic stronger axiom choic set appli proper class axiom global choic axiom limit size equival remark number import statement assum axiom zf ac equival axiom choic import zorn lemma well-ord theorem fact zermelo initi introduc axiom choic order formal proof well-ord principl set theori well-ord theorem set well-ord cardin initi ordin set infinit cardin trichotomi set cardin smaller cardin cartesian product nonempti famili nonempti set nonempti könig theorem colloqui sum sequenc cardin strictli product sequenc larger cardin reason term colloqui sum product sequenc cardin defin aspect axiom choic surject function invers order theori zorn lemma non-empti partial order set chain total order subset upper bound maxim element hausdorff maxim principl partial order set total order subset contain maxim total order subset restrict hausdorff maxim principl partial order set exist maxim total order subset algebra vector space basi unit ring trivial ring maxim ideal gener topolog tychonoff theorem state product compact topolog space compact product topolog closur product subset equal product closur product complet uniform space complet categori theori result categori theori invok axiom choic proof result weaker equival stronger axiom choic depend strength technic foundat defin categori term set set object morphism call small categori local small categori set categori set difficult category-theoret formul appli set hand foundat descript categori theori consider stronger ident category-theoret statement choic stronger standard formul la class theori mention exampl category-theoret statement requir choic includ small categori skeleton small categori weakli equival equival continu functor categori satisfi solut set condit freyd adjoint functor theorem result requir ac weaker form weaker interest aspect axiom choic larg number place mathemat show statement requir axiom choic sens provabl zf provabl zfc zf ac equival statement true model zfc fals model zf set theori union countabl countabl set countabl set infinit exist inject natur number dedekind infinit infinit game borel subset bair space determin measur theori vitali theorem exist non-measur set state subset real number lebesgu measur hausdorff paradox banach–tarski paradox lebesgu measur countabl disjoint union measur set equal sum measur individu set algebra field algebra closur field extens transcend basi stone represent theorem boolean algebra boolean prime ideal theorem theorem subgroup free group free addit group isomorph function analysi hahn-banach theorem function analysi allow extens linear function theorem hilbert space orthonorm basi banach-alaoglu theorem compact set function bair categori theorem complet metric space consequ open map theorem close graph theorem infinite-dimension topolog vector space discontinu linear map gener topolog uniform space compact complet total bound tychonoff space compactif stronger form stronger form negat ac abbrevi bp claim set real number properti bair bp stronger assert nonexist choic function singl set nonempti set note strengthen negat compat weaken form ac zf dc bp consist zf consist zf dc set real lebesgu measur consist result due robert solovai prove zfc requir mild larg cardin assumpt exist inaccess cardin stronger axiom determinaci ad impli set real lebesgu measur properti bair perfect set properti result refut ac zf dc ad consist suffici strong larg cardin axiom consist exist infinit woodin cardin result requir model zermelo-fraenkel set theori axiom choic fals abbrevi zermelo-fraenkel set theori negat axiom choic model prove negat standard fact note model model zf statement exist model zf statement true exist model function real number real number continu sequenc converg lim exist model real number countabl union countabl set exist model field algebra closur model vector space basi exist model vector space base cardin proof thoma jech axiom choic american elsevi pub york exist model set measur exclud counterintuit result banach–tarski paradox provabl zfc assum axiom depend choic weaker ac suffici develop real analysi model gener continuum hypothesi hold law exclud middl assumpt axiom choic suffici deriv law exclud middl construct system law assum proposit build set set axiom separ classic set theori equival similarli law exclud middl equival can't proven fact set aren't provabl finit usual sens biject natur number dedekind sens axiom choic exist choic function set function definit set mean impli axiom extension proposit complet proof axiom choic impli law exclud middl form axiom separ construct set theori intuitionist type theori martin-löf hand subset type treatment form axiom choic theorem exclud middl quot note +attila attila hun scourg god king attila hun khan hun death leader hunnic empir stretch germani ural river river danub baltic sea map rule fearsom western eastern roman enemi invad balkan march gaul modern dai franc orlean defeat battl chalon drove western emperor valentinian iii capit ravenna reach constantinopl rome refrain attack citi western europ rememb epitom cruelti rapac contrast histori chronicl lioniz great nobl king plai major role nors saga background origin hun subject debat centuri gener agreement confeder central asian european tribe hors nomad expert turkic peopl descend warlik xiongnu tribe menac china earli centuri bc emperor china qin shi huangdi built part great wall xiongnu unit power appear began form europ centuri achiev militari superior neighbour readi battl unusu mobil weapon includ composit bow share kingship hunnic empir stretch stepp central asia modern germani river danub baltic sea albeit simultan hun appear southern russia move central europ death rua ruga left nephew attila bleda son brother control unit hun tribe time access hun bargain byzantin emperor theodosiu ii envoi return renegad possibl hunnic nobl agreement leadership refug byzantin empir year attila bleda met imperi legat margu present-dai požarevac seat horseback hunnic manner negoti success treati roman agre return fugit doubl previou tribut roman pound ca kg gold open market hunnish trader pai ransom solidi roman prison hun hun satisfi treati decamp empir return home hungarian great plain consolid strengthen empir theodosiu opportun strengthen wall constantinopl build citi sea wall build border defenc danub hun remain roman sight year hunnic forc invad persian empir defeat armenia sassanid persian caus abandon attempt return attent europ reappear forc border roman empir attack merchant market north bank danub establish treati cross danub laid wast illyrian citi fort river priscu viminacium citi moesian illyria advanc began margu roman discuss hand offend bishop slip secretli hun betrai citi theodosiu conquer river defenc vandal leadership geiser captur western roman provinc africa capit carthag sassanid yazdegerd ii invad armenia strip balkan defens forc request west roman order launch attack vandal africa richest provinc western empir main sourc food suppli rome left attila bleda clear path illyria balkan invad hunnish armi sack margu viminacium singidunum modern belgrad sirmium halt lull time theodosiu recal troop sicili order larg issu coin financ oper hun prepar thought safe refus hunnish demand attila respond campaign strike danub overran militari centr successfulli besieg naissu modern batter ram roll tower militari sophist hun repertoir push serdica sofia philippopoli plovdiv arcadiopoli encount destroi roman armi constantinopl stop doubl wall eastern capit armi defeat callipoli modern gallipoli theodosiu arm forc respond admit defeat court offici anatoliu negoti peac term harsher previou treati emperor agre hand roman pound ca kg gold punish disobei term treati invas yearli tribut tripl rise roman pound ca kg gold ransom roman prison rose solidi demand met time hun king withdrew interior empir jordan priscu peac withdraw byzantium bleda di kill brother classic sourc attila throne sole ruler mór paint feast attila base fragment priscu depict dress white hold histori even began draw torch light barbarian front attila sang song compos hymn victori great deed war banquet gaze rejoic song excit heart rememb war broke bodi weaken time spirit compel rest attila rode south empir moesia roman armi gothic magist militum met river vid defeat inflict heavi loss hun left unoppos rampag balkan thermopyla constantinopl save intervent prefect flaviu constantinu organ reconstruct wall previous damag earthquak place construct line fortif front account invas surviv attila west attila proclaim intent attack power visigoth kingdom toulous make allianc emperor valentinian iii order previous good term western roman empir de facto ruler flaviu aëtiu aetiu spent exil hun troop attila goth bagauda help earn larg honorari titl magist militum west gift diplomat effort geiser oppos fear visigoth influenc attila plan valentinian sister honoria order escap forc betroth roman senat hunnish king plea engag spring honoria intend propos marriag attila chose interpret messag accept western empir dowri valentinian discov plan influenc mother galla placidia convinc exil kill honoria wrote attila strenuous deni legitimaci suppos marriag propos attila convinc emissari ravenna proclaim honoria innoc propos legitim claim rightfulli gener path hun forc invas gaul lead battl chalon king salian frank di battl aetiu ad success struggl son drove rift attila aetiu attila support elder son aetiu support younger younger son merovech founder merovingian line tour roster battl conclus attila gather ostrogoth rugian herul thuringian alan burgundian began march west arriv belgica armi exagger jordan million strong buri believ attila intent time march west extend strongest gaul atlant ocean buri invas europ barbarian lectur ix april captur metz aetiu move oppos gather troop frank burgundian celt mission avitu attila continu westward advanc convinc visigoth king theodor theodorid alli roman combin armi reach orlean attila account battl site hun citi midst storm armi arriv jordan mention buri ibid check turn hunnish advanc aetiu gave chase caught hun place assum châlons-en-champagn armi clash battl chalon outcom commonli consid victori allianc theodor kill fight aetiu fail press advantag gibbon fear consequ overwhelm triumph defeat point view outcom occur theodor di attila retreat disarrai roman benefit appear victori sir edward creasi summar aetiu intent battl chalon gibbon state major view eloqu attila retreat river rhine confess victori achiev western roman empir edward gibbon declin fall roman empir modern librari york volum ii allianc quickli dissolv invas itali death raphael meet leo great attila show leo saint peter saint paul meet attila attila return claim marriag honoria anew invad ravag itali citi venic found result attack resid fled small island venetian lagoon armi sack numer citi raze aquileia complet leav trace legend built castl top hill north aquileia watch citi burn found town udin castl valentinian fled ravenna rome aetiu remain field lack strength offer battl gibbon aetiu show great manag harass slow attila advanc shadow forc attila final halt river po point diseas broken attila camp help stop invas emperor valentinian iii pope leo accompani consul avienu prefect met attila mincio vicin mantua obtain promis withdraw itali negoti peac emperor pope st leo great cathol encyclopedia prosper aquitain short reliabl descript histor meet anonym account mediev sourcebook leo attila piou fabl repres pencil raphael chisel algardi gibbon call pope aid saint peter saint paul convinc turn citi promis attila case leav peac successor receiv holi crown chronicon pictum priscu report superstiti fear fate di shortli sack rome paus illustr meet chronicon pictum attila left itali return palac danub plan strike constantinopl reclaim tribut marcian cut marcian successor theodosiu ceas pai tribut late attila occupi west multipl invas hun left balkan plunder attila di earli month convent account priscu feast celebr latest marriag beauti young uncorrupt suggest gothic origin thompson hun suffer sever noseble choke death stupor altern theori succumb intern bleed heavi drink stori death record year fact roman chronicl count marcellinu report attila king hun ravag provinc europ pierc hand blade wife marcellinu chronicon quot hector munro chadwick heroic ag london cambridg univers press volsunga saga poetic edda claim king atli attila di hand wife gudrun volsunga saga poetic edda scholar reject account romant fabl prefer version attila contemporari priscu offici account priscu renew scrutini michael babcock babcock michael night attila di solv murder attila hun berklei book base detail philolog analysi babcock conclud account natur death priscu ecclesiast cover stori emperor marcian rule eastern roman empir polit forc attila death jordan greatest warrior mourn feminin lament tear blood men horsemen gallop circl silken tent attila lai state sing dirg cassiodoru jordan rate death believ call vengeanc celebr lament burial place great feast legend laid rest tripl coffin gold silver iron spoil conquest men divert section tisza buri coffin riverb kill exact locat secret son appoint successor fought divis legaci specif vassal king belong brother consequ divid defeat scatter year battl nedao ostrogoth gepid jordan attila prize chieftain turn feud brother felt treat nation rule slave attila children rel deed valid genealog sourc dry verifi trace attila descend hasn't stop genealogist attempt reconstruct valid line descent mediev ruler credibl claim tsar bulgaria nominalia bulgarian khan popular ultim unconfirm attempt relat attila charlemagn attila hun charlemagn appear charact artist rendit attila date unknown surviv first-person account attila appear hand sourc jordan claim priscu attila short statur broad chest larg head ey small beard thin sprinkl grei flat nose tan skin show evid origin attila illustr poetic edda attila western histori tradit grim flagellum dei latin scourg god byword cruelti barbar arisen confus stepp warlord genghi khan tamerlan consid cruel clever blood-thirsti lover battl pillag realiti charact complex hun attila era mingl roman civilis time larg german foederati border time theodosiu embassi priscu identifi primari languag hun gothic hunnic peopl know latin greek priscu recount meet eastern roman captiv fulli assimil life desir return countri byzantin historian descript attila humil simplic unambigu admir origin attila confid hunnic name hunnic languag etymolog ocean univers ruler propos omeljan pritsak harvard ukrainian studi vi gothic gepid word atta father diminut suffix maenchen-helfen otto univers california press attila rare central europ prior attila make mark histori histor record show numer person preced variant atli atl nors attl atle english attila atilla etel hungarian variant hungari attila popular variant etzel modern german attila atila atilla modern turkish word possibl origin turkic atal atil ancient volga river adject suffix compar turkic mediev notabl titl senior father kessler associ base convers kemal cemal turkei fiction represent attila portrai wai nobl ruler cruel barbarian german epic nibelungenli etzel portrai nobl gener alli atli volsunga saga poetic edda widsith cruel miser divin comedi attila appear seventh circl hell immers river boil blood call scourg earth dant charg destruct florenc blunder author confus ostrogoth warlord totila giusepp verdi titl charact opera hungarian géza gárdonyi ember publish english slave hun larg base priscu offer sympathet portrait attila wise belov leader reflect posit attila wife brother bleda view hungari turkei white stag newberi medal win book retel legend rise attila hun written lyric prose thoma costain dark dawn written point view carri slaveri home danub adventur attila aid romant involv beauti danger death attila cecelia holland take place tension uncertainti attila year background friendship tac young ne'er-do-wel hunnish warrior son german subject king british writer anthoni burgess wrote biograph novella attila entitl hun publish stori collect devil mode anthoni quinn plai role attila film co-star sophia loren honoria attila portrai jack palanc dougla sirk tv miniseri attila produc broadcast star gerard butler attila power booth flaviu aetiu power charismat figur william napier ongo trilogi attila volum publish black metal band dimmu borgir song prais attila call ferd king sorrow black journei stepp hungarian musician levent band illé wrote rock opera titl attila isten attila sword god pc game ag empir ii conqueror expans singl player campaign involv attila conquest hungarian poet jáno arani wrote epic poem attila brother bleda call buda death king buda part larger work titl csaba trilogi comed exampl typic light-hearted attila stereotyp invok comed time time attila protagonist italian comedi movi direct castellano stare diego abatantuono film cult classic prime italian cinema trash itali younger gener comic strip charact supposedli attila ex-wif comic strip wizard id featur occasion invas hun woodi allen satir film love death dian keaton charact justifi plan assassin napoleon base alleg quot attila violenc justifi servic mankind cuppi satir european histori book declin fall practic fun question pronounc attila attila rhyme vanilla dai believ children taught accent attila syllabl turn episod monti python fly circu titl attila hun show featur attila famili sitcom charact parodi charact attila nun attila bun shawn levi film night museum attila brought life nightli basi histor figur incorrectli depict east asian destruct adult attribut heartbreak experi child episod earli sitcom dick van dyke show charact rob petri belt ditti call i'm love attila hun co-wrot armi buddi episod girl entitl author author ann fianc charact donald holling sing claim credit exact tune song episod good morn world monti python holi grail atilla portrai st atilla user holi hand grenad antioch note refer classic text priscu byzantin histori origin greek ludwig dindorf historici graeci minor leipzig teubner onlin translat buri jordan recommend modern work babcock michael night attila di solv murder attila hun berklei publish group blocklei fragmentari classicis historian roman empir ii collect fragment priscu olympiodoru origin text translat gordon ag attila fifth-centuri byzantium barbarian ann arbor univers michigan press translat collect commentari annot ancient write subject includ priscu heather peter fall roman histori rome barbarian oxford univers press howarth patrick attila king hun man myth maenchen-helfen otto world hun studi histori cultur berkelei univers california press man john attila barbarian king fall rome bantam press thompson histori attila hun london oxford univers press authorit english work subject reprint hun peopl europ seri thompson enter controversi hunnic origin consid victori achiev concert opposit histor fiction base attila hun attila trilogi napier william attila orion book napier william gather storm orion book date publish book trilogi unknown +aegean sea greek turkish eg adalar sea arm mediterranean sea locat southern balkan anatolian peninsula mainland greec turkei north connect marmara sea black sea dardanel bosporu aegean island sea bound southern peripheri includ crete rhode aegean region turkei consist provinc southwestern turkei part border aegean sea sea tradition archipelago greek gener sens chang refer aegean island gener island group aegean sea remark larg number island etymolog ancient time explan aegean name greek town aega aegea queen amazon di sea aigaion sea goat briareu archaic hecatonchir athenian aegeu father theseu drown sea thought son di etymolog deriv greek word aig wave hesychiu metaphor aix goat wavi sea cf coast bulgarian languag sea white sea legend bulgarian sailor merchant middl ag hospit timid sea travel call white sea contrast hostil danger black sea histori aegean civil gener term bronz ag civil greec aegean ancient time sea birthplac ancient civil minoan crete mycenean civil peloponnes tracei cullen aegean prehistori review american journal archaeolog supplement oliv dickinson aegean bronz ag cambridg world archaeolog aros city-st athen sparta constitut athenian empir hellen civil plato greek live aegean frog pond familiar phrase give rise titl prehistorian pond reflect aegean prehistori disciplin john cherri despina lauren talalai aegean sea invad persian roman inhabit byzantin empir venetian seljuk turk ottoman empir aegean site origin democraci seawai mean contact divers civil eastern mediterranean geographi satellit imag aegean sea cover km area measur kilometr longitudin kilometr latitudin sea maximum depth metr ft east crete aegean island water island delimit sea south gener west east kythera antikythera crete karpatho rhode greek aegean island simpli divid group northeastern aegean island euboea northern sporad cyclad saron island island dodecanes southern sporad crete word archipelago origin appli specif aegean sea island aegean island chain island extens mountain mainland chain extend sea chio extend euboea samo extend peloponnes crete rhode divid aegean mediterranean island safe harbour bai navig sea gener difficult island volcan marbl iron mine island larger island fertil vallei plain aegean sea island belong turkei bozcaada greek tenedo gökçeada greek rest belong greec aegean sea island islet belong greec bai gulf aegean begin south move clockwis includ crete mirabelli almyro souda chania bai gulf mainland sea west saron gulf northwestward gulf connect south euboic sea pagaset gulf connect north euboic sea thermian gulf northwestward chalkidiki peninsula includ cassandra gulf northward gulf gulf kavala rest turkei saro gulf edremit gulf gulf gulf izmir gulf gulf gulf güllük gulf +clockwork orang specul fiction anthoni burgess publish basi film adapt stanlei kubrick chosen time magazin english-languag novel time magazin retriev august plot introduct explan titl anthoni burgess wrote titl refer alleg cocknei express queer clockwork orang due time serv british coloni offic malaysia burgess thought phrase punningli refer mechan respons clockwork human orang malai man burgess wrote introduct titl clockwork orang creatur perform good evil clockwork orang mean appear organ love color juic fact clockwork toi wound god devil almighti state essai clockwork orang burgess assert titl stori applic pavlovian mechan law organ fruit capabl colour sweet titl allud protagonist posit condit respons feel evil prevent exercis free point view person clockwork orang written person perspect seemingli bias unreli sourc alex justifi action narrat give good sens sincer narrat unlik attempt evok piti reader tell unend suffer realiz cycl alex perspect effect describ event easi relat situat word common speech nadsat speech younger gener subcultur plot summari part alex world set dystopian futur open introduct protagonist fifteen-year-old alex gang member droog pete georgi dim roam street night commit violent crime ultraviol enjoy essenti part charact studi protagonist learn alex droog russian friend languag nadsat hierarchi alex leader gener disregard law older gener creat imag youth movement control fiction futur exagger concern chang valu teenag decidedli unruli rebelli part involv alex reflect illeg activ beat stranger rape girl wife writer alexand describ treacheri droog result alex captur prison sentenc murder lyric languag nadsat mask horribl imageri alex action extent alex draw empathi reader friendli natur audienc refer friend humbl narrat part ludovico techniqu caught crime alex sentenc year murder alex job assist prison chaplain feign interest religion amus read bibl lurid descript jew beat imagin part crucifixion jesu alex hear experiment rehabilit programm call ludovico techniqu promis prison releas complet two-week treatment commit crime partial part fatal beat cellmat alex manag subject full-scal trial ludovico techniqu techniqu form avers therapi alex drug induc extrem nausea forc watch graphic violent film week film shown propaganda film triumph includ alex belov beethoven movement symphoni plead remov music clinician refus good music punish element treatment alex unabl carri contempl violenc crippl nausea unabl listen beethoven symphoni experienc jar physic reaction part prison part concentr punish alex subject treatment alex encount victim seek reveng find powerless defend due feel sick fear death reaction violenc find parent replac lodger home wander public librari attack ag man beaten droog chapter polic call librarian arriv see polic dim arch-enemi billi boi advantag posit alex rural part town beat leav devic solac alex fall hand alexand husband woman earlier rape friend writer intend alex weapon polit parti expos terribl clear friend alexand intend plai beethoven symphoni alex lock room drive throw window endur sick treatment condit alex suicid attempt fail lead cure bad public polit parti touch theme power struggl young gener corrupt polic polit attempt fail suicid section reflect troubl futur societi shown final chapter alex reflect friend kill georgi fallen victim state dim polic offic outgrown destruct behaviour pete alex find longer find pleasur ultra-viol yearn wife child alex gener destruct stop son brother itti world reveal burgess ultim deliber unruli youth charact alex anti-hero leader droog alex refer humbl narrat point rape ten year girl alex reveal alex larg basi alex surnam delarg film attempt suicid newspap state georg georgi droog alex georgi attempt undermin alex statu leader gang pete droog alex ration democrat violent gang dim slow-wit droog alex real brute forc gang deltoid social worker assign alex monitor progress reform school prison chaplain call charli chaplin charact question forc good chosen wicked charact concern alex welfar alex governor man decid alex choos reform ludovico techniqu brodski co-found ludovico techniqu friend alex introduc pain plai bad cop role talk alex session theater co-found ludovico techniqu brodski interpret good cop role address alex alexand author write begin call clockwork orang wife rape alex droog subsequ di take alex subject extremist friend shortli meet kill weak caus ludovico techniqu differ edit book divid part chapter refer shakespear stage man symbol refer british ag major time book written burgess clockwork orang introduct norton edit clockwork orang page vi st chapter omit version publish unit state film adapt direct stanlei kubrick american version book prior event st chapter kubrick claim read origin version virtual finish screenplai gave consider note kubrick obtain novella rip gave terri southern co-writ screenplai slang book narrat alex word slang dialect burgess invent book call nadsat mix modifi slavic word cocknei rhyme slang deriv russian word invent burgess instanc term mean russian mean gulliv mean mean mean mean horrorshow mean good mean alex doctor explain languag colleagu odd bit rhyme slang bit gypsi talk root slav propaganda sublimin penetr word deriv easi guess mean sexual intercours mean monei edit book kei reader left infer mean context ultraviol term ultraviol refer excess unjustifi violenc coin burgess book includ phrase ultra-viol term associ aesthet violenc led media afp octob retriev januari retriev januari retriev januari cb new retriev januari award nomin prometheu award preliminari nomine prometheu award nomin prometheu award nomin prometheu award nomin prometheu award nomin adapt adapt form film stanlei kubrick earlier film andi warhol entitl vinyl adapt excerpt chapter dramat broadcast bbc tv programm tonight lost believ wipe kubrick film releas burgess wrote clockwork orang stage plai defect psychiatr clinic grasp avers treatment destroi alex abil enjoi music plai restor alex decid start famili alex earli victim beard trumpet plai rain korova milkbar model stanlei kubrick plai titl clockwork orang written royal shakespear compani refer film version perform score bono edg sam aaron uwander org retriev septemb uni theatr mississauga ontario present canadian premier plai direct terri costa theatr compani present york premier adapt anthoni burgess clockwork manhattan theatr sourc product plai soho playhous ensembl studio theatr theater edinburgh festiv fring edinburgh product receiv rave review press plai sold-out audienc product direct artist director joe film tale hood charact undergo similar techniqu releas detail uk william heinemann pub date decemb hardcov norton pub date hardcov norton pub date paperback ballantin book pub date paperback ballantin book pub date paperback ballantin book pub date paperback uk lorrim pub date septemb hardcov uk penguin book pub date januari paperback ballantin book pub date septemb paperback ballantin book pub date april paperback ballantin book pub date juli unbound norton compani pub date novemb paperback add final chapter previous version uk norton pub date juli hardcov ballantin book pub date march paperback uk norton pub date june paperback uk penguin book pub date april paperback uk pub date septemb audio cassett uk heyn verlag pub date januari paperback uk penguin book pub date septemb paperback uk rebound sagebrush pub date octob librari bind uk penguin book pub date februari paperback uk penguin book pub date march paperback uk turtleback book pub date novemb hardback uk penguin book pub date septemb paperback uk thorndik press pub date octob hardback uk buccan book pub date januari librari bind +amsterdam help·info ipa capit netherland deriv amstel dam encyclopædia britannica eleventh edit point citi origin dam river amstel citi histor port rijksmuseum red-light district de wallen liber coffeeshop canal led amsterdam call venic north retriev april retriev april dutch golden ag amsterdam import port world innov develop trade lead centr financ diamond capit capit histori intern financi centr youssef cassi citi found late centuri small fish villag grown largest citi netherland popul inhabit nation dienst onderzoek en januari gemeent amsterdam retriev decemb dienst onderzoek en januari gemeent amsterdam retriev decemb amsterdam surround metropolitan area popul million million peopl depend definit part randstad conurb popul histori record amsterdam octob inhabit late centuri fish villag amsterdam info built bridg dam amstel grant freedom count flori pai bridg toll bern jan daan jo hij zeit wat de amsterdams dutch hagu certif word homin apud peopl live amsterdam develop local tradit citi found frisian fishermen land shore amstel small boat dog case amsterdam origin comparison dutch citi nijmegen rotterdam utrecht paint amsterdam amsterdam citi right centuri amsterdam flourish larg basi trade citi hanseat leagu eucharist miracl occur kalverstraat amsterdam remain import pilgrimag citi alter protest faith todai still silent process civil dress remain rich pilgrimag histori centuri dutch rebel philip ii spain successor imposit tax tenth penni religi persecut protestant spanish inquisit revolt escal war ultim led dutch independ strongli push dutch revolt leader william silent dutch republ rel religi toler jew spain portug prosper merchant printer antwerp ghent bruge econom religi refuge part countri control spain huguenot franc persecut religion sought safeti amsterdam influx flemish printer citi intellectu toler amsterdam hotb european free press case point trial sentenc rome galileo chose lodewijk elzevir amsterdam publish finest work scienc wade rowland galileo mistak epic confront galileo church york arcad publish dam squar late centuri paint gerrit adriaenszoon gemäldegaleri dresden centuri consid amsterdam golden ag earli centuri amsterdam wealthiest citi world ship sail amsterdam baltic sea north america africa present-dai indonesia india sri lanka brazil form basi worldwid trade network amsterdam merchant biggest share voc wic compani acquir oversea possess form seed dutch coloni amsterdam import point trans-ship good europ lead financi centr world amsterdam stock exchang trade continu earli centuri declin amsterdam prosper war dutch republ england anglo-dutch war franc toll amsterdam napoleon war amsterdam fortun reach lowest point establish kingdom netherland slowli began improv amsterdam develop start peopl citi planner samuel inspir pari view centuri call amsterdam golden ag museum train station concertgebouw built time industri revolut reach amsterdam amsterdam-rhin canal dug give amsterdam direct connect rhine north sea canal give port shorter connect north sea project improv commun rest europ world dramat joseph conrad descript amsterdam sea period mirror sea shortli world war citi began expand suburb built war netherland remain neutral amsterdam suffer food shortag heat fuel scarc shortag spark riot peopl kill germani invad netherland control countri dai fight german instal nazi civilian govern amsterdam cooper persecut jew amsterdamm shelter jew high risk famili discov concentr camp war approxim dutch prosecut collabor jew deport netherland concentr camp famou young german girl ann frank dutch jew surviv war month war commun rest countri broke food fuel scarc inhabit citi travel countrysid collect food dog cat raw sugar beet consum stai aliv tulip bulb cook pulp common food tree amsterdam cut fuel wood apart deport jew geographi amsterdam fan south amsterdam centraal railwai station main street lead rokin info holidai gr area east oldest area de wallen wall mediev wall citi area citi red light area south de wallen jewish quarter waterlooplein euronet nl centuri girdl concentr canal embrac heart citi work class area jordaan de amsterdam info citi major museum vondelpark centuri park name dutch writer joost van den vondel part citi urban area polder recognis postfix mean aalsmeer bijlmerm haarlemmerm watergraafsm canal woodcut voorburgw canal fill typic view amsterdam canal feb amsterdam canal system success outcom citi plan earli part centuri immigr height comprehens plan put call main concentr half-circl canal end rest de ij bai canal residenti develop herengracht keizersgracht prinsengracht fourth outer canal present nassau purpos defens water manag plan envisag interconnect canal radii set parallel canal jordaan quarter primarili transport good beer convers exist perimet canal singel defens purpos residenti commerci develop bridg defens purpos nassau serv moat earthen dike gate transit point masonri superstructur tavern land van de stadt en van de de republiek land promis citi ideal realiti citi lay-out dutch republ maarssen schwartz construct proceed west east breadth lay-out gigant windshield wiper historian geert mak call center outward popular myth construct north-western sector start canal southern sector finish time build sector start slowli eastern part concentr canal plan cover area amstel river ij bai implement centuri land park ag home theater public facil waterwai plan mak een klein geschiedeni van amsterdam amsterdam antwerp uitgeverij atla year canal fill street squar voorburgw spui climat amsterdam enjoi moder temper climat weather pattern strongli influenc amsterdam proxim north sea west prevail north-western wind gale winter temperatur mild averag freez frost uncommon spell easterli northeasterli wind blow european contin scandinavia russia siberia summer warm rare hot dai measur precipit common amsterdam averag mm precipit annual fall protract drizzl light rain occasion western storm bring lot water pump higher ground sea citi bodi water cloudi damp dai common cooler month octob march economi develop south bank ij amsterdam financi busi capit netherland import citi europ busi larg dutch corpor bank headquart amsterdam includ abn amro akzo nobel heineken intern ing group ahold tomtom delta lloyd group philip kpmg intern global headquart locat nearbi amstelveen european headquart cisco system subsidiari locat canal compani increasingli reloc citi centr south axi dutch increasingli financi legal center intend netherland largest legal compani netherland settl south axi dutch subsidiari larg consult firm boston consult group mckinsei accentur financi quarter expand world trade centr locat amsterdam stock exchang aex nowadai part euronext world oldest stock exchang import europ tourism amsterdam busiest tourist destin europ million intern visitor room occup rate highest europ tourist choos hotel hotel room bed retail amsterdam shop rang larg depart store metz found maison de parisian style store found de bijenkorf found small specialti shop luxuri shop street busiest high street kalverstraat demographi centuri non-dutch immigr amsterdam huguenot fleme sephardi jew westphalian hugenot edict fontainebleau flemish protest war westphalian amsterdam econom reason influx continu centuri mass immigr centuri peopl indonesia amsterdam independ dutch east indi guest worker turkei morocco itali spain migrat amsterdam independ surinam larg wave surinames settl amsterdam bijlmer area immigr illeg europ america asia africa seventi eighti amsterdamm move citi almer purmerend prompt bill dutch govern bill promot suburban arrang develop call lit core growth young profession artist move neighbourhood jordaan abandon amsterdamm non-western immigr settl social hous project bijlmer religion church st nichola sint previous roman cathol citi amsterdam join revolt spanish rule late comparison major northern dutch citi line protest procedur time church reform protest worship calvin domin religion catholic forbidden priest allow serv cathol hierarchi prohibit led establish covert church seemingli ordinari canal side hous front current debat center de rode ho larg influx foreign religion th-centuri amsterdam sefard jew spain portug huguenot franc protest southern netherland led establish religi church notif jewish religi servic jewish synagogu consecr establish citi christian denomin convert cathol chapel conduct servic oldest church england build unit kingdom begijnhof regular servic offer english huguenot account amsterdam inhabit calvinist integr dutch reform church retain congreg commonli refer monik recognis todai offer occasion servic french centuri amsterdam experienc influx ashkenazim jew central eastern europ continu centuri jew fled pogrom area found synagogu strong influenc ad larg yiddish local vocabulari amsterdam nicknam mokum yiddish word hebrew makom town stem immigr absenc offici jewish ghetto jew prefer settl jordaan neighbourhood north western part amsterdam canal girdl cathol church amsterdam construct restor bishopr hierarchi princip architect citi cathol church cuyper respons amsterdam central station rijksmuseum led refus protest king william iii open roman cathol church netherland host intern eucharist congress amsterdam numer cathol prelat visit citi numer festiv held church stadium cathol process public street forbidden law time twentieth centuri amsterdam relat catholic normalis larger popul size cathol clergi chose place bishopr seat citi nearbi provinci town haarlem religi amsterdam due large-scal immigr coloni immigr surinam introduc evangel protestant lutheran varieti hinduism liber branch islam turk kurd moroccan introduc islam sect larg commun ghanaian nigerian immigr establish african church park garag bijlmer area settl addit broad arrai religi movement establish congreg includ buddhism confucian hare krishna bhagwan scientolog cultur rijksmuseum amsterdam part centuri amsterdam chamber rhetor organ contest chamber read poetri drama amsterdam theatr ballet perform theatr earli centuri french theatr popular opera amsterdam italian french opera centuri german opera centuri popular cultur center ne area amsterdam vaudevil music-hal metronom import advanc european classic music invent dietrich nikolau winkel centuri rijksmuseum built establish centuri cinema radio televis studio hilversum aalsmeer amsterdam influenc program strong art artist amsterdam rembrandt work work pupil displai rijksmuseum van gogh live amsterdam short dedic earli work amsterdam world-class symphoni orchestra royal concertgebouw orchestra home base concertgebouw fashion amsterdam develop european fashion capit big fashion brand g-star gsu blueblood feet fashion design mart visser viktor rolf marli dekker fran molenaar headquart amsterdam model agenc elit model touch model toni jone open depart amsterdam supermodel sturm doutzen kroe kim noorda start career amsterdam amsterdam world fashion centr tourist attract visitor attract amsterdam reput liber citi relax charm emphasis eleg narrow front merchant hous enchant canal reput museum major museum rijksmuseum stedelijk museum rembrandt hous museum van gogh museum hous largest collect van gogh paint draw world ann frank hous museum dedic stori ann frank popular tourist attract liber natur amsterdam physic embodi layout citi de wallen area red-light district coffeeshop embodi well-round prevail attitud resid govern busi amsterdam red-light district locat centr citi mark map window prostitut netherland legal specif place cannabi sell toler small quantiti cannabi gram involv previous amsterdam hand smart shop sold psilocybin mushroom drug paraphernalia psilocybin mushroom illeg illeg consum public mushroom sold smart shop red light district red light district de wallen ross largest best-known red-light district amsterdam major tourist attract network allei tini one-room apart rent femal prostitut ladyboi offer servic window glass door typic illumin red light area number sex shop sex theatr peep show sex museum cannabi museum number coffe shop offer cannabi product sport amsterdam hometown eredivisi footbal club ajax home base modern stadium amsterdam arena locat south-east citi amsterdam host game ixth olympiad olymp stadium built occas complet restor cultur sport event amsterdam marathon amsterdam home famou ic rink jaap eden baan amstel tijger plai arena dutch ic hockei premier leagu speed skate intern championship fought ft lane ic rink citi basebal team amsterdam pirat plai dutch major leagu field hockei team amsterdam hurlei plai match wagen stadium team refer plai amsterdam amsterdam plai match neighbour citi amstelveen basketbal team amsterdam astronaut compet dutch premier divis plai game zuid olymp stadium citi amsterdam honour sportsmen amsterdam sport award boxer raymond field hockei midfield carol thate receiv award transport amsterdam bike amsterdam bicycle-friendli citi world centr bicycl cultur good provis cyclist bike path bike rack ubiquit citi estim million bicycl citi bike theft common cyclist larg secur lock citi centr drive car discourag park fee steep great number street close car one-wai dutch retriev april local govern sponsor carshar carpool initi nu dutch retriev april public transport amsterdam consist bu tram line oper gemeentelijk connexxion arriva metro line line north south line construct free ferri carri pedestrian cyclist ij fare charg ferri east west harbour water taxi water bu addit canal cruis transport peopl amsterdam waterwai ringroad surround citi connect amsterdam dutch nation network freewai interchang car enter citi transfer eighteen citi road number citi road region road grade separ central reserv access cyclist call smaller ringroad circumnavig citi centr amsterdam intend major hub highwai system netherland dutch nl retriev april freewai number plan origin citi outbreak world war shift prioriti led current situat road origin amsterdam origin plan road rotterdam cancel order conserv groen hart road lead north zaandam ringroad open dutch nl retriev april freewai carri traffic bound amsterdam tram amsterdam serv station nederlands spoorwegen dutch railwai dutch retriev april interc stop sloterdijk zuid amstel bijlmer arena amsterdam centraal station exist amsterdam urban area eurolin coach amsterdam destin europ amsterdam centraal intern train station station regular servic destin belgium franc germani switzerland train intern train nederlands spoorwegen thali citynightlin intercityexpress nederlands spoorwegen retriev april amsterdam schiphol airport minut train amsterdam central station biggest airport netherland fourth largest europ tenth largest world handl million passeng year home base klm schiphol busiest airport world measur intern passeng educ amsterdam univers univers amsterdam universiteit van amsterdam vu univers amsterdam vrije universiteit vu institut higher educ includ art school de hogeschool van amsterdam amsterdams hogeschool voor de kunsten amsterdam intern institut social histori world largest documentari research institut social histori histori labour movement amsterdam hortu botanicu found earli oldest botan garden world rare specimen coffe plant serv parent entir coffe cultur central south america amsterdam thought excel primari school school base teach pedagog theori montessori school base religion primarili roman catholic protest denomin influx muslim immigr rise number muslim school addit school base distinct belief public school secondari educ amsterdam note independ grammar school dutch gymnasia vossiu gymnasium barlaeu gymnasium st ignatiu gymnasium classic curriculum includ latin classic greek taught believ anachronist elitist concept die gymnasia experienc reviv lead format fourth grammar school aforement school particip govern administr municip amsterdam divid borough central centrum circl bo en de oost watergraafsm outer borough creat encircl definit borough amsterdam amsterdam understood municip amsterdam colloqui area municip villag consid part amsterdam statist netherland definit amsterdam metropolitan agglomer amsterdam e amsterdam confus amsterdam synonym groot amsterdam greater amsterdam groot amsterdam region urban region amsterdam amsterdam definit synonym term urban area metropolitan area commonli english speak countri purpos defin larg conurb amsterdam depart research statist fourth conurb citi region amsterdam region similar greater amsterdam includ municip zaanstad exclud rijp smallest area municip popul statist netherland retriev octob metropolitan agglomer popul includ municip zaanstad oostzaan diemen amstelveen municip amsterdam mathieu vliegen statist netherland retriev octob greater amsterdam includ municip statist netherland retriev octob popul larger area popul area slightli larger definit exclud popul municip zaanstad largest area popul urban region amsterdam popul includ zaanstad muiden abcoud exclud graft de rijp uithoorn aalsmeer amsterdam part conglomer metropolitan area randstad total popul inhabit citi govern dutch municip amsterdam govern mayor aldermen municip council dutch municip amsterdam subdivid fifteen borough system implement improv local govern respons activ previous run central citi fourteen council chosen popular elect fifteenth cover harbour amsterdam inhabit govern central municip council local decis borough level affair pertain citi major infrastructur project handl central citi council nation govern present version dutch constitut mention amsterdam capit place chapter articl king confirm oath coron place capit amsterdam de amsterdam spoke citi amsterdam de stad amsterdam mention capit case seat govern parliament suprem court netherland except period locat hagu foreign embassi hagu capit countri amsterdam capit provinc locat north holland capit locat haarlem symbol coat arm amsterdam compos histor element centr st andrew cross align vertic band citi shield st andrew cross neighbour amstelveen part coat arm basi flag amsterdam flown citi govern civil ensign ship regist amsterdam imperi crown austria gratitud servic loan maximilian award amsterdam adorn coat arm king crown replac maximilian imperi crown crown holi roman emperor earli year centuri maximilian crown amsterdam coat arm replac crown emperor rudolph ii crown imperi crown austria lion date late centuri citi provinc part republ unit netherland citi offici motto valiant determin compassion bestow citi queen wilhelmina recognit citi braveri world war +audi ag commonli audi german automobil manufactur world lead marqu headquart ingolstadt bavaria wholly-own subsidiari volkswagen group compani evolv vw takeov auto union nsu incorpor histor audi compani found audi corpor taglin durch technik mean advanc technolog head start technolog german-languag taglin european countri includ uk market latin america oceania part asia includ japan american canadian taglin truth engin origin audi audi type compani trace origin august horch horch automobil produc zwickau horch forc compani found start compani zwickau continu horch brand partner su trademark infring german court determin horch brand belong compani august horch forc refrain famili car busi horch immedi call meet apart franz compani meet franz son quietli studi latin corner room time look verg swallow word continu work final blurt father altera par wouldn't good idea call audi horch horch german mean hark listen audi latin idea enthusiast accept attend meet audi ag public relat popularli incorrectli believ audi acronym stand auto union deutschland ingolstadt audi start cc liter cylind model cc model cc cc model car success sport event august horch left audi compani cylind model cc appear compani acquir jørgen rasmussen owner dkw year rasmussen bought remain automobil manufactur rickenback includ manufactur equip cylind engin engin audi zwickau audi dresden model launch time cylind cylind licens peugeot model manufactur audi car era luxuri car equip special bodywork auto union era cover english motor sport magazin auto union race car bank track audi merg horch dkw wander form auto union world war ii auto union interlink ring audi badg todai repres brand badg auto union race car period member compani name emblem technolog develop concentr audi model propel horch wander built engin world war ii horch auto union produc armor car german armi war power hp kw horch auto union engin top speed mile hour vehicl world war ii shuttl german militari offici safe kfz horch type militari light transport vehicl logo audi emblem overlap ring repres marqu auto union audi emblem symbol audi amalgam audi dkw horch wander ring repres audi repres dkw horch fourth ring wander car logo retriev septemb paus start auto union plant heavili bomb sever damag world war war zwickau locat soviet occupi zone germani german democrat republ auto union ag broken audi factori socialist compani veb automobilwerk zwickau auto union launch ingolstadt bavaria employe destroi factori zwickau ingolstadt restart product car dkw label car equip stroke engin base pre-war construct built zwickau similar audi daimler-benz acquir auto union year volkswagen bought factori ingolstadt brand auto union time stroke engin middl custom attract comfort stroke engin septemb dkw model dkw stroke engin implant front rear volkswagen dump brand dkw stroke smell relaunch audi brand model classifi intern sold simpli audi model design manufactur offici auto union audi develop model name horsepow rate sold audi super model sold auto union merg nsu base neckarsulm stuttgart nsu world largest manufactur motorcycl move produc small car nsu prinz tt tt version popular vintag race car nsu focus rotari engin idea felix wankel nsu ro space-ag car time technic detail aerodynam light weight safeti teeth problem rotari engin put independ nsu todai neckarsulm plant produc larger audi model rs model rang mid-siz car nsu work intend slot rear-engin prinz model futurist ro volkswagen rang spell nsu separ brand modern era audi merg compani audi nsu auto union ag emerg audi separ brand time pre-war era volkswagen introduc audi brand unit state model year car regim audi join audi fox form basi volkswagen passat audi rebadg volkswagen polo audi semin design wai incarn golf polo concept led huge success world car audi quattro audi imag time conserv propos chassi engin jörg bensing retriev novemb accept develop four-wheel drive technolog volkswagen ilti militari vehicl audi perform car ralli race car perform car introduc name audi quattro turbocharg german large-scal product vehicl featur perman all-wheel drive center differenti count earlier british jensen ff produc small number commonli refer prefix german augment case origin appli gener audi sport sedan ur ur vehicl produc hand-built singl team model great success ralli promin win prove viabil all-wheel drive racecar audi advanc automot technolog auto union nsu brand effect dead compani offici shorten simpli audi ag audi begin develop kind grandfath car imag type introduc complet develop sold extrem modern dynam exterior beli perform base engin base packag spartan passenger-sid mirror option audi put eleg audi superior set standard featur earli sale began slump audi seri basic construct problem start surfac declin sale help usa minut report purport show audi automobil suffer unintend acceler minut report base custom report acceler brake pedal push independ investig conclud due close placement acceler brake pedal american car inabl pai attent distinguish race car manual downshift heavi brake acceler order match rev properli pedal close oper foot toe brake heel acceler drive techniqu call heel-and-to issu europ possibl due widespread experi european driver manual transmiss minut fact rig car perform uncontrol manner report immedi crush audi sale audi renam affect model audi contempl withdraw american market sale began recov mid- turn point audi sale releas seri develop vw sister brand call platform earli part st centuri audi set german racetrack claim maintain world record top speed endur effort in-lin compani heritag race era silver arrow audi audi sale grow strongli europ mark straight increas sale sell vehicl worldwid record figur record major sale market largest sale increas eastern europ africa middl east march audi build dealership india high increas sale region worldwid sale releas vehicl sold record brand predict pass million unit mark audi start offer computeris control system car call multi media interfac mmi critic bmw idriv control essenti rotat control knob design control radio satellit navig tv heat car control screen mmi wide report consider improv compar bmw idriv bmw idriv user friendli mmi gener well-receiv requir mass button central knob shortcut radio phone function screen colour monochrom mount upright dashboard control mount horizont mmi system audi model equip option navig system model current model rs rs tt allroad quattro discontinu model audi audi super cabriolet quattro rs ur ur hybrid vehicl race model sport quattro lmp lmp current model sport prototyp concept car cross cabriolet quattro concept allroad quattro concept avu quattro le man quattro nuvolari quattro pike peak quattro robot shoot brake audi motorsport audi compet numer form auto race audi rich tradit motorsport began auto union audi domin tour super tour categori motor race success circuit race statesid ralli audi sport quattro audi releas quattro wheel drive turbocharg car win ralli race worldwid consid signific ralli car time advantag then-rec chang rule allow all-wheel-dr competit race critic doubt viabil all-wheel-dr racer think heavi complex quattro success car lead ralli road ralli world serv notic awd futur won competit competit year audi launch short-wheelbas sport quattro car domin race mont carlo sweden audi podium finish succumb problem world ralli championship content season mire mediocr finish walter röhrl finish season sport quattro help place audi manufactur point audi receiv ralli honor hong kong beij ralli year michèl mouton femal wrc driver win world ralli championship driver audi sport quattro simpli call race pike peak hill climb climb race pit driver car drive meter high mountain colorado michèl mouton set record woman set pike peak record audi formal left intern ralli race accid portug involv driver joaquim santo ford rs santo swerv avoid hit spectat road left track crowd spectat side kill injur bobbi unser audi year claim record pike peak hill climb motorsport usa walter röhrl claim titl audi set pike peak record audi retir wrc year earlier audi emploi audi time-test turbo charg engin gener hp kw engin mate gearbox ran audi famou all-wheel drive system audi top driver drove beast hannu mikkola stig blomqvist walter röhrl femal driver michèl mouton audi enjoi mph km time audi start s-seri car audi repres increas level sport option qualiti audi line-up audi move ralli circuit race chose move america trans-am audi move imsa gto avoid major endur event daytona sebr win regular basi lose titl tour car complet object market car unit state audi return europ turn dtm seri audi unwil build car formula turn attent fast grow supertour seri place nation french italian year audi switch german super tourenwagen stw british tour car championship btcc year fia difficulti regul quattro system impact competitor eventu ban wheel drive car compet audi switch work effort sport car race audi compet rs scca speed world gt challeng dealer team champion race compet corvett viper smaller bmw seri permit wd car champion race enter rs quattro wheel drive superior champion audi won championship return defend titl newcom cadillac omega chassi cts-v gave run monei victori row audi sanction neg deepli affect car perform ad ballast champion audi decid tire back turbo boost pressur year compet revit dtm seri privat team abt race christian abt titl laurent aïello audi return full factori effort tour car race enter factori support joest race sport car race audi begin audi built audi lmp compet sport car race includ lmp class hour le man factory-support joest race team won le man time row win race american le man seri year audi sold car custom team champion race bentlei speed engin design audi driven joest driver loan fellow vw compani compet gtp class finish race top posit champion race finish lmp class audi return winner circl race top finish drive rs audi sport japan team goh finish audi sport uk champion race hour le man champion race enter rs audi playstat team oreca rs built lmp regul receiv narrow air inlet restrictor cut power addit kg weight compar newer lmp chassi averag rs second pace compar team excel driver experi champion rs oreca team fourth champion team american team win le man gulf ford gt end long era replac call audi unveil decemb emploi featur includ twin-turbocharg diesel engin race hour sebr hour le man win audi forefront motorsport claim histor win diesel sport car hour sebr audi achiev titl domin motor sport power start st centuri continu long stori motor sport heritag technolog bodyshel audi produc galvan vehicl prevent corros mass-market vehicl introduct process porsch precautionari measur achiev full-bodi zinc coat prove effect prevent rust corros perfor bodi result durabl surpass audi expect caus manufactur extend origin warranti corros perfor year all-aluminium car brought audi audi launch introduc aluminum space frame technolog call audi space frame audi introduc seri vehicl mid-nineti continu pursu leading-edg technolog high perform prior effort audi exampl type chassi fabric aluminum test-b techniqu time copi bodi fit turbin engin gain world record mpg full-siz car approxim mpg drive layout post model audi firmli refus adopt tradit rear wheel drive layout favour arch rival mercedes-benz bmw favour front wheel drive wheel drive achiev audi engin car longitudin mount engin mount overhung posit front wheel front axl line equal length driveshaft combat torqu steer easi adopt all-wheel drive ideal weight distribut reason bmw edg audi term dynam prowess address forthcom coup rang featur engin mount front wheel vehicl manufactur audi subaru design wheel drive system passeng vehicl all-wheel drive system car fad german manufactur porsch bmw mercedes-benz offer all-wheel drive system car compet marketplac gm ford toyota all-wheel drive system mercedes-benz vehicl riddl problem design sheet system popular porsch vehicl owner want tradit perform rear wheel drive older porsch porsch mercedes-benz offer all-wheel-dr system car truck todai manufactur well-known all-wheel-dr technolog audi audi appli quattro badg model tt quattro system prior year mechan center differenti swedish haldex electromechan clutch awd system engin audi champion inlin cylind engin longer last altern tradit cylind engin engin product car race car inlin cylind engin base ralli car provid horsepow kw modif engin produc displac rang engin capac good combin good fuel economi mind motorist good amount power luxuri competitor earli audi began move posit real competitor target market global luxuri leader mercedes-benz bmw began releas audi essenti engin fit audi notic bodywork differ obviou grill incorpor bonnet audi cylind audi cylind audi audi turbocharg audi audi coup version cylind engin cylind engin success robust powerpl target market introduct all-new audi audi introduc engin engin fit face-lift audi model badg usa give model choic cylind engin sedan coup cabriolet bodi style cylind drop major engin choic turbocharg hp kw version remain engin initi fit quattro deriv engin fit sport quattro fit audi coup name audi bodi name model begin mass-produc seri perform car audi space frame audi replac revolutionari aluminium audi space frame asf save weight weight reduct offset quattro all-wheel drive system meant car similar perform rival superior roadhold major model chang audi replac audi nomenclatur scheme appli audi audi minor facelift meant introduc bodi discontinu audi cabriolet continu base audi platform gain engin upgrad hatchback model share volkswagen golf mk platform introduc rang radic tt coup roadster debut base underpin interest model introduc mercedes-benz a-class competitor audi model sold europ discontinu audi decid develop replac engin rang cylind turbo turbo-charg cylind replac mark improv power torqu smooth engin ad includ dsg turn centuri audi introduc direct-shift gearbox dsg manual transmiss drivabl automat transmiss system includ dual control clutch torqu convert implement vw golf audi tt model engin rang continu upgrad twin turbo offer audi allroad replac unit audi releas high perform version dub featur horsepow kw torqu fsi model introduc ag litr engin replac fsi fuel stratifi inject engin petrol model rang incorpor fuel-sav technolog includ fsi engin petrol engin litr cylind bhp kw litr cylind bhp slowli phase order tsi engin section litr cylind bhp kw litr cylind bhp kw litr bhp litr bhp kw litr bhp kw litr biturbo bhp kw litr bhp kw engin sale featur product audi brand includ litr cylind bhp kw litr tdi bhp kw litr tdi bhp kw litr tdi bhp kw litr tdi bhp kw litr tdi bhp kw litr tdi bhp kw tdi model diesel choic premium member vw group technolog frequent introduc mass market audi vehicl orient brand vw seat exampl includ number fsi engin mention dsg dual-clutch gearbox option tsi tsi technolog introduc volkswagen golf earli engin initi capac litr combin super-charg produc high power output level harm carbon dioxid emiss improv fuel economi compar non-turbo super-charg engin high capac litr litr tsi engin sale vw golf produc output bhp kw engin prove popular motor press britain filter audi rang possibl featur model featur seat skoda model rang ambit audi publicli set goal surpass bmw luxuri safeti leader mercedes-benz global sale giant stride achiev goal +aircraft aircraft vehicl fly air atmospher human activ surround aircraft call aviat rocket vehicl aircraft support surround air man aircraft flown pilot ca unman aircraft call drone militari brought term remot pilot vehicl rpv term unman aerial vehicl uav common kind aircraft aircraft fall broad categori lighter-than-air call aerostat heavier-than-air call lighter air aerostat hot air balloon flight aerostat buoyanc float air ship float water character larg gasbag canopi fill densiti ga helium hydrogen hot air lighter surround air weight ad weight aircraft structur add weight air craft displac small hot air balloon call sky lantern date centuri bc type aircraft fly kite origin balloon aerostat term airship larg power aircraft fixed-w built advent power balloon call dirig balloon rigid hull allow vast increas size began chang huge power aerostat character rigid outer framework separ aerodynam skin surround ga bag domin ski zeppelin largest famou aeroplan non-rigid balloon larg call airship airship synonym great monster accid hindenburg disast led demis larg rigid airship due safeti fear nowadai balloon unpow aerostat airship power power steerabl aerostat call dirig term appli non-rigid balloon dirig balloon regard definit airship rigid non-rigid non-rigid dirig character moder aerodynam gasbag stabil fin blimp world war shape wide adopt tether balloon windi weather reduc strain tether stabil balloon nicknam blimp adopt shape modern time tend call small dirig airship blimp blimp unpow power heavier air heavier-than-air aircraft find push air ga reaction occur newton law motion push aircraft dynam movement air origin term aerodyn wai produc dynam upthrust aerodynam lift power lift form engin thrust aerodynam lift common aeroplan air movement wing rotorcraft spin wing-shap rotor wing rotor blade flat horizont surfac shape cross-sect aerofoil fly move forward air movement air aerofoil shape deflect air downward creat equal upward forc call lift newton law motion power lift aircraft direct engin thrust vertic pure rocket regard aerodyn depend air lift fly space aerodynam lift vehicl power assist rocket motor rocket-pow missil obtain aerodynam lift high speed due airflow bodi margin case initi vtol vertic land appli aircraft land vertic rotorcraft hawker siddelei harrier land vertic power lift transfer aerodynam lift steadi flight stol stand short land fixed-w aircraft size comparison largest aircraft world airbu largest airlin boe antonov aircraft greatest payload hugh spruce goos aircraft greatest wingspan aeroplan airplan technic call fixed-w aircraft forerunn aeroplan kite kite depend tension cord anchor ground forc wind current kite kind aircraft fly invent china bc aerodynam research kite test aircraft wind tunnel comput model program collect nasa test aircraft aeroplan gener character wing configur convent configur main wing front smaller stabil surfac tailplan canard revers place small foreplan stabil wing nose aircraft canard common superson aerodynam grow matur surfac contribut lift flight tandem wing type wing similar size front tailless design lift horizont control surfac combin ultim express fly wing central fuselag separ vertic control surfac spirit wing stack biplan wing triplan success biplan common triplan occasion period world war due high manoeuvr fighter world war aeroplan monoplan sesquiplan similar biplan wing reduc size monoplan wing monoplan classifi high-w mid-w low-w fuselag wing attach multi-plan design brace strut wire hold wing place monoplan earli design brace lighter weight clean cantilev design brace larg amount drag higher speed longer faster design low-spe aeroplan straight wing taper decreas chord tip flight speed sound swept wing wing angl tip sweep occasion experi design revers direct suggest notabl variat delta wing shape triangl lead edg sharpli swept trail edg straight common form crop delta merg taper swept categori grace form ogiv delta concord variat crescent wing handlei page victor sharpli swept inboard reduc sweep outboard section variable-geometri wing swing-w chang angl sweep flight emploi exampl combat aircraft product type gener dynam seaplan built seaplan floatplan differ seaplan bottom fuselag shape hydrodynam sit water rest floatplan float attach rest aircraft fuselag remain clear water time peopl vehicl aeroplan craft fly close surfac ground water russian ekranoplan nicknam caspian sea monster land larg propel jet-engin aircraft hang glider invovl flight sector ground-effect fly occur bird land stop aircraft aeroplan man-pow aircraft reli ground effect remain airborn underpow airfram theoret capabl fly higher hovercraft consid aircraft reli wholli pressur air ground beneath aerodynam lift surfac rotorcraft bell jetrang iii helicopt rotorcraft rotary-w aircraft spin rotor aerofoil section blade rotari wing provid lift type includ helicopt autogyro hybrid gyrodyn compound rotorcraft helicopt power rotor rotor driven indirectli engin push air creat lift tilt rotor forward flow tilt produc thrust flight autogyro gyroplan unpow rotor separ power plant provid thrust rotor tilt autogyro move air blow make spin cf autorot manual copi german draw spin dramat increas speed airflow rotor provid lift juan de la cierva spanish civil engin product autogiro bensen gyrocopt rotor kite fock achg fa unpow autogyro tow tether give ground speed static anchor situat kite flight gyrodyn form helicopt thrust obtain separ propuls devic tilt rotor definit chang year includ equival autogyro design import characterist flight air flow significantli rotor disc primarili similar idea compound rotorcraft wing provid lift flight compound helicopt compound autogyro built form gyroplan refer compound gyroplan tiltrotor aircraft osprei rotor horizont vertic flight pivot rotor vertic propel flight cylindr wing form duct rotor ground sat tail land vertic helicopt aircraft tilt fly propeller-driven aeroplan duct wing transit achiev practic rotorcraft rotor ga jet tip lift rotor power engine-driven shaft method lift xb lift bodi special glider lift bodi fly wing configur aircraft bodi shape produc lift wing small provid lift lift bodi effici aircraft travel high speed gener lift fly famou lift bodi design space shuttl superson missil obtain lift airflow tubular bodi power lift reli engin thrust hold air practic applic experiment design built person hover platform jetpack vtol research fly bedstead vtol jet aircraft harrier land vertic configur transit convent configur flight innov repres complet class aircraft fix wing cylindr fan mount spanwis fan spin creat airflow upper surfac wing creat lift fan wing develop unit kingdom propuls unpow type aircraft balloon kite hang glider propuls craft frequent base power situat power goodyear blimp motor rogallo hang glider motorglid balloon drift wind pilot control altitud heat air releas ballast give direct control wind direct altitud wing-shap hybrid balloon glide direction rise fall balloon direct control kite tether ground object fix mobil mean maintain tension kite line reli virtual real wind blow gener lift drag kytoon lighter-than-air neutral buoyant balloon kite shape tether obtain kite deflect proper subset hang glider true free-flight kite pilot bodi hang short kite line kite airfram frequent includ common triangl control frame a-fram fall pilot maintain tension short kite line kite wing net path kite flight glide path power har pilot form mobil free-fal propel anchor kite kite line provid tension short kite line remain kite system kite wing airfram remain unpow moor mobil power anchor wing unpow total system air activ propuls sens popular power har power aircraft system differ put propel engin wing airfram hang glider session power aircraft paraglid true free-flight kite system kite line wing maintain tension mobil fall hang pilot wing kite power anchor alter wing remain unpow wing line total in-air system activ power glider gain initi thrust launch mechan gain energi graviti thermal current takeoff take place high locat aircraft pull air ground-bas winch vehicl tow aloft power tug aircraft glider maintain air speed lift descend relat air necessarili relat ground practic design built british scientist pioneer georg caylei univers recognis aeronaut engin propel driven dehavilland twin otter adapt floatplan propel compris set small wing-lik aerofoil set central hub align direct travel spin propel creat aerodynam lift thrust direct arrang propel close axi rotat direct earli attempt lightweight steam engin capabl power aircraft evid need succeed make fly model confirm power flight wright brother world war ii propel turn intern combust piston engin virtual type propuls system aircraft engin piston engin major smaller aircraft produc effici altitud aircraft radial engin cylind arrang circl crankshaft larg horizontally-oppos engin cylind line side crankshaft water cool engin automobil common high speed aircraft replac jet turbin power piston engin typic oper avga regular gasolin design oper diesel jet fuel piston engin effici ft sea level oxygen combust solv problem piston engin mechan power compressor blower aka supercharg turbine-pow turbocharg compress air feed engin piston engin oper effici ft sea level higher altitud requir supplement oxygen cabin pressur gossam albatross human-pow aircraft turbin engin jet gear drive propel form turboprop modern helicopt typic turbin engin power rotor common power sourc includ electr motor link solar panel creat solar-pow aircraft man power aircraft muscl power drive propel rubber band wound time store energi fly model variat propel broad blade creat fan fan tradition surround ring-shap fair duct duct fan experiment design duct call propfan propellor fan front stationari blade propellor blade pretti block view fan energi crisi develop work propel propfan swept tip curv blade high-spe commerci militari transport jet engin jet engin provid thrust air burn fuel acceler exhaust rearward eject high speed reaction acceler engin thrust jet engin provid higher thrust propel natur effici higher altitud oper ft fuel-effici rocket high-spe high-altitud aircraft jet engin earli turbojet modern turbofan frequent bypass turbofan spin turbin creat airflow takeoff provid thrust absolut militari aviat afterburn design includ crude puls jet high-spe ramjet ramjet scramjet design requir exist airflow work work stationari launch catapult rocket booster drop mother ship bypass turbofan engin lockhe blackbird hybrid design aircraft land jet turbin configur high-spe flight turbin bypass afterburn order form ramjet piston engin place turbin supersed turbojet remain curios form propuls rocket aircraft occasion experi messerschmitt komet fighter action world war restrict specialis nich north american travel space oxygen combust rocket carri oxid rocket supplement main powerpl typic assist takeoff heavily-load aircraft experiment design saunders-ro provid high-spe dash capabl ornithopt categori design potenti practic devic creat research prototyp simpl toi model hawk freez prei still captur classif major distinct aircraft usag militari aviat includ aircraft militari purpos combat patrol search rescu reconnaiss transport train civil aviat includ aircraft non-militari purpos militari aircraft fifth-gener militari aircraft raptor combat aircraft fighter bomber repres minor categori civil aircraft produc separ model militari civil dougla airlin militari transport militari dakota uk commonwealth small fabric-cov two-seat piper cub militari version liaison observ trainer aircraft glider balloon militari aircraft balloon observ american civil war world war cargo glider world war ii land troop combat aircraft hand time reconnaiss surveil italo-turkish war widespread balkan war world war type aircraft adapt attack ground enemi vehicl ship gun aircraft aircraft design bomber born order prevent enemi bomb fighter aircraft develop intercept shoot enemi aircraft tanker develop world war ii refuel aircraft mid-air increas oper rang time vietnam war helicopt widespread militari transport suppli support ground troop civil aircraft interior qatar airwai flight civil aviat broadli divid commerci gener activ overlap practic commerci aircraft commerci aviat includ schedul charter airlin flight overlap amount gener aviat activ aircraft offer hire gener aviat gener aviat catch-al cover kind privat commerci vast major flight flown world dai belong gener aviat categori cover wide rang activ busi trip civilian flight train recreat balloon fly firefight medic transport medevac flight cargo transport freight aircraft gener aviat major distinct privat flight pilot paid time expens commerci flight pilot paid custom employ privat pilot aircraft primarili person travel busi travel recreat privat pilot aircraft loan bank special lender purchas commerci gener aviat pilot aircraft wide rang task flight train pipelin survei passeng freight transport polic crop dust medevac flight piston-pow propel aircraft single-engin twin-engin common privat commerci gener aviat privat pilot occasion oper helicopt bell jetrang turboprop beechcraft king air busi jet typic flown commerci pilot gener small jet arriv privat pilot experiment aircraft layman term experiment aircraft one-off special built explor aspect aircraft design purpos bell rocket plane broke sound barrier level flight famou formal design experiment aircraft includ type certifi commerci applic includ one-off modif exist aircraft modifi boe nasa ferri space shuttl land site launch site aircraft homebuilt amateur person model aircraft model aircraft small copi larger aircraft design model fly fun static displai aerodynam research cf reynold number small aircraft small copi larger aircraft small aircraft model larger aircraft builder frequent build small aircraft simpli small copi larger hobbi industri exploratori effort build aircraft group inventor inventor tyler maccreadi martyn cowlei tara parker maccreadi walter morgan matthew kruse glider model larger aircraft histori timelin aviat histori aircraft develop divid broadli era pioneer flight world war inter-war year world war postwar call jet ag manufactur type gener categori aircraft list manufactur product type environment effect aircraft gener consider amount nois pollut air pollut emiss environment protect agenc develop emiss factor commonli aircraft feder aviat administr develop comput model predict air pollut concentr produc aircraft flight hogan michael richard venti leda patmor predict aircraft gener air pollut contour esl prepar feder aviat administr +aphex twin born richard david jame august limerick ireland english electron music artist invent influenti figur contemporari electron music rephlex record co-found aphex twin friend grant histori earli life richard david jame born welsh parent lorna derek jame album drukq august st munchin limerick region matern hospit ireland jame grew lanner cornwal england enjoi older sister happi childhood jame pretti left want grow cut citi rest world jame educ redruth school locat redruth cornwal child experi string hammer famili piano benjamin middleton jame start produc music ag teenag djed shire hors st iv tom middleton inn crantock numer beach cornwal ag jame studi nation diploma engin cornwal colleg jame describ music electron hand hand aphex effect futur music april dave robinson uk teacher pass listen mix headphon practic lesson earli career earli jame met grant djing altern week newquai cornwal intrigu set surpris discov jame plai tape music richard jame record ep analogu bubblebath releas afx track en tranc exit tom middleton aka schizophrenia plai kiss fm playlist influenti london pirat station help ep success jame form rephlex record friend grant promot innov dynam acid love misunderstood genr hous music forgotten britain jame releas analogu bubblebath ep afx bradlei strider ep bradlei strider record track time appear releas care gak earli career jame move london electron kingston polytechn time admit david toop electron studi slip career techno busi preced quit jame remain london releas number album ep warp record label alias includ afx polygon window number richard track releas alias blue calx dice man includ compil time local legend jame live roundabout eleph castl south london earli year capit gain success music sampl noicon sampl album select ambient work problem listen file media ventolin video version noicon sampl ventolin video version album care problem listen file media full-length aphex twin album select ambient work releas record john bush music guid watersh ambient music roll stone magazin wrote album aphex twin expand ambient music brian eno fuse lush soundscap ocean beat bass line critic note song record cassett sound qualiti poor warp record bill album birthplac benchmark modern electron music home copi releas xylem tube ep digeridoo aphex twin pac-man ep base arcad game pac-man caustic window ep digeridoo reach uk chart forshadow drum bass roll stone digeridoo record initi benefit shire hors st iv cornwal earli releas rephlex record mighti forc exet record belgium aphex releas instal analogu bubblebath seri ambient singl bradlei strider ep caustic window ep releas warp record surf sine wave quoth alia polygon window warp record press releas follow-up select ambient work volum ii sound beat-driven previou volum song explicitli name blue calx track name pie chart symbol meant pair imag album jacket deciph song titl listen pair number symbol correct imag titl label cliff realiz pair symbol imag rocki cliffsid jame state wire magazin media song inspir lucid dream synesthesia includ string releas includ fourth analogu bubblebath gak deriv earli demo warp record classic compil album includ digeridoo singl xylem tube ep previous unreleas track releas care jame imag face album cover motif continu record album compil song compos repres mish-mash aphex twin music style aphex twin record analogu synthes aphex twin collabor minimalist compos philip glass orchestr version song album icct appear donkei rhubarb ep releas melodi mar analogu bubblebath record releas primarili auto bulb anagram analogu bubblebath began releas materi compos comput combin jungl sound nostalg childhood theme strang computer-gener acid line aphex twin earli adopt softwar synthes predat popular comput music late music popular mainstream releas richard jame album includ previous releas girl boi ep expert knob collabor fellow danc produc daddi uk chart windowlick uk chart shown mtv cover featur music magazin nme march video singl direct british artist chri cunningham caus controversi releas due disturb imag theme companion analogu bubblebath releas analogu bubblebath music sampl noicon sampl album drukq problem listen file media noicon sampl album drukq problem listen file media fenix funk noicon sampl fenix funk album problem listen file media vb noicon sampl vb album problem listen file media aphex twin releas person album drukq album featur prepar piano song influenc erik sati john cage notabl track name written cornish languag translat includ abras fast meticul program song roll stone piano song aimlessli pretti review conclud drukq releas contract breaker warp credibl guess big releas rephlex label richard told interview left album track mp player accident left plane aphex twin unreleas track written rush releas pre-empt internet leak januari late rumour return acid techno base sound realis seri seri concentr produc fulli analogu piec music written record analogu equip press vinyl jame meticul process record master press label co-own grant convinc jame releas digit cd chosen lord includ select seri track slightli alter improv flow album record jame extens collect roland drum machin bought bargain price rarest desir synthes gener synton fenix notori difficult program roland sequenc sequenc reput excel time famou roland trademark acid melodi rumor media suggest aphex twin record secret alias tuss late februari confirm jame headlin ireland oxegen festiv led mass registr festiv websit demand ticket reach high announc aphex twin part confirm lineup park plai bestiv septemb year aphex twin late addit perform coachella vallei music art festiv background aphex twin aphex twin deriv aphex system limit brand audio signal process equip permiss recogn sleev richard jame drukq album explain interview memori brother name richard jame di birth artwork jame creat photographi artwork photo show face grin slightli distort videoclip daddi track windowlick singl commonli refer equat photo face reveal run spectral analysi retriev pictur illustr famou toothi evil grin spiral visibl windowlick influenc ag richard jame mention influenc phonic bod comput world mental telepathi industri tomita tangerin dream note mixmast morri mention luv afx bbc radio breezeblock session prefer monik dj'ing cornwal phonic boi dope inspir everydai sound emul reconstruct electron qualiti techno europ overshadow current hardcor pop crap ask electron music jame influenc chicago hous detroit techno pioneer derrick kevin saunderson hous acid hous influenc includ gui call gerald finger state lil loui avant gard music big influenc jame includ brian eno kraftwerk neu tangerin dream karlheinz stockhausen tod dockstad xenaki piero umiliani bernard parmegiani john cage french compos erik sati piano work innov idea furnitur music precursor ambient music bbc radiophon workshop influenc aphex twin releas compil music record pioneer studio delia derbyshir call music bbc radiophon workshop rephlex record label song includ sound refer zx spectrum instanc carn marth richard jame album includ tape load nois game sabr wulf richard state interview listen japanes experiment musician merzbow influenc fan aphex twin internet discuss list august talk aphex twin warp record call intellig danc music list fan internet call aphex twin idm drill bass describ richard approach danc music www allmus perfect sound term describ work danc music advic aphex twin futur music piss current music scene aphex twin sheep shephard sit long hard sure futur music london sinfonietta perform arrang aphex twin march orchestra alarm sound releas acoustica alarm sound perform aphex twin album consist acoust arrang electron track aphex twin don't rock roll influenc rock band radiohead www bbc uk rhy tranter june dismiss idea tour wouldn't plai don't aphex twin interview kludg magazin arturo perez march mathcor band dilling escap plan cover daddi ep ironi dead scene featur mike patton vocalist jazz ensembl bad cover flim album vista addition futur rock perform alberto care live multi-instrument set braindanc richard rephlex record label co-own grant creat term braindanc describ aphex twin music begin bbc august milk factori danc dark aphex twin richard jame trick loui pattison braindanc appli forward-think electron music appeal listen brain desir danc parti exampl includ record label label aphex twin ep daddi part part rephlex album review paul cooper encompass element varieti genr includ tradit classic electron music popular modern industri ambient hip hop electro hous techno breakbeat hardcor ragga garag drum bass aphex twin press jame guardian newspap i'm irrit ly ginger kid cornwal lock youth detent centr manag escap blag music aphex twin compos ambient techno music ag hour unreleas music softwar compos includ algorithm process automat gener beat melodi experi synesthesia incorpor lucid dream process make music don anderson space ag bachelor magazin date unknown jame own armour scout car daimler ferret mark submarin bought russia live southeast london convert bank bank cypru hsbc contrari popular opinion silver structur centr roundabout eleph castl fact michael faradai memori power transform northern line jame jokingli claim bui interview face magazin call child prodigi rais mythic statu type stori includ preclud john cage youth experiment piano tune pluck string rumor hard confirm spread prankster tradit make claim sleep hour night reynold simon gener ecstasi brown compani page bbc digit aphex twin track rhubarb ii xtal parallel stripe ii bbc digit widescreen test transmiss broadcast loop uk novemb earli stockhausen technocrat novemb wire wrote articl entitl packag tape music artist includ aphex twin german compos karlheinz stockhausen stockhausen comment wire novemb aphex twin respond zx spectrum competit richard claim produc sound sinclair zx machin sound hardwar ag displai chang pattern color monitor case spectrum earli person comput displai monitor televis natur hum cathod rai tube modul produc semblanc melodi luke vibert remix competit artist russel surreal artist cite aphex twin influenc biographi won remix competit futur music magazin russel remix luke vibert track deem vibert submiss relax sophist larg ball huge bass music maker new post richard jame reveal magazin enter alia unawar won prize sampl cd award runner-up michael stephen confus russel websit belong real person photograph equip interview futur music richard ableton live prefer beat edit stretch ask equip respond raven max limit edit van helden mam freebass roland akai behring behring effect copi interview japan snoozer magazin jame state favorit instrument piano laptop comput synton fenix older interview nineti richard pro tool stuff cubas time richard jame album interview reveal homemad equip cover softwar program written synthesis hardwar devic built younger richard jame studi electron cornwal colleg kingston polytechn london built synthes sampler earli year modifi circuit bent equip jame program person music softwar algorithm discographi citat refer +alfr bernhard nobel help·info octob stockholm sweden decemb sanremo itali swedish chemist engin innov armament manufactur inventor dynamit own bofor major armament manufactur redirect previou role iron steel mill enorm fortun institut nobel prize synthet element nobelium name person background nobel son immanuel nobel nobel born stockholm octob famili st petersburg father invent modern plywood start torpedo work alfr studi chemistri professor nikolai nikolaevich factori left care son ludvig nobel greatli enlarg alfr return sweden father bankruptci famili busi devot studi explos safe manufactur nitroglycerin discov ascanio sobrero fellow student pelouz univers torino explos occur family-own factori disastr kill alfr younger brother emil worker foundat nobel prize laid alfr nobel wrote leav wealth establish prize honor men women outstand achiev physic chemistri medicin literatur work peac bertha von suttner alfr nobel secretari stai left marri baron arthur von suttner person contact alfr nobel correspond death believ major influenc decis includ peac prize prize won nobel wrote nemesi prose tragedi act beatric cenci partli inspir perci byssh shellei cenci print dy entir stock copi destroi immedi death regard scandal blasphem surviv edit bilingu publish sweden plai translat slovenian esperanto version alfr nobel buri norra begravningsplatsen stockholm dynamit nobel nitroglycerin incorpor absorb inert substanc kieselguhr diatomac earth safer conveni handl mixtur patent dynamit nobel demonstr explos time year quarri redhil surrei england nobel combin nitroglycerin explos obtain transpar jelly-lik substanc power explos dynamit gelignit blast gelatin brand patent host similar combin modifi addit potassium nitrat substanc prize alfr nobel death mask resid karlskoga sweden erron public prematur obituari nobel french newspap condemn invent dynamit brought decis leav legaci death histori channel modern marvel episod origin air june obituari state le marchand de la mort est mort merchant death dead alfr nobel rich find wai kill peopl faster di yesterdai time magazin octob novemb swedish-norwegian club pari nobel sign testament set bulk estat establish nobel prize award annual distinct nation di stroke decemb sanremo itali left million kronor usd usd fund prize prize award emin physic scienc chemistri medic scienc physiolog fourth literari work ideal direct person societi render greatest servic intern fratern suppress reduct stand armi establish further peac congress formul literari prize ideal direct swedish cryptic caus confus year swedish academi interpret ideal idealist pretext give prize import romant author henrik ibsen august strindberg leo tolstoi interpret revis prize award dario fo saramago belong camp literari ideal lot room interpret bodi name decid physic scienc chemistri prize consult make one-pag testament stipul monei discoveri invent physic scienc discoveri improv chemistri open door technolog award left instruct deal distinct scienc technolog decid bodi chosen concern surpris prize scientist engin technician inventor sens technolog prize announc world technolog network fund nobel foundat indirectli fill gap great-grandnephew peter ask bank sweden differenti award economist alfr nobel memori award caus controversi prize econom nobel prize bank sweden prize econom scienc memori alfr nobel +imag padlock-silver-medium svg alexand graham bell march august emin scientist inventor innov invent telephon father grandfath brother work elocut speech mother wife deaf profoundli influenc bell life work bruce research hear speech led experi hear devic eventu culmin bell award patent invent telephon black quot thought har electron technolog creat machin transmitt receiv send sound telegraph peopl hear invent mark bell life includ groundbreak work hydrofoil aeronaut alexand graham bell found member nation geograph societi reflect bell consid famou invent intrus real work scientist refus telephon studi macleod bell death telephon unit state still ring silent minut tribut man yearn commun dunn earli year alexand bell born edinburgh scotland march petri earli life bell british subject famili home south charlott street edinburgh commemor marker doorstep mark alexand graham bell birthplac brother melvil jame bell edward charl bell brother di tuberculosi edward melvil father professor alexand melvil bell mother eliza grace nee symond alexand bell dead father bell develop sign languag mute york time tuesdai august born alexand ag ten plea father middl brother note bell typic sign full correspond birthdai father acquiesc allow adopt middl graham chosen admir alexand graham canadian treat father boarder famili friend groundwat close rel friend remain aleck father continu call life bruce invent child young aleck bell displai natur curios world result gather botan specimen experi earli ag friend ben herdman neighbour famili oper flour mill scene forai typic child plai caus racket dai john herdman admonish boi don't young aleck ask need mill told wheat dehusk labori process ag bell built homemad devic combin rotat paddl set nail brush creat simpl dehusk machin put oper steadili number year bruce return john herdman gave boi run small workshop invent bruce earli work speech earli year bell show sensit natur talent art poetri music encourag mother formal train master piano famili pianist grai quiet introspect revel mimicri voic trick akin ventriloqu constantli entertain famili guest grai bell deepli affect mother gradual deaf began lose hear learn manual finger languag sit side tap silent convers swirl famili parlour grai develop techniqu speak clear modul tone mother forehead hear reason clariti mackai bell preoccup mother deaf led studi acoust famili teach elocut grandfath alexand bell london uncl dublin father edinburgh elocutionist father publish varieti work subject standard elocutionist grai mackai treatis visibl speech appear edinburgh standard elocutionist appear british edit sold quarter million copi unit state treatis explain method instruct deaf-mut articul word read peopl lip movement deciph mean aleck father taught brother write visibl speech identifi symbol accompani sound petri aleck profici part father public demonstr astound audienc abil deciph latin gaelic sanskrit symbol petri educ young child bell brother receiv earli school home father earli ag enrol royal high school edinburgh scotland left ag complet form mackai school record undistinguish mark absente lacklustr grade main interest remain scienc biologi school subject treat indiffer dismai demand father grai leav school bell london live grandfath alexand bell year spent grandfath love learn born long hour spent discuss studi elder bell great effort young pupil learn speak convict attribut pupil teacher town ag bell secur posit pupil-teach elocut music weston hous academi elgin morai scotland enrol student latin greek instruct return board session bruce year attend univers edinburgh join older brother melvil enrol previou year aleck intend write exam graduat univers toronto experi sound bell father encourag aleck interest speech son uniqu automaton develop sir charl wheatston base earlier work baron wolfgang von kempelen groundwat rudimentari mechan man simul human voic aleck fascin machin obtain copi von kempelen book publish germani labori translat aleck older brother melvil built automaton head father highli interest project offer pai suppli spur boi entic big prize success groundwat brother construct throat larynx aleck tackl difficult task recreat realist skull effort result remark lifelik head speak albeit word groundwat boi carefulli adjust lip bellow forc air windpip recogniz mama ensu delight neighbor bell invent petri intrigu result automaton bell continu experi live subject famili skye terrier trouv petri taught growl continu aleck reach mouth manipul dog lip vocal cord produc ow ah oo ga ma ma convinc visitor believ dog articul grandma indic play natur experi convinc onlook talk dog groundwat initi forai experiment sound led bell undertak work transmiss sound tune fork explor reson ag wrote report work alexand elli colleagu father groundwat elli immedi wrote indic experi similar exist work germani dismai find groundbreak work undertaken hermann von helmholtz convei vowel sound mean similar tune fork contrapt pore german scientist book sensat tone translat origin german edit aleck deduct underpin futur work transmit sound know subject vowel sound produc electr mean conson articul speech groundwat famili tragedi bell famili move london bell return weston hous assist master spare hour continu experi sound minimum laboratori equip bell concentr experi electr convei sound instal telegraph wire room somerset colleg friend bruce fall winter health falter exhaust younger brother edward ted similarli bed-ridden suffer tuberculosi bell recov refer correspond bell serv year instructor somerset colleg bath somerset england brother condit deterior edward recov brother pass bell return home older brother melli marri move aspir obtain degre univers london bell consid year prepar degre examin devot spare time famili resid studi help father visibl speech demonstr lectur brought bell susanna hull privat school deaf south kensington london pupil deaf mute girl remark progress tutelag older brother achiev success front includ set school elocut appli patent invent begin famili bell continu teacher melvil di complic tuberculosi caus famili crisi father suffer debilit ill earlier life restor health convalesc newfoundland bell parent precipit long-plan move realiz remain son sickli make swift judgement alexand melvil bell ask bell arrang sale famili properti bruce note famili pet brother famili conclud brother affair bell student cure pronounc lisp bruce join father mother set world groundwat reluctantli bell conclud relationship mari eccleston surmis prepar leav england groundwat canada ag bell brother widow carolin margaret ottawai mackai parent travel ss nestorian canada petri land quebec citi bell board train montreal pari ontario stai reverend thoma henderson famili friend stai henderson bell famili purchas ten acr farm tutelo height call tutela height brantford ontario properti consist orchard larger farm hous stabl pigsti carriag hous border grand river mackai note estat todai bell homestead homestead bell set workshop convert carriag hous wing call dream place larg hollow nestl tree properti river groundwat frail condit arriv canada bell climat environ like rapidli improv mackai note bell write canada dy man continu interest studi human voic discov nation reserv river onondaga learn mohawk languag translat unwritten vocabulari visibl speech symbol work bell award titl honorari chief particip ceremoni don mohawk headdress danc tradit danc groundwat note bell thrill recognit nation reserv life launch mohawk war danc excit set workshop bell continu experi base helmholtz work electr sound wing design piano mean electr transmit music distanc famili settl bell father plan establish teach practic accompani father montreal melvil offer posit teach system visibl speech work deaf subsequ father invit sarah fuller princip boston school deaf mute continu todai horac mann school deaf hard hear bruce boston massachusett unit state introduc visibl speech system provid train fuller instructor declin post favor son travel boston april bell success school instructor town subsequ ask repeat program american asylum deaf-mut hartford clark school deaf northampton return home brantford month bell continu experi harmon telegraph alexand graham bell note year bell invent telephon link dream place basic concept devic messag wire messag transmit pitch work transmitt receiv need groundwat unsur futur contempl return london complet studi decid return boston teacher petri father help set privat practis contact gardin green hubbard presid clark school deaf recommend teach father system octob alexand bell open school boston name vocal physiolog mechan speech attract larg number deaf pupil petri class number student town work privat tutor famou pupil helen keller young child unabl hear speak bell dedic life penetr inhuman silenc separ estrang petri continu experiment year bell professor vocal physiolog elocut boston univers school oratori period altern boston brantford spend summer canadian home boston univers bell swept excit engend scientist inventor resid citi continu research sound endeavour find transmit music note articul speech absorb experi difficult devot time experiment dai even occupi teach privat class bell began stai awak late night run experi experi rent facil board hous keep night owl hour worri work discov great pain lock notebook laboratori equip bell special tabl place note equip lock cover town wors health deterior suffer sever headach groundwat return boston fall bell fate decis concentr experi sound bell speak prototyp model telephon decid give lucr privat boston practis bell retain student six-year georgi sander deaf birth mabel hubbard pupil serv plai import role develop georg father thoma sander wealthi businessman offer bell place stai nearbi salem georgi grandmoth complet room experi offer georg mother year-long arrang son nurs move quarter bell board hous clear sander back propos arrang teacher student continu work free room board thrown town mabel bright attract girl ten year junior object bell affect lose hear bout scarlet fever ag learn read lip father gardin green hubbard bell benefactor person friend want work teacher dunn telephon bell initi work harmon telegraph enter form stage progress boston laboratori famili home canada alexand graham bell quot brantford justifi call telephon telephon origin invent brantford tutela height summer work summer brantford bell experi machin draw shape sound wave smoke glass trace vibrat bell thought gener undul electr current correspond sound wave matthew bell thought multipl metal reed tune frequenc harp convert undulatori current sound work model demonstr feasibl idea matthew telegraph messag traffic rapidli expand word western union presid william orton nervou system commerc orton contract inventor thoma edison elisha grai find send multipl telegraph messag telegraph line avoid great cost construct line bell mention gardin hubbard thoma sander work method send multipl tone telegraph wire devic wealthi patron began financi support bell experi town patent matter handl hubbard patent attornei anthoni pollok evenson march bell pollok visit famou scientist joseph henri director smithsonian institut ask henri advic electr apparatu bell hope transmit human voic telegraph henri repli bell germ great invent bell knowledg henri repli declar greatli encourag bell bell equip need continu experi abil creat work model idea chanc meet bell thoma watson experienc electr design mechan electr machin shop charl william chang financi support sander hubbard bell hire thoma watson assist bell watson experi acoust telegraphi june watson accident pluck reed bell receiv wire heard overton reed overton transmit speech demonstr bell reed armatur need multipl reed led gallow telephon transmit indistinct voice-lik sound clear speech race patent offic elisha grai experi acoust telegraphi thought transmit speech water transmitt februari grai file caveat patent offic telephon design water transmitt morn bell lawyer file applic patent offic telephon debat arriv grai challeng primaci bell patent elisha grai alexand bell controversi februari bell boston hubbard pai cost bell patent told patent lawyer anthoni pollok file bell applic patent offic bell knowledg patent number issu bell march patent offic cover method apparatu transmit vocal sound caus electr undul similar form vibrat air accompani vocal sound macleod note copi origin patent shown valuabl patent dai patent issu bell experi water transmitt mixtur vibrat diaphragm caus needl vibrat water vari electr resist circuit bell spoke famou sentenc watson liquid transmitt watson listen receiv adjoin room heard word macleod bell success test grai water transmitt design proof concept experi prove bell satisfact clear human voic sound electr transmit bell focus improv electromagnet telephon water transmitt public demonstr commerci applic shulman develop continu experi brantford bell brought work model telephon home august telegraph offic mount pleasant mile km brantford alexand tent telegram indic readi curiou onlook pack offic wit faint voic heard repli night amaz famili guest messag receiv bell home brantford mile km distant improvis wire strung telegraph line fenc laid tunnel time guest household distinctli heard peopl brantford read sing long-dist transmiss prove telephon work long distanc macleod bell partner hubbard sander offer sell patent outright western union presid western union balk counter telephon toi year told colleagu patent million bargain bell compani longer want sell patent fenster juli american heritag americanheritag bell investor millionair fare residu point asset reach million dollar winfield bell began seri public demonstr lectur order introduc invent scientif commun gener public demonstr earli machin centenari exhibit philadelphia dai telephon featur headlin worldwid webb influenti visitor exhibit includ emperor pedro ii brazil bell opportun person demonstr invent william thomson renown scottish scientist queen victoria request privat audienc osborn hous isl wight home call demonstr extraordinari enthusiasm surround bell public displai laid groundwork accept revolutionari devic ross bell telephon compani creat peopl own telephon bell compani engin numer improv telephon develop success product bell compani acquir edison patent carbon microphon western union telephon practic long distanc bell transmitt requir user shout heard receiv telephon short distanc januari alexand graham bell transcontinent telephon call dai street york citi receiv thoma watson grant avenu san francisco york time report octob alexand graham bell thoma watson talk telephon two-mil wire stretch cambridg boston wire convers held yesterdai afternoon januari men talk telephon wire york san francisco bell veteran inventor telephon york watson associ side contin heard distinctli talk thirty-eight year york time januari retriev juli competitor common scientif discoveri simultan develop occur evidenc number inventor work telephon macleod devic common featur incorpor bell machin success establish prioriti origin bell patent black bell compani lawyer successfulli fought myriad lawsuit gener initi challeng elisha grai amo dolbear person correspond bell grai dolbear acknowledg prior work consider weaken claim mackai januari govern unit state move annul patent issu bell ground fraud misrepresent prosecut attornei hon georg stearn direct solicitor gener georg jenk bell compani decis won landmark case bell direct cross-examin testimoni fill page kei decis govern bruce period year bell telephon compani face litig inventor claim invent telephon lose case bell laboratori note famili letter kei establish long lineag experi groundwat legal action italian inventor antonio meucci claim creat work model telephon itali meucci bell court order establish prioriti meucci lost case due lack materi evid invent meucci work inventor period base earlier acoust principl bruce note meucci tin-can string telephon patent origin invent bell lawyer william sorrow wrote meucci silliest weakest impost turn patent due effort congressman vito fossella hous repres june state meucci work invent telephon acknowledg put contenti issu origin materi meucci work trial bell overwhelmingli modern scholar recogn claim acoust devic meucci bear develop telephon note toma farlei write scholar agre bell watson transmit intellig speech electr mean transmit sound click buzz boi bell watson transmit speech understand bell patent acknowledg world bell delai german patent applic electr firm siemen halsk manag set rival manufactur bell telephon patent siemen compani produc near-ident copi bell telephon pai royalti mackai seri agreement countri eventu consolid global telephon oper strain bell constant appear court necessit legal battl eventu result resign compani parker note lawsuit rancor elisha grai bitter bell ascend telephon debat alec refus launch counter action libel famili life juli dai bell telephon compani began bell marri mabel hubbard hubbard estat cambridg shortli embark year-long honeymoon europ european honeymoon alec brought handmad model telephon make work holidai courtship begun year earlier alexand wait financi secur marri telephon appear instant success initi profit ventur bell main sourc incom lectur dunn unusu request exact fiancé alec famili earlier familiar sign alec bell mackai bell di inspir telephon deaf girl romanc distinguish inventor due afflict york time januari children elsi bell marri gilbert grosvenor nation geograph fame gilbert grosvenor di head nation geograph editor magazin year introduc photo increas circul million york time februari quot baddeck nova scotia februari canadian press gilbert grosvenor chairman board presid nation geograph societi editor nation geograph magazin di cape breton island estat own father-in-law inventor alexand graham bell year gilbert grosvenor dead join geograph trek marri professor son york time decemb quot washington dc decemb elsi bell grosvenor wife gilbert grosvenor chairman board nation geograph societi di even home bethesda maryland year death attribut heart diseas ag marian hubbard bell refer daisi david fairchild dead daughter bell phone inventor york time septemb quot baddeck nova scotia septemb canadian press marian bell fairchild miami widow david fairchild note plant explor daughter telephon pioneer alexand graham bell di tonight summer home year son di infanc bell natur citizen unit state bell famili maintain resid washington dc alec set laboratori character statu hyphen american claim allegi countri declar bell claim nativ son canada scotland unit state bruce summer retreat contempl summer bell vacat cape breton island nova scotia spend time small villag baddeck return bell start build estat point baddeck overlook bra d'or lake larg hous christen lodg complet year larger complex build begun bell beinn bhreagh gaelic beauti mountain alec ancestr scottish highland tulloch note direct boston architect cabot everett mead nova scotia compani rhode curri compani carri actual construct bell spend final product year resid washington beinn bhreagh macleod life bell famili altern home beinn bhreagh year summer home bell absorb experi annual stai lengthen mabel alec immers baddeck commun accept villag bell resid beinn bhreagh halifax explos occur decemb mabel alec mobil commun victim halifax tulloch invent alexand graham bell invent telephon interest extrem vari biograph charlott grai bell work rang unfett scientif landscap bed voraci read encyclopaedia britannica scour area interest grai rang bell invent geniu repres part patent grant share collabor includ telephon telegraph photophon phonograph aerial vehicl selenium cell bell invent span wide rang interest includ metal jacket assist breath audiomet detect minor hear problem devic locat iceberg investig separ salt seawat work find altern fuel bell work extens medic research invent techniqu teach speech deaf volta laboratori period bell associ consid impress magnet field record mean reproduc sound trio briefli experi concept unabl develop workabl prototyp abandon idea realiz glimps basic principl dai find applic tape record hard disc floppi disc drive magnet media bell home primit form air condit fan blew current air great block ic anticip modern concern fuel shortag industri pollut methan ga reason produc wast farm factori canadian estat nova scotia experi compost toilet devic captur water atmospher magazin interview publish shortli death reflect possibl solar panel heat hous metal detector bell credit invent metal detector devic hurriedli put attempt find bullet bodi presid jame garfield metal detector work flawlessli test find assassin bullet partli metal bed frame presid ly disturb instrument result static grosvenor wesson presid surgeon sceptic devic bell request move presid bed fit metal spring altern bell detect slight sound test bullet lodg deepli detect crude apparatu bell gave full account experi paper read american associ advanc scienc aaa august hydrofoil bell test run march scientif american articl american hydrofoil pioneer william meacham explain basic principl hydrofoil hydroplan bell consid invent hydroplan signific achiev base inform gain articl began sketch concept call hydrofoil boat bell assist frederick casei baldwin began hydrofoil experiment summer aid airplan takeoff water baldwin studi work italian inventor enrico forlanini began test model led bell develop practic hydrofoil watercraft world tour bell baldwin met forlanini franc ride forlanini hydrofoil boat lake maggior baldwin smooth fly return baddeck number initi concept built experiment model includ beag self-propel hydrofoil boileau experiment boat essenti proof-of-concept prototyp culmin substanti power renault engin top speed mile hour km achiev hydrofoil exhibit rapid acceler good stabil steer abil wave difficulti boileau bell hire walter sydnei yacht design builder proprietor yacht yard westmount nova scotia work pontoon boatyard bell laboratori beinn bhreagh bell estat baddeck nova scotia experi boat-build enabl design world war work began bell report navi permit obtain horsepow kw engin juli septemb set world marin speed record mile hour km boileau record stood ten year aeronaut aea silver dart bell support aerospac engin research aerial experi associ aea offici form baddeck nova scotia octob suggest mabel bell financi support aea head bell found member young men american glenn curtiss motorcycl manufactur award scientif american trophi offici flight western hemispher world-renown airplan manufactur frederick baldwin canadian british subject pilot public flight hammondsport york mccurdi lieuten thoma selfridg offici observ govern bell began experi develop motor-pow heavier-than-air aircraft bell experi tetrahedr box kite wing construct multipl compound tetrahedr kite cover silk tetrahedr wing name cygnet ii iii flown unman man cygnet crash flight carri selfridg period bell kite displai alexand graham bell nation histor site aea work progress heavier-than-air machin appli knowledg kite glider move hammondsport group design built red wing frame bamboo cover red silk power small air-cool engin phillip march keuka lake biplan lift public flight north america selfridg aerodrom sail steadili feet washington post quot mile hour public trip heavier-than-air car america professor alexand graham bell machin built plan lieuten selfridg shown practic flight keuka lake portion tail bring test view expert hammondsport york march innov incorpor design includ cockpit enclosur tail rudder variat origin design add aileron mean control aea project invent aileron standard compon aircraft todai aileron invent independ robert esnault-pelteri white wing june bug follow flight mishap accomplish aea deplet initi reserv grant bell allow continu experi phillip final aircraft design silver dart embodi advanc earlier machin februari bell present silver dart flown mccurdi frozen ic lake baddeck aircraft flight canada british empir bell worri flight danger arrang doctor hand success flight aea disband silver dart revert baldwin mccurdi began canadian aerodrom compani demonstr aircraft canadian armi phillip eugen promin thinker scientist time bell connect eugen movement unit state lectur memoir format deaf varieti human race present nation academi scienc novemb note congenit deaf parent produc deaf children tent suggest coupl parti deaf marri bell alexand graham alexand graham bell associ deaf retriev decemb hobbi livestock breed led appoint biologist david starr jordan committe eugen auspic american breeder associ committe unequivoc extend principl man bruce chairman board scientif advis eugen record offic cold spring harbor laboratori york regularli attend meet honorari presid intern congress eugen held auspic american museum natur histori york organis advoc pass law success state establish compulsori steril peopl deem bell call defect varieti human race late state eugen law california law model eugen law nazi germani idea peopl consid defect center deaf feel deaf famili contact deaf educ addit advoc steril deaf bell wish prohibit deaf teacher allow teach school deaf work outlaw marriag deaf individu ardent support oral sign languag educ deaf student avow goal erad languag cultur deaf encourag assimil hear cultur long-term benefit benefit societi larg support harsh inhuman polici todai unkind deaf individu support theori oral person longtim friend helen keller wife mabel deaf children award honour tribut bell receiv volta prize franc invent telephon l’académi français repres french govern pari luminari judg victor hugo alexandr duma fil volta prize establish napoleon honor alessandro volta italian physicist note develop batteri modern usag word volt deriv reach affluent circumst bell monei prize creat number social structur washington symbol volta volta fund volta laboratori volta bureau partnership gardin hubbard bell establish public scienc bell found member nation geograph societi presid regent smithsonian institut recipi honour french govern confer decor légion d'honneur legion honour royal societi art london award albert medal univers würzburg bavaria grant award aiee edison medal meritori achiev invent telephon bel unit measur invent bell lab name bell bel larg everydai decibel db equal commonli unit measur sound intens note decibel defin tenth bel ieee alexand graham bell medal present individu team honor outstand contribut field telecommun number histor site mark commemor alexand graham bell world telephon compani park canada maintain incorpor alexand graham bell museum baddeck nova scotia close bell estat beinn bhreagh nation histor site baddeck open visitor bell descend resid beinn bhreagh world telephon compani build henderson home nascent bell telephon compani origin built sheridan street citi brantford ontario carefulli reloc histor bell homestead bell homestead bell telephon compani build maintain open visitor larg number bell rest unit state librari congress manuscript devis alexand graham bell famili paper collect onlin view larg collect bell document resid death bell di pernici anemia august privat estat beinn bhreagh nova scotia ag grai tend husband long ill mabel whisper don't leav repli bell trace sign promptli expir bruce alexand graham bell buri atop beinn bhreagh mountain overlook bra d'or lake surviv wife daughter elisa marion york time august retriev juli quot alexand graham bell inventor telephon di o'clock morn beinn estat baddeck +amhrán na bhfiann instrument noicon problem listen file media amhrán na bhfiann nation anthem ireland song english languag titl soldier song nation anthem ireland irish amhrán náisiúnta na héireann nowadai irish languag version song sung irish version translat earlier english version music compos soldier song peadar kearnei patrick heenei origin english lyric author kearnei subsequ translat irish liam rinn nation anthem consist choru amhrán na bhfiann origin vers presidenti salut plai presid ireland arriv offici engag consist bar nation anthem immedi depart taoiseach retriev plai lyric adopt soldier song compos lyric peadar kearnei music kearnei patrick heenei lyric publish irish freedom bulmer hobson irish languag lyric work liam rinn involv draft irish languag version irish free state constitut irish constitut irish lyric publish magazin irish defenc forc novemb letter page march soldier song amhrán na bhfiann popular irish republican sung rebel gener post offic gpo easter rise british intern camp song offici state anthem god save king offici anthem unit kingdom great britain ireland independ irish free state establish continu god save king irish peopl caus annoy irish state occas governor-gener jame mcneill refus attend public function triniti colleg learn univers intend plai anthem visit adopt amhrán na bhfiann offici anthem irish free state juli minor continu sing british anthem prai king queen church ireland servic number year irish state acquir copyright song sum polit implic song regard nationalist nation anthem island ireland sung gaelic athlet associ match held northern ireland republ ireland unionist reject amhrán na bhfiann intern game plai all-island rugbi union team specially-commiss song ireland call amhrán na bhfiann republ ireland call adopt all-ireland team sport irish version free translat english fianna liter translat fianna fáil liter fianna band warrior various translat soldier destini warrior destini soldier ireland altern irish volunt period initi appear volunt badg adopt armi irish free state earl longford thoma o’neil de valera dublin chapter fianna fáil chosen de valera polit parti version amhrán na bhfiann substitut fianna translat warrior order avoid associ anthem polit parti year number irish newspap columnist propos replac amhrán na bhfiann nation anthem argu current word excess milit anti-british favour retent argu milit british french american nation anthem arrang amhrán na bhfiann sung plai march time tempo vers choru occasion plai radio telefí irish nation broadcast compani plai orchestr version slow tempo close transmiss onward summer olymp atlanta michel smith won gold medal swim vers choru plai live tempo lyric lyric irish rebel song exhort irish peopl particip struggl hegemoni despot slave english saxon foe ireland allus earlier irish rebellion support irish emigr land wave complet lyric anthem consist choru song origin vers set slightli tune lyric vers footnot +anatolian plateau asia minor redirect anatolia li east bosporu black sea mediterranean anatolia shown relat europ anatolia greek turkish geograph region bound black sea north mediterranean sea south aegean sea west bulk asian mainland east anatolia greek sun rise land sunris simpli east date year ionian settlement period circa st millennium bc ionian leagu byzantin greek term anatolikon eastern signifi land east europ byzantin empir capit citi constantinopl istanbul thema call anatolikon theme call anatolikon direct east sun rise li east byzantium europ constantin vii de ed vatican biblioteca apostolica vaticana etymolog word support idea anatolia peninsula border black sea mediterranean sea eastern tauru rang turkish form anadolu deriv greek version predat growth constantinopl bosporu strait continent shore turkish folk etymolog break geograph term word ana mother dolu full mean full mother full advanc pedagog ideal women contribut mother milk nation masculin braveri sam kaplan devlet intern journal middl east studi liter interpret mother citi date pre-islam era byzantin empir biggest intern power part asia occupi entir region physic geographi relief map turkei anatolian peninsula bound black sea north mediterranean sea south aegean sea arm mediterranean west bulk asian mainland east anatolia terrain structur complex central massif compos uplift block trough cover deposit give appear plateau rough terrain wedg fold mountain rang converg east true lowland confin narrow coastal strip black sea mediterranean sea coast flat gentli slope land rare larg confin delta kızıl river coastal plain vallei floor gediz river büyük mender river interior high plain anatolia tuz salt lake konya konya basin black sea region black sea region steep rocki coast river cascad gorg coastal rang north anatolian mountain interrupt chain fold highland gener parallel black sea coast larger river cut pontic mountain turkish kaçkar tributari flow broad elev basin river flow mountain black sea trough lengthi vallei access inland coast limit narrow vallei mountain ridg elev metr ft west metr ft east kaçkar mountain form unbroken wall separ coast interior higher slope face southwest tend dens wet natur condit black sea coast histor isol anatolia southern slope face anatolian plateau unwood northern slope dens growth decidu evergreen tree mediterranean region scene southern anatolia narrow coastal plain mediterranean region separ anatolian plateau tauru mountain reach elev metr ft cultiv intens fertil soil warm climat mediterranean coast ideal grow citru fruit grape fig banana veget barlei wheat irrig area rice cotton east plain develop agricultur area mediterranean region anatolian plateau stretch inland aegean coastal plain central anatolia occupi area zone fold mountain extend east point rang converg plateau-lik semiarid highland anatolia consid heartland countri region vari elev metr ft west east largest basin plateau konya basin occupi larg salt lake tuz basin character inland drainag wood area confin northwest northeast plateau mountain close coast prevent mediterranean influenc extend inland give interior turkei continent climat distinct season anatolian plateau subject extrem coastal area winter plateau sever temperatur occur mountain area east snow lie ground dai year west winter temperatur averag summer hot dry temperatur annual precipit averag mm inch actual amount determin elev driest region konya malatya annual rainfal frequent mm inch gener wettest month juli august driest eastern anatolia eastern anatolia pontu tauru mountain rang converg rug countri higher elev sever climat greater precipit anatolian plateau region averag elev peak exce mount ararat metr ft highest point turkei locat lake van situat mountain elev metr ft headwat major river aris east-flow ara river empti caspian sea south-flow euphrat tigri join iraq empti persian gulf small stream empti black sea landlock lake van origin mountain southeast anatolia li south mountain region roll hill broad plateau surfac extend syria elev decreas gradual metr ft north metr ft south tradition wheat barlei main crop region inaugur major irrig project led greater agricultur divers develop eco-region mountain pastur northern anatolia anatolia divers topographi climat encourag similar divers plant anim commun mountain coastal plain northern anatolia humid mild climat home temper broadleaf mix conifer forest central eastern plateau drier continent climat home decidu forest forest stepp western southern anatolia mediterranean climat home mediterranean forest woodland shrub ecoregion imag png ankara central anatolia imag png antalya southern anatolia imag png van eastern anatolia histori western anatolia knot wool centuri saint loui art museum strateg locat intersect asia europ anatolia center civil prehistor time neolith settlement nevali cori göbekli tepe mersin explor archaeologist record histori anatolian spoken indo-european semit languag languag uncertain affili fact antiqu indo-european hittit luwian languag scholar propos anatolia hypothet center indo-european languag origin earliest definit record rule anatolia akkadian empir sargon centuri bce region famou export raw materi freeman charl egypt greec rome civil ancient mediterranean oxford univers press akkad suffer problemat climat mesopotamia reduct manpow affect trade led fall akkadian bce hand gutian sagg babylonian univers california press gutian vanquish assyrian empir claim resourc notabl silver numer assyrian cuneiform record anatolia kanesh advanc system trade comput credit line freeman charl egypt greec rome civil ancient mediterranean oxford univers press year area home armenian centuri bc small part tigran king armenia kingdom spread caspian black mediterranean sea turkish languag introduc gradual conquest anatolia turkic peopl centuri anatolia remain multi-ethn earli centuri rise nation ottoman empir popul exchang greec turkei occur result treati lausann move turk greec turkei vice versa todai inhabit anatolia turk kurd assyrian chaldean christain ethnic linguist minor exist southeastern region armenian georgian presenc northeast +imag padlock-silver-medium svg appl nasdaq lse fwb appl comput american multin corpor focu design manufactur consum electron close relat softwar product establish cupertino california april appl develop sell support seri person comput portabl media player mobil phone comput softwar comput hardwar hardwar accessori septemb compani oper retail store countri appl retriev decemb onlin store hardwar softwar product sold itun store music audiobook ipod game music video episod televis program movi download itun mac window linux wine ipod touch iphon compani best-known hardwar product includ macintosh line person comput ipod line portabl media player iphon appl softwar product includ mac os oper system ilif suit multimedia creativ softwar final cut studio suit profession softwar product compani incorpor januari appl comput year januari compani drop comput corpor januari retriev decemb reflect compani ongo expans consum electron market addit tradit focu person comput markoff john januari york time retriev januari appl emploi perman temporari worker worldwid worldwid annual sale fiscal year septemb billion varieti reason rang philosophi comprehens aesthet design advertis campaign appl engend distinct reput consum electron industri cultiv custom base unusu devot compani brand unit state macnn juli retriev juli histori compani introduc appl ii microcomput march year introduc lisa commerci person comput emploi graphic user interfac gui influenc part xerox alto lisa person comput mous macintosh introduc arguabl advanc concept user-friendli graphic user interfac appl success macintosh major influenc develop graphic interfac major comput oper system commodor amiga atari st appear market year introduct macintosh appl introduc powerbook line portabl comput appl market share fall competit microsoft window compar inexpens ibm pc compat comput eventu domin market appl expand focu softwar includ profession prosum video music photo product solut view promot product digit hub introduc ipod popular digit music player world cantrel amanda cnn april retriev march earli year appl appl product sold assembl circuit board lack basic featur keyboard monitor case owner unit ad keyboard wooden case found april steve job steve wozniak ronald wayn ehrenfri marcu april retriev march sell appl person comput kit hand-built steve wozniak live room home appl shown public homebrew comput club wozniak stephen digit deli retriev march eventu comput built appl sold motherboard cpu ram basic chip todai consid complet person comput kahnei leander wire novemb user requir provid ac input voltag manual recommend specif transform wire ascii keyboard comput dip connector provid logic invert alpha lock chip case wire video output pin monitor rf modul tv set appl sale juli access januari access januari appl ii origin air januari job approach local comput store byte shop order fifti unit paid unit persuas order compon cramer electron nation electron part distributor varieti method includ borrow space friend famili sell item includ volkswagen type bu job manag secur part need wozniak ronald wayn assembl appl linzmay owen st ed san francisco starch press appl incorpor januari appl retriev march wayn sold share compani job wozniak mike markkula essenti busi expertis fund format appl msn encarta retriev march appl ii introduc april west coast comput fair differ major rival commodor pet color graphic open architectur earli model ordinari cassett tape storag devic quickli supersed introduct inch floppi disk drive interfac disk kei busi appl softwar appl ii chosen programm dan bricklin bob frankston desktop platform killer app busi world visicalc spreadsheet program hormbi thoma mac septemb retriev march visicalc creat busi market appl ii corpor market attract softwar hardwar develop machin give home user addit reason bui compat offic timelin date appl ii famili model releas appl ii younger sibl ii iie iic ii gs brian bagnal book edg appl exagger sale figur appl distant place visicalc visicalc releas appl ii commodor tandi comput ti visicalc softwar develop offic due popular visicalc associ appl pure happenst technic decis visicalc appl ii surpass tandi sale help larg number radio shack store visicalc put appl commodor pet commodor regain lead commodor mid sell specif model comput date figur show mac higher singl model job partner staff comput design product line appl ii succeed appl iii compani struggl compet ibm microsoft lucr busi corpor comput market design appl iii forc compli request omit cool fan ultim result thousand recal unit due overh coventri joshua mac septemb retriev march updat version appl iii introduc failur due bad press wari buyer appl sustain growth earli partli due leadership educ sector attribut adapt program languag logo school appl drive educ accentu california donat appl ii appl logo softwar packag public school state deal conclud steve job jim requir support sacramento establish strong pervas presenc appl school california initi conquest educ environ critic appl accept home earliest purchas comput parent support children continu learn experi lisa macintosh rebel appl ad set dystopian futur model orwel nineteen eighty-four set tone introduct macintosh job appl employe includ jef raskin visit xerox parc decemb alto comput xerox grant appl engin dai access parc facil return sell million pre-ipo appl stock approxim million net job immedi convinc futur comput gui decid turn design appl project appl lisa produc devic lisa name daughter hormbi thoma mac octob retriev march local integr softwar architectur coin eventu push group due infight jef raskin low-cost comput project macintosh brand effort product save appl intens turf war broke lisa corpor shirt macintosh pirat team claim ship success lisa team won race appl introduc person comput sold public gui lisa commerci failur result high price tag limit softwar titl macintosh macintosh comput draw experi lisa appl launch macintosh debut announc singl nation broadcast famou million televis commerci base georg orwel nineteen eighty-four commerci direct ridlei scott air super bowl xviii januari intent ad repres ibm pc big brother macintosh nameless femal action hero portrai anya major macintosh initi sold follow-up sale strong hormbi thoma mac octob retriev march machin fortun chang introduct laserwrit laser printer offer reason price point pagemak earli desktop publish dtp packag mac power market due advanc graphic capabl necessarili built-in creat intuit macintosh gui suggest combin product respons creation dtp market retriev april dtp widespread appl sale reach seri high compani initi public offer septemb intern power struggl develop job ceo john scullei hormbi thoma mac februari retriev march appl board director side scullei job remov manageri duti job resign appl found comput compani built machin futurist design ran unix-deriv nextstep oper system power comput caught buyer due part high purchas price golden ag macintosh portabl appl portabl macintosh comput releas learn pain lesson introduc bulki macintosh portabl appl introduc powerbook establish modern form ergonom layout laptop comput hormbi thoma mac novemb retriev march year appl introduc system major upgrad oper system ad color interfac introduc number network capabl remain architectur basi mac os success powerbook appl product period led increas revenu time appear appl wrong introduc fresh product gener increas profit process magazin macaddict name period golden ag macintosh continu develop microsoft window birth interfac competit appl combin huge base low-cost comput peripher improv softwar suit increas number potenti custom turn wintel standard appl reli high profit margin maintain massiv budget develop clear respons su microsoft theft intellectu properti appl comput microsoft corpor hormbi thoma mac august retriev march lawsuit drag year final thrown court seri major product flop miss deadlin destroi appl reput invinc market share drop releas window time appl branch consum electron product diversif appl digit camera digit camera brought consum market famou newton term person digit assist pda scullei introduc fail commerci defin launch categori comput forerunn devic palm pilot pocketpc eventu iphon attempt reinvent appl newton appl forai pda market industri financi flop help pave palm pilot appl iphon futur mid- appl realiz reinvent macintosh order stai competit market comput user comput program varieti technic reason harder exist hardwar oper system address appl alli long-tim competitor ibm cpu maker motorola so-cal aim allianc bid creat comput platform powerpc refer platform prep ibm motorola hardwar coupl appl softwar aim allianc hope prep perform appl softwar leav pc counter microsoft appl chief competitor year appl introduc power macintosh ibm powerpc processor processor util risc architectur differ substanti motorola seri previou mac mid late appl improv oper system multitask memori manag multipl fail attempt improv exist mac os talig project copland gershwin compani chose purchas nextstep oper system bring steve job appl process appl februari retriev june juli gil amelio oust ceo appl board director overse record-low stock price crippl financi loss job step interim ceo began restructur compani product line macworld expo steve job announc appl enter partnership microsoft releas version microsoft offic macintosh million invest non-vot appl stock novemb appl introduc appl store onlin retail store base webobject applic server compani acquir purchas direct sale outlet ti build-to-ord manufactur strategi announc time machin powerpc processor begin compani headquart infinit loop cupertino california august appl introduc all-in-on mac comput reminisc origin macintosh imac imac design team led jonathan iv design ipod iphon grossman lev time januari retriev februari wilson greg york daili januari retriev februari groundbreak technolog standpoint imac featur innov transluc plastic exterior origin bondi blue color imac sold close unit month help return compani sustain profit time time period appl purchas compani move creat portfolio profession consumer-ori digit product softwar appl announc purchas macromedia final cut softwar signal expans digit video edit market year appl releas video edit product imovi consum final cut pro profession signific video-edit program regist user earli sandov greg april cnet retriev decemb appl purchas real advanc digit composit applic shake emag music product applic logic led develop consumer-level garageband applic iphoto releas complet appl collect consum profession level creativ softwar consumer-level applic collect ilif suit mac os oper system base openstep bsd unix releas march year develop aim consum profession alik mac os aim marri stabil reliabl secur unix oper system eas afford complet overhaul user interfac aid user move applic mac os oper system allow os applic mac os classic environ entranc appl store avenu york citi glass cube hous cylindr elev spiral staircas lead subterranean store appl open offici appl retail store virginia california continu open store unit state countri year appl introduc ipod portabl digit audio player product proven phenomen success million unit sold year introduct bbc new januari retriev april appl itun store introduc offer onlin music download song integr ipod servic quickli market leader onlin music servic billion download august appl juli retriev august steve job announc itun reach billion download keynot address macworld confer expo macintosh appl design team progress abandon flashi color imac era favor white polycarbon consum line imac ibook educ emac metal enclosur profession line began releas titanium powerbook white ibook flat-panel imac power mac appl cinema displai present intel partnership worldwid develop confer wwdc keynot address june steve job announc appl produc intel-bas mac comput begin appl june retriev march target profession audienc macbook pro widescreen appl laptop intel microprocessor announc januari start ship month expens macbook widescreen cater consum market januari appl releas intel chip comput notebook comput macbook pro screen cosmet ident imac purportedli time faster perform compar predecessor intel core duo chip technolog appl transit entir mac product line intel chip retain enclosur design replac intern compon power mac brand retir mac pro successor appl introduc piec softwar call boot camp help user instal window xp intel mac mac os hesseldahl arik april businessweek retriev novemb appl success period begin year compani turn profit loss hormbi thoma mac novemb retriev march acceler evid skyrocket stock earli januari price share appl stock increas tenfold share share januari appl market cap surpass dell gamet jeff januari retriev march ten year prior dell ceo michael dell assert ran appl shut give monei sharehold singh jal cnet new octob retriev march deliv keynot macworld januari steve job announc chang appl comput point appl event announc iphon appl dai appl share hit all-tim high appl share price pass mark macnn april retriev juli februari appl sell music itun store digit right manag protect allow track plai compat player major record label agre drop anti-piraci technolog job steve appl februari retriev march april appl record label emi jointli announc remov anti-piraci technolog emi catalog itun store effect dalrympl jim playlist magazin februari retriev april current product hardwar mac mini low-cost desktop comput appl introduc appl macintosh famili todai consum profession educ comput mac mini compani consum comput introduc januari design motiv window user switch mac comput platform imac consum desktop comput introduc appl popular help reviv compani fortun imac similar concept origin macintosh monitor comput hous singl unit major design iter upgrad time includ switch intel processor design appl sell line portabl comput macbook includ inch widescreen white black variant macbook air ultra-thin notebook inch led backlit widescreen macbook pro profession portabl comput altern macbook macbook pro market intend profession creativ user offer configur displai mac pro appl desktop comput offer hous aluminum enclosur match design aesthet appl cinema displai appl rack mount offer includ xserv dual core dual processor server xserv raid large-scal storag option appl sell varieti comput accessori mac comput includ airport wireless network product time capsul appl cinema displai mighti mous appl wireless keyboard comput keyboard appl usb modem current ipod appl success product line shown left ipod shuffl ipod nano ipod classic ipod touch octob appl introduc ipod digit music player initi equip gb hard drive monochrom screen model todai store gb displai video plai game support wide rang third-parti add-on devic septemb appl sell variant ipod ipod shuffl ipod nano ipod classic ipod touch ipod market leader portabl music player signific margin million unit ship april reardon marguerit april cnet retriev juli appl partner nike introduc nike ipod sport kit enabl runner sync monitor run itun macworld confer expo januari steve job reveal long anticip iphon converg internet-en smartphon video ipod iphon combin quad band gsm edg cellular phone featur hand held devic run scaled-down version appl mac os applic safari web browser e-mail navig iphon featur inch touch screen displai gb memori bluetooth wifi iphon june addition confer job demonstr appl tv previous itv set-top video devic intend bridg sale content itun high-definit televis devic link user tv sync wifi wire network comput itun librari stream addit appl tv incorpor gb hard drive storag includ output hdmi compon video plai video maximum resolut updat includ gb drive space media appl present trackpad base multi-touch technolog design exclus seri appl laptop time technolog appli iphon ipod touch trackpad interpret varieti combin three-fing manipul highest function trackpad achiev combin motion finger user appli combin function scroll zoom pictur rotat object applic includ finder iphoto safari possess person set combin multi-touch trackpad creat gestur languag develop compani part appl environment issu greenpeac attack appl set timelin remov pvc bfr exist product ipod nano macbook promot global end-of-lif plan appl hardwar europ japan requir law reusabl compon greener appl retriev novemb decemb greenpeac rank appl ten electron compani deal toxic substanc product due lack relev document timelin greenpeac press releas decemb steve job releas open letter name greener appl job steve appl retriev respond alleg letter job state insert text quot quotat mark studi januari unit state environment protect agenc appl hardwar compar favor major competitor environment friendli ar technica retriev januari june appl updat macbook pro product line hardwar updat environment notabl led fulli replac cold cathod lamp inch macbook pro displai backlight retriev june appl laptop ipod led backlight creation amelior appl environment stanc cold cathod lamp mercuri led vice presid unit state environmentalist al gore member appl board director softwar appl develop oper system run mac mac os latest version mac os leopard appl independ develop comput softwar titl mac os oper system softwar appl develop bundl comput consumer-ori ilif softwar packag bundl idvd imovi iphoto itun garageband iweb present page layout word process iwork includ keynot page number itun quicktim media player safari web browser free download mac os window appl offer rang profession softwar titl rang server softwar includ oper system mac os server appl remot desktop remot system manag applic webobject java web applic server storag area network file system profession creativ market apertur profession photo process final cut studio video product suit logic comprehens music toolkit shake advanc effect composit program appl offer onlin servic mac bundl mac homepag mac mail mac group mac mac backup mac sync learn center onlin tutori corpor affair critic appl commonli point vertic integr busi model hardwar oper system softwar compani appl ii open macintosh origin close proprietari mac earli histori appl gener refus adopt prevail industri standard hardwar creat implement lisa drive adb trend larg revers late begin appl adopt pci bu power mac appl adopt usb agp hypertransport wi-fi industri standard comput case leader adopt standard firewir standard widespread industri adopt standard ieee ipod remain close vertic integr platform appl document interfac hardwar accessori develop support add featur softwar decod addit format ipod support mainstream mp aac format support proprietari format window media convert aac itun window realaudio open ogg vorbi format appl refus licens fairplai drm system onlin music vendor compani ad window pc support gener ipod seri appl store open appl want parti sell product softwar store instanc nikon canon sell digit camera camcord store adob largest appl softwar partner sell softwar microsoft sell microsoft offic mac notabl except book publish john wilei son publish dummi seri instruct book publish line book ban appl store steve job disagre editori polici hafner kati york time april headquart appl infinit loop cupertino ca world corpor headquart locat middl silicon vallei infinit loop cupertino california appl campu build total sq ft built develop co appl announc intent build campu acr assembl contigu plot campu cupertino mile east current campu dead link ceo michael scotti scott mike markkula john scullei michael spindler gil amelio steve job interim ceo current board director bill campbel chairman intuit millard drexler chairman ceo crew al gore vice presid unit state steve job ceo co-found appl director walt disnei compani andrea jung chairman ceo avon product arthur levinson chairman ceo genentech eric schmidt chairman ceo googl jerri york chairman presid ceo harwinton capit current execut steve job chief execut offic timothi cook chief oper offic peter oppenheim chief financi offic philip schiller senior vice presid worldwid product market toni fadel senior vice presid ipod divis jonathan iv senior vice presid industri design bertrand serlet senior vice presid softwar engin ron johnson senior vice presid retail sina tamaddon senior vice presid applic scott forstal vice presid iphon softwar daniel cooperman senior vice presid gener counsel secretari advertis origin appl logo featur isaac newton fabl appl tree rainbow appl logo late earli monochrom appl logo present introduct macintosh super bowl commerci modern advert appl recogn effort effect advertis market product critic content campaign logo apple’ logo design job wayn depict sir isaac newton sit appl tree immedi replac rob appl now-familiar rainbow-color silhouett appl bite possibl tribut isaac newton discoveri graviti appl separ light prism color design present job gener accept refer isaac newton curiou urban legend exist bitten appl homag mathematician alan ture commit suicid eat appl lace cyanid ture regard father comput roll imac appl began enforc strictli monochrom insist newli re-inaugur ident shape previou rainbow incarn specif color prescrib grei power mac mac mini imac black aluminum imac blue ipod legal menu default mac os chang chrome panel boot screen mac os red softwar packag white ibook powerbook powerbook late model macbook macbook pro logo shape recogn brand symbol world identifi appl product retail store appl present notabl includ sticker macintosh ipod packag year slogan appl slogan byte appl coin late oper system document project oper system document project decemb retriev decemb appl start sell comput slogan creat individu product compani slogan imac promot imac slogan market todai appl focu market product individu litig appl earliest court action date appl record record label file suit appl comput trademark infring suit settl amount paid appl corp condit settlement appl comput agre stai music busi case aros appl corp su appl ii gs includ profession synthes chip claim violat settlement agreement settlement million reach septemb appl comput su appl corp time introduc itun music store ipod appl corp believ violat previou agreement appl comput distribut music trial uk end victori appl comput judg rule compani itun music store infring trademark appl corp order appl corp pai legal cost royal court justic settlement announc februari give appl control appl mark appl corp licens portion settlement confidenti side pai legal cost song download legal music download site includ itun music store highli public nod beatl plai love rita iphon januari macworld keynot fuel widespread specul deal sell beatl song itun appl corp settlement bear matter pfanner eric york time februari retriev februari matter steve job love beatl pain odd trademark feel great resolv posit manner remov potenti disagr futur foxnew februari retriev juli abdul traya regist domain shortli appl announc imac attempt draw attent web-host busi run basement legal disput last april traya appl settl court appl pai legal fee give traya token payment exchang domain previous unrel lawsuit appl enter class action settlement upheld decemb appeal batteri life ipod music player sold prior elig member class entitl extend warranti store credit cash compens batteri replac creativ file patent disput alleg appl infring creativ patent zen player ipod ipod nano august appl creativ settl patent disput pai creativ million januari cisco su appl iphon cisco held trademark iphon cisco refus right iphon multipl occas appl cisco talk appl deni occas lead januari cisco alleg appl creat front compani attempt acquir mean fail macworld expo appl cisco iphon cnet januari februari cisco appl announc agreement compani allow iphon worldwid reuter februari juli colorado-bas photograph loui file suit appl allegedli rip wall video imageri advertis appl appl negoti right imageri back promptli imageri engadget stock option backdat investig june appl announc intern investig discov irregular relat issuanc stock option grant appl june retriev special committe report find stock backdat investig month octob state investig misconduct member appl current manag team evid irregular relat januari grant stock option grant date grant date preced approv grant special committe report instanc appl ceo steve job awar favor grant date select receiv benefit grant unawar account implic appl octob retriev document subsequ fake special board meet occur option grant dai mintz howard wolverton troi san jose mercuri new april retriev backdat gave job potenti net gain million exercis option gullo karen guglielmo conni bloomberg januari retriev april sec announc file charg appl chief financi offic fred anderson appl gener counsel nanci heinen alleg role backdat appl option sec april retriev anderson immedi settl charg payment civil penalti disgorg ill-gotten gain approxim million heinen charg violat anti-fraud provis secur act secur exchang act ly appl auditor violat prohibit circumv intern control base option award steve job date octob allegedli grant decemb option grant award top compani execut includ heinen date januari allegedli grant februari sec seek injunct relief disgorg monei penalti heinen addit order bar serv offic director public compani charg heinen remain pend late april sec announc bring action appl due swift extens extraordinari cooper commiss investig analyst statement appl clear steve job person read statement concern sharehold meet cultur appl highli success compani found buck tradit notion corpor cultur term organiz hierarchi flat tall casual formal attir highli success firm similar cultur aspect time period includ southwest airlin microsoft origin compani stood opposit staid competitor ibm default influenc founder steve job walk offic barefoot appl fortun compani time tv ad trait kei compani differenti competitor appl corpor cultur appl fellow compani grown led seri chief execut idea appl origin charact arguabl lost appl reput foster individu excel reliabl draw talent peopl emploi return recogn employe appl creat appl fellow program appl fellow extraordinari technic leadership contribut person comput compani appl fellowship award individu includ bill atkinson hertzfeld andi folklor org januari retriev steve capp rod holt alan kai eisenhart mari retriev hertzfeld andi folklor org march retriev gui kawasaki kawakami john septemb retriev don norman rich page steve wozniak user survei power appl highest brand repurchas loyalti comput manufactur brand loyalti consid unusu product appl appear creat time appl evangelist activ engag compani phenomenon firmli establish appl evangelist gui kawasaki call brand fanatic stumbl huba jacki mcconnel ben appl support continu exist network mac user group major minor center popul mac comput mac user meet european appl expo san francisco macworld confer expo trade show appl introduc product year industri public mac develop turn gather annual appl worldwid develop confer appl store open draw crowd thousand wait line dai open fly countri event york citi avenu cube store line long mile mac fan opportun set propos marriag ginza open tokyo estim thousand line exceed citi block john scullei told guardian newspap peopl talk technolog appl market compani market compani decad market research appl draw custom base unusu artist creativ well-educ popul explain platform’ visibl youth avant-gard subcultur fri ian new juli retriev april critic appl receiv critic notifi user system vulner fix releas mean user vulner secur flaw fix releas longtim appl consum claim observ mark declin reliabl durabl compani comput ipod line appl migrat intel processor macbook macbook pro seri laptop comput drew consider critic problem malfunct fan surfac discolour excess heat product warp case batteri revis model dublin offic european consum centr ecc consum bodi report rise complaint product appl relat alleg design fault appl laptop comput break year usag compani warranti period ecc dublin claim problem built-in obsolesc well-known appl product laptop ipod difficult estim proport fault unit ship due natur self-select tendenc sampl consum base report fault exist websit dedic sole discuss fault appl transit product portfolio vindic claim conjunct appl criticis treat earli adopt hardwar guinea pig effect experi iron bug subsequ revis websit state convent wisdom bui rev appl hardwar iphon subject accus price phone reduc month releas result flood complaint appl appl attempt rectifi offer store credit earli iphon custom appl accus pressur journalist releas sourc leak inform appl product file lawsuit john eff retriev appl fought protract battl secret web site eventu settlement close web site maintain anonym sourc appl receiv critic iphon ipod integr itun facilit creation softwar run maintain devic applic tool itun similarli appl licens fairplai drm system compani prevent user listen drm protect music bought sourc itun store allow compani individu interoper drm system appl prevent competit divid market reason onlin music store drm window media format incompat appl product appl investig critic sweatshop condit factori china contract manufactur ipod appl receiv critic class-act lawsuit state feder level iphon product allow servic singl mobil servic provid countri releas uk cite monopolist antitrust alleg compani softwar updat malici initi unlock iphon unus brick updat reviv phone offici unlock iphon bought unlock network common critic appl product user servic requir return appl repair upgrad typic exampl includ batteri ipod iphon macbook air non-us replac difficulti instal simpl upgrad hdd ram older macbook +aberdeenshir siorrachd obar gaelic unitari council area scotland present dai aberdeenshir includ aberdeen citi council area aberdeenshir council headquart woodhil hous aberdeen scottish council headquart base outwith area border aberdeenshir border angu perth kinross south highland morai west histori aberdeenshir rich prehistor histor heritag locu larg number neolith bronz ag archaeolog site mediev time number cross mounth spur mountain land extend higher inland rang north sea slightli north stonehaven present dai aberdeenshir scottish lowland highland histor import trackwai causei mounth elsick mounth dougla simpson earli castl mar proceed societi decemb present council area name histor counti aberdeen boundari abolish local govern scotland act area incorpor region grampian local govern function divid region council district council banff buchan gordon kincardin deesid region district morai citi aberdeen local govern scotland act banff buchan district gordon district kincardin deesid district merg form aberdeenshir council area district autonom council area aberdeenshir council aberdeenshir council establish april abolit scottish region council councillor polit composit retriev council net expenditur year educ take largest share expenditur social work hous transport infrastructur joint servic fire polic revenu rais local council tax averag band council tax eighth lowest mainland scotland council area popul repres scotland total increas ten largest town aberdeenshir popul estim peterhead fraserburgh inveruri stonehaven westhil ellon portlethen banchori turriff huntli popul higher proport younger ag group rest scotland reflect in-migr decad council devolv power area committe banff buchan buchan formartin garioch marr kincardin mearn notabl featur signific structur place aberdeenshir balmor castl crath castl causei mounth ancient road drum castl dunnottar castl fetteresso castl fowlsheugh natur reserv haddo hous loch strathbeg monboddo hous muchal castl portlethen moss raedyk roman camp river dee sand forvi natur reserv slain castl stonehaven tolbooth ythan estuari natur reserv hydrolog climat numer river burn aberdeenshir includ cowi water carron water burn muchal river dee river don river ythan water luther water summer mild winter typic cold aberdeenshir coastal temperatur moder north sea coastal area typic cooler summer warmer winter inland locat coastal area subject haar coastal fog notabl resid alexand garden born birs note naturalist physician move north america discov speci lizard loyalist american revolutionari war led confisc properti banish gardenia flower name honor america histor volum chicago marqui john kemp born note educ columbia univers influenc dewitt clinton opinion polici hugh mercer born mans pitsligo kirk rosehearti brigadi gener continent armi american revolut john skinner author poet ecclesiast pen famou vers +aztlan underground fusion band lo angel earli aztlan underground plai rapcor indigen drum flute rattl commonplac music composit uniqu sound backdrop band messag digniti indigen peopl human earth aztlan underground cultiv grass root audienc countri larg loyal underground music includ spoken word piec element punk hip hop rock funk jazz indigen music artist dj bean turntabl sampl percuss vocal indigen percuss joe pep bass rattl alonzo bea guitar synth drum indigen percuss bulldog vocal flute aztlan underground appear televis cultur clash fox part break concert pai view featur independ film algun dia band mention featur newspap magazin vancouv sun northshor new vancouv canada newspap time lo angel weekli entertain newspap blu magazin underground hip hop magazin bam magazin southern california la banda elastica magazin lo angel time calendar section subject chapter salari brian cross open rage machin mexico citi nomin time latin influenc categori bam magazin rock en español categori la weekli hip hop categori band studio complet album june album due earli discographi decolon year innan kill season lost soul blood red natur enemi sacr circl blood hand interlud aug indigena lyric drive year permiso move silenc soi anim kill season blood hand realiti check lemon pledg revolut preacher blind state lyric drive-bi ollin catch bullet ik otik obsolet man decolon war flower +anschluss help·info german spell reform spell german valid predomin option predomin english spell correct german spell german link-up anschluss help·info annex austria greater germani nazi regim event march mark culmin histor cross-nat pressur unifi german popul austria germani nation anschluss popular enact germani earlier nazi germani support austrian nation socialist parti austrian nazi parti bid seiz power austria austrofascist leadership fulli devot remain independ grow pressur chancellor austria kurt schuschnigg hold plebiscit expect austria vote favour maintain autonomi well-plan intern overthrow austrian nazi parti austria state institut vienna place march prior vote power quickli transfer germani wehrmacht troop enter austria enforc anschluss nazi held plebiscit month receiv vote fight place strongest voic annex fascist itali franc unit kingdom stresa front powerless case itali appeas alli paper commit uphold term treati versail specif prohibit union austria germani anschluss major step adolf hitler long-desir creation empir includ german-speak land territori germani lost world war prior annex rhineland retaken saar region return germani fifteen year occup anschluss predominantli german sudetenland czechoslovakia rest countri protector germani year memelland return lithuania final peac territori aggrandiz start world war austria ceas exist fulli independ nation late provision austrian govern set april legal recogn alli month austria regain full sovereignti situat anschluss dissolut austria-hungari border austria-hungari border border empir austria kingdom hungari bosnia herzegovina idea group german state subject inconclus debat holi roman empir gener thought unif german succe austrian leadership rise prussia larg unpredict creat rivalri unif großdeutschland solut imposs due multi-ethn composit austro-hungarian empir central vienna reject notion unthink austria give non-german territori submit prussia seri war includ austro-prussian war led expuls austria german affair allow creation north german confeder consolid german state prussia enabl creation german empir otto von bismarck plai fundament role process result repres kleindeutsch solut includ german-speak part austria-hungari emperor vienna member bismarck reich forc emperor class compar emperor berlin austria-hungari broke german-speak austrian hope join germani realign europ treati versail treati saint-germain explicitli veto inclus austria german state franc uk fear power larger germani begun disempow current austrian particular nobil plai huge role austria roman cathol germani domin govern protest constitut weimar republ austrian republ includ polit aim unif aim wide support democrat parti earli popular support union germani remain overwhelm austrian govern look custom union germani anschluss hitler move earli hitler consolid power germani readi reach fulfil long-plan expans lengthi period pressur germani hitler met kurt schuschnigg chancellor austria februari berchtesgaden bavaria instruct lift ban polit parti reinstat full parti freedom releas imprison member nazi parti particip govern militari action schuschnigg compli hitler demand appoint arthur seyss-inquart pro-nazi lawyer interior minist nazi edmund minist portfolio msn encarta retriev march februari meet schuschnigg consider pressur germani demand remov chief staff austrian armi alfr jansa posit januari jansa staff develop scenario austria defens german attack situat hitler want avoid cost schuschnigg subsequ compli demand mayerhof german wiener zeitung onlin retriev march detail articl event anschluss german week schuschnigg realiz newli appoint minist work author schuschnigg gather support austria inflam patriot peopl time februari time austrian civil war socialist communist legal public communist announc uncondit support austrian govern understand light nazi pressur austria socialist demand concess schuschnigg side schuschnigg announc referendum march resort preserv austria independ schuschnigg schedul plebiscit independ austria march secur larg major referendum schuschnigg set minimum vote ag order exclud younger voter larg sympath nazi ideolog hold referendum highli riski gambl schuschnigg dai appar hitler simpli stand austria declar independ public vote hitler declar plebiscit subject major fraud germani accept addit german ministri propaganda issu press report riot broken austria larg part austrian popul call german troop restor order schuschnigg immedi respond publicli report riot fals hitler ultimatum schuschnigg march demand hand power austrian nation socialist face invas ultimatum set expir noon extend hour wait answer hitler sign order send troop austria o'clock issu hermann göring hour schuschnigg desper sought support austrian independ hour ultimatum realiz franc unit kingdom step resign chancellor even radio broadcast announc resign argu accept allow nazi govern order avoid bloodsh austrian presid wilhelm mikla refus appoint seyss-inquart chancellor ask austrian politician michael sigismund assum offic nazi organis hour manag control part vienna includ ministri intern affair control polic mikla continu refus appoint nazi govern seyss-inquart send telegram austrian govern demand german troop restor order hitler furiou pm hitler sign issu order invas göring hitler gave wait publish forg telegram request austrian govern german troop enter austria midnight critic offic build fallen nazi hand vienna main polit parti member govern arrest mikla final conced appoint seyss-inquart chancellor german troop march austria morn march armi german wehrmacht cross german-austrian border face resist austrian armi contrari german troop greet cheer austrian hitler salut nazi flag flower ns invas austria singl shoot call war flower wehrmacht invas big test machineri invad forc badli organ coordin unit poor matter fight place serv warn german command futur militari oper czechoslovakia hitler car cross border afternoon braunau birthplac even arriv linz enthusiast citi hall atmospher intens göring telephon call even state unbeliev jubil austria sympathi intens hitler travel austria chang triumphal tour climax vienna april austrian gather heldenplatz squar hero hear hitler proclaim austrian anschluss retriev march hitler comment foreign newspap fell austria brutal method death stop ly polit struggl won love peopl cross frontier austria met stream love experienc tyrant liber spartacu educ retriev march anschluss effect legisl act march subject ratif plebiscit austria provinc ostmark seyss-inquart appoint governor plebiscit held april offici record support voter austrian resist archiv retriev march vote ballot april ballot text read agre reunif austria german empir enact march vote parti leader adolf hitler larg circl label smaller hitler brutal method emascul opposit immedi implement week preced referendum german soldier cross border heinrich himmler ss offic land vienna arrest promin repres republ richard schmitz leopold figl friedrich franz olah short week anschluss plebiscit social democrat communist potenti polit dissent jew round imprison concentr camp dai march peopl arrest referendum subject large-scal propaganda abrog vote right peopl elig vote popul member left-w parti jew historian concur result manipul vote process free secret offici present vote booth receiv vote ballot hand contrast secret vote vote ballot insert close box remot area austria referendum independ austria march held wehrmacht presenc austria dai occupi part austria instanc villag major vote austria independ austria remain part reich world war ii preliminari austrian govern declar anschluss null und null void april war allied-occupi austria recogn treat separ countri restor sovereignti austrian state treati austrian declar neutral larg due rapid develop cold war disput soviet union alli foreign polici reaction consequ anschluss pictur austria dai exist reich contradict time hitler terror regim began tighten grip area societi begin mass arrest thousand austrian attempt flee direct austrian cheer welcom german troop enter austrian territori austrian polit figur hesit announc support anschluss relief happen violenc cardin theodor innitz polit figur cs declar earli march viennes cathol lord bloodless great polit chang occur prai great futur austria needless obei order institut austrian bishop suit dai vatican radio immedi broadcast vehement denunci german action cardin pacelli vatican secretari state order innitz report rome meet pope innitz met pacelli outrag innitz statement clear innitz need retract sign statement issu behalf austrian bishop solemn declar austrian bishop intend approv compat god vatican newspap report earlier statement issu approv rome robert kauer presid protest austria greet hitler march saviour german protest austria liber five-year hardship karl renner famou social democrat republ announc support anschluss appeal austrian vote favour april intern respons expans germani moder time comment year scotland join england event differ march british prime minist nevil chamberlain note hous common majesti govern closest touch situat foreign secretari german foreign minist march address grave warn austrian situat appear polici german govern regard late march ambassador berlin regist protest strong term german govern coercion back forc independ state order creat situat incompat nation independ speech conclud imagin tempera individu event mind to-dai regret sorrow indign regard majesti govern indiffer equanim bound effect measur result intensifi sens uncertainti insecur europ polici appeas lead relax econom pressur countri suffer to-dai occur inevit retard econom recoveri increas care requir ensur mark deterior set moment hasti decis careless word situat quickli cool judgement defenc programm clear flexibl review time time light develop intern situat idl pretend event constitut chang kind mind decid fresh review due announc step nevil chamberlain moder reaction anschluss major consequ strictli appeas british foreign polici strategi intern reaction event march led hitler conclud aggress tactic roadmap expand reich annex sudetenland bloodless anschluss help pave treati munich septemb annex czechoslovakia reinforc appeas britain deal hitler germani legaci anschluss anschluss annex union word anschluss context march properli translat joinder connect unif polit union contrast german word militari annex unambigu commonli context usag term anschluss widespread describ incorpor austria germani call incorpor austria nazi germani anschluss unif joinder part propaganda hitler nazi creat impress event march back enforc miliari pressur hitler stress mean event numer time anschluss incorpor austria return origin home heimkehr word anschluss endur year world war year let term actual event propaganda usag stand event place histor sourc instanc encyclopædia britannica describ anschluss annex encyclopedia britannica retriev march histor sourc refer anschluss annex union factual view event driven german militari power polit pressur austria term annex closer descript term anschluss omit present differ anschluss annex nazi germani back forc larg part austrian popul support indiffer incorpor austria reich appeal nazism austrian anschluss misunderstood militari annex invit confus german militari occup european countri adolf hitler austrian subvers hitler sympathis austrian accept direct govern hitler germani phenomenon administr collaborationist countri republ moscow declar moscow declar sign unit state soviet union unit kingdom includ declar austria state govern unit kingdom soviet union unit state america agre austria free countri fall victim hitlerit aggress liber german domin regard annex impos austria germani march null void bound charg effect austria date declar re-establish free independ austria open austrian peopl neighbour state face similar problem find polit econom secur basi last peac austria remind respons evad particip war side hitlerit germani final settlement account inevit contribut liber octob full text moscow memorandum judg paragraph subsequ determin nuremberg trial declar intend serv propaganda aim stir austrian resist austrian count righteou nation effect austrian arm resist sort countri german occup exact text declar complex draft histori gerald york review book februari nuremberg arthur seyss-inquart nizkor project franz von papen nizkor project indict count conspiraci commit crime peac specif activ support austrian nazi parti anschluss convict count acquit von papen court note action view polit immor crime charter seyss-inquart convict war crime place poland netherland sentenc death execut austrian ident victim theori world war ii austrian sought comfort idea austria victim nazi parti promptli ban austria process de-nazif top govern impos germani time lack pressur polit reform faction austrian societi long time advanc view anschluss annex point bayonet view event deep root ten year alli occup struggl regain austrian sovereignti victim theori plai essenti role negoti austrian state treati soviet point moscow declar austrian politician heavili reli achiev solut austria germani divis east west state treati subsequ austrian declar perman neutral mark import mileston solidif austria independ nation ident decad austrian politician left attempt reconcil differ order avoid violent conflict domin republ discuss austria role nazi-era larg avoid austrian peopl parti advanc advanc argument establish dollfuss dictatorship order maintain austrian independ austrian social democrat parti argu dollfuss dictatorship strip countri democrat resourc repel hitler ignor hitler indigen austria polit event decad victim theori establish austrian mind remain larg undisput austrian public rare forc confront legaci reich notabl event tara professor econom histori notori anti-semit remark ernst kirchweg concentr camp survivor kill right-w protest riot austrian final massiv confront main catalyst start so-cal waldheim affair austrian repli alleg presidenti elect campaign success candid secretary-gener kurt waldheim member nazi parti infam sa absolv direct involv war crime scrutini unwelcom intervent countri intern affair reaction intern critic waldheim waldheim affair start major discuss austria anschluss main factor austria come term emerg jörg haider rise freedom parti austria parti combin element pan-german free-market liber foundat haider ascend parti chairmanship liber element increasingli margin haider began openli nationalist anti-immigr rhetor criticis tactic völkisch ethnic definit nation interest austria austrian apolog austria notabl call member waffen-ss men honour enorm elector rise peak elect purg liber element enter coalit austrian peopl parti led wolfgang schüssel met intern condemn coalit trigger regular thursdai demonstr protest govern place heldenplatz hitler greet mass anschluss haider tactic rhetor criticis sympathet nazism forc austrian reconsid relationship haider make controversi remark austria haider coalit partner chancellor wolfgang schüssel interview jerusalem post state austria victim salzburg nachrichten novemb literatur tear victim theori time austrofasc thoma bernhard plai heldenplatz highli controversi appear stage fifti year hitler visit bernhard achiev elimin refer hitler recept vienna emblemat austrian attempt claim histori cultur question criteria politician polit faction call bernhard damag reput countri openli demand plai stage vienna burgtheat kurt waldheim time austrian presid call plai crude insult austrian peopl book writer articl bernhard short section heldenplatz histor commiss outstand legal issu context postwar feder republ germani encount struggl term partial institutionalis variabl literari cultur polit educ context develop difficulti trivial historikerstreit austria form historian commiss histor commiss mandat review austria role nazi expropri jewish properti scholarli legal perspect partli respons continu critic handl properti claim membership base recommend quarter includ simon wiesenth yad vashem commiss deliv report austrian press inform servic februari note holocaust historian raul hilberg refus particip commiss interview state strenuou object term person refer larger question austrian culpabl liabil compar rel inattent settlement govern swiss bank hold di displac holocaust person wjc world jewish congress put pressur austria lead nazi ss leader austrian hitler includ immedi war want russian withdraw austria russian want austria neutral common interest grant austria victim statu austria cry poor capita incom high germani importantli austrian pr machineri work austria opera ball imperi castl chocol american austrian invest export vulner blackmail set commiss austria clarifi happen jewish properti victor klima chancellor ask join father fought austria world war kick austria war offer ten dollar month compens reason told klima sick quot norman finkelstein web site simon wiesenth center continu criticis austria june alleg histor ongo unwilling aggress pursu investig trial nazi war crime crime human onward report offer character extens particip numer austrian includ highest level implement final solut nazi crime austria leader prosecut holocaust perpetr decad case germani achiev austrian author regard fact except case heinrich gross suspend year highli suspici circumst claim medic unfit court prove healthi singl nazi war crime prosecut conduct austria mid- efraim zuroff simon wiesenth center jerusalem april center launch worldwid effort name oper chanc order collect inform nazi aliv potenti subject prosecut report issu shortli credit austria initi large-scal investig case critic austrian author aros center put croatian milivoj asner top ten list asner fled austria croatia announc start investig case war crime involv respons object asner continu freedom austria feder govern defer extradit request croatia prosecutori action klagenfurt appear forthcom june world jewish congress novemb extradit option asner hold austrian citizenship live countri der standard septemb austrian polit militari leader nazi germani adolf hitler arthur seyss-inquart ernst kaltenbrunn odilo globocnik amon göth lothar rendul alfr ritter von alexand löhr franz böhme otto skorzeni juliu ringel +imag padlock-silver-medium svg american civil war name civil war unit state america union southern slave state newli form confeder state america jefferson davi union includ free state slavehold border state led abraham lincoln republican parti republican oppos expans slaveri territori own unit state victori presidenti elect result southern state declar secess union lincoln offic jame mcpherson drawn sword articl freed slave union reject secess rebellion hostil began april confeder forc attack militari instal fort sumter south carolina lincoln respond call larg volunt armi southern state declar secess war year union assum control border state establish naval blockad side mass armi resourc battl shiloh antietam caus massiv casualti unpreced militari histori septemb lincoln emancip proclam slaveri south war goal complic confederaci manpow shortag east confeder command robert lee won seri victori union armi lee revers gettysburg earli juli prove turn point captur vicksburg port hudson ulyss grant complet union control mississippi river grant fought bloodi battl attrit lee forc lee defend confeder capit richmond virginia union gener william sherman captur atlanta georgia began famou march sea devast swath georgia confeder resist collaps lee surrend grant appomattox court hous april war deadliest american histori caus soldier death encyclopædia britannica undetermin number civilian casualti end slaveri unit state restor union settl issu nullif secess strengthen role feder govern social polit econom racial issu war continu shape contemporari american thought war coexist slave-own south increasingli anti-slaveri north conflict inevit lincoln propos feder law slaveri exist hous divid speech express desir arrest spread place public mind rest belief ultim extinct abraham lincoln hous divid speech springfield illinoi june polit battl focus expans slaveri newli creat territori shelbi foot civil war fort sumter perryvil page prevent friend demor entertain proposit compromis sort slaveri extens compromis put leav work line eli thayer pop sov immedi filibust extend slaveri recomm point hold firm chain steel abraham lincoln elihu washburn decemb compromis question extend slaveri labor lost er long danger friend hanker pop sov stand firm tug time abraham lincoln lyman trumbul decemb organ territori free-soil state increas southern movement secess north south assum slaveri expand wither die jame mcpherson battl cry freedom page declar georgia adopt januari mississippi adopt exact date south carolina adopt decemb texa adopt februari heresi southern punch editor john wilford septemb refer republican hope gradual slaveri southern fear part doctrin fight independ great domest institut slaveri preserv southern fear lose control feder govern antislaveri forc northern fear slave power control govern brought crisi head late section disagr moral slaveri scope democraci econom merit free labor slave plantat caus whig know-noth parti collaps aris free soil parti republican constitut union remain nation polit parti democrat parti split section line north south influenc idea thoma jefferson southern emphas right idea mention jefferson kentucki virginia resolut revolut mention declar independ northern rang abolitionist william lloyd garrison moder republican leader abraham lincoln lincoln speech chicago decemb declar state state equal citizen citizen equal renew broader declar includ men creat equal lincoln letter henri pierc april emphas jefferson declar men creat equal lincoln mention proposit gettysburg address historian kenneth stampp mention confeder vice presid alexand constitut view late war state southern leader slaveri cornerston confederaci war began war slaveri right southern defeat stampp stephen ardent defend lost stampp civil war page page inter-region crisi involv slaveri start debat three-fifth claus constitut convent factor includ section caus growth slaveri deep south slaveri gradual phase northern state econom differ north south modern historian disagre extrem econom determin historian charl beard kenneth stampp imperil union essai background civil war woodworth ed american civil war handbook literatur research richard hofstadt progress historian turner beard parrington fact immigr settl north fact white left south north vice versa contribut south polit behavior jame mcpherson antebellum southern exception question civil war histori septemb controversi ad slave state missouri union led missouri compromis nullif crisi tariff tariff allan nevin ordeal union hous divid page gag rule prevent discuss congress petit slaveri acquisit texa slave state manifest destini argument gain territori slaveri issu mexican-american war result compromis william crisi american democraci polit system come civil war boritt ed civil war wilmot proviso unsuccess attempt northern politician exclud slaveri territori conquer mexico unsuccess attempt controversi slaveri territori popular sovereignti southern attempt annex cuba includ ostend manifesto nicaragua slave state extrem popular antislaveri uncl tom’ cabin harriet beecher stow greatli increas northern opposit fugit slave law mcpherson battl cry page slave owner decent honor peopl victim institut descript base person observ descript southern call legre repres type master gerson harriet beecher stow stow kei uncl tom cabin polar effect slaveri split largest religi denomin methodist baptist presbyterian church jame mcpherson drawn sword page controversi caus worst cruelti slaveri whip mutil famili split congress argument slaveri violent repres preston brook south carolina attack radic republican senat charl sumner cane sumner crime kansa speech fox butterfield god children page rival plan northern southern rout transcontinent railroad entangl bleed kansa controversi slaveri parti system broke passag kansas-nebraska act dred scott decis lincoln-dougla debat john brown raid split democrat parti polar nation north south elect lincoln final trigger secess secess crisi sought compromis attempt corwin amend crittenden compromis attempt compromis fail southern secess trigger elect republican abraham lincoln david potter impend crisi page region leader fear stop expans slaveri put extinct southern thought lincoln northern abolish slaveri time seced slave state minor hous repres face futur perpetu minor senat elector colleg increasingli power north deep south state slaveri seced secess state battl fort sumter lincoln subsequ call remain state provid troop retak fort suppress insurrect upper south state refus send troop neighbor consid invas slaveri strong correl shown degre support secess number plantat region state deep south greatest concentr plantat seced upper south slave state virginia north carolina arkansa tennesse plantat reject secess fort sumter crisi forc choos side border state plantat seced jame mcpherson battl cry freedom map page southern economi page progress secess relev david potter impend crisi page percentag southern white live famili own slave percent south percent upper south percent border state fought union retriev octob otto olsen decemb civil war histori net retriev novemb ninety-f percent black live south compris popul oppos percent popul north fear eventu emancip greater south north jame mcpherson drawn sword page abraham lincoln presid unit state suprem court decis dred scott sandford ad controversi chief justic roger tanei decis slave inferior right white man bound respect david potter impend crisi page slaveri spread territori lincoln warn dred scott decis lincoln dougla debat ottawa illinoi august threaten northern state slaveri northern politician abraham lincoln question slaveri import import nation question hear present abraham lincoln speech haven march slaveri issu relat section competit control territori mcpherson battl cry page southern demand slave code territori issu southern politician split democrat parti guarante elect lincoln secess secess issu south carolina planter state senat john townsend enemi possess govern intend rule capric fanat theori declar purpos abolish slaveri john townsend doom slaveri union safeti octob similar opinion express south editori polit speech declar reason secess lincoln plan outlaw slaveri exist southern south express fear futur slaveri southern concern includ econom loss fear racial equal mcpherson battl cry page david potter impend crisi page william davi page william freehl road disunion page texa declar secess winkler journal secess convent texa retriev octob winkler journal secess convent texa retriev octob state proclaim debas doctrin equal men irrespect race color african race rightfulli held regard inferior depend race alabama secessionist dargan emancip southern feel demor degrad begin postmast gener refus mail carri abolit pamphlet south schlesing ag jackson northern teacher suspect ting abolition expel south abolitionist literatur ban southern reject denial republican abolitionist david brion davi inhuman bondag stanlei harrold abolitionist south jane william peas confront abolit journal american histori john brown raid feder harper ferri armori greatli increas southern fear slave insurrect david potter impend crisi page north felt threaten eric foner conclud northern view slaveri antithesi good societi threat fundament valu interest eric foner free soil free labor free men ideolog republican parti civil war secess begin secess south carolina monument honor grand armi republ organ war south carolina adopt declar induc justifi secess south carolina feder union decemb argu right slave owner south contain complaint right north form opposit fugit slave act claim northern state fulfil feder oblig constitut issu refus northern state enforc fugit slave code violat southern person properti right agit slaveri deni right properti assist thousand slave leav home underground railroad elect lincoln declar endur perman slave free public mind rest belief slaveri ultim extinct elev citizenship person suprem law land incap citizen northern oppos dred scott decis england state allow black equal vote jame mcpherson negro civil war page secess winter lincoln offic state declar secess union establish southern govern confeder state america februari control feder fort properti boundari resist outgo presid jame buchanan term end march buchanan assert south seced power prevent presid jame buchanan messag decemb quarter entir garrison surrend state forc command gener david twigg join confederaci southern resign seat senat hous secess enabl republican pass bill project block southern senat war includ morril tariff land grant colleg moril act homestead act trans-continent railroad pacif railwai act nation bank act author unit state note legal tender act revenu act introduc incom tax financ war statu state state seced april state seced april union state permit slaveri union state ban slaveri territori confederaci deep south cotton state seced februari start south carolina mississippi florida alabama georgia louisiana texa state form confeder state america februari jefferson davi presid government structur close model constitut month shot fort sumter slave state seced join confederaci virginia arkansa north carolina tennesse northwestern portion virginia subsequ seced virginia join union state west virginia june state territori boundari union state union territori kansa enter union free state bleed kansa crisi union border state permit slaveri confederaci confeder claim held territori union state twenty-thre state remain loyal union california connecticut delawar illinoi indiana iowa kansa kentucki main maryland massachusett michigan minnesota missouri hampshir jersei york ohio oregon pennsylvania rhode island vermont wisconsin war nevada west virginia join state union tennesse louisiana return union control earli war territori colorado dakota nebraska nevada mexico utah washington fought union side slave-hold nativ american tribe support confederaci give indian territori oklahoma small bloodi civil war border state border state union west virginia separ virginia state northernmost slave state maryland delawar missouri kentucki maryland numer pro-confeder offici toler anti-union riot baltimor burn bridg lincoln respond martial law call troop militia unit drill north rush washington baltimor mcpherson battl cry page confeder govern realiz happen lincoln seiz firm control maryland separ district columbia arrest maryland govern member hold trial missouri elect convent secess vote decis remain union pro-confeder governor claiborn jackson call state militia attack feder forc gener nathaniel lyon chase governor rest state guard southwestern corner state missouri secess result vacuum convent secess reconven power unionist provision govern missouri mcpherson battl cry page kentucki seced time declar neutral confeder broke neutral seiz columbu kentucki septemb turn opinion confederaci state reaffirm loyal statu maintain slaveri invas confeder forc confeder sympath organ secess convent inaugur governor gain recognit confederaci rebel govern exil control state mcpherson battl cry page virginia declar secess union support fifti counti northwestern virginia vote octob approv creation state west virginia major voter west virginia vote virginia’ secess croft core unionist enclav northwestern virginia vote secess total vote counti west virginia closer twenti fifti counti pro-secess major west virginia soldier confeder earli estim note union soldier region outnumb confeder detail studi conclud equal number union confeder soldier state admit union june similar unionist secess attempt appear east tennesse suppress confederaci jefferson davi arrest men suspect loyal union held trial mark neeli confeder bastil jefferson davi civil liberti overview roman cathol union armi chaplain celebr mass militari engag place war virginia tennesse gabor boritt ed war separ articl deal major battl minor articl broadest outlin inform list american civil war battl militari leadership american civil war war begin lincoln victori presidenti elect trigger south carolina declar secess union februari southern state similar declar februari state adopt provision constitut confeder state america establish temporari capit montgomeri alabama pre-war februari peac confer met washington fail attempt resolv crisi remain slave state reject plea join confederaci confeder forc seiz feder fort boundari fort sumter presid buchanan protest militari respons fail attempt resuppli fort sumter ship star west ship fire citadel cadet militari prepar mcpherson battl cry page governor massachusett york pennsylvania quietli began bui weapon train militia unit march abraham lincoln sworn presid inaugur address argu constitut perfect union earlier articl confeder perpetu union bind contract call secess legal void abraham lincoln inaugur address mondai march state intent invad southern state intend slaveri exist forc maintain possess feder properti speech close plea restor bond union lincoln inaugur address march south deleg washington offer pai feder properti enter peac treati unit state lincoln reject negoti confeder agent ground confederaci legitim govern make treati tantamount recognit sovereign govern david potter impend crisi page secretari state william seward engag unauthor indirect negoti fail fort sumter charleston south carolina fort monro fort picken fort taylor remain union-held fort confederaci lincoln determin hold fort sumter order confeder presid jefferson davi troop control confeder govern beauregard bombard fort artilleri april forc fort capitul northern ralli lincoln call state send troop recaptur fort preserv union scale rebellion appar small lincoln call volunt dai jame mcpherson battl cry freedom page month northern governor discreetli readi state militia began move forc dai account state upper south tennesse arkansa north carolina virginia repeatedli reject confeder overtur refus send forc neighbor declar secess join confederaci reward virginia confeder capit move richmond mcpherson battl cry page citi symbol confederaci fell nation lose legitimaci richmond highli vulner locat tortuou confeder suppli line richmond heavili fortifi suppli citi reduc sherman captur atlanta cut grant besieg petersburg railroad suppli southern capit anaconda plan blockad cartoon scott anaconda plan winfield scott command gener armi devis anaconda plan mcpherson battl cry page win war bloodsh idea union blockad main port weaken confeder economi captur mississippi river split south lincoln adopt plan overrul scott warn attack richmond lincoln enact union blockad southern port intern shipment confederaci ship cargo seiz cover insur late blockad stop local port-to-port traffic blockad shut king cotton ruin southern economi british investor built small fast blockad runner trade arm luxuri bermuda cuba bahama return high-pric cotton tobacco mcpherson battl cry page captur blockad runner cargo sold proce union sailor british crew releas shortag food good trigger blockad forag northern armi impress crop confeder armi combin hyperinfl bread riot south heidler march confeder navi wage fight union navi ironclad css virginia attack blockad unstopp dai fight union warship uss monitor battl ironclad mcpherson battl cry page battl end draw strateg victori union blockad sustain confederaci lost css virginia ship scuttl prevent captur union built copi uss monitor lack technolog build effect warship confederaci attempt obtain warship britain union victori battl fort fisher januari close southern port virtual end blockad run eastern theater union regiment fife drum corp fierc resist initi confeder forc manassa virginia juli march union troop command maj irvin mcdowel confeder forc halt battl bull run manassa mcpherson battl cry page forc washington confeder troop command gener joseph johnston beauregard battl confeder gener thoma jackson receiv nicknam stonewal stood stone wall union troop jame mcpherson battl cry freedom page alarm loss attempt prevent slave state leav union congress pass resolut juli year state war fought preserv union slaveri maj georg mcclellan command union armi potomac juli briefli general-in-chief union armi subsequ reliev post favor maj henri halleck war began earnest strong urg presid lincoln offens oper mcclellan attack virginia spring peninsula york river jame river southeast richmond mcclellan armi reach gate richmond peninsula campaign mcpherson battl cry page johnston halt advanc battl pine gener robert lee top subordin jame longstreet stonewal jackson mcpherson battl cry page defeat mcclellan dai battl forc retreat northern virginia campaign includ battl bull run end victori south mcpherson battl cry page mcclellan resist general-in-chief halleck order send reinforc john pope union armi virginia easier lee confeder defeat number combin enemi troop embolden bull run confederaci invas north gener lee led men armi northern virginia potomac river maryland septemb lincoln restor pope troop mcclellan mcclellan lee fought battl antietam mcpherson battl cry page sharpsburg maryland septemb bloodiest singl dai unit state militari histori mcpherson battl cry page lee armi check return virginia mcclellan destroi antietam consid union victori halt lee invas north opportun lincoln announc emancip proclam mcpherson battl cry page confeder dead stone wall mary height fredericksburg virginia kill battl chancellorsvil cautiou mcclellan fail follow antietam replac maj ambros burnsid burnsid defeat battl fredericksburg mcpherson battl cry page decemb twelv thousand union soldier kill wound repeat futil frontal assault mary height battl burnsid replac maj joseph hooker hooker prove unabl defeat lee armi outnumb confeder humili battl chancellorsvil mcpherson battl cry page replac maj georg mead lee invas north june mead defeat lee battl gettysburg mcpherson battl cry page juli juli bloodiest battl war consid war turn point pickett charg juli recal high-wat mark confederaci signal lee plan pressur washington north vicksburg mississippi kei stronghold control mississippi fell dai lee armi suffer casualti mead jame mcpherson battl cry freedom page lincoln angri mead fail intercept lee retreat mead inconclus fall campaign lincoln decid turn western theater leadership western theater confeder forc numer success eastern theater defeat time west driven missouri earli war result battl pea ridg mcpherson battl cry page leonida polk invas columbu kentucki end kentucki polici neutral turn state confederaci nashvil tennesse fell union earli mississippi open island madrid missouri memphi tennesse union navi captur orléan mcpherson battl cry page major fight allow union forc move mississippi fortress citi vicksburg mississippi prevent unchalleng union control entir river gener braxton bragg confeder invas kentucki end meaningless victori maj don carlo buell battl perryvil mcpherson battl cry page bragg forc attempt liber kentucki retreat due lack support confederaci state bragg narrowli defeat maj william rosecran battl stone river mcpherson battl cry page tennesse clear confeder victori west battl chickamauga bragg reinforc jame longstreet corp lee armi east defeat rosecran heroic defens stand maj georg henri thoma rosecran retreat chattanooga bragg besieg union kei strategist tactician west maj ulyss grant won victori fort henri donelson union seiz control tennesse cumberland river battl shiloh mcpherson battl cry page battl vicksburg mcpherson battl cry page cement union control mississippi river consid turn point war grant march relief rosecran defeat bragg battl chattanooga mcpherson battl cry page drive confeder forc tennesse open rout atlanta heart confederaci trans-mississippi theater guerrilla activ turn missouri battleground missouri total battl state war retriev octob state west geograph isol battl east small-scal militari action place confeder incurs arizona mexico repuls late war union red river campaign failur texa remain confeder hand war cut rest confederaci captur vicksburg gave union control mississippi river war jefferson davi presid confeder state america begin lincoln grant command union armi grant headquart armi potomac put maj william tecumseh sherman command western armi grant understood concept total war believ lincoln sherman utter defeat confeder forc econom base bring war mark neeli civil war total war civil war histori total war term kill civilian term destroi home farm railroad track grant devis coordin strategi strike entir confederaci multipl direct gener georg mead benjamin butler order move lee richmond gener franz sigel philip sheridan attack shenandoah vallei gener sherman captur atlanta march sea atlant ocean gener georg crook william averel oper railroad suppli line west virginia maj nathaniel bank captur mobil alabama union forc east attempt maneuv lee fought battl phase grant overland campaign eastern campaign grant battl attrit wilder spotsylvania cold harbor mcpherson battl cry page result heavi union loss forc lee confeder fall attempt outflank lee south fail butler trap bermuda river bend grant tenaci astonish loss casualti week jame mcpherson battl cry freedom page press lee armi northern virginia richmond pin confeder armi sieg petersburg armi engag trench warfar month grant final command gener philip sheridan aggress prevail vallei campaign sheridan defeat maj jubal earli seri battl includ final decis defeat battl cedar creek sheridan proceed destroi agricultur base shenandoah vallei mcpherson battl cry page strategi similar tactic sherman emploi georgia sherman march chattanooga atlanta defeat confeder gener joseph johnston john bell hood fall atlanta mcpherson battl cry page septemb signific factor reelect lincoln presid jame mcpherson battl cry freedom page hood left atlanta area menac sherman suppli line invad tennesse franklin-nashvil campaign mcpherson battl cry page union maj john schofield defeat hood battl franklin georg thoma dealt hood massiv defeat battl nashvil effect destroi hood armi dead soldier petersburg virginia photograph thoma roch leav atlanta base suppli sherman armi march unknown destin lai wast farm georgia march sea reach atlant ocean savannah georgia decemb sherman armi thousand freed slave major battl march sherman turn north south carolina north carolina approach confeder virginia line south mcpherson battl cry page increas pressur lee armi lee armi thin desert casualti smaller grant union forc won decis victori battl fork april forc lee evacu petersburg richmond confeder capit fell mcpherson battl cry page union xxv corp compos black troop remain confeder unit fled west defeat sayler creek clear robert lee continu fight unit state tactic logist imposs lee surrend armi northern virginia april appomattox court hous mcpherson battl cry page untradit gestur sign grant respect anticip fold confederaci union digniti peac lee permit offic saber hors travel johnston surrend troop sherman april durham north carolina june fort towson choctaw area oklahoma territori stand wati sign cease-fir agreement union repres confeder gener field stand confeder naval forc surrend css shenandoah novemb liverpool england slaveri war begin war union command thought suppos return escap slave master clear long war question slaveri gener southern economi militari effort depend slave labor began unreason protect slaveri blockad southern commerc destroi southern product congressman put slave neutral labor soldier alli rebel union mcpherson battl cry freedom page fellow radic pressur lincoln rapidli emancip slave moder republican accept gradual compens emancip colon mcpherson battl cry page quot georg julian copperhead border state war democrat oppos emancip border state war democrat eventu accept part total war need save union lincoln express fear prematur attempt emancip loss border state lose kentucki lose game lincoln letter brown septemb lincoln revers attempt emancip secretari war simon cameron gener john fremont missouri david hunter south carolina georgia florida order loyalti border state war democrat lincoln mention emancip proclam member cabinet juli secretari state william seward told lincoln wait victori issu proclam shriek retreat stephen oat abraham lincoln man myth page septemb battl antietam opportun subsequ war confer ad support proclam imag america altoona ann franci pull lincoln publish letter letter greelei august encourag border state accept emancip save union lincoln slaveri war abraham lincoln inaugur address march lincoln issu preliminari emancip proclam septemb final proclam issu gradual plan base compens emancip voluntari colon reject district columbia accept lincoln gradual plan lincoln issu final emancip proclam januari letter hodg lincoln explain belief slaveri wrong wrong understood presid confer unrestrict act offici judgment feel claim control event confess plainli event control lincoln letter hodg april emancip proclam base presid war power includ territori held confeder time proclam symbol union grow commit add emancip union definit liberti jame mcpherson war lincoln plai lead role congress vote thirteenth amend jame mcpherson freed slave emancip univers perman confeder enslav captur black union soldier black soldier shot surrend fort pillow massacr bruce catton call retreat page led breakdown prison exchang program growth prison camp andersonvil prison georgia union prison war di starvat diseas jame mcpherson battl cry freedom page spite south shortag manpow southern leader oppos arm slave soldier howel cobb slave good soldier theori slaveri wrong confeder gener patrick cleburn robert lee argu favor arm black late war jefferson davi eventu persuad support plan arm slave order avoid militari defeat confederaci surrend appomattox plan implement jame mcpherson battl cry freedom page confeder discuss possibl arm slave earli stage war free black offer fight south georgian congressman warren akin support enrol slave promis emancip alabama legislatur support grew southern state earli march virginia endors bill enlist soldier march confeder congress jai april month save america emancip proclam mcpherson battl cry page greatli reduc confederaci hope aid britain franc lincoln moder approach succeed border state war democrat emancip slave fight side union union-control border state kentucki missouri maryland delawar west virginia cover emancip proclam abolish slaveri kentucki delawar harper dougla retriev octob great major million slave freed emancip proclam union armi move south amend mcpherson battl cry page ratifi decemb final freed remain slave kentucki delawar number kentucki delawar censu threat intern intervent entri war britain franc behalf confederaci greatli increas south chanc win independ union jame mcpherson battl cry freedom page union lincoln secretari state william henri seward work block threaten war countri offici recogn exist confeder state america southern voluntarili embargo cotton shipment hope start econom depress europ forc britain enter war order cotton cotton diplomaci prove failur europ surplu cotton crop failur europ north grain export critic import king corn power king cotton grain quarter british import trade mcpherson battl cry uk face cotton shortag temporari replac increas cultiv egypt india war creat employ arm maker iron worker british ship transport weapon allen nevin war union page charl franci adam prove adept minist britain union britain reluct boldli challeng union blockad confederaci purchas warship commerci ship builder britain famou css alabama consider damag led postwar disput public opinion slaveri creat polit liabil european politician britain war loom late britain trent affair involv union board british mail steamer seiz confeder diplomat london washington smooth problem lincoln releas british consid offer risk war lord palmerston reportedli read uncl tom’ cabin time stephen oat approach furi voic storm page decid union victori battl antietam caus delai decis emancip proclam reinforc polit liabil support confederaci sympathi confederaci franc seizur mexico ultim deter war union confeder offer late war slaveri return diplomat recognit consid london pari aftermath war arguabl south won war signific number scholar union held insurmount advantag confederaci term industri strength popul confeder action argu delai defeat southern historian shelbi foot express view succinctli ken burn televis seri civil war north fought war hand southern victori lot north simpli brought hand don't south chanc win war ward confederaci sought win independ lincoln atlanta fell lincoln defeat mcclellan elect hope polit victori south end point lincoln succeed support border state war democrat emancip slave britain franc defeat democrat mcclellan defeat copperhead peac platform mcpherson battl cry page lincoln militari leader grant sherman press union numer advantag battl confeder armi gener shy bloodsh won war onward hope south hand jame mcpherson argu north’ advantag popul resourc northern victori inevit american war independ vietnam war exampl war won side number confeder invad hold enemi territori order win need fight defens war convinc north cost win high north need conquer hold vast stretch enemi territori defeat confeder armi order win jame mcpherson confederaci lose import lincoln eloqu ration nation purpos skill keep border state commit union lincoln approach emancip slow emancip proclam effect presid war power fehrenbach don univers illinoi retriev octob industri economi north aid product arm munit suppli financ transport tabl show rel advantag union confeder state america csa start war advantag widen rapidli war northern economi grew confeder territori shrank economi weaken union popul million south million southern popul includ million slave million white leav south white popul outnumb ratio compar north crocker iii don't tread york crown forum dispar grew union control southern territori garrison cut trans-mississippi part confederaci union start control shipyard steamship river boat navi augment massiv shipbuild program enabl union control river system blockad entir southern coastlin mcpherson excel railroad link union citi allow quick cheap movement troop suppli transport slower difficult south unabl augment smaller rail system repair damag perform routin mainten heidler david stephen ed encyclopedia american civil war polit social militari histori failur davi maintain posit product relationship state governor governor joseph brown georgia governor zebulon vanc north carolina damag abil draw region resourc mcpherson confederaci king cotton mispercept world economi led bad diplomaci refus ship cotton blockad start heidler david stephen ed encyclopedia american civil war polit social militari histori emancip proclam enabl african-american free black escap slave join union armi volunt retriev octob enhanc numer advantag union armi enjoi confeder emul equival manpow sourc fear fundament undermin legitimaci slaveri emancip slave fought kei battl year war john hope franklin emancip proclam european immigr join union armi larg number union soldier german-american born germani faust page quot ethnic studi gould unit state sanitari commiss reconstruct northern leader agre victori requir fight encompass war goal secess total repudi form slaveri elimin disagre sharpli criteria goal disagre degre feder control impos south process southern state reintegr union reconstruct began earli war end involv complex rapidli chang seri feder state polici long-term result civil war amend constitut xiii abolish slaveri xiv extend feder legal protect citizen race xv abolish racial restrict vote reconstruct end state time compromis detail fourteenth amend fifteenth amend larg ineffect american civil right movement jim crow law ku klux klan plessi ferguson unit state cruikshank civil right case reconstruct eric foner reconstruct america unfinish revolut harper row result slave confederaci freed emancip proclam stipul slave confederate-held area border state washington free slave border state union-control part south freed state action thirteenth amend slaveri effect end spring full restor union work highli contenti postwar era reconstruct war produc casualti popul includ soldier death two-third diseas nofi al june louisiana state univers retriev octob war account casualti war combin jame mcpherson battl cry freedom page xix introduct vann woodward war reason outcom war subject linger controversi todai million black slave freed base censu figur white male ag di war includ north extraordinari south lambert craig may-jun harvard magazin retriev octob +imag padlock-silver-medium svg andrew warhola august februari andi warhol american artist central figur movement pop art success career commerci illustr warhol famou worldwid work painter avant-gard filmmak record produc author public figur membership wildli divers social circl includ bohemian street peopl distinguish intellectu hollywood celebr wealthi aristocrat controversi figur lifetim work derid critic hoax put-on warhol subject numer retrospect exhibit book featur documentari film death biographi childhood earli career andi warhol born pittsburgh pennsylvania warhol foundat andi child parent ondrej andrew warhola surnam spell europ modifi immigr america julia warhola née julia justyna working-class immigr ruthenian ethnic medzilaborc austro-hungarian empir northeast slovakia brother john paul born slovakia warhol father migrat usa mother join death andi warhol grandpar warhol father work coal famili live beelen street dawson street oakland neighborhood pittsburgh bockri victor life death andi warhol york bantam book famili byzantin cathol attend st john chrysostom byzantin cathol church andi warhol older brother john paul grade warhol st danc afflict nervou system caus involuntari movement believ complic scarlet fever diseas led blotchi pigment skin child hypochondriac develop fear hospit medic doctor time bed-ridden child outcast school-mat bond mother strongli guil bed draw listen radio collect pictur movi star bed warhol period sick import develop person form skill-set prefer warhol show earli artist talent studi commerci art school fine art carnegi institut technolog pittsburgh carnegi mellon univers move york citi began success career magazin illustr advertis well-known whimsic ink draw shoe advertis loos blot ink style figur earliest show york bodlei galleri music industri expand rapidli time introduct vinyl record hi-fi stereophon record rca record hire warhol freelanc artist sid maurer design album cover promot materi book print begin earli warhol produc unbound portfolio work bound self-publish book warhol cat sam blue pussi print seymour berlin arch brand watermark paper blot line techniqu lithograph origin edit limit number hand color copi martin ink wash warhol gift client friend copi inscrib jerri front cover geraldin stutz time miller shoe presid henri bendel head panach press imprint random hous copi facsimil print art john russel decemb york time estat consign origin limit edit doyl york sold retriev august self-publish book warhol includ gold book wild raspberri holi cat warhol wrote book commerci print liter transcript spell error phonet written background nois mumbl audio record ondin andi warhol friend hang factori talk philosophi andi warhol pat hackett introduct andi warhol diari pat hackett transcript text book base daili phone convers warhol travel audio cassett andi warhol gave cassett contain convers brigid berlin brigid polk interview magazin editor bob warhol sixti author warhol pat hackett retrospect view sixti role pop art andi warhol diari edit pat hackett edit diari dictat warhol hackett daili phone convers warhol start keep diari track expens audit evolv includ person cultur observ warhol creat fashion magazin interview publish todai loopi titl script cover thought handwrit mother julia warhola text work earli commerci piec media state andi warhol paint film author work media draw warhol start career draw commerci illustr style warehous magazin pictur shoe draw publish booklet yum yum yum food ho ho ho christma shoe shoe shoe artist acclaim book draw gold book compil sensit person draw young men gold book dub gold leaf decor page sculptur warhol famou sculptur brillo box silkscreen bronz replica brillo soap box famou work includ silver cloud helium fill silver mylar balloon silver cloud includ travel exhibit air art curat willoughbi sharp audio point warhol carri portabl record tape refer devic wife tape basi literari work warhol invis sculptur present burglar alarm enter room warhol cooper musician velvet underground driven express desir music produc time capsul life warhol save correspond articl fascin numer item food gai porn item box progress number eventu total dozen todai warhol museum hous process open sort remain box catalog re-open origin seal extern link info televis andi warhol dream televis show want call special special favorit subject career creat cabl televis show andi warhol tv andi warhol fifteen minut base famou fifteen minut fame quotat mtv show regularli guest appear program includ love boat midwestern wife marion ross fear andi warhol reveal husband tom boslei star ross sitcom happi dai secret warhol superstar name marina del rei warhol produc tv commerci restaur york citi ic cream dessert appropri titl fashion warhol quot bui dress put wall put paint wouldn't well-known superstar edi sedgwick aspir fashion design good friend halston famou warhol work fashion includ silkscreen dress short book fashion paint fashion shoe subject perform art warhol friend stage happen theatric multimedia present parti music film slide project gerard malanga outfit crack whip explod plastic inevit culmin area work photographi produc silkscreen warhol photograph friend assist pictur specif model polaroid camera polaroid product warhol photograph approach paint snapshot method pictur great effect artist photographi warhol accomplish photograph enorm amount photograph factori visitor friend import medium paint film interest photographi li center artist practic comput warhol amiga comput gener digit art produc product wai warhol refin expand idea mean artist warhol frequent posit produc creator true work painter assist work produc paint true film-mak commerci enterpris coin idea overse deleg execut refin element work factori evolv ateli offic public face compani brand found gossip magazin interview stage celebr endors busi staf friend collabor book written pat hackett adopt young painter jean-michel basquiat band velvet underground present public latest interest collabor produc peopl superstar portrait endors product appear commerci frequent celebr guest appear televis show film appear love boat saturdai night live richard pryor movi dynamit chicken respect warhol fan art busi busi art fact wrote interest think art busi philosophi andi warhol radic stanc artist tradition posit commerci warhol pop-artist help redefin artist posit profession commerci popular method imageri talent respect pop art contribut philosoph practic incorpor art popular cultur societi art offer product societi museum museum dedic andi warhol andi warhol museum carnegi museum pittsburgh locat sanduski street pittsburgh pennsylvania largest american art museum dedic singl artist hold work artist museum andi warhol museum modern art establish andi brother john warhola slovak ministri cultur warhol foundat york locat small town medzilaborc slovakia andi parent born kilomet villag museum hous origin donat andi warhol foundat york person item donat warhol rel exhibit dedic work andi warhol displai world coke atlanta georgia film portrai warhol andi warhol portrai crispin glover oliv stone film door plai david bowi basquiat film julian schnabel film shot andi warhol direct mari harron actor jare harri portrai warhol actor mark cameo warhol austin power intern man mysteri paint supin woman outfit match pattern floor electr psychedel pussycat club campbel soup film jona meka moment andi life caught super film scene life andi warhol sean gregori sullivan depict warhol film latest film actor portrai artist gui pearc film factori girl andi warhol documentari film reverenti four-hour movi ric burn documentari absolut warhola produc german director stanislaw mucha featur warhol famili hometown slovakia gu van sant plan version warhol life river phoenix lead role phoenix death discuss interview includ publish privat idaho script book eponym asteroid warhol name andi warhol note +singl amerikkka want mack releas amerikkka want releas april endang speci tale darksid releas amerikkka want rapper ic cube influenti enot access decemb debut solo album releas acrimoni split group origin releas primarili produc bomb squad public enemi product team album unexpectedli larg critic commerci success remain defin hip hop album era ic cube social polit commentari deliv incis manner influenc numer rapper gangsta rap polit rap subgenr album cement cube reput gift lyricist introduc highli liter scribe hardship life south central lo angel outspoken critic american justic system race relat unit state album certifi doubl platinum sale million unit unit state riaa access novemb background concept interview magazin produc hank shockle ic cube approach creat album insert text quot quotat mark album titl titl album allus televis show call america want real-lif crime reenact viewer ask call inform alleg perpetr show critic reenact believ perpetu stereotyp crimin african-american men minor latino intent misspel america equat show statu quo societi ku klux klan lyric amerikkka want socio-polit consciou gangsta rap album song delv issu ghetto life drug addict racism poverti album ic cube incessantli attack racist institut social norm indirectli oppress live ghetto lo angel continu predat rodnei king incid endang speci tale darksid prophet assess polic brutal inadequ justic hand polic offic excess forc ethnic album cube take controversi stand refer type african-american oreo cooki epithet impli black white arsenio hall specif mention sell-out accus impli level cube bandmat eazy- cube heavili critic hip hop radio station watered-down broadcast titular song album parodi televis show america want expos bia glee program displai arrest afro-american men song dick yo bitch return theme newscast tom brokaw report riot south central area care violenc didn't affect interest man world duet cube femal rapper yo-yo similar fashion famou battl sex song hit road jack tramp oti red cube yo-yo verbal spar trade sexist barb expos sexism men women song concess cube admit man world wouldn't damn woman touch review live show apollo septemb peter watrou york time wrote album receiv critic alleg sexism can't fade track cube fantas kick pregnant one-night stand stomach order miscarriag avoid pai child support critic recept releas amerikkka want subsequ success wholli unexpect cube split group bandmat resort taunt interview album initi chart support lead singl video titl song receiv press rare video mack eventu surfac drawback album ship million copi week certifi platinum month amerikkka want receiv sourc highly-covet time award rate album award jay-z blueprint ten album approv mic sourc album select sourc magazin rap album comedian chri rock rank list top hip-hop album rateyourmus access decemb rate excerpt editori star beauti anarchi mercilessli funki record roll stone includ roll stone essenti record roll stone rank spin magazin greatest album spin greatest album indel smart bomb spin recommend rap album lurid account life project ic cube plai ya love theatric fire consider skill album mean phrase black star brilliantli wound-up pissed-off album uncut viscer classic vibe rank vibe top rap album riotou feverish rant life black amerikkka separ exploit power hip hop record peter shapiro rough guid hip-hop legaci produc bomb squad height public enemi success da lench mob amerikkka want receiv accolad innov product releas time west coast rap larg separ direct sound present amerikkka want head glossi beat smooth drawl popularis dre snoop dogg ic cube popular mainstream listen lessen sound consid distinct school modern ear rapper influenc innov lyric techniqu style rap drench real life sentiment socio-polit awar influenc music west coast rapper includ tupac ra kass xzibit east coast rapper na notori saigon ic cube earli album true circumst outlandish fashion fairytal charact violent tragic stori gangsta fairytal rapper extrem describ physic imposs act violenc outrag exagger manner east coast rapper redman cover time album doc da song jersei yo track list note re-releas album includ song ep releas kill sampl nigga ya love hate weak knee steve arrington atom dog georg clinton bitch iz bitch gangsta gangsta amerikkka want bar-kai jame brown music mind kool gang advic sly famili stone foe juggler averag white band sister sanctifi stanlei turrentin can't fade pneumonia kool gang parliament time project cop betti davi turn radio piec love gui hous beauti isaac hay rate kool gang endang speci tale darksid stand verg funkadel funki drummer jame brown gangsta fairytal maceo mack nurseri rhyme andrew dice clai drive-bi spoken bust move young mc wit lench mob parliament mack stand troubl marvin gay impeach presid honei dripper wanna sing simpl song sly famili stone man world man man man world jame brown crumb tabl laura lee brother green disco king roi ayer ass bitch fishbon bomb funk folk soul searcher chart posit personnel bomb squad record produc mario castellano photographi chri champion assist engin chuck perform da lench mob vocal bckgr produc cat head vocal bckgr flavor flav vocal perform ricki harri vocal bckgr al hay bass guitar guitar vincent henri flute saxophon brian holt vocal kevin art direct ic cube vocal produc jai dee vocal bckgr tim rollin piano eric sadler produc nick sansano engin shannon vocal bckgr christoph shaw engin keith shockle scratch sir jinx vocal bckgr produc howi weinberg master dan wood vocal bckgr engin yo-yo vocal perform +afrika bambaataa dj commun leader south bronx instrument earli develop hip hop earli pioneer hip-hop west indian caribbean descent septemb nomin induct rock roll hall fame histori bambaataa found member bronx river street gang savag due explos growth gang black spade rose posit divis leader life-chang visit africa chang afrika bambaataa aasim bambaataa influenc courag strateg brillianc shaka zulu movi tv seri shaka zulu birth zulu nation bambaataa decid leadership turn involv gang life posit commun began develop univers zulu nation group social polit awar rapper b-boi graffiti artist peopl involv hip hop cultur inspir dj kool herc disco king mario loan equip bambaataa began organ block parti south bronx face mentor disco king mario dj battl began perform stevenson high school form bronx river organ simpli organ bambaataa deejai sound system bronx river commun center bigg queen kenya cowboi accompani perform commun prior statu black spade establish parti crowd drawn member gang dj bronx year reform group call zulu nation inspir wide studi african histori time b-boi break dancer join call shaka zulu king zulu king shaka zulu queen continu deejai dj rapper break dancer graffiti writer artist parti wing member zulu nation founder soulson forc origin consist approxim twenti zulu nation member bigg queen kenya dj cowboi soulson forc bigg pow wow creator mc pop rap style dj jazzi jai cosmic forc queen lisa lee princ ikei ic ic chubbi chub jazzi jazzi jai freez master kool dj red alert sundanc ic ic master bee busi bee starski akbar lil starski personnel soul sonic forc group group perform record group record paul winlei record titl death mix winlei record soul sonic forc landmark singl zulu nation throwdown produc disco king mario disappoint result singl left compani recognit hip-hop artist fab freddi put music packag larg white downtown manhattan new-wav club invit bam perform call mudd club time bam perform predominantli white crowd make time hip-hop fuse white cultur attend bam parti downtown larg move larger venu ritz malcolm mclaren group bow wow wow rock steadi crew b-boi part zulu nation peppermint loung jefferson negril danceteria roxi planet rock popular singl june afrika bambaataa soulson forc song meld main melodi kraftwerk trans-europ express electron beat base track number portion record ennio morricon captain sky beat box bite face magazin creat style music altogeth electro funk influenc style electron danc music freestyl music hous music techno music bambaataa organ european hip hop tour rapper graffiti artist zulu nation dj grand mixer dxt grand mixer st b-boi b-girl crew rock steadi crew doubl dutch girl legendari graffiti artist fab freddi phase futura dondi afrika bambaataa main origin deejai respectfulli grandfath godfath hip hop cultur father electro funk sound bam releas perfect beat renegad funk soulson forc began work produc bill laswel jean celluloid record develop group label time zone shango record wildstyl time zone perform duet punk-rock john lydon time zone titl world destruct time histori hip-hop mix rock predat run-d collabor aerosmith walk shango album shango funk theologi releas label year bam hip-hop celebr appear movi beat street landmark record jame brown titl uniti admir bill music industri circl godfath soul meet godfath hip hop octob bambaataa music star work anti-apartheid album sun citi steven van zandt run-d lou reed numer record landmark piec afrika bambaataa famili capitol record titl light afrika bambaataa famili light featur nona hendryx ub boi georg georg clinton bootsi collin yellowman bam record work famili year earlier titl funk titl bewar funk bam life magazin import american centuri issu involv anti-apartheid work hip hop artist apartheid warlock record team jungl brother record album return planet rock come greenstreet record john baker bambaataa organ concert wemblei stadium london african nation congress honor nelson mandela releas prison concert brought perform british american rapper introduc nelson winni mandela hip-hop audienc relat event record free south africa help rais approxim bam help rais fund organ itali mid- bam return electro root collabor westbam name culmin album dark matter move speed light featur gari numan rage machin cover afrika song renegad funk album renegad year afrika bambaataa collabor leftfield song afrika shox singl leftfield rhythm stealth afrika shox popularli soundtrack vanilla sky featur british singer jamelia album walk song call album track bambaataa perform lyric track basshead actor plai varieti hilari voice-ov charact role intern televis seri world kung faux dubtitl entertain tommi boi film septemb announc afrika bambaataa nomine rock roll hall fame induct decemb surpris appear perform annual tribut fit king king record dynamit jame brown covington activ earli violent film produc glorifi california gang life fuel hype blood crip blood crip major black street gang feud west coast ghetto adopt york east coast youth admir imag screen rash initi assault raid gang violenc ensu denounc earli stage hip hop suddenli trend blood crip associ attir rap music gang began target innoc peopl fight bambaataa lead increas neg began hold peac confer call gang leader latin king street gang crip blood form peac treati street bambaataa credit prevent huge gang war outbreak crime outsid politician credit rudi giuliani mayor york citi time discographi list incomplet expand singl album music sampl planet rock sampl noicon planet rock releas wide pioneer track rap music bambaataa problem listen file media +alp arslan decemb sultan seljuk dynasti great-grandson seljuk eponym dynasti assum muhammad bin da'ud embrac islam militari prowess person valour fight skill obtain surnam alp arslan mean valiant lion turkish career succeed father begh governor khorasan uncl toğrül di succeed suleiman alp arslan brother alp arslan uncl contest success alp arslan defeat throne succeed april sultan great seljuk sole monarch persia river oxu tigri consolid empir subdu contend faction abli assist nizam ul-mulk persian vizier emin statesmen earli muslim histori peac secur establish dominion convok assembl state declar son malik shah heir successor hope acquir immens booti rich church st basil caesarea mazaca capit cappadocia head turkish cavalri cross euphrat enter plunder citi march armenia georgia conquer byzantin struggl battl manzikert en rout syria alp arslan invad byzantin empir emperor romanu iv diogen assum command person met invad cilicia arduou campaign conduct emperor direct manuel comnenu great-uncl emperor manuel comnenu turk defeat detail driven euphrat romanu field advanc men includ conting cuman turk conting frank norman ursel armenia manzikert murad north lake van diogen met alp arslan sultan propos term peac reject emperor forc met battl manzikert cuman mercenari byzantin forc immedi defect turkish side western mercenari rode part battl crusad steve runciman cambridg univers press byzantin total rout emperor romanu iv prison conduct presenc alp arslan treat generos term peac agre dismiss load present respectfulli attend militari guard famou convers record place romanu brought prison sultan suggest convers act merci arslan part prove crueler punish return romanu depos blind exil island proti di result infect injuri blind alp arslan victori chang balanc asia complet favour seljuk turk sunni muslim byzantin empir continu centuri crusad contest issu time victori manzikert signal begin turkish ascend anatolia historian includ edward gibbon date defeat manzikert begin eastern roman empir entri turkic farmer horsemen end theme anatolia furnish empir men treasur state organ alp arslan strength lai militari realm domest affair handl vizier nizam al-mulk founder administr organ character strengthen sultan reign alp arslan son malik shah militari fief govern seljuk princ establish provid support soldieri accommod nomad turk establish persian agricultur scene type militari fiefdom enabl nomad turk draw resourc sedentari persian establish cultur seljuk realm allow alp arslan field huge stand armi depend tribut conquest pai soldieri food subject maintain militari tax collect trader merchant ad coffer suffici fund continu war suleiman ibn son contend arslan throne appoint governor north-western provinc explan choic conjectur ibn account battl write wept death greatli mourn loss kinsman death dominion alp arslan manzikert extend western asia prepar march conquest turkestan origin seat ancestor power armi advanc bank oxu pass river safeti subdu fortress dai vigor defend governor yussuf khwarezmian oblig surrend carri prison sultan condemn cruel death yussuf desper drew dagger rush sultan alp arslan great pride reput foremost archer time motion guard interfer drew bow foot slip arrow glanc receiv assassin dagger breast alp arslan di dai wound novemb year merv buri father bei tomb li inscript lai dy alp arslan whisper son vaniti kill ala record surround great warrior devot guard night dai allow job warn protect let courag good sens forgot warn lie dy agoni rememb lesson learn vaniti overreach good sens legaci turkmen calendar reform month august name arp arslan +american film institut afi independ non-profit organ creat nation endow art establish presid lyndon johnson sign nation foundat art human act georg steven ceo director jean picker director ceo bob fifteen-year veteran afi name presid ceo novemb afi establish life achiev award film festiv afi fest launch held year afi fest film festiv unit state carri fiapf accredit begin afi open satellit festiv afi dalla anniversari american film afi began year seri celebr promot interest film histori preserv film subject degrad film stock afi re-open afi silver theatr silver spring maryland washington april afi conservatori focus train hands-on experi establish figur afi produc film educ appreci materi middl high school student spite afi focu exclus film televis video award ceremoni year nomine academi award pictur list film year brokeback mountain capot crash good night good luck munich list pictur oscar nomine aviat million dollar babi sidewai babel letter iwo jima sunshin anim featur list film year shrek find nemo incred happi feet ratatouil win academi award anim featur +film critic s-era auteur theori hold director film reflect director person creativ vision primari auteur french word author case film produc consid similar auteur role film produc law auteur creator film work art origin copyright holder european union law film director consid author author film auteur theori major impact film critic advoc film director film critic françoi truffaut auteur method analyz film base theori altern characterist director work auteur auteur theori auteur method film analysi frequent french wave film critic wrote influenti french film review period cahier du cinéma histori origin auteur theori draw work bazin co-found cahier du cinéma argu film reflect director person vision bazin champion filmmak howard hawk alfr hitchcock jean renoir bazin forum auteur flourish remain wari excess kei element auteur theori alexandr astruc notion idea director wield camera writer pen hinder tradit storytel truffaut member cahier recogn moviemak industri process propos ideal strive director commerci apparatu writer pen mise en scène imprint vision work convers role screenwrit minim ey recogn director reach ideal valu work near truffaut develop essai un certain tendanc du cinéma françai trend french cinema françoi truffaut coin phrase la politiqu de auteur assert worst jean renoir movi interest jean delannoi politiqu translat polici program involv consciou decis film truffaut provoc good bad movi good bad director truffaut write period colleagu film critic magazin cahier du cinéma design lambast post-war french cinema big product film cinéma de qualiti film truffaut circl refer film disdain steril old-fashion cinéma de papa dad cinema nazi occup vichi govern exhibit film maltes falcon citizen kane french film critic final movi enamour film truffaut theori maintain good director bad distinct style consist theme influenc unmistak bodi work truffaut appreci director mark visual style alfr hitchcock visual style pronounc consist theme movi jean renoir human impact auteur theori director nouvel vagu wave movement french cinema critic cahier du cinéma justif intens person idiosyncrat film ironi auteur theori moment truffaut write break-up hollywood studio system usher period uncertainti conservat american cinema result sort film truffaut admir auteur approach adopt english-languag film critic uk movi adopt auteur andrew sarri introduc essai note auteur theori essai half-french half-english term auteur theori origin classifi auteur sarri director accomplish technic compet techniqu person style term movi feel interior mean sarri criteria left vagu decad sarri publish american cinema director direct quickli unoffici bibl auteur jean-luc godard claud chabrol director director produc shrewd appreci actor writer gener school emphas contribut star person mae west stress director screenwrit produc react good deal hostil writer william goldman hear auteur theori reaction punchlin critic start film critic began critic auteur theori focu authori role director paulin kael sarri feud page yorker film magazin reason backlash collabor aspect shoot film person theori privileg role director time import movi kael review citizen kane classic film auteur model point film extens distinct talent co-writ herman mankiewicz cinematograph gregg toland research disput claim auteur theori challeng influenc critic school literari critic critic argu critic intent fallaci interpret work art specul author meant base author person life experi critic argu inform specul author intent secondari word page basi experi read literatur +akira kurosawa kyūjitai shinjitai kurosawa akira march septemb promin japanes film director film produc screenwrit credit film sanshiro sugata releas award includ légion d'honneur oscar lifetim achiev earli life akira kurosawa born isamu shima kurosawa march youngest children born suburb tokyo shima kurosawa forti year time akira birth father isamu forty-f akira kurosawa grew household older brother older sister older brother di akira born grown household older sister left home famili kurosawa born kurosawa sibl sister call big sister di suddenli short ill ten year kurosawa father work director junior high school oper japanes militari descend line samurai financi famili averag isamu kurosawa embrac western cultur athlet program direct famili film begin japanes theater japanes cultur turn western film isamu kurosawa continu film posit educ experi primari school akira kurosawa encourag draw teacher interest mentor talent older brother profound impact intellig won academ competit call cynic dark side great earthquak destroi tokyo left peopl dead wake event akira walk tour devast corps human anim pile akira attempt turn head urg akira experi instruct frighten head-on defeat abil fear eventu began career benshi tokyo film theater benshi narrat silent film audienc uniqu japanes addit theater experi impact talk pictur rise benshi lose work japan organ benshi strike fail akira involv labor-manag struggl write articl radic newspap improv expand skill painter read literatur akira consid communist activ describ reckless akira kurosawa earli older brother commit suicid month oldest kurosawa brother di leav akira surviv son origin ag earli career kurosawa learn apprenticeship program director major film studio pcl toho hire work assist director yamamoto directori debut sanshiro sugata film watch ey wartim japanes govern contain nationalist theme instanc beauti propaganda film japanes women work militari optic factori judo saga portrai japanes judo superior western american box post-war film regret youth contrast critic japanes regim wife left-w dissid arrest polit lean kurosawa film deal contemporari japan notabl drunken angel strai dog period film rashomon internation famou won golden lion venic film festiv directori approach kurosawa distinct cinemat techniqu develop gave film uniqu telephoto lens flatten frame believ place camera actor produc perform multipl camera allow shoot action scene angl kurosawa trademark weather element heighten mood heavi rain open scene rashomon final battl samurai intens heat strai dog cold wind yojimbo snow ikiru fog throne blood kurosawa frame wipe cleverli hidden motion frame transit devic tenno liter emperor dictatori direct style perfectionist spent enorm amount time effort achiev desir visual effect rashomon dy rain water black calligraphi ink order achiev effect heavi rain end entir local water suppli locat area creat rainstorm final scene throne blood mifun shot arrow kurosawa real arrow shot expert archer short rang land centimetr mifun bodi ran entir castl set construct slope mt fuji burn ground climact scene stori includ demand stream run direct order visual effect roof hous remov replac felt roof presenc unattract short sequenc film train perfection show approach costum felt give actor brand costum charact authent resolv gave cast costum week shoot requir wear daili basi bond case samurai cast portrai poor farmer actor told costum worn tatter time shoot start kurosawa finish music film choos music piec accompani scene strip element trumpet film finish piec heard influenc notabl featur kurosawa film breadth artist influenc plot base william shakespear work ran loos base king lear throne blood base macbeth bad sleep parallel hamlet affirm base kurosawa direct film adapt russian literari work includ idiot dostoevski depth plai maxim gorki ikiru inspir leo tolstoi death ivan ilyich dersu uzala base memoir titl russian explor vladimir arsenyev stori line red beard insult humili dostoevski high base king ransom american crime writer ed mcbain yojimbo base dashiel hammett red harvest borrow american western strai dog inspir detect novel georg simenon american film director john ford larg influenc work critic japanes critic kurosawa western deepli influenc japanes cultur includ kabuki noh theater jidaigeki period drama genr japanes cinema kurosawa meet john ford director commonli influenti kurosawa ford simpli rain kurosawa respond you'v pai attent film chri marker influenc kurosawa film major influenc world cinema continu inspir filmmak globe samurai western film samurai remad time assort cinema genr includ western scienc fiction chines martial art main version plot structur compris magnific dir john sturg beach war god prod run run shaw sholai dir ramesh sippi battl star prod roger corman world wild dir lee katzin indian movi film inspir indian film featur similar plot rajkumar santoshi china gate kamal hassan novel stori inspir numer novel stephen king dark tower wolv calla rashomon rashomon remad martin ritt outrag tamil film andha naal star kamal hassan emploi storytel method similar kurosawa rashomon incarn film hero star jet li ziyi zhang toni leung maggi cheung featur style stori anim film hoodwink appli narr structur rashomon stori red ride hood rashomon help open japanes cinema world enter english languag term fractur inconsist narr rashomon effect yojimbo yojimbo basi sergio leon western fist dollar bruce willi film prohibition-era man stand modern dai lucki number slevin hidden fortress hidden fortress acknowledg influenc georg luca star war film episod iv vi notabl charact r-d c-po luca modifi version kurosawa wipe transit effect star war saga collabor product period late mid- kurosawa work group collabor fumio hayasaka compos music film notabl rashomon ikiru samurai kurosawa script includ throne blood samurai ran co-written hideo yoshiro muraki kurosawa product design art director film strai dog nakai cinematograph film includ ikiru samurai ran kurosawa work group actor takashi shimura tatsuya nakadai mifun collabor began drunken angel end red beard famou combin cinema histori film akira kurosawa center stage direct tatsuya nakadai left jinpachi nezu film ran film red beard mark turn point kurosawa career wai addit film mifun black-and-whit major director japanes studio system make roughli film year kurosawa sign direct hollywood project tora tora tora centuri fox replac toshio masuda kinji fukasaku complet film lot harder financ interv year group poor peopl live rubbish dump success attempt suicid kurosawa film great difficulti obtain domest financ intern reput dersu uzala soviet union set siberia earli centuri kurosawa film japan japanes languag friendship russian explor nomad hunter won oscar foreign languag film kagemusha financ director famou admir georg luca franci ford coppola stori man bodi doubl mediev japanes lord take ident lord death film award palm d'or golden palm cann film festiv share year bob foss jazz ran director version shakespear king lear set mediev japan largest project kurosawa late career spent decad plan obtain fund final french produc serg silberman film intern success gener consid kurosawa masterpiec interview kurosawa consid film kurosawa film person earlier work dream seri vignett base dream rhapsodi august memori nagasaki atom bomb final film retir teacher student kurosawa di stroke setagaya tokyo ag rain am agaru posthum film direct kurosawa closest collabor takashi koizumi co-produc kurosawa product hisao kurosawa star nakadai shiro mifun son mifun screenplai script dialogu written kurosawa stori base short yamamoto am agaru person life kurosawa wife yoko yaguchi children son name hisao daughter name kazuko kurosawa notori lavish gourmet spent huge quantiti monei film set provid incred larg quantiti fine delicaci meat cast crew meat left record sound effect sound blade cut flesh swordfight scene close friend director ishiro honda direct kaiju masterpiec gojira award maxim dersu uzala left yuri solomin vladimir arsenyev film dersu uzala golden lion venic film festiv rashomon academi honorari award foreign languag film rashomon silver lion venic film festiv samurai ramon magsaysai award journal literatur creativ commun art rmaf org ph academi award foreign languag film dersu uzala palm d'or cann film festiv kagemusha career golden lion venic film festiv légion d'honneur fukuoka asian cultur prize honorari academi award iran cinema celebr special honor filmographi footnot +pyramid recogniz symbol civil ancient egypt map ancient egypt show major citi site dynast period bc bc ancient egypt civil eastern north africa concentr middl reach nile river modern nation egypt civil began bc polit unif upper egypt pharaoh develop millennia dodson histori divid seri stabl period kingdom separ period rel instabl intermedi period kingdom kingdom civil ancient egypt enter period slow steadi declin egypt conquer success foreign power rule pharaoh offici end bc earli roman empir conquer egypt provinc clayton civil ancient egypt thrive adapt condit nile river vallei control irrig fertil vallei produc surplu crop fuel social develop cultur resourc spare administr sponsor miner exploit vallei surround desert region earli develop independ write system organ collect construct agricultur project trade surround region militari defeat foreign enemi assert egyptian domin motiv organ activ bureaucraci elit scribe religi leader administr control divin pharaoh ensur cooper uniti egyptian peopl mean elabor system religi belief jame achiev ancient egyptian includ system mathemat quarri survei construct techniqu facilit build monument pyramid templ obelisk faienc glass technolog practic effect system medicin form literatur irrig system agricultur product techniqu earliest peac treati clayton egypt left last legaci antiqu move art architectur copi world monument ruin inspir imagin tourist writer centuri translat hieroglyph newfound respect antiqu excav cultur heritag ancient egyptian understood jame histori late paleolith period arid climat northern africa increasingli hot dry forc popul area concentr nile vallei nomad hunter-gather began live region pleistocen million year nile lifelin egypt shaw fertil floodplain nile gave human opportun develop settl agricultur economi sophist central societi cornerston histori human civil shaw predynast period bc small tribe live nile vallei develop seri uniqu cultur demonstr firm control agricultur anim husbandri identifi uniqu potteri person item comb bracelet bead largest earli cultur upper egypt badari high qualiti ceram stone tool copper digit egypt univers univers colleg london retriev march burial simpl pit grave sign social stratif suggest cultur come control power leader shaw southern egypt naqada cultur similar cultur badari began expand nile bc period year naqada cultur develop small farm commun power civil leader complet control peopl resourc nile vallei digit egypt univers univers colleg london retriev march establish power center hierakonpoli abydo naqada leader expand control egypt northward nile engag trade nubia oas western desert cultur eastern mediterranean shaw naqada cultur manufactur divers arrai materi good reflect increas power wealth elit includ paint potteri high qualiti decor stone vase cosmet palett jewelri gold lapi ivori develop ceram glaze faienc roman period decor cup amulet figurin digit egypt univers univers colleg london retriev march phase predynast naqada cultur began written symbol eventu evolv full system hieroglyph write ancient egyptian languag allen earli dynast period narmer palett depict unif land robin ancient egyptian chose offici histori king name meni mene greek believ unit kingdom upper egypt shaw transit unifi state happen gradual ancient egyptian writer contemporari record mene scholar mythic mene pharaoh narmer depict wear royal regalia ceremoni narmer palett symbol act unif clayton centuri bc egyptian priest manetho group lengthi line pharaoh mene dynasti system todai clayton earli dynast period bc pharaoh solidifi control egypt establish capit memphi control labor forc agricultur fertil delta region lucr critic trade rout levant increas power wealth pharaoh earli dynast period reflect elabor mastaba tomb mortuari cult structur abydo celebr deifi pharaoh death shaw strong institut kingship develop pharaoh serv legitim state control land labor resourc essenti surviv growth ancient egyptian civil digit egypt univers univers colleg london retriev march kingdom menkaura consort queen ii stun advanc architectur art technolog kingdom fuel increas agricultur product develop central administr jame direct vizier state offici collect tax coordin irrig project improv crop yield draft peasant work construct project establish justic system maintain peac order shaw surplu resourc product stabl economi state sponsor construct coloss monument commiss except work art royal workshop pyramid built djoser khufu descend memor symbol ancient egyptian civil power pharaoh control rise import central administr aros class educ scribe offici grant estat pharaoh payment servic pharaoh land grant mortuari cult local templ ensur institut resourc worship pharaoh death kingdom centuri feudal practic slowli erod econom power pharaoh longer afford support larg central administr shaw power pharaoh diminish region governor call nomarch began challeng supremaci pharaoh coupl sever drought bc fekri hassan british broadcast corpor retriev march ultim caus countri enter period famin strife intermedi period clayton intermedi period egypt central govern collaps kingdom administr longer support stabil countri economi region governor reli king time crisi ensu food shortag polit disput escal famin small scale civil war difficult problem local leader ow tribut pharaoh newfound independ establish thrive cultur provinc control resourc provinc econom richer fact demonstr larger burial social class shaw burst creativ provinci artisan adopt adapt cultur motif restrict royalti kingdom scribe develop literari style express optim origin period shaw free loyalti pharaoh local ruler began compet territori control polit power bc ruler hierakonpoli control egypt rival clan base thebe intef control upper egypt grew power expand control northward clash rival dynasti inevit bc theban forc mentuhotep ii final defeat ruler reunit land inaugur period econom cultur renaiss middl kingdom clayton middl kingdom mentuhotep ii founder middl kingdom pharaoh middl kingdom restor countri prosper stabil stimul resurg art literatur monument build project shaw mentuhotep ii dynasti successor rule thebe vizier amenemhet assum kingship begin dynasti bc shift nation capit citi itjtawi locat faiyum clayton itjtawi pharaoh dynasti undertook far-sight land reclam irrig scheme increas agricultur output region militari reconqu territori nubia rich quarri gold mine labor built defens structur eastern delta call defend foreign attack shaw secur militari polit secur vast agricultur miner wealth nation popul art religion flourish contrast elitist kingdom attitud god middl kingdom experienc increas express person pieti call democrat afterlif peopl possess soul welcom compani god death shaw middl kingdom literatur featur sophist theme charact written confid eloqu style shaw relief portrait sculptur period captur subtl individu detail reach height technic perfect robin great ruler middl kingdom amenemhat iii allow asiat settler delta region provid suffici labor forc activ mine build campaign ambiti build mine activ combin inadequ nile flood reign strain economi precipit slow declin intermedi period dynasti declin foreign asiat settler began seiz control delta region eventu come power egypt hykso shaw intermedi period hykso bc power middl kingdom pharaoh weaken asiat immigr live eastern delta town avari seiz control region forc central govern retreat thebe pharaoh treat vassal expect pai tribut ryholt hykso foreign ruler imit egyptian model govern portrai pharaoh integr egyptian element middl bronz ag cultur shaw retreat theban king trap hykso north nubian alli kushit south year tenuou inact bc theban forc final gather strength challeng hykso conflict year ryholt pharaoh seqenenr tao ii kamos ultim defeat nubian kamos successor ahmos successfulli wage seri campaign perman erad presenc egypt kingdom militari central prioriti pharaoh seek expand egypt’ border secur complet domin east shaw maximum territori extent ancient egypt centuri bc kingdom pharaoh kingdom militari forc expand countri border defeat enemi campaign wage tuthmosi grandson tuthmosi iii extend influenc pharaoh syria nubia command obedi tribut neighbor strengthen diplomat connect major east power cement loyalti egypt alli open access critic import bronz wood luxuri jame prosper secur kingdom pharaoh began impress build campaign promot newli ordain state god amun grow cult base karnak thebe addit commemor amun pharaoh kingdom prolif built monument glorifi achiev real imagin femal pharaoh hatshepsut propaganda legitim claim throne tuthmosi iii child digit egypt univers univers colleg london retriev decemb hatshepsut success reign includ launch trade expedit punt build eleg mortuari templ erect coloss pair obelisk chapel karnak templ tuthmosi iii eventu eras legaci femal pharaoh usurp reign clayton akhenaten famili receiv life rai aten bc kingdom prosper expans construct accumul wealth establish period year briefli jeopard amenhotep iv unexpectedli ascend throne institut seri radic chaotic reform chang akhenaten tout previous obscur god aten suprem deiti suppress worship deiti attack power entrench priestli establish aldr move capit citi akhetaten modern-dai amarna akhenaten turn deaf ear foreign affair absorb religion artist style death cult aten quickli abandon subsequ pharaoh tutankhamun ay horemheb quietli eras mention akhenaten heresi amarna period cline coloss statu ramess ii flank entranc templ abu simbel dynasti end king tutankhamun ay horemheb di heir throne pass militari man ramess found dynasti grandson ramess ii ramess great ascend throne bc ag built templ erect statu obelisk sire children pharaoh histori clayton bold militari leader ramess ii led armi hittit battl kadesh fight stalem eventu conclud record peac treati bc tyldeslei temporari peac intern struggl foreign threat challeng prosper region jame egypt wealth tempt target invas pharaoh late kingdom repeatedli challeng libyan coalit asiat sea peopl initi militari repel invas egypt eventu lost control syria palestin impact extern threat exacerb intern problem kingdom corrupt administr theft royal tomb vallei king civil unrest polit intrigu undermin uniti countri author pharaoh kingdom high priest templ amun thebe accumul vast tract land wealth grow power splinter countri intermedi period jame intermedi period bc libyan west polit faction fractur polit uniti countri death ramess xi smend assum author northern part egypt rule citi tani southern part effect control high priest amun thebe recogn smend titl cerni time libyan settl western delta chieftain settler began increas autonomi libyan princ control delta found so-cal libyan dynasti rule year gain control southern egypt place famili member import priestli posit libyan control began erod rival dynasti aros leontopoli kushit threaten south bc kushit king piankhi invad northward seiz control thebe eventu delta shaw egypt far-reach prestig declin consider intermedi period foreign alli fallen assyrian sphere influenc bc war state inevit bc assyrian began attack egypt reign taharqa successor fill constant conflict assyrian egypt enjoi victori ultim assyrian push kushit nubia occupi memphi sack templ thebe shaw late period perman plan conquest assyrian left control egypt seri vassal sait king twenty-sixth dynasti bc sait king psamtik oust assyrian greek mercenari recruit form egypt navi greek influenc expand greatli citi home greek delta sait king base capit sai wit spirit resurg economi cultur bc power persian led cambys ii began conquest egypt eventu captur pharaoh psamtik iii battl pelusium cambys ii assum formal titl pharaoh rule egypt home susa leav egypt control satrapi success revolt persian mark centuri bc egypt perman overthrow persian shaw annex persia egypt join cypru phoenicia sixth satrapi achaemenid persian empir period persian rule egypt twenty-seventh dynasti end bc bc thirtieth dynasti rule nativ royal hous egypt restor persian rule thirty-first dynasti began bc shortli bc persian ruler hand egypt alexand great fight shaw ptolema dynasti cleopatra vii adopt ancient tradit languag egypt bc alexand iii macedon conquer egypt resist persian welcom egyptian deliver greek govern establish alexand successor ptolemi base egyptian model base capit citi alexandria citi showcas power prestig greek rule seat learn cultur center famou librari alexandria shaw lighthous alexandria lit ship trade flow citi ptolemi commerc revenue-gener enterpris papyru manufactur top prioriti shaw greek cultur complet supplant tradit cultur ptolemi support time-honor tradit effort secur loyalti populac built templ egyptian style support tradit cult portrai pharaoh tradit merg greek egyptian god synthes composit deiti serapi classic greek form sculptur influenc tradit egyptian motif effort maintain order ptolemi challeng rebellion bitter famili rivalri power mob alexandria shaw rome reli heavili import grain egypt roman great interest polit situat egypt revolt ambiti politician power syrian oppon situat unstabl roman forc secur countri provinc empir jame roman domin egypt provinc roman empir bc defeat marc antoni ptolema queen cleopatra vii octavian emperor augustu battl actium roman reli heavili grain shipment egypt roman armi control prefect appoint quell rebellion strictli enforc collect heavi tax prevent attack bandit notori problem period jame alexandria increasingli import center trade rout orient exot luxuri high demand rome shaw roman hostil attitud egyptian greek tradit mummif worship tradit god languag allow continu shaw depict pharaoh administr roman style close nativ egyptian mid-first centuri ad christian root alexandria spread incompat pagan christian sought win convert threaten popular religi tradit led persecut culmin great purg diocletian start ad eventu christian won shaw consequ egypt pagan cultur suppress abil read egyptian hieroglyph disappear egyptian priest priestess offici templ convert church abandon desert shaw govern economi administr commerc pharaoh depict wear symbol royalti power pharaoh absolut monarch countri theori wield complet control land resourc king suprem militari command respons militari polici decis king reli bureaucraci offici manag affair charg administr command vizier vizier act king repres coordin land survei treasuri build project legal system archiv local level countri divid administr region call nome nome governor call nomarch account vizier jurisdict templ form backbon economi hous worship respons collect store nation wealth system granari treasuri central storag facil administ overs grain good distribut populac economi central organ strictli control ancient egyptian coinag type system meskel standard sack grain deben weight roughli gram copper silver form common denomin worker paid grain simpl labor earn sack kg grain month foreman earn sack kg price fix countri record list facilit trade shirt cost copper deben cow cost deben grain trade good fix price list centuri bc coin monei introduc egypt coin standard piec preciou metal true monei centuri intern trader reli coinag walbank social statu egyptian societi highli stratifi social statu expressli displai farmer bulk popul agricultur produc own state templ nobl famili own land popul freedom movement free choic career farmer subject labor tax requir work irrig construct project corvé system jame artist craftsmen higher statu farmer state control work shop attach templ paid state treasuri scribe offici form upper class ancient egypt promin displai social statu art literatur slaveri ancient egypt extent preval practic unclear digit egypt univers univers colleg london retriev decemb scribe elit educ assess tax record respons administr legal system head legal system ancient egypt offici pharaoh respons proclaim law deliv justic maintain law order concept ancient egyptian refer ma'at legal code ancient egypt surviv exist court document period show egyptian law base common-sens view wrong emphas reach agreement resolv conflict strictli adher complic set statut janet johnson univers chicago retriev march ancient egyptian view men women includ peopl social class slave essenti equal law lowliest peasant entitl petit vizier court redress men women sell properti contract marri divorc receiv inherit pursu legal disput court marri coupl properti jointli protect divorc agre marriag contract stipul financi oblig husband wife children marriag local council elder kingdom respons rule court case involv small claim minor disput abil enforc rule limit local s defer complic case involv murder major land transact tomb robberi great vizier pharaoh presid plaintiff defend expect repres legal matter requir swear oath told truth oak case tomb robberi assassin plot state role prosecutor judg tortur accus beat obtain confess name co-conspir charg trivial court scribe document complaint testimoni verdict case futur refer punish minor crime involv imposit fine beat facial mutil exil depend sever offens crime murder tomb robberi punish execut carri decapit drown impal crimin stake punish extend crimin famili kingdom oracl began plai major role legal system dispens justic civil crimin case procedur god question wrong issu god carri number priest render judgment choos move point answer written piec papyru ostracon mcdowel agricultur tomb relief depict worker plow field harvest crop thresh grain direct overs combin favor geograph featur contribut success ancient egyptian cultur import rich fertil soil result annual inund nile river ancient egyptian produc abund food allow popul devot time resourc cultur technolog artist pursuit land manag crucial ancient egypt tax assess base amount land person own farm egypt depend cycl nile river egyptian recogn season written record akhet flood peret plant shemu harvest flood season last june septemb deposit river bank layer mineral-rich silt perfect grow crop floodwat reced grow season last octob februari farmer plow plant seed field irrig ditch canal egypt receiv rainfal farmer reli nile water crop nicholson march farmer sickl harvest crop thresh flail order separ straw grain winnow remov chaff grain grain ground flour brew beer store nicholson ancient egyptian cultiv emmer barlei cereal grain main food stapl bread beer nicholson flax plant uproot start flower grown fiber stem fiber split length spun thread weav sheet linen cloth papyru grow bank nile river paper veget fruit grown garden plot close habit higher ground water hand veget includ leek garlic melon squash puls lettuc crop addit grape wine nicholson plow field pair oxen beast burden sourc food livestock livestock critic sourc food natur product ancient egyptian cow import stock anim meat milk skin fat slaughter fatten ox central part offer ritual administr collect tax livestock regular census size herd reflect prestig import estat templ own addit cattl ancient egyptian sheep goat pig bird duck gees pigeon captur net bred farm force-f dough fatten nile plenti sourc fish bee domest kingdom honei wax nicholson ancient egyptian donkei oxen beast burden respons plow field trampl seed soil hors introduc hykso intermedi period arabian camel kingdom beast burden late period dog cat common famili pet exot pet import heart africa monkei lion reserv royalti late period worship god anim form extrem popular cat goddess bastet ibi god thoth anim bred larg number farm purpos ritual sacrific oak natur resourc egypt rich build decor stone copper lead or gold semipreci stone natur resourc allow ancient egyptian build monument sculpt statu tool fashion jewelri search gold deposit discov egypt greav embalm salt wadi natrun mummif gypsum need plaster luca ore-bear rock format ancient egypt distant inhospit wadi eastern desert sinai requir larg state-control expedit obtain gold copper or decor stone wadi hammamat notabl sourc granit greywack gold prison slave forc mine servic egyptian peasant conscript unpleas labor flint miner collect tool flint handax earliest piec evid habit nile vallei nodul miner carefulli flake blade arrowhead moder hard durabl copper adopt purpos nicholson egyptian work deposit lead or galena gebel rosa net sinker plumb bob small figurin copper import metal toolmak ancient egypt smelt furnac malachit or mine sinai scheel worker collect gold wash nugget sediment alluvi deposit labor-intens process grind wash gold-bear quartzit iron deposit upper egypt util late period nicholson high-qual build stone abund egypt ancient egyptian quarri limeston nile vallei granit aswan basalt sandston wadi eastern desert deposit decor stone porphyri greywack alabast carnelian dot eastern desert collect dynasti ptolema roman period miner work deposit emerald wadi amethyst wadi nicholson languag egyptian languag belong afro-asiat languag phylum relat semit languag arab hebrew afro-asiat languag north africa berber cushit continu bc centuri ad ancient egyptian point longest-surviv languag world allen languag underw major pronunci usag histori spoken dialect oldest stage languag egyptian bc gradual displac middl egyptian bc late egyptian began develop bc demot develop late egyptian surviv centuri ad time commonli coptic final phase languag st centuri ad dialect coptic remain servic coptic church limit todai allen write rosetta stone enabl linguist process hieroglyph decipher allen ancient egyptian write system hieroglyph incorrectli term hieroglyph compos symbol call hieroglyph explan system devis suddenli adopt develop shortli bc hieroglyph pictur real bird tool bodi part common hieroglyph correspond letter letter combin alphabet word languag spell string hieroglyph sound word semit languag ancient egyptian vowel allen hieroglyph formal script stone monument tomb detail individu work art day-to-dai write scribe cursiv form write call hierat quicker easier formal hieroglyph read row column direct hierat written left horizont row demot domin spoken languag form write preval write style form write formal hieroglyph accompani greek text rosetta stone st centuri ad coptic christian live egypt discard nativ demot script wrote languag modifi greek alphabet script coptic allen formal hieroglyph ceremoni role centuri ad small hand highli educ priest read tradit religi establish disband knowledg mean lost discoveri rosetta stone year research thoma young jean-françoi champollion hieroglyph deciph allen edwin smith surgic papyru describ anatomi medic treatment written hierat literatur write appear associ kingship label tag item royal tomb kingdom tradit write evolv tomb autobiographi weni genr instruct develop commun teach guidanc famou nobl ipuw papyru poem lament describ natur disast social upheav extrem instruct intermedi period middl kingdom prose style literatur matur stori sinuh classic egyptian literatur lichtheim written time westcar papyru set stori told khufu son relat marvel perform priest lichtheim kingdom stori wenamun written tell stori nobl rob bui cedar lebanon struggl return egypt text show unit egypt start tumultu intermedi period cultur daili life ancient egyptian maintain rich cultur heritag complet feast festiv accompani music danc ancient egyptian farmer ti land dwell restrict famili member construct mud-brick design remain cool heat dai home kitchen open roof contain grindston mill flour small oven bake bread wall paint white cover dy linen wall hang floor cover reed mat wooden stool bed rais floor individu tabl compris furnitur ancient egyptian great hygien appear bath nile pasti soap anim fat chalk men shave entir bodi cleanli aromat perfum ointment cover bad odor sooth skin cloth simpl linen sheet bleach white men women upper class wore wig jeweleri cosmet children cloth matur ag twelv ag male circumcis head shave mother respons care children father famili incom stapl diet consist bread beer supplement veget onion garlic fruit date fig wine meat enjoi feast dai upper class fish meat foul salt dri cook stew roast grill music danc popular entertain afford earli instrument includ flute harp instrument similar trumpet obo pipe develop popular kingdom egyptian plai bell cymbal tambourin drum import lute lyre asia digit egypt univers univers colleg london retriev march sistrum music instrument import religi ceremoni ancient egyptian enjoi varieti leisur activ includ game music senet board game piec move random chanc popular earliest time similar game mehen circular game board juggl ball game popular children wrestl document tomb beni hasan wealthi member ancient egyptian societi enjoi hunt boat hatshepsut kingdom templ dier architectur architectur ancient egypt includ famou structur world great pyramid giza abu simbel templ thebe major build project organ fund state fulfil religi militari commemor purpos reinforc power reput pharaoh ensur legaci time ancient egyptian skill builder expert knowledg basic survei construct techniqu simpl effect measur rope plum bob sight instrument architect build larg stone structur accuraci precis clark build ancient egypt construct perish materi mud brick wood surviv import structur templ tomb intend construct stone larg scale stone build world mortuari complex djoser built dynasti stone imit mud-brick wooden structur daili life clark karnak templ hypostyl hall construct row thick column support roof beam architectur element djoser mortuari complex includ post lintel construct huge stone roof block support extern wall close space column copi time egyptian histori decor style introduc kingdom lotu papyru motif recur theme ancient egyptian architectur earliest tomb architectur ancient egypt mastaba flat-roof rectangular structur mudbrick stone built underground burial chamber mastaba popular tomb nobil kingdom pyramid step pyramid djoser seri stone mastaba stack top step pyramid inspir true pyramid pyramid built pharaoh middl kingdom ruler abandon favor conspicu rock-cut tomb dodson kingdom pharaoh built rock-cut tomb vallei king intermedi period pharaoh abandon build grand tomb architectur altogeth earliest preserv ancient egyptian templ date kingdom consist singl enclos hall roof slab support column mortuari templ connect pyramid giza exampl earli templ dynasti pharaoh develop sun templ focu squat pyramid-shap obelisk stone stone templ structur surround outer wall connect nile causewai termin vallei templ kingdom architect ad pylon open courtyard enclos hypostyl hall front templ sanctuari common peopl allow entri pylon deiti resid sanctuari distanc world type cult templ standardli ptolema roman period digit egypt univers univers colleg london retriev march art bust nefert sculptor thutmos famou masterpiec ancient egyptian art ancient egyptian produc art serv function purpos express creativ geniu year artist adher artist form develop kingdom strict set principl resist foreign influenc intern chang robin artist standard simpl line shape flat area color combin characterist flat project figur indic spatial depth creat sens order balanc composit ancient egyptian distinct imag text intim interwoven tomb templ wall coffin stela statu mental evid earliest exampl egyptian art narmer palett figur depict read hieroglyph robin rigid rule govern highli styliz symbol appear ancient egyptian art serv polit religi purpos precis clariti robin pharaoh relief carv stela templ wall obelisk record victori battl royal decre religi scene art form glorifi pharaoh record ruler version histor event establish relationship egyptian deiti common citizen access piec funerari art shabti statu book dead believ protect afterlif jame middl kingdom wooden clai model depict scene everydai life popular addit tomb attempt duplic activ live afterlif model show labor hous boat militari format scale represent ideal ancient egyptian afterlif robinson turbul time late period artist patron sought reinforc continu histor predecessor enhanc polit legitimaci adopt style robin copi uniqu style kingdom artist carv statu relief indistinguish object creat thousand year earlier sait style pose hairstyl musculatur composit heavili influenc artist room innov adapt histor theme pattern late period robin homogen ancient egyptian art style time place reflect chang cultur polit attitud invas hykso intermedi period minoan style fresco avari suggest polit cultur connect crete shaw strike amarna period appear royal figur artist subject matter radic alter conform akhenaten revolutionari religi idea robin amarna art pharaoh depict swell thigh oblong head shock contrast tradit motif secur explan akhenaten allow portrai fashion show male femal characterist standard religi scene replac royal famili worship aten akhenaten central focu religion akhenaten death art form religion quickli eras replac tradit form robin religi belief book dead guid deceas journei afterlif belief divin afterlif ingrain ancient egyptian civil incept pharaon rule base doctrin divin king egyptian pantheon popul divers arrai god supernatur limit power call protect god view benevol egyptian believ appeas offer prayer structur pantheon chang continu deiti promot hierarchi priest effort organ divers conflict creation myth stori coher system jame offici god worship cult templ priest act king behalf center templ cult statu god shrine god manifest templ place public worship congreg select feast dai celebr shrine carri statu god brought public worship god domain seal world access templ offici common citizen seek direct interact god worship privat statu stela home amulet offer continu person protect forc chao jame andrew ka statu physic place ka manifest kingdom pharaoh connect divin role spiritu intermediari de-emphas religi custom shift direct worship god result priest develop system oracl commun god peopl shaw oracl statu god ask question respond hidden manipul priest priest pose question oracl close door oracl popular appeal legal verdict justifi militari action polit decis shaw egyptian believ human compos physic spiritu part call aspect addit bodi person shadow ba person soul ka life-forc allen heart brain consid seat thought emot death spiritu aspect releas bodi move requir physic remain substitut statu perman home ultim goal deceas rejoin ka ba bless dead live akh effect order happen deceas judg worthi trial heart weigh feather truth deem worthi deceas continu exist earth spiritu form wasserman al burial custom anubi ancient egyptian god mummif burial ritual attend mummi ancient egyptian maintain elabor set burial custom believ ensur immort death custom involv preserv bodi mummif perform burial ceremoni inter bodi good deceas afterlif jame kingdom bodi buri desert pit natur preserv desicc arid desert condit continu boon histori ancient egypt burial poor afford elabor burial prepar elit wealthier egyptian lost advantag natur mummif desert began buri dead stone tomb result wealthi elit middl kingdom began artifici mummif involv remov intern organ wrap bodi linen coat plaster resin paint sculpt facial detail bodi buri rectangular stone sarcophagu wooden coffin begin fourth dynasti intestin lung liver stomach preserv separ canop jar symbol protect like son horu digit egypt univers univers colleg london retriev march tomb vast quantiti wealth golden mask mummi tutankhamun kingdom ancient egyptian perfect art mummif techniqu dai involv remov intern organ remov brain nose desicc bodi mixtur salt call natron bodi wrap linen protect amulet insert layer decor anthropoid coffin mummi late period paint mummi case actual preserv practic declin ptolema roman era greater emphasi outer appear mummi decor elabor rhomboid pattern form wrap bandag digit egypt univers univers colleg london retriev march wealthi member societi buri larger quantiti luxuri item furnitur burial social statu includ good deceas food jewelri begin kingdom book dead includ grave contain spell instruct protect afterlif kingdom egyptian buri shabti statu believ perform manual labor afterlif digit egypt univers univers colleg london retriev march egyptian burial accompani ritual deceas magic re-anim procedur involv touch mouth ey deceas ceremoni instrument restor power speech movement sight burial live rel expect occasion bring food tomb recit prayer behalf deceas jame foreign relat trade ancient egyptian engag trade foreign neighbor obtain rare exot good egypt predynast period establish trade nubia obtain gold incens establish trade palestin evidenc oil jug burial dynasti pharaoh shaw dynasti ancient egyptian establish trade byblo critic sourc qualiti timber egypt dynasti trade establish land punt gold aromat resin eboni ivori wild anim monkei baboon shaw egypt reli trade anatolia essenti quantiti tin supplementari suppli copper metal manufactur bronz ancient egyptian prize blue stone lapi lazuli import far-awai afghanistan egypt mediterranean trade partner includ greec crete good suppli oliv oil exchang luxuri import raw materi egypt export grain gold linen papyru addit finish good includ glass stone object harri militari wooden figur egyptian soldier tomb dynasti ancient egyptian militari respons maintain egypt domin ancient east militari protect mine expedit sinai kingdom fought civil war intermedi period militari respons maintain fortif import trade rout citi buhen nubia fort construct serv militari base fortress sile base oper expedit levant kingdom seri pharaoh stand egyptian armi attack conquer kush part levant shaw typic militari equip includ bow arrow spear round-top shield stretch anim skin wooden frame kingdom militari began chariot introduc hykso invad intermedi period weapon armor continu improv adopt bronz shield solid wood bronz buckl spear tip bronz point type scimitar bronz khopesh adopt asian soldier egyptian pharaoh depict art literatur ride head armi evid pharaoh seqenenr tao ii son fact clayton soldier recruit gener popul kingdom mercenari nubia kush libya hire fight egypt command offic shaw technolog medicin mathemat technolog medicin mathemat ancient egypt achiev high standard product sophist tradit empiric evidenc edwin smith eber papyri circa bc credit egypt root scientif method trace ancient egyptian egyptian creat alphabet decim system unclear due margin error carbon-d test egyptian o'connor robertson school mathemat statist univers st andrew scotland retriev march glassmak highli develop art faienc glass kingdom ancient egyptian develop glassi materi faienc treat type artif semi-preci stone faienc ceram silica small amount lime soda color typic copper nicholson materi bead tile figurin small ware method creat faienc typic product involv applic powder materi form past clai core fire relat techniqu ancient egyptian produc pigment egyptian blue call blue frit produc fuse sinter silica copper lime alkali natron product ground pigment nicholson ancient egyptian fabric wide varieti object glass great skill clear develop process independ nicholson clear raw glass import pre-mad ingot melt finish technic expertis make kind object ad trace element control color finish glass rang color produc includ yellow red green blue purpl white glass transpar opaqu nicholson medicin wood leather prosthet toe ampute facilit walk medic problem ancient egyptian stem environ live work close nile brought hazard malaria debilit schistosomiasi parasit caus liver intestin damag danger wildlif crocodil hippo common threat life-long labor farm build put stress spine joint traumat injuri construct warfar signific toll ancient egyptian grit sand stone-ground flour abrad teeth leav suscept cari rare filer diet wealthi rich sugar promot periodont diseas filer flatter physiqu portrai tomb wall overweight mummi upper class show effect life overindulg filer life expect men women reach adulthood difficult one-third popul di infanc filer ancient egyptian physician renown ancient east heal skill filer medic papyri show perform examin treat patient combin prayer protect amulet remedi deriv natur product wound treat bandag raw meat honei prevent infect opium reliev pain garlic onion regularli promot good health thought reliev asthma symptom ancient egyptian surgeon stitch wound set broken bone amput diseas limb recogn injuri patient comfort di retriev march mathemat text rhind mathemat papyru berlin papyru show ancient egyptian perform basic mathemat oper addit subtract multipl divis fraction comput volum box pyramid calcul surfac area rectangl triangl circl sphere understood basic concept algebra geometri solv simpl set simultan equat clark mathemat practic purpos calcul food ration build suppli labor forc project mathemat notat decim base hieroglyph sign power ten million symbol written time add desir number write number symbol ten written time clark ancient egyptian method calcul handl fraction numer greater type fraction written sum fraction fraction resolv sum convers facilit standard tabl valu clark ancient egyptian concept pi effort calcul approxim area circl simpl formula subtract diamet squar result modern notat express area jurgensen al addition golden ratio reflect egyptian construct includ pyramid truman state univers retriev march unintend consequ ancient egyptian practic combin knot rope intuit sens proport harmoni kemp legaci rediscoveri cultur monument ancient egypt left last legaci world cult goddess isi popular roman empir obelisk relic transport rome siliotti roman import build materi egypt erect structur egyptian style earli historian herodotu strabo diodoru siculu plini elder fascin egypt studi wrote land view place full arcan mysteri ruin monument siliotti tradit establish egypt disband earli christian authent knowledg egyptian histori displac second-hand account invent stori tourist treasure-seek siliotti zahi hawass current secretari gener suprem council antiqu interest egypt re-awaken european travel centuri brought antiqu wrote stori journei publish account stimul wave egyptomania swept europ egyptian vogu renew interest surg travel museum collector egypt purchas import antiqu siliotti greedi motiv collector destroi signific portion countri histor legaci foreign nobl motiv napoleon arrang scientif studi egyptolog brought scientist artist studi document egypt natur histori publish descript de work page draw siliotti decipher hieroglyph allow histori ancient egypt written word rediscov understood centuri egyptian govern archaeologist alik begun recogn import cultur respect integr excav suprem council antiqu approv overse excav aim find inform treasur council supervis museum monument reconstruct program design preserv share histor legaci ancient egypt +analog brother experiment rap crew featur ic oscil ic keyboard drum vocal keith korg kool keith bass string vocal mark moog marc live drum vocal silver synth black silver synthes lazar bell vocal rex roland pimp rex keyboard vocal product cd pimp eat featur guest appear member rhyme syndic odd oberheim jacki jasper appear jacki jasper song sleep dai h-bomb war cisco sister teflon album analog brother bootleg live concert perform includ freestyl origin lyric occasion surfac onlin pimp eat analog brother continu perform line up kool keith marc live join jacki jasper releas album khm marc live rap ic group smg marc form group black silver call live black track releas demo cd sold concert live black album releas addit analog brother continu frequent appear solo album discographi singl pimp eat ground control nu +motor neuron diseas motor neuron diseas mnd group progress neurolog disord destroi motor neuron cell control voluntari muscl activ speak walk breath swallow form form motor neuron diseas includ ic later sclerosi al call lou gehrig diseas primari later sclerosi pl progress muscular atrophi pma bulbar gpnotebook pseudobulbar palsi spastic progress bulbar palsi spastic flaccid spinal muscular atrophi sma consid form mnd terminolog articl mnd refer group diseas affect motor neuron unit state term al commonli lou gehrig diseas basebal player previous neurologist centuri jean-martin charcot french neurologist suggest group number dispar condit affect later horn spinal cord franc diseas maladi de charcot charcot diseas refer direct translat al scleros lateral iqu sla prevent confus annual scientif research confer dedic studi mnd call intern al mnd symposium sign symptom neurolog examin present specif sign upper motor neuron degener sign upper motor neuron damag includ spastic brisk reflex babinski sign sign motor neuron damag includ weak muscl atrophi note muscl group bodi requir upper motor neuron function common misconcept upper motor neuron control arm motor neuron control leg sign occur muscl group includ arm leg torso bulbar region symptom present ag includ progress weak muscl wast muscl fascicul spastic stiff arm leg overact tendon reflex patient present symptom divers drag foot unilater muscl wast hand slur speech symptom resembl number rare diseas mnd mimic disord includ limit multifoc motor neuropathi kennedi diseas hereditari spastic paraplegia spinal muscular atrophi y small subset famili mnd case occur children juvenil al madra syndrom individu inherit al gene typic refer mnd specif name diagnosi diagnosi mnd clinic establish neurologist basi histori neurolog examin diagnost test mnd investig blood test electromyographi emg magnet reson imag mri genet test rule disord mimic mnd diagnosi mnd remain clinic exclud diseas rapid progress symptom strong diagnost factor individu progress plateau improv set diagnost criteria call el escori criteria brook br el escori world feder neurolog criteria diagnosi ic later sclerosi subcommitte motor neuron diseas ic later sclerosi world feder neurolog research group neuromuscular diseas el escori clinic limit ic later sclerosi workshop contributor neurol sci suppl pmid retriev june defin world feder neurologist research inclus exclus criteria clinic trial ow lack clinic diagnost criteria neurologist el escori criteria diagnost process strictli speak function creep question appropri criteria clinic set jm al diagnost criteria el escori revisit meet clinician research later motor neuron disord suppl pmid mnd presenc upper motor neuron degener al ill affect upper motor neuron pl ill affect motor neuron pma progress bulbar palsi degener motor neuron innerv bulbar region mouth face throat pseudobulbar palsi refer degener upper motor neuron region transcrani magnet stimul diagnos mnd time retriev decemb prognosi case mnd progress quickli notic declin occur month symptom present region typic spread restrict side bodi progress region side bodi progress region year patient requir carri activ daili live care feed transport mnd typic fatal year die month diagnosi remain necessarili die month distribut significantli skew rough estim patient surviv year patient surviv year professor stephen hawk well-known person mnd live year diseas mortal result control diaphragm impair abil breath lost except pl year typic ag onset effect leav pl patient normal life span pl progress al decad patholog case mnd sporad mean patient famili histori al case appear occur genet factor suspect import determin individu suscept diseas weak evid suggest onset trigger unknown environment factor approxim case famili mnd defin famili histori mnd test posit genet mutat diseas gene link al cu zn superoxid dismutas small number case vesicl protein sod mutat account famili mnd case sod gene code enzym superoxid dismutas free radic scaveng reduc oxid stress cell bodi mutat sod gene form al north america commonli occur mutat av occur sod case peopl scandinavian extract benign mutat call da slow progress futur research concentr identifi genet mutat clinic syndrom famili mnd confer higher risk develop cognit frontotempor dementia execut dysfunct chang thought sod mutat confer toxic gain loss function enzym sod mutat increas propens enzym form protein aggreg toxic nerv cell pathophysiolog skelet muscl innerv group neuron motor neuron locat ventral horn spinal cord project ventral root muscl cell nerv cell innerv corticospin tract upper motor neuron project motor cortex brain macroscop patholog degener ventral horn spinal cord atrophi ventral root brain atrophi present frontal tempor lobe microscop examin neuron show presenc astrocyt number inclus includ characterist inclus bodi role excitotox oxid stress secondari mitochondri dysfunct anim model death apoptosi identifi emot labil pseudobulbar affect mnd patient experi labil affect emot labil pseudobulbar affect patholog laughter cry patient pseudobulbar palsi affect patient pl chang mnd cognit chang occur patient small proport exhibit form frontotempor dementia characteris behaviour abnorm disinhibit apathi person small proport patient suffer aphasia difficulti name specif object larger proport suffer milder version cognit chang primarili affect execut function briefli abil individu initi inhibit sustain switch attent involv organis complex task smaller compon patient find unabl famili financ drive car depress surprisingli rare mnd rel frequenc sever neurolog disord multipl sclerosi parkinson diseas epilepsi depress necessarili increas symptom progress fact patient report happi qualiti life profound disabl reflect cope strategi reevalu import life tradition thought affect motor system sensori abnorm necessarili absent patient find alter sensat touch heat patient patient predominantli upper motor neuron syndrom pl report enhanc startl reflex loud nois neuroimag neuropatholog demonstr frontal lobe includ inferior frontal gyru superior frontal gyru anterior cingul cortex superior tempor gyru degre patholog area relat degre cognit chang experienc patient patient mnd dementia shown exhibit mark frontotempor lobe atrophi reveal mri spect neuroimag epidemiolog incid mnd approxim peopl men slightli higher incid rate women approxim case diagnos year greatest risk factor ag symptom typic present ag case ag year call young onset mnd incid rate tail ag tent environment risk factor identifi includ exposur sever electr shock lead coma serv gulf war plai profession associ footbal find firmli identifi research need hot spot mnd world kii peninsula japan tribal popul papua guinea chamorro inhabit island guam pacif ocean increas risk develop form mnd guamanian complex incid rate declin year averag ag onset increas ware al incid ic later sclerosi complex guam put theori involv neurotoxin tradit diet includ cycad nut flour bat eaten cycad nut retriev june miller scienc pmid treatment cure al drug affect diseas riluzol drug function block effect neurotransmitt glutam thought extend lifespan al patient month lack effect medic slow progress al patient al medic care treatment patient al focus relief symptom diseas involv varieti health profession includ neurologist speech-languag pathologist physic therapist occup therapist dietician respiratori therapist social worker palli care specialist specialist nurs psychologist list neurolog clinic special care patient al world feder neurolog websit research effort search drug slow mnd progress research mous model suggest minocyclin common antibiot effect extend lifespan mnd suffer zhu ig al minocyclin inhibit cytochrom releas delai progress ic later sclerosi mice natur pmid van den bosch lemmen minocyclin delai diseas onset mortal transgen model al neuroreport pmid kriz nguyen md julien jp minocyclin slow diseas progress mous model ic later sclerosi neurobiol di pmid drug pass clinic trial al patient gener treatment mnd minocyclin extend lifespan mnd mice sod mutat prevent eventu death agent trial includ ceftriaxon coenzym etymolog ic greek languag mean myo refer muscl trophic mean nourish ic mean muscl nourish describ characterist suffer disus muscl tissu later identifi area person spinal cord portion nerv cell affect locat area degener lead scar harden sclerosi region +letter phoenician abjad left abjad type write system symbol stand conson reader suppli vowel term suggest peter daniel daniel peter al ed world write system oxford replac common term consonant alphabet syllabari refer famili script call west semit linguist west semit write type alphabet classifi separ write system view unusu sort syllabari popular usag abjad word alphabet name phoenician alphabet arab alphabet formul daniel abjad differ alphabet conson vowel repres basic graphem abjad differ categori invent daniel abugida abjad vowel sound impli phonolog vowel mark exist system hebrew arab option domin liter form abugida vowel inher vowel mark diacrit minor attach letter standalon glyph abugida special symbol suppress inher vowel conson properli repres syllabari graphem denot complet syllabl lone vowel sound combin vowel sound conson sound etymolog system take arab word alphabet letter arab alphabet older abjadi order english word alphabet name letter greek alphabet alpha beta origin specimen proto-sinait script phrase mean line run upper left read mt abjad belong semit famili script script thought deriv proto-sinait alphabet date bc thought deriv egyptian hieroglyph abjad significantli simpler earlier hieroglyph number distinct glyph reduc tremend cost increas ambigu abjad gain widespread usag phoenician abjad contemporari script cuneiform egyptian hieroglyph phoenician script consist dozen symbol script easi learn phoenician seafar merchant script phoenician gave number write system includ greek alphabet true alphabet arama wide abjad greek evolv modern western alphabet latin cyril arama ancestor modern abjad abugida asia arama spread asia reach india brahmi ancestr abugida modern indian southeast asian script middl east arama gave rise hebrew nabatean abjad retain arama letter form syriac script cursiv variat arama unclear arab abjad deriv nabatean syriac connect number modern abjad isopsephi system assign numer valu individu letter develop posit number system regular system write number languag relationship word number creat system led poetic mystic usag impur abjad arab script impur abjad text read lit arab impur abjad charact vowel option vowel diacrit term pure abjad refer script lack vowel indic modern abjad arab hebrew arama avestan impur abjad symbol vowel phonem pure abjad ancient phoenician addit vowel centuri bc greek adapt phoenician script languag phonet structur greek languag creat ambigu vowel unrepres script modifi letter guttur sound repres aleph heth ayin symbol assign vocal valu letter waw yod greek alphabet world true alphabet abugida develop slightli rout basic consonant symbol consid inher vowel sound hook short line attach part basic letter modifi vowel south arabian alphabet evolv ge'ez alphabet centuri bc centuri ad similarli centuri bc script develop arama abjad abjad principl abjad form write well-adapt grammat structur languag write word languag form root consist conson vowel inflect deriv form instanc arab root sacrific deriv form sacrif masculin singular sacrif slaughter slaughter slaughterhous relat concept non-semit languag english theoret written vowel difficult word interpret context european languag lose grammat inform gender case number fact offens languag practic note +inscript swampi cree canadian aborigin syllab abugida develop christian missionari aborigin canadian languag abugida segment write system letter basic charact repres conson accompani specif vowel vowel modif conson sign mean diacrit chang form conson abugida absenc vowel overtli write system world includ extens brahmic system indo-aryan languag abugida term abugida ge'ez fidel script deriv letter bet base ancestr west semit charact order order correspond greek alphabet order word alphabet deriv greek name letter alpha beta ge'ez term abugida adopt english linguist term peter daniel abugida contrast syllabari symbol conson vowel common show resembl contrast alphabet proper independ letter denot conson vowel formal abugida alphabet proper refer alphabet abugida syllabari semi-syllabari descript centuri manuscript devanagari script princip famili abugida function differ brahmic famili india southeast asia vowel mark diacrit syllable-fin conson occur ligatur diacrit special mark ethiop famili vowel mark modifi shape conson pull doubl duti final conson cree famili vowel mark rotat flip conson final conson special diacrit superscript form main initi conson indic abugida contrast vowel mark diacrit conson overtli mark conson lack vowel diacrit default vowel understood vowel diacrit left conson surround brahmic script syllabl begin cluster treat singl charact purpos vowel mark vowel marker fall charact modifi posit place pronounc game cricket hindi diacrit appear conson cluster kr unusu batak alphabet syllabl bim written vowel diacrit written conson syllabl abugida diacrit suppress inher vowel yield bare conson devanagari call sanskrit hindi form conson cluster conson occur word text inform process comput mean express function includ special conjunct form conson charact merg express cluster devanagari kla note font displai form conjunct expedi iscii south asian script unicod close syllabl kal requir akshara write ethiop gave word abugida diacrit fuse conson point consid modif form letter children learn modif separ syllabari graphic similar syllabl conson readili appar case true syllabari famili abugida canadian aborigin syllab vowel chang orient akshara inuktitut pi pu pa ti tu ta canadian syllab distinguish basic default vowel indic abugida bare conson separ rais letter superscript version akshara mark róng script lepcha languag indic abugida singl akshara repres close syllabl vowel final conson diacrit syllabl sok written repres overcross repres diacrit final indic abugida limit set final conson diacrit exampl ge'ez script abugida ethiopia exampl abugida includ script brahmic famili ethiop ge'ez canadian aborigin syllab typic abugida devanagari hindi written basic sign repres conson unmodifi letter repres syllabl ka mark symbol so-cal inher vowel vowel chang ad vowel mark diacrit basic charact produc syllabl begin ki ku ke ko diacrit appli conson charact syllabl la form li lu le lo conson inher mark vowel call akshara abugida ge'ez alphabet abjad centuri ad ge'ez abugida form letter alter basic form hu right-sid diacrit alter letter compress letter fidel occupi amount space letter modifi kink left arm special featur hmong script repres conson vowel full letter graphic order pronounc consonant-vowel vowel indic abugida hmong unusu inher vowel au unwritten inher conson syllabl kau requir inher sound overt au written akshara appear vowel inher conson difficult draw divid line abugida segment script meroit script ancient sudan inher symbol stood ma similar brahmic famili abugida vowel full letter diacrit modif system essenti alphabet bother write common vowel thaana abugida vowel mark diacrit vowel mark absenc vowel inher vowel letter occur diacrit equival abjad obligatori vowel mark arab alphabet kurdish iraq essenti alphabet note develop popul liter abugida languag system shorthand diacrit vowel inher vowel similar thaana kurdish brahmic script gabelsberg shorthand system deriv modifi conson repres vowel pollard script base shorthand diacrit vowel placement vowel rel conson tone evolut script ashoka major rock edict girnar term suggest abugida consid intermedi step alphabet syllabari histor abugida evolv abjad alphabet contrast syllabari distinct symbol syllabl consonant-vowel combin systemat similar typic develop logograph script compar devanagari exampl set syllabl japanes hiragana syllabari ka ki ku ke ko common ra ri ru ro common vowel set indian indochines abugida evolv abjad script abjad question consid arama link arama kharosthi undisput case brahmi kharosthi famili surviv todai brahmi descend includ modern script south southeast asia ge'ez deriv abjad theori evolut abugida influenc christian missionari india type write system abjad alphabet logogram syllabari partial list abugida true abugida brahmic famili descend centuri bc ahom balines balti batak baybayin pre-coloni script tagalog philippin languag bengali script india bugi makassar buhid mangyan mindoro philippin burmes chalukya cham chola devanagari write nepali sanskrit pali modern hindi marathi dehong dai grantha gujarati gurmukhi script script mangyan mindoro philippin javanes script kadamba kaithi kannada khmer lanna lepcha limbu lao spell reform malayalam manipuri modi write marathi oriya kawi progenitor indonesian philippin script pallavi creat kublai khan yuan china ranjana sharda siddham write sanskrit sinhala soyombo nagri tagbanwa palawan philippin tai dam tamil telugu thai tibetan write maithili tocharian extinct varang vatteluttu aka script extinct centuri bc ge'ez ethiop centuri ad canadian aborigin syllab syllab inuktitut syllab blackfoot syllab carrier syllab script meroit extinct thaana pitman shorthand pollard script +abba swedish edison award eurovis win pop danc group activ quartet form friendship benni andersson björn ulvaeu consist anni-frid lyngstad agnetha fältskog band member time marri top chart worldwid mid- earli abba acronym form letter group member www retriev januari abba enjoi immens intern popular emploi catchi song hook simpl lyric wall sound achiev overdub femal voic multipl harmoni popular grew sought tour europ australia north america met critic uneven live perform continu releas studio album great commerci success height popular marriag band member fail relationship reflect music produc thought lyric composit remain fixtur radio playlist world sell band sold million record world wide jean-mari august access decemb claim million record sold sherwin adam time april access decemb claim million abba pop group mainland europ enjoi consist success chart english-speak countri unit kingdom unit state canada ireland south africa australia zealand enorm popular subsequ open door continent european act palm carl magnu page music abba re-arrang success music mamma mia tour worldwid product movi version releas abba benni andersson member popular swedish pop-rock group perform cover intern hit name hep star ag plai keyboard eventu start write origin composit band major hit includ respons hit sunni girl wed consol hit palm carl magnu page andersson fruit songwrit collabor lass berghagen compos svensktoppen entri sagan om lilla sofi björn ulvaeu began music career front hootenanni singer popular swedish group ulvaeu start write english languag song group solo career hootenanni singer hep star cross path tour occas june ulvaeu andersson decid write song attempt isn't easi song record hep star stig anderson manag hootenanni singer founder polar music label potenti collabor encourag compos began plai occasion band stage record pair write produc real hit ljuva record brita borg hep hit andersson wrote submit song hej clown melodifestivalen swedish eurovis song contest final song ti releg andersson song place palm carl magnu page occas andersson briefli met futur spous singer anni-frid lyngstad particip contest month coupl band began break andersson ulvaeu team eventu record album call happi swedish includ origin composit sung men ulvaeu occasion record perform hootenanni singer summer andersson part produc record agnetha fältskog record sweden note critic songwrit talent singer songwrit schlager style song fältskog main inspir earli year singer conni franci composit record cover foreign hit perform tour swedish s submit origin song melodifestivalen year titl reject briefli met anni-frid lyngstad time tv show januari björn ulvaeu concert venu month film swedish tv special fältskog met ulvaeu eventu romant involv marri fältskog ulvaeu eventu involv record session palm carl magnu page andersson lyngstad ad back vocal album som jag fältskog star mari magdalen origin swedish product jesu christ superstar attract favour review fältskog releas studio album palm carl magnu page anni-frid frida lyngstad sang ag thirteen danc band work jazz-ori cabaret style form band name anni-frid summer won nation talent competit song en ledig dag includ emi compil frida prize perform live popular tv show sweden includ record contract emi tv perform includ frida dvd lyngstad releas singl emi hit swedish chart benni andersson start produc record singl min egen stad town futur abba member sang backup vocal lyngstad tour perform regularli circuit appear radio met björn ulvaeu briefli talent contest agnetha fältskog tv show earli lyngstad final link futur bandmat march particip melodifestivalen met andersson time week met concert tour southern sweden coupl andersson produc singl peter pan septemb collabor benni björn written song andersson produc lyngstad debut album frida releas march prais critic lyngstad plai revu cabaret show stockholm abba form record success album frida ensam includ origin swedish rendit fernando huge hit scandinavia english version record palm carl magnu page live perform start attempt combin talent occur april coupl holidai island cypru start sing fun beach end improvis live perform front unit nation soldier station island andersson ulvaeu time record album releas septemb fältskog lyngstad ad back vocal track june idea work launch stage act translat swedish parti peopl engag coupl novemb gothenburg cabaret show attract posit review foursom perform andersson ulvaeu hit hej gaml man record credit solo number respect album foursom feel work concentr individu project record hej gaml man hej gaml man foursom hit reach sale chart svensktoppen stai week artist work ad vocal record fältskog andersson ulvaeu tour lyngstad tour frequent record session brought foursom tighter summer palm carl magnu page form group releas andersson album singl releas sweden det kan ingen doktor om jorden vore ung promin vocal fältskog lyngstad moder chart success fältskog releas fourth album marri ulvaeu juli andersson ulvaeu fältskog start perform regular basi summer stig anderson founder owner polar determin break mainstream intern market music andersson ulvaeu dai pair write song worldwid hit predict palm carl magnu page stig encourag ulvaeu andersson write song melodifestivalen reject entri palm carl magnu page andersson ulvaeu submit song säg det med en sång song contest chose newcom lena anderson perform song won place encourag stig huge hit sweden palm carl magnu page sign foreign success surpris andersson ulvaeu singl kind girl releas chanc epic japan march give duo top hit singl releas japan merry-go-round love wai palm carl magnu page hit ulvaeu andersson persev songwrit experi sound vocal arrang peopl love releas june featur guest vocal women greater promin stig anderson releas singl credit björn benni agnetha anni-frid song reach swedish combin singl album chart convinc palm carl magnu page singl record chart quartet unit state peak cashbox singl chart record world singl chart bill björn benni svenska flicka releas playboi record stig anderson peopl love bigger american hit small label playboi record distribut resourc meet demand singl retail radio programm interview songwrit magazin foursom decid record album session began septemb women share lead vocal nina pretti ballerina voic combin harmoni time gave idea qualiti combin talent ring ring band manag stig anderson decid melodifestivalen time song ring ring studio session handl michael tretow experi wall sound product techniqu wholli abba sound anderson arrang english translat lyric neil sedaka phil codi thought surefir winner melodifestivalen februari reach intern contest put album call ring ring album ring ring singl hit part europ stig anderson felt true breakthrough uk hit palm carl magnu page offici name spring stig anderson tire unwieldi name start refer group privat publicli abba pun abba well-known compani sweden fish canner unknown sweden anderson work intern market competit find suitabl group held gothenburg newspap group impress name alibaba baba entri announc summer abba offici group negoti canner palm carl magnu page abba acronym form letter group member agnetha björn benni anni-frid frida logo version revers band promot materi onward group regist trademark time written paper record session sheet metronom studio stockholm date octob written björn benni agnetha frida subsequ cross abba written larg letter top breakthrough eurovis victori abba perform waterloo melodifestivalen ulvaeu andersson manag stig anderson believ possibl melodifestivalen eurovis tv contest music busi awar band andersson ulvaeu stig compos late invit swedish televis contribut song contest number newli written composit foursom chose upbeat waterloo group inspir grow glam rock scene england waterloo unashamedli pop track produc michael tretow wall-of-sound approach abba won nation heat swedish tv februari attempt experienc prepar intern contest album worth materi releas show held brighton dome england april song won catapult british conscious time top chart europ palm carl magnu page win eurovis song contest gave abba chanc tour europ perform major tv show band waterloo singl climb chart european countri waterloo abba uk singl reach billboard hot chart pave album album waterloo peak billboard album chart abba follow-up singl honei honei reach top hit germani uk cover version song act sweet dream abba british record compani epic decid re-releas remix version ring ring fail reach top increas grow specul group simpli eurovis one-hit wonder tour novemb abba embark european tour plai date denmark west germani austria wasn't success band hope venu didn't sell due lack demand forc cancel show includ sole schedul concert switzerland leg tour scandinavia januari plai full hous final recept hope week summer abba compens plan swedish tour forc cancel eurovis triumph plai sixteen open-air date sweden finland attract huge crowd stockholm show gröna lund amus park estim audienc palm carl magnu page recept australia releas album abba fan limo album singl so brought presenc uk singl hit album reach huge success solidifi mamma mia reach spot uk januari so reach record world top singl chart billboard hot chart pick bmi award plai song american radio success group unit state remain uneven manag break singl market earli top singl album market prove tough crack eponym abba album gener real american hit peak cashbox album chart billboard chart opinion voic creem abba endur sloppi promot campaign australia air video mamma mia nationwid tv august start immens interest abba result posit singl album chart month compil album biggest sell album australia sell million copi spend week saturdai march pm australian tv channel broadcast abba film group visit week transmiss popul watch percent viewer contemporari report record previous held moon land record remain unbeaten palm carl magnu page superstardom march band releas compil greatest hit top hit uk uk album abba top album chart time eventu sell million copi includ greatest hit singl fernando song written ulvaeu andersson swedish lyngstad solo album frida ensam frida lyngstad major success song scandinavia group decid record english version fernando hit twelv countri worldwid occupi top posit australia week equal beatl longest number hei jude make best-sel singl time countri year group receiv intern prize fernando chosen studio record fernando reach top cashbox top singl chart billboard hot top billboard adult contemporari chart abba american number singl kind group album arriv repres level accomplish songwrit studio work prompt rave review rock-orient uk music weekli melodi maker music express appreci notic american critic fact hit hit flow arriv monei monei monei know know danc queen arriv nomin inaugur brit award categori intern album year time abba popular uk western europ australia popular remain compar smaller scale danc queen billboard hot singl abba singl posit billboard chart includ billboard adult contemporari hot danc club plai arriv final true breakthrough releas abba album market peak billboard album chart reach platinum sale european australian tour januari abba hit road group statu chang dramat regard superstar open anticip tour oslo norwai januari mount lavishli produc spectacl includ scene self-pen concert attract immens media attent europ australia continu tour western europ visit gothenburg copenhagen berlin cologn amsterdam antwerp essen hanov hamburg end show uk manchest birmingham glasgow sold-out concert london royal albert hall ticket show mail applic reveal box-offic receiv million request ticket fill venu time complaint group perform lack intrigu qualiti stage present studio articl time accus show bore william richard februari perform abba albert hall sundai time london royal albert hall concert film record intent televis special european leg tour march abba plai eleven date australia total peopl open concert sydnei sydnei showground march mar torrenti rain fältskog slip wet stage concert member recal concert memor career arriv melbourn civic recept held town hall abba appear balconi greet enthusiast crowd peopl melbourn abba plai concert sidnei myer music bowl includ australian prime minist melbourn concert addit peopl gather fenced-off area listen concert adelaid group perform concert west lake footbal stadium record-break peopl listen concert perth bomb scare evacu concert hall trip accompani mass hysteria unpreced media attent vividli captur film abba movi direct lass hallström australian tour subsequ abba movi produc abba lore agnetha fältskog blond good long band role disdain australian tour perform skin-tight white jumpsuit caus australian newspap headlin agnetha bottom top dull show ask new confer repli don't bottom australia dvd documentari winner take super trouper decemb abba arriv music lyric ambiti album album releas coincid abba movi album well-receiv critic uk spawn worldwid hit game chanc top uk chart reach billboard hot chart chanc top american chart prove abba biggest hit singl unit state sell copi danc queen palm carl magnu page album includ abba signatur tune music releas singl uk b-side eagl countri releas polar music studio format abba convert vacant theatr polar music studio state-of-the-art studio stockholm studio band notabl duke led zeppelin door record group huge promot campaign perform olivia newton-john tv show lot effort put record studio stockholm record session summer night citi uphil struggl releas song signific hit group track set stage abba forai disco upcom album palm carl magnu page januari group perform chiquitita music unicef concert held unit nation gener assembl celebr unicef year child abba donat copyright worldwid hit unicef music unicef concert bee gee olivia hit vip januari courier mail brisban singl releas week reach ten countri expens success mid-januari ulvaeu fältskog announc divorc new caus massiv interest media led specul band futur abba assur press fanbas continu work group divorc affect abba divorc agnetha move januari sun sydnei media continu confront interview group sixth album voulez-v releas april background track record famou criteria studio miami assist record engin tom dowd album top chart europ japan mexico hit top canada australia top singl album reach uk chart chiquitita mother angeley doubl a-sid uk singl voulez-v dream chart canada dream abba rpm adult contemporari chart fernando hit top previous year group releas compil album greatest hit featur brand track gimm gimm gimm man midnight russia late paid oil commod embargo rubl rodger peter march pop abba oil gambl abba lose enorm amount monei ventur oil market sundai time busi new septemb abba began north american tour northland coliseum edmonton canada full hous week plai total seventeen sold-out date thirteen canada schedul abba concert soil washington dc cancel due agnetha fältskog emot distress suffer flight york boston privat plane subject extrem weather condit unabl land extend period tour end show toronto canada mapl leaf garden capac crowd show gener type complaint express group tour fan regard abba studio group live band octob tour resum western europ band plai sold-out gig includ unpreced sold-out night london wemblei arena progress march abba travel japan arriv narita intern airport besieg thousand fan group plai eleven concert full hous includ show tokyo budokan tour road adventur career year releas abba seventh album super trouper reflect chang abba style promin synthesis increasingli person lyric set record pre-ord receiv uk album million copi order releas anticip album built winner take group eighth uk chart topper singl reach billboard hot chart abba billboard adult contemporari song allegedli written ulvaeu fältskog marit tribul singl album super trouper hit uk group ninth final uk chart-topp track super trouper lai love releas singl select territori manag top billboard hot danc club plai chart peak uk singl chart time highest chart releas uk chart histori abba record compil spanish-languag version hit call gracia por la música releas spanish-speak countri japan australia album major success spanish version chiquitita signal group breakthrough latin america final album perform januari ulvaeu marri lena manag stig anderson celebr birthdai huge parti occas abba record track tribut releas red vinyl copi distribut guest attend parti singl sought-aft collect mid-februari andersson lyngstad announc file divorc inform surfac marriag uphil struggl year benni met woman mona marri novemb year andersson ulvaeu songwrit session month record session began mid-march april group record tv special talk show host dick cavett visitor abba eighth final studio album show songwrit matur depth feel distinctli lack earlier record place band squar pop genr catchi tune harmoni reveal time releas album titl track ulvaeu refer secret meet held approv totalitarian govern soviet-domin state track address topic fail relationship threat war ag loss innoc parent watch child grow chang content reflect rel commerci declin evid uk releas singl decemb top chart europ enter top franc japan top australia visitor commerci success predecessor track visitor releas singl north america australia zealand fittingli abba final top hit reach rpm adult contemporari chart canada song lyric winner take dealt pain experi split long-term partner look optimist public stori andersson lyngstad divorc specul increas tension band releas titl track visitor hit top ten billboard hot danc club plai chart record session spring songwrit session start group record plan complet clear album discuss prospect small tour suggest record session june struggl song eventu record ow citi andersson ulvaeu satisfi outcom tape shelv group break summer palm carl magnu page studio earli august group chang plan rest year settl christma releas doubl album compil singl releas name singl ten year songwrit record session place palm carl magnu page octob novemb releas singl dai cassandra attack ow a-sid includ compil album interest singl uk singl top hit netherland belgium album uk belgium top netherland west germani top countri citi left unreleas singl ten year inclus project studio album abba fruition citi eventu releas bonu track compil album abba gold recycl song artist produc andersson ulvaeu rework version vers end music chess palm carl magnu page choru section eventu releas retrospect boxset numer request fan ulvaeu andersson refus releas abba version entireti complet version surfac bootleg group travel london promot singl ten year week novemb appear saturdai superstor late late breakfast show west germani week perform show express novemb abba appear time sweden tv programm decemb perform transmit uk noel late late breakfast show live link tv studio stockholm interview abba talk futur massiv tour perform front famou site pyramid björn nrk radio januari scene grow disagr manag stig anderson led member sell share record compani leav futur plan abba hold palm carl magnu page plan suggest futur record work foursom profession reunit perform andersson ulvaeu began collabor tim rice earli write song music project chess fältskog lyngstad concentr intern solo career andersson ulvaeu work music cooper music abbacadabra produc franc televis children music utilis abba song alain daniel boublil wrote le miser touch stig anderson project tv music air christma british channel itv lyngstad move pari particip french version record singl bell duet french singer daniel balavoin song cover abba instrument track arriv singl bell sold franc cameron mackintosh want stage english languag version show london french lyric translat david wood don black andersson ulvaeu involv project contribut song seeker abbacadabra premièr decemb lyric hammersmith theatr london mix review full hous week close januari lyngstad involv product record english time duet actor singer robertson singl sold time produc record andersson ulvaeu member public appear friend abba januari record video perform acoust version song written manag stig anderson swedish tv show honour anderson birthdai year year perform privat friend birthdai tour manag clae af sang self-compos song titl der klein franz surfac chess year abba live releas featur select live perform group tour appear group film privat ander glenmark guest birthdai hanser hanser long-tim friend secretari stig anderson honour abba perform swedish birthdai song med en enkel tulipan cappella abba appear benni andersson occas perform abba song june björn ulvaeu appear stockholm concert sing choru danc queen year final perform concert stockholm andersson join cast encor piano andersson frequent add abba song playlist perform bao band plai piano record abba song angel pass room opera singer ann sofi von otter swede victoria tolstoi andersson ulvaeu capella rendit vers fernando accept ivor novello award london frida lyngstad perform record cappella version danc queen swedish group real group re-record dream swiss singer dan daniel abba offici announc group year pass chanc abba work increasingli slim group consid dissolv abba andersson ulvaeu octob ulvaeu andersson releas music concept doubl album chess singl night bangkok record whitnei houston huge success music premièr west london ran year broadwai open april close month due bad review music stage regularli small scale great success concert version popular stockholm compos stage chess svenska materi consid andersson masterpiec kristina från duvemåla swedish epic music compos premier southern sweden octob direct stage lar base emigr tetralog swedish novelist vilhelm moberg music ran year stockholm english version work long time report broadwai pre-product earliest stage chess kristina från duvemåla benni andersson continu write song björn ulvaeu pair produc english languag pop album swedish duo gemini year andersson releas solo album label collect folk music materi call klinga mina novemb benni wrote music popular swedish cabaret quartet singer give massiv hit lassi mig produc shape english languag album group josefin nilsson all-new materi ulvaeu andersson regularli written music film notabl roi andersson song floor put band bao releas success album octob benni andersson record stai longest run svensktoppen chart april song du min man sung helen sjöholm week februari entri song fait accompli sung tommi körberg present andersson releas album bao materi band bao vocalist helen sjöholm tommi körberg fill sweden largest concert venu octob novemb audienc björn ulvaeu appear stage perform music abba reunion co-memb hootenanni singer juli music festiv hometown västervik sing hit mariann andersson ulvaeu highli involv world wide product music mamma mia lyngstad attend premier involv product film version music open june benni andersson produc soundtrack fältskog lyngstad femal member abba pursu solo career intern scene break-up band lyngstad chose genesi drummer singer phil collin produc album unveil singl video autumn year singl hit franc spent week top belgium switzerland costa rica track reach austria netherland norwai sweden poland top hit germani itali south africa finland unit state singl reach sold million copi worldwid biggest sell singl member abba lyngstad album sold million copi internation palm carl magnu page frida solo album abba experiment shine produc steve lillywhit releas album prove big success sweden reach frida final studio album releas twelv year agnetha fältskog album wrap arm includ hit singl heat hit europ scandinavia fältskog score billboard top hit can't shake loos europ singl wrap arm success hit top chart belgium denmark reach top sweden top germani franc album sold million copi worldwid palm carl magnu page fältskog solo album ey woman releas march reach sweden perform europ singl album won't novemb fältskog releas solo album peter stand includ billboard hit wasn't album sold sweden spent week year fältskog withdrew public life halt music career releas autobiographi compil album featur solo hit abba classic success comeback releas critic acclaim album colour book debut sweden achiev triple-platinum statu germani uk win silver award achiev gold statu finland singl thought chang mind fältskog biggest solo hit uk reach posit singl spot sweden hit scandinavia europ januari sang live duet stage swedish singer tommi körberg parti final show music mamma mia stockholm benni andersson björn ulvaeu present frida ask chosen chairperson environment organis artist för artist environ sweden frida accept chairwoman organis mark interest environ record julian lennon song saltwat perform live stockholm arrang financ summer camp poor children sweden focuss environment ecolog issu environment work organis led decis record andetag deep breath releas huge success sweden reach scandinavia lyric singl album en blomma flower deal environment issu lyngstad record song call sun shine written releas deep purpl member jon lord coupl tv perform song germani year releas career retrospect dvd frida dvd boxset frida box set lyngstad live low-profil life occasion appear parti chariti function august marri princ reuss von plauen german reuss famili von plauen di lymphoma ag addit lose husband lyngstad lost daughter car crash year earlier reviv year abba separ wai french product show children tv music name abbacadabra abba song spawn interest group music london stage music star elain paig finola hugh sing lyric hit receiv attent late abba experienc major resurg decad start uk synth-pop duo erasur releas ep featur cover version song top chart spring arriv stockholm concert june year band paid homag abba invit björn ulvaeu benni andersson join stage rendit danc queen plai guitar keyboard septemb releas abba gold greatest hit compil album end sell massiv worldwid set chart longev record album popular abba releas sell million copi date enorm interest gold compil releas abba gold abba hit collect contain bonu track citi unreleas song record session australian movi caught attent world media focuss admir abba adventur priscilla queen desert muriel wed year music four-disc box set compris group hit stand-out album track releas involv member releas demo version odd track discov polar vault abba recognis embrac act evan dando lemonhead record fan cover version know know palm carl magnu page sinéad o'connor boyzon stephen gate record chiquitita tanita tikaram blancmang paid tribut dai cliff richard cover lai love dionn warwick peter cetera record version so alternative-rock musician marshal crenshaw plai version know know concert appear swedish metal guitarist yngwie malmsteen cover gimm gimm gimm man midnight slightli alter lyric tribut album releas sweden uk tribut band bjorn arriv market put incarn cover huge demand sweden grow recognit legaci andersson ulvaeu result concert tribut concert swedish singer work compos year showcas abba year hit abba concert huge success releas cd tour scandinavia beij peopl republ china concert sweden birth abba teen re-nam teen record techno-pop version abba song huge success worldwid english origin version abba spanish version april mamma mia music open london premièr citi worldwid huge success abba report turn offer approxim billion dollar reunion tour consist concert basham david abba nix billion-dollar offer reunit mtv new semi-fin eurovis song contest stage istanbul year abba won contest brighton member abba appear briefli special comedi video interv act entitl video member group cameo role cher rik mayal video includ offici dvd releas eurovis contest issu separ dvd releas retitl video request abba member bill time work group spilt fact film appear separ mamma mia huge success worldwid forthcom film star meryl streep pierc brosnan huge interest abba music novemb interview german magazin bunt ulvaeu reunion satisfi abba fan legion world clamour fashion video abba wide note colour trend-set costum member wore video accompani biggest hit cite earliest exampl genr abba video abba movi direct lass hallström direct film life dog cider hous rule chocolat abba video song hit countri person appear weren't effort minimis travel countri requir extrem long flight fältskog ulvaeu young children fältskog afraid fly reluct leav children long time abba manag stig anderson realis potenti show simpl video clip televis publicis singl album allow easier quicker exposur concert tour video classic era costum earli video effect group band member combin pair overlap singer profil full face contrast member discographi award recognit bibliographi jean-mari abba book palm carl magnu bright light dark shadow real stori abba palm carl magnu abba mamma mia note +allegi duti fidel ow subject citizen state sovereign origin word mid english med latin ad confus legal term alleg alleg french alleg english word form lieg deriv head connect latin ligar bind erron usag term allegi english legal comment larger sens divid natur local appli defer foreign pai institut countri live proper sens nation charact subject due charact word import sens repres feudal lieg homag due lord simpl homag due lord person question held land unit kingdom english doctrin time adopt unit state assert allegi indel nemo potest patriam law stood person birth natur satisfi condit set remov infanc countri famili resid ow allegi british crown resign lose act parliament recognit independ cession portion british territori resid allegi tie bind subject sovereign return protect sovereign afford subject mutual bond oblig monarch subject subject call lieg subject bound obei serv call lieg lord maintain defend part anderson el el er china navig attorney-gener tlr attorney-gener nissan er oppenheim cattermol er duti crown subject govern protect reciproc duti subject crown allegi common law allegi true faith obedi subject due sovereign subject ow king true faith allegi obedi sovereign govern protect subject reger suo sovereign subject duplex quia sicut regi ad ita rex ad merito igitur dicitur quia continet se duplex calvin case rep jenk state tr er natur allegi obedi incid insepar subject sovereign born ow allegi obedi part anderson el el er natural-born subject ow allegi territori occupi hostil enemi forc annex occupi countri proclaim enemi chang allegi progress hostil part citizen occupi countri nlr south africa allegi ow sovereign natur person sovereign polit capac stepnei elect petit isaacson durant qbd lord coleridg cj attach person reign sovereign suffici loyalti requir affect offic sovereign attach royalti attach law constitut realm forc fraud endeavour prostrat law constitut retain affect head boast imperfect spuriou speci loyalti o'connel ilr kind allegi sm de geer stone ch isaacson durant lt gibson gavin gibson kb joyc dpp ac collingwood pace bridg lane bennett lyon corp east india moo pcc birtwhistl cl fin lopez sattler dear brown naturali absoluta pura origin due natur birthright call alta ow call natu natur acquisit deniz call denizen datu locali oper law friendli alien enter countri long countri sovereign protect ow sovereign local obedi allegi cowl burr routledg ch app johnson robert attorney-gener ch tinglei muller ch rodriguez speyer ac johnston pedlar ac tucker show parl ca keyn stepnei elect petn isaacson durant qbd legal obedi law requir oath allegi subject alien alik natur allegi acquir birth sovereign dominion issu diplomat invad forc alien enemi occupi territori natur allegi obedi incid insepar subject born ow birthright allegi obedi sovereign anderson natural-born subject ow allegi territori occupi hostil enemi forc annex occupi countri proclaim enemi chang allegi progress hostil part citizen occupi countri nlr south africa acquir allegi acquir naturalis deniz deniz appear threefold thoma sorrel keb absolut common deniz limit restraint limit sovereign grant letter deniz alien alien male heir alien term life grant condit cuju est eju est deniz alien wai parliament letter patent usual manner conquest local allegi due alien protect crown friendli resid alien incur oblig subject angeliqu ch rob app alien come coloni temporarili subject crown acquir right coloni right affect law coloni routledg lr hl lj ch lt wr hl reid maxwel tlr falcon famou player film kb resid alien ow allegi protect crown withdrawn ow occup enemi absenc crown protect temporari involuntari de jager natal ac legal allegi due alien oath allegi requir offic crown natur act british subject renounc nation allegi wai nation lost defin british subject voluntarili natur foreign state deem alien time natur case person natur pass act declar desir remain british subject year pass act person born british territori british subject birth law foreign state subject state person born british subject reason parentag declar alienag rid british nation emigr uncivil countri leav british nation unaffect claim state follow author subject emigr usual recogn mean coloni expans unit state doctrin man cast nativ allegi consent sovereign earli abandon unit state juli dai fourteenth amend adopt congress declar preambl expatri act expatri natur inher peopl indispens enjoy right life liberti pursuit happi section fundament principl govern unit state revis statut sec citizen foreign state america ow doubl allegi unit state guilti treason demand sovereign duti allegi conflict unit state paramount author american law oath allegi main articl oath allegi oath allegi oath fidel sovereign person hold import public offic condit natur ancient common law requir person ag twelv repeatedli test disaffect england impos statut reign elizabeth england form alter time revolut promis true faith king heir truth faith bear life limb terren honour hear ill damag intend defend therefrom thought favour doctrin absolut non-resist convent parliament enact form time sincer promis swear faith bear true allegi majesti +adventur intern video game publish compani exist start scott alexi adam game notabl implement adventur genr run microcomput system adventur game concept origin coloss cave adventur ran strictli larg mainfram system time histori success game adventureland game rapidli adventur intern ai releas game year initi game drawn founder imagin theme rang fantasi horror scienc fiction game written scott adam collabor adventur game qualiti reput exceed field time infocom fourteen game adventur intern began releas game drawn film fiction extrem rare buckaroo banzai game develop phillip case base film adventur buckaroo banzai eighth dimens game sourc marvel comic adventur intern releas questprob game base marvel charact incred hulk spider-man torch game tast chang tradit text-bas adventur game market move graphic base adventur game hobbit increas expect game adventur intern game includ graphic sort significantli inferior contemporari offer time compani rapidli lose market share peak late earli adventur intern emploi approxim individu publish titl independ programm author adventur intern bankrupt copyright game revert bank eventu scott adam releas sharewar europ adventur intern trade adventur soft game releas adventur intern usa game scott adam origin twelv adventur game adventureland comput game explor fantasi landscap collect thirteen treasur pirat adventur call pirat cove hunt lost pirat treasur secret mission origin call mission imposs prevent terrorist destroi nuclear reactor voodoo castl free count voodoo curs count kill count dracula strang odyssei explor strang planet collect treasur mysteri fun hous captur secret plan hidden fun hous pyramid doom plunder egyptian pyramid ghost town search western ghost town treasur savag island part ii challeng adventur game awar adventur goal complet part password plai part golden voyag sail world find fountain youth game written in-hous adventur creator text compress sophist command interpret run bbc micro graphic tool run apricot part merg cross-compil saigon final dai adventur intern titl saigon final dai dark scenario escap soldier vietnam war quirk game input parser unintent surpris bit morbid gameplai point game player figur cross river enter command confess war crime reject gibberish expect kill player turn plan featur parser find command swim embed phrase confess war crime swim river invari fatal move actual solut game macabr involv zip oneself bodi bag carri countri evacu helicopt +sir arthur charl clark cbe born decemb british scienc fiction author inventor futurist famou space odyssei collabor director stanlei kubrick film clark surviv member big scienc fiction includ robert heinlein isaac asimov biographi clark born minehead somerset unit kingdom boi enjoi stargaz read american scienc fiction pulp magazin uk ship sailor read pass time secondari school studi huish grammar school taunton unabl afford univers educ job auditor pension section board educ world war serv royal air forc radar specialist involv earli warn radar defenc system contribut raf success battl britain clark spent servic time work ground control approach gca radar document semi-autobiograph glide path gca practic war year develop vital berlin airlift demobilis rank flight lieuten war earn first-class degre mathemat physic king colleg london postwar year clark involv british interplanetari societi serv time chairman import contribut idea geostationari satellit ideal telecommun relai world propos concept paper privat circul core technic member bi concept publish wireless world octob year retriev februari jpg wireless world februari retriev februari wireless world octob retriev februari clark written number non-fict book describ technic detail societ implic rocketri space flight notabl explor space promis space recognit contribut geostationari orbit refer clark orbit clark stori publish fanzin profession sale appear astound scienc fiction loophol publish april rescu parti sale publish write clark briefli work assist editor scienc abstract devot write full-tim onward clark contribut dan seri publish eagl publish novel written children clark correspond lewi met oxford pub eastgat discuss scienc fiction space travel clark lewi death voic great prais ransom trilogi work scienc fiction consid literatur wrote sentinel bbc competit stori reject chang clark career basi space odyssei sentinel introduc mystic cosmic element clark work clark work featur technolog advanc prejud mankind confront superior alien intellig case citi star childhood seri encount produc conceptu breakthrough acceler human stage evolut clark met quickli marri marilyn mayfield american divorce young son separ perman month divorc finalis mcaleer neil arthur clark author biographi contemporari book chicago clark live sri lanka immigr call ceylon south coast colombo clark hold citizenship uk sri lanka sundai observ retriev februari long avid scuba diver member underwat explor club live sri lanka afford opportun visit ocean year-round inspir local fountain paradis space elev believ ultim legaci geostationari satellit space elev space shuttl obsolet person e-mail sir arthur clark jerri stone director sir arthur clark award novemb predict culmin began seri essai magazin eventu profil futur publish book form timet retriev februari year describ invent idea includ global librari earli career clark fascin paranorm state part inspir childhood fool uri geller demonstr birkbeck colleg long dismiss distanc pseudosci advoc research purport instanc psychokinesi similar phenomena earli clark sign three-book publish deal record science-fict writer time rendezv rama won main genr award spawn sequel seri form backbon career clark short stori star includ high school english textbook sri lanka concern offend roman cathol select textbook caus controversi replac shakespear work bob dylan john lennon isaac asimov clark televis programm arthur clark mysteri world arthur clark world strang power diagnos post-polio syndrom need wheelchair time septemb comment cassini probe flybi iapetu plai import role space odyssei clark mention complet wheelchair-bound polio plan leav sri lanka retriev septemb clark chancellor intern space univers serv serv chancellor moratuwa univers sri lanka decemb occas birthdai clark record video messag friend fan bid good-by decemb retriev februari knighthood fals accus earli clark knight princ charl visit sri lanka order investitur ceremoni british tabloid sundai mirror claim sensationalist stori clark avow paedophil give suppos quotat clark harmless predilect boi clark releas statement accus nonsens difficult treat contempt deserv categor state sundai mirror articl grossli defamatori statement innuendo fals grossli inaccur extrem harm ask investitur knighthood delai order avoid embarrass royal high princ wale visit sri lanka answer newspap alleg clark investig sri lankan author eventu dismiss accus sundai mirror print retract clark knight bachelor ceremoni colombo scienc fiction new week retriev februari retriev februari nndb retriev februari retriev februari formal investig undertaken sri lankan polic clear clark april retriev februari theme style influenc clark work mark optimist view scienc empow mankind explor solar system earli publish stori featur extrapol technolog innov scientif breakthrough underli decad societi sentinel introduc religi theme clark work theme explor deepli citi star interest paranorm influenc charl fort embrac belief human properti ancient alien civilis surprisingli writer held hard scienc fiction obsess technolog clark novel theme theme sentinel notion evolut intellig speci eventu close god explor childhood briefli touch idea imperi earth idea transcend evolut influenc olaf stapledon wrote number book deal theme clark stapledon book men book greater influenc life successor star maker twin summit stapledon literari career retriev februari adapt screenplai clark ventur film stanlei space odyssei kubrick clark met discuss possibl collabor film project idea develop decid stori film loos base clark short stori sentinel written entri bbc short stori competit origin clark write screenplai film prove tediou estim kubrick clark decid write adapt film complet clark finish book screenplai written simultan clark influenc direct space odyssei felt memor scene movi astronaut bowman shut hal remov modul servic wit hal conscious degrad time hal logic complet begin sing song daisi bell song chosen due coincid clark visit friend colleagu john pierc bell lab murrai hill facil remark speech synthesi demonstr physicist john larri kelli jr place time kelli ibm comput synthesis speech voic record synthesis vocod reproduc vocal daisi bell music accompani max mathew creat famou moment histori bell lab arthur clark impress told kubrick climact scene retriev februari due hectic schedul film product kubrick clark difficulti collabor book clark complet draft plan publish advanc film releas delai film releas spring book complet book credit clark clark complain effect make book novelis kubrick manipul circumst downplai authorship reason detail stori differ slightli book movi film bold artist piec explan event place clark hand wrote explan effect event differ film receiv retriev februari retriev februari retriev februari clark publish lost world includ account product altern version kei scene special edit space odyssei releas introduct clark document account event lead releas film clark continu epic sequel odyssei film direct peter hyam releas due polit environ america film present cold war theme loom tension nuclear war film consid revolutionari artist review posit earn million dollar releas north america clark email correspond hyam publish titl co-author hyam illustr fascin medium commun daili basi time plan product film live contin book includ clark list science-fict film rendezv rama movi interpret clark award-win rendezv rama pre-product await adapt movi screen acclaim director david fincher assign project actor morgan freeman imdb movi expect releas essai short stori clark essai book carbon-bas bipe short stori book collect stori arthur clark collect earli essai publish view serendip includ short piec fiction written short stori pseudonym o'brien charl willi wrote stori call secret concept geostationari commun satellit clark import contribut idea geostationari satellit ideal telecommun relai propos concept paper titl rocket station give worldwid radio coverag publish wireless world octob geostationari orbit clark orbit clark belt honour clear articl inspir modern telecommun satellit john pierc bell lab arriv idea independ involv echo satellit telstar project pierc state idea air time develop clark public clark idea articl cite prior art judgement deni patent concept geostationari orbit earlier hermann oberth book die raket zu den kelso satellit time retriev februari rocket interplanetari space herman potočnik written pseudonym hermann noordung book da problem der de weltraum der publish berlin award honour recognit releas clark demand comment scienc technolog time apollo space program fame command modul apollo craft name odyssei clark grant fund prize monei initi arthur clark award scienc fiction publish britain previou year prize increas match year clark knight clark health travel london receiv honour person queen unit kingdom high commission sri lanka award titl knight bachelor ceremoni colombo mar odyssei orbit name honour sir arthur work sir arthur award tellurid tech festiv award technolog appear stage hologram group friend includ jill tarter neil armstrong lewi branscomb charl town freeman dyson bruce murrai scott brown lent inaugur sir arthur clark award dub space oscar brother attend award ceremoni present award special chosen arthur panel judg chose award british interplanetari societi novemb sri lanka award arthur clark highest civilian award sri pride sri lanka contribut scienc technolog commit adopt countri sir arthur honorari board chair institut cooper space found carol rosin serv board governor nation space societi space advocaci organis origin found wernher von braun asteroid name clark honour clark number assign prior independ unavail previous assign albert einstein speci ceratopsian dinosaur discov inverloch australia learn resourc center richard huish colleg taunton clark attend huish grammar school name clark distinguish vice-presid well societi strongli influenc well science-fict writer divin comedi album victori comic muse song call arthur clark mysteri world tribut clark well-known tv programm featur sky terribl predict programm clark predict ap function household servant present knowledg anim psycholog solv servant problem monkei kingdom quip eventu super chimpanze start form trade union start partial bibliographi novel prelud space sand mar island sky fall night childhood earthlight citi star deep rang fall moondust dolphin island glide path space odyssei rendezv rama imperi earth fountain paradis odyssei song distant earth odyssei meet medusa cradl gentri lee rama ii gentri lee fall night gregori benford ghost grand bank garden rama gentri lee rama reveal gentri lee hammer god richter mike mcquai final odyssei trigger michael kube-mcdowel light dai stephen baxter time ey stephen baxter sunstorm stephen baxter firstborn stephen baxter omnibu edit sea star includ childhood earthlight short stori ocean star includ citi star deep rang side sky arthur clark omnibu includ childhood prelud space expedit earth prelud mar includ prelud space sand mar lion fall night arthur clark omnibu includ fall moondust earthlight sand mar great sf novel includ citi star deep rang fall moondust rendezv rama space trilogi includ island sky earthlight sand mar fall night startl stori short stori collect expedit earth reach tomorrow tale white hart side sky tale ten world billion name god time star wind sun arthur clark sentinel tale planet earth univers collect stori arthur clark non-fict interplanetari flight introduct astronaut london templ press explor space york harper coast coral york harper volum blue planet trilogi reef taproban underwat adventur ceylon york harper volum blue planet trilogi make moon stori earth satellit program york harper boi beneath sea photo mike wilson text arthur clark york harper challeng space ship preview tomorrow’ world york harper challeng sea york holt rinehart winston profil futur inquiri limit york harper row treasur great reef york harper row volum blue planet trilogi voic sky preview come space ag york harper row promis space york harper space young person’ guid space arthur clark robert silverberg york harper row report planet specul york harper row lost world london sidgwick jackson voic sea harpercollin view serendip random hous odyssei file email correspond peter hyam london panther book spring choic futur york ballantin book ascent orbit scientif autobiographi technic write arthur clark york john wilei son astound dai scienc fiction autobiographi london gollancz world global villag york bantam book histori survei commun revolut space possess london gollancz snow olympu garden mar pictur album comment encyclopedia claim fraud hoax occult supernatur st martin press narrat carbon-bas bipe collect work york st martin’ press narnia space odyssei war letter arthur clark lewi lewi come space ag famou account man probe univers select edit arthur clark popular cultur clark attempt write word stori part wire magazin articl wrote ten word god program genesi univers ceas exist refus word count start movi heywood floyd engag convers front white hous clark man feed pigeon left shot movi hospit scene bowman di cover time show photograph clark american presid kubrick russian premier surviv tsunami caus indian ocean earthquak claim dive school hikkaduwa rebuilt distinguish support british humanist associ clark song distant earth theme album releas acclaim ambient musician mike oldfield creator album tubular bell section album name element space elev sunken forest inlai sleevenot includ short piec written clark divin comedi record song entitl arthur clark mysteri world album victori comic muse quot wikiquot collect quotat relat arthur clark clark law truth stranger we'r univers we'r case idea stagger inappropri call planet earth ocean ufo absolut intellig univers prove rare earth curios sensor hill peopl live longer food inform inform crazi +appl newton messagepad appl newton simpli newton earli line person digit assist develop market appl comput appl electron engin manufactur newton japan sharp origin newton base arm risc processor featur handwrit recognit softwar appl offici devic messagepad term newton appl oper system newton os popular usag word newton grown includ devic softwar allus isaac newton appl newton develop newton project origin intend produc pda pda categori exist newton genesi person digit assist term coin late develop cycl appl then-ceo john scullei drive forc project newton intend complet reinvent person comput similar modern tablet pc design lifecycl newton large-format screen intern memori object-ori graphic kernel origin motiv case design architect scenario newton design imagin residenti architect work quickli client sketch clean interact modifi simpl two-dimension home plan portion newton develop cycl roughli middl project intend program languag dylan fact languag environ matur applic successfulli written dylan small effici object-ori lisp variant retain interest effici dai substanti run-tim dynam dylan live perform expect tough sell develop team unaccustom lisp program move smaller form factor design jonathan iv businessweek time dylan releg experiment statu bauhau project eventu cancel outright replac garbag collect tight integr soup storag user-interfac toolkit specif design run small ram larg rom environ project miss origin goal reinvent person comput rewrit contemporari applic program newton victim project slippag scope creep grow fear interfer macintosh sale reinvent pda complementari macintosh peripher stand-alon comput compet macintosh product detail applic softwar newton pre-load varieti softwar aid person data organ manag includ applic note name date varieti product tool calcul convers calcul metric convers currenc convers time-zon map version newton os applic refin ad work word processor newton internet enabl inclus bundl parti applic work spreadsheet lite version pro pocket quicken web browser enrout email client newton applic full import export capabl popular desktop offic suit pim person inform manag applic file format primarili make appl bundl newton connect util note note applic allow user creat small document text type recogn handwrit free-hand sketch shape ink text photograph screen displai checklist bullet point check collaps version newton os note applic name accept appl term stationeri rd-parti creat plug-in modul extend function basic applic type note stationeri ad newton os hierarch collaps multi-lin checklist implement outlin softwar organ thought prioriti list plan step sub-task bullet point line text desir bullet point drag bullet point form hierarch outlin tree bullet point drag entir sub-tre child bullet point drag bullet point child bullet point tap hollow parent bullet point roll collaps children windowshad effect parent bullet point solid black circl children disappear tap parent bullet point children re-appear name name applic store contact contact creat newton window macintosh desktop pim synchron appl comput appl juli appl comput newton sourc enter date name field birthdai anniversari automat creat repeat event date applic contact attach free-form note field mix interleav text ink text shape sketch note name extend develop creat special categori contact special pre-defin field name ship type contact peopl compani group develop defin type instanc client patient date date suppli calendar event meet alarm function includ integr list manag offer displai navig style includ list view graphic dai time block view week month year grid name date item creat newton window macintosh desktop pim synchron screen input xx seri option keyboard dongl messagepad screen turn horizont landscap vertic portrait chang set instantli rotat content displai degre handwrit recognit work properli displai rotat handwrit recognit initi version newton os newton handwrit recognit gave extrem mix result user inaccur origin handwrit recognit engin call calligraph licens russian compani call paragraph intern calligraph design sophist attempt learn user natur handwrit databas word guess user write interpret write screen hand-print cursiv mix palm pilot graffiti sophist design calligraph accur practis due relianc simplifi alphabet differenti similar charact edit text newton intuit system handwritten edit scratch word delet circl text select written caret mark insert read ink text sketch shape appl appl collect releas newton oper system retain origin recogn compat ad cursiv recogn code-nam rosetta develop appl includ version newton oper system refin newton rosetta gener consid signific improv review tester user newton handwrit recognit softwar altern year introduc accuraci comment wire yr text handwrit recognit opportun squander pen comput comment softwar user test result discuss part ftp ftp appl research neural aimag aimag magazin articl newton comment note-tak larg number refer leap bound recognit world thread attach isn't handwrit recognit system good thread attach recognit year market todai thread attach excel handwrit recognit awesom recognit great handwrit recognit thread attach i'v thread attach recognit comput handwritten horizont vertic formula develop releas critic featur newton handwrit recognit system modeless error correct correct situ separ window widget minimum gestur word recogn improperli user double-tap word list altern pop menu stylu time correct word list button bottom list user edit individu charact word pen gestur transpos letter situ error correct current handwrit system function add step process greatli increas interrupt user workflow correct requir user interfac newton screen displai note text ink text sketch vector shape text enter tap stylu small on-screen pop-up qwerti virtual keyboard newton accept free-hand sketch shape ink text desktop comput graphic tablet shape newton recogn user attempt draw circl line polygon clean perfect vector represent modifi control point defin vertic user attempt draw shape sketch scale deform drawn ink text captur user free-hand write allow treat recogn text manipul edit purpos ink text support word wrap format bold ital time user direct newton recogn select ink text turn recogn text defer recognit newton note document note attach contact name calendar event mix interleav text ink text shape sketch oper system program environ newton os consist layer lowest level microkernel handl resourc task memori top microkernel bulk oper system implement includ commun layer handwrit recognit environ top layer consist built-in user instal applic written advanc object-ori program languag develop appl employe walter smith programm complain cost toolbox program environ life newton program environ free charg addition requir learn program parti sharewar applic newton data storag data newton store object-ori databas soup innov aspect newton soup program program oper mean calendar refer name address book note notepad convert appoint soup address book enhanc built data exist address book soup concept work newton system issu difficult synchron data system desktop macintosh pc data store soup correspond file base system appl util perform task newton connect util complex complet perform satisfact user realiz hand held comput work exist data environ user kei success palm pilot platform difficulti work share data system kei contributor newton demis consequ soup object extend built-in applic address book seamlessli newton user distinguish program add-on object respons featur system user rebuild system extend usag find unabl manual restor system function long-forgotten download extens miss data own applic extens toss storag area extra drawer built-in distinct type data area instal applic icon sit databas address instal extens list final data soup concept work data address benefit share work poorli discret data set file document releas newton os introduc virtual binari object allevi problem handl larg data object packag instal capac plan disast recoveri softwar util accommod data transfer host system exist platform appl macintosh amiga os unix microsoft window xp vista appl newton softwar backup detail hardwar connect earlier serial port mini-din connector common trapezoid commonli call model proprietari small flat connector call interconnect port adapt addit model infrar connect initi sharp protocol irda palm messagepad model equip standard pc card expans slot nativ modem ethernet connect newton user written driver wireless network card flash memori card includ popular compactflash format bluetooth card newton dial phone number messagepad speaker simpli hold telephon handset speaker fax support built oper system level requir extern card small serial appl modem power aa batteri power option contemporari early-model sharp zauru pda japan messagepad messagepad aaa batteri earli zauru aaa batteri messagepad messagepad aaa batteri batteri aaa batteri prove inadequ power sourc consumpt newton aa nicd messagepad aa nimh cell seri emat give runtim hour mp mb linear flash memori pc card backlight usag hour backlight ad weight newton aaa batteri custom batteri pack choic easili replac recharg cell format user unsurpass runtim flexibl power suppli flash memori intern storag cell lost power data lost due static charact storag gave birth slogan newton di batteri effort improv messagepad vastli improv handwrit recognit system mhz strongarm risc processor newton os clearer backlit screen attract critic plaudit size expens factor popular palm os devic newton small passion user base emat emat emat laptop form factor deriv appl newton offer school inexpens origin sold educ market durabl comput classroom order achiev price emat featur contemporari newton equival messagepad cancel rest newton line prototyp prototyp addit newton model spot notabl newton tablet slate larg flat screen written includ kid newton side handgrip button incorpor video camera screen flip-top cover two-wai commun mini similar palm pilot develop siemen ag incorpor handset keyboard case appl parti market wallet case hold secur owner credit card driver licens busi card cash wallet larger fit pocket protect case unit shield bump scratch case includ metal plastic shield fabric protect glass lcd screen messagepad receiv middl accept pin mount case allow newton held case adhes strap market recept appl newton produc year success marketplac appl hope attribut primari reason newton high price model introduc larg size fail pocket test fit averag coat shirt trouser pocket messagepad messagepad limit short lifetim inadequ aaa batteri critic pan handwrit recognit trumpet newton market campaign debut model problem famous skewer doonesburi comic strip anim televis seri simpson handwrit recognit greatli improv model initi problem mar newton reput ey public pda remain nich product palm palm pilot emerg shortli newton discontinu palm pilot smaller thinner shape cost excel pc synchron robust graffiti handwrit recognit system softwar packag newton manag restor viabil pda market newton commerci failur palm comput co-found employe donna dubinski factor limit newton appeal desktop connect includ basic retail packag desktop comput synchron hardwar softwar purchas separ ad expens basic packag version os offer excel handwrit recognit modeless access error correct possibl lead reason continu popular devic newton user ag hardwar softwar newton demand sale price market greater compar ag pda produc compani newton fetch price accessori cnet compar newton messag pad samsung newton declar newton technolog cancel newton project cancel spun appl wholli own subsidiari compani newton reabsorb month steve job oust appl ceo gil amelio resum control appl newton develop found compani creat ipod os specul continu year appl releas pda newton technolog collabor palm feed bit specul appl put print recogn part newton handwrit recognit system mac os version jaguar graphic tablet seamlessli input handwritten print text insert point screen technolog inkwel appear system prefer tablet input devic plug appl util technolog handheld devic remain easter egg print recogn newton write rosetta rosetta rosetta newton insert rosetta rosetta hei present inkwel mac os remov led specul inkwel direct port print recogn programm nostalg rosetta appl powerpc emul layer intel-bas mac digit confer steve job refer appl pda successor newton compani develop decid bring market appl iphon announc steve job macworld januari blogger surprisingli close current-gener newton job hadn't kill line iphon icon reminisc newton soft icon bottom screen newton emul einstein project work emul newton altern os platform sharp zauru appl mac os nokia emul open sourc project requir origin newton rom instal order function newton model note emat rom chip silk screen stephani mak websit discuss remov patch emat no no document photo locat newton os licens number parti develop includ sharp motorola develop addit pda devic oper system motorola ad wireless connect unit renam marco newton reviv common sourc specul macintosh user base patent tablet base macintosh appli rumor site jump possibl tablet pc style macintosh appl iphon pda function consid successor newton newton technolog number project newton portabl inform devic cultur set museum visibl interact creat walk tour san francisco chinatown signific effort place malaysia petrona discoveri center exhibit design firm award contract design squar foot scienc museum petrona tower kuala lumpur major factor award concept visitor newton access addit inform find museum listen audio anim control robot media bookmark inform printout exhibit devic arif malai word wise man seer acronym resourc inform friend arif instal todai develop arif system extrem complex requir team hardwar softwar engin design writer arif ancestor pda system museum todai boast featur attempt appear popular cultur origin appl newton handwrit recognit light simpson episod lisa ic episod simpson titl lisa ic air novemb school bulli kearnei buddi dolph memo newton dolph write beat martin screen handwrit recognit turn eat martha kearnei throw newton martin newton featur movi sieg main charact plai steven seagal fax call phone passeng train earli episod seri x-file fbi agent newton newton in-gam tool x-file game scene larri laffer leisur suit larri shape slip woman newton charact kate libbi hacker messagepad number scene deni nedri film jurass park newton desk gari sinis hostag taker film ransom star mel gibson daniel brühl german film eduk saturdai night live mock commerci featur newton post-it note hybrid devic newton dai summer survei devic disneyland castmemb movi angel outfield coach person assist newton time modifi emat appear film batman robin garri trudeau ridicul seri episod popular comic doonesburi panel strip show charact read word egg freckl newton easter egg newton oper system version earlier write word egg freckl highlight tap assist button episod sabrina teenag witch titl geek charact scienc club howard relat experi newton rest club handwrit recognit newton turn afraid cnet elect appl newton top tech mention devic amus willing translat stroke screen text allow user gener surreal newton poetri random scribbl number usenet discuss group mock newton mangl handwrit appl newton chang light bulb eat lemon ax gravi soup +alfr elton van vogt april januari canadian-born scienc fiction author prolif complex writer mid-twentieth centuri golden ag genr scienc fiction golden ag born farm russian mennonit commun east gretna manitoba canada van vogt popular highli esteem writer golden ag scienc fiction start write career write style pulp magazin true stori van vogt decid switch write enjoi scienc fiction van vogt publish sf stori black destroy astound scienc fiction juli inspir origin speci charl darwin stori depict fierc carnivor alien stalk crew explor spaceship cover stori issu astound issu usher golden ag scienc fiction peter nichol clute john nichol peter encyclopedia scienc fiction york st martin press begin campbel golden ag sf pinpoint summer discuss juli issu lester del rei del rei lester world scienc fiction fantasi histori subcultur york ballantin book comment juli turn point stori instant classic eventu serv inspir number scienc fiction movi combin war nerv discord scarlet andromeda form voyag space beagl van vogt decid full time writer quit job canadian depart nation defenc extrem prolif year van vogt wrote larg number short stori retrospect patch novel fixup call term enter vocabulari scienc fiction critic success war rull time dispar stori thrown coher plot quest futur van vogt best-known novel period slan origin serialis astound scienc fiction septemb decemb van vogt recur theme told stori superman live world kind slain homo sapien sequel slan hunter prepar widow lydia van vogt kevin anderson start incomplet draft outlin left late van vogt releas juli lydia van vogt permiss publish onlin post-war philosophi april issu astound scienc fiction appear wizard linn eventu appear book form ac book van vogt move hollywood california write dimens world war van vogt interest idea all-encompass system knowledg akin modern charact stori system call analyz alien behaviour interest gener semant alfr korzybski profoundli affect revel totalitarian polic state emerg world war wrote mainstream set communist china violent man research book read book china subsequ wrote novel merg overarch theme world null-a pawn null-a late null-a earli null-a non-aristotelian logic refer capac practic intuit induct reason compar fuzzi logic reflex condit deduct logic van vogt systemat write method scene word complic ad resolv stori hing tempor conundra favorit theme state acquir write techniqu book narr techniqu thoma uzzel wai write stori twenti problem short-stori writer john alexei panshin idea dream stori time incoher dream scienc fantasi book work vision power dream impart write life arrang awaken minut sleep period write dream charl platt savoi book van vogt briefli involv ron hubbard project van vogt oper storefront dianet secular precursor hubbard church scientolog lo angel area time wind odd hubbard method write stop year period bitterli claim harass intimid hubbard follow period limit collect short stori form notabl fixup mix men war rull beast novel linn cyle inspir asimov foundat seri fall roman empir resum write frederik pohl invit remain hollywood wife lydia care declin year period novel conceiv written unitari work januari van vogt di lo angel usa alzheim diseas recognit van vogt wife edna mayn hull honor fourth world scienc fiction convent van vogt receiv casper award precursor canadian aurora award lifetim achiev award damon knight memori grand master award van vogt recogn occas world scienc fiction convent present special award decad golden ag scienc fiction scienc fiction fantasi hall fame includ initi inducte critic prais fellow scienc fiction author philip dick van vogt stori spur interest scienc fiction strang sens unexplain protagonist realiz review transfinit essenti van vogt scienc fiction writer paul di filippo paul retriev januari critic writer critic damon knight wrote van vogt giant maintain pygmi giant typewrit scienc fiction space opera author van vogt dai strive absolut flawless scientif prefer storytel accuraci van vogt singl critic exampl cosmic encount result crash alien spaceship gener temperatur degre absolut neg absolut temperatur exist special circumst titl stori collect andromeda incorrect triangulum andromeda galaxi andromeda popular short stori vault beast hing concept largest prime number demonstr ancient greec seri prime infinit largest prime number bibliographi novel slan weapon maker book world null-a hous stood master time publish earth fortress voyag space beagl weapon shop isher mix men publish mission star univers maker planet sale edna mayn hull player null-a publish pawn null-a mind cage empir atom sieg unseen war rull wizard linn violent man polit thriller set china beast publish twist men rogu ship wing man silki children tomorrow quest futur battl superhuman dark futur glitter man thousand name secret galact publish earth factor supermind anarchist colossu enchant villag chapbook renaiss cosmic encount computerworld publish comput ey null-a conquer collect unknown edna mayn hull destin univers far-out world van vogt monster van vogt omnibu omnibu sea stori andromeda proxi intellig mind bender van vogt omnibu omnibu book van vogt world van vogt ey evil includ earth fortress van vogt edna mayn hull pendulum van vogt lost fifti sun van vogt futur short fiction van vogt essenti van vogt non-fict hypnot handbook griffin publish compani charl edward cook monei person parker publish compani west nyack nj reflect van vogt autobiographi scienc fiction giant fiction book lakemont ga report violent male press uk +april dai april internet engin task forc publish humor rfc document path blaze june rfc entitl list includ humor rfc publish date list april st rfc rfc telnet option crispin april parodi tcp ip document style due peopl long time special mark rfc index note date issu rfc telnet option miller april rfc standard transmiss ip datagram avian carrier april updat rfc deadpan skewer legales describ protocol transmit internet data packet home pigeon rfc implement member bergen norwai linux user group rfc gigabit network econom paradigm shift poorer richard april rfc memo consortium slow commot research vint cerf april rfc todai program internet talk radio partridg april portion rfc obsolet doppler shift fly concord longer problem concord retir servic rfc extens mime medium borenstein april rfc internet engin task forc statement boredom sob lyman chapin april rfc sonet sonnet translat william shakespear april rfc histor perspect usag ip version onion april rfc view st centuri vint cerf april rfc address messag steve crocker april content inform secur rfc compact represent ipv address elz april rfc twelv network truth callon april rfc experiment encapsul ip datagram top atm eriksson april rfc suggest addit mime type associ document roger april rfc name host ashworth april rfc rita reliabl internetwork troubleshoot agent april rfc manag ip number van den hout al april rfc ietf identif secur guidelin ramo april rfc hyper text coffe pot control protocol masint april rfc definit manag object heat beverag hardwar devic april rfc ip avian carrier qualiti servic april updat rfc list rfc yk glassman manass mogul april rfc roman standard process revis bradner april rfc infinit monkei protocol suit imp april rfc pi digit gener protocol kennedi april rfc etymolog foo eastlak raymond april rfc firewal enhanc protocol fep gaynor bradner april rfc electr ip rajagopalan april rfc binari lexic octet ad-hoc transport kennedi april rfc secur flag ipv header evil bit bellovin april rfc omnisci protocol requir bradner april rfc requir moral section rout area draft farrel april rfc effici transform format unicod crispin april notabl assembl languag code year architectur cancel manufactur rfc transmiss ip datagram semaphor flag signal system jogi aaron bachmann iohann april humor rfc rfc parri encount doctor cerf januari rfc merryman ucsd june rfc night start-up cerf decemb rfc technolog christma hancock decemb ietf humor announc ietf list appoint bert member iab appear april dai stunt submiss april dai rfc ietf accept submiss properli format april dai rfc gener public consid public year receiv week prior april st sourc articl origin base materi free on-lin dictionari comput licens gfdl +anna sergeyevna a russian listen help·info anna born june retir russian profession tenni player model won singl tournament celebr tenni player worldwid peak fame fan imag a misspel common search string googl born moscow soviet union alla sergei mother emigr unit state resid miami beach florida a major-leagu tenni career curtail year possibl end spinal problem success singl game specialti doubl time world doubl player martina hingi partner won grand slam titl australia a plai style fit profil doubl player complement height compar player pam shriver peter fleme tenni career a sydnei ag a headlin intern junior tenni win tournament includ italian open year end junior european champion itf junior world champion a debut profession tenni ag fed cup russia youngest player particip win ag reach fourth open stop then-top rank player steffi graf a member russian deleg olymp game atlanta georgia reach semi-fin wimbledon lost eventu champion martina hingi score breakthrough year broke wta top rank time score impress victori martina hingi lindsai davenport steffi graf a grand slam doubl titl australian open women doubl event partner martina hingi plai frequent start a prove success doubl player profession circuit win tournament doubl titl includ australian open finalist mix doubl open wimbledon reach rank doubl women tenni associ tour rank pro career doubl record singl career plateau part manag retain rank career high singl rank expect final breakthrough fail occur reach final singl tournament grand slam event won player a note footspe aggress baselin plai excel angl dropshot flat high-risk groundstrok tend produc high number error serv unreli singl singl record final plai year mar string injuri injuri caus rank erod gradual a plai wta tour plai exhibit match charit late particip event organ elton john fellow tenni player serena william andi roddick januari plai doubl chariti event indian ocean tsunami john mcenro roddick chri evert novemb team martina hingi plai lisa raymond samantha stosur wtt final chariti a member sacramento capit world team tenni wtt plai doubl featur ell magazin juli issu a state fit compet media public a fame public surround person life numer model shoot debut open ag a beauti notic world pictur appear numer magazin worldwid a marit statu issu occas conflict rumor engag hockei player pavel bure report marri nhl hockei star sergei fedorov a repres deni fedorov state coupl marri divorc a relationship pop star enriqu iglesia video escap appear rumor coupl secretli marri appear a consist refus confirm deni rumor statu person relationship enriqu iglesia mistakenli clarifi quot ny sun intent marri anna settl split singer deni rumor simpli separ a face berlei shock absorb sport bra rang appear highli success ball bounc bill board campaign photograph scantily-clad form appear men magazin includ much-public sport illustr swimsuit issu pose bikini swimsuit popular men public fhm maxim a name peopl beauti peopl vote hottest femal athlet hottest coupl iglesia espn fhm sexiest women world uk edit contrast espn cite degre hype compar actual accomplish singl player rank a biggest sport flop year espn a rank espn classic seri number seri featur sport overr athlet grand slam doubl final win runner-up grand slam mix doubl final win runner-up wta tour titl doubl finalist a martina hingi sydnei singl doubl mix doubl singl perform timelin particip tournament sr ratio number singl tournament won number tournament plai moscow tournament achiev tier itf women circuit fed cup particip includ win-loss record stand book anna a susan holden anna a women win conni berman note +alfon maria jakob born juli aschaffenburg bavaria di octob hamburg german neurologist import contribut neuropatholog alfon maria jakob son shopkeep studi medicin munich berlin strasbourg obtain doctor commenc clinic work psychiatrist emil kraepelin laboratori work franz nissl aloi alzheim munich hamburg work theodor kae head laboratori anatom patholog psychiatr state hospit death kae jakob succeed prosector serv german armi world war return hamburg climb academ ladder habilit neurolog professor neurolog jakob guidanc depart grew rapidli notabl contribut knowledg concuss secondari nerv degener doyen neuropatholog jakob publish monograph paper neuropatholog studi contribut greatli delin diseas includ multipl sclerosi friedreich ataxia recognis alper diseas creutzfeldt-jakob diseas han gerhard creutzfeldt accumul immens experi neurosyphili ward devot exclus disord jakob lectur tour south-america wrote paper neuropatholog yellow fever suffer chronic osteomyel year life eventu caus retroperiton abscess paralyt ileu di oper eponym creutzfeldt-jakob diseas rare incur form transmiss spongiform encephalopathi caus prion bibliographi die erkrankungen monographien au dem der neurologi und psychiatri berlin normal und pathologisch anatomi und histologi de separ print handbuch der psychiatri leipzig da handbuch der anatomi berlin die syphili de gehirn und seiner oswald bumk edit der berlin +agnostic greek mean gnostic gnosi mean knowledg philosoph view truth claim metaphys claim theologi afterlif exist god god deiti ultim realiti unknown depend form agnostic inher unknow due natur subject experi perceiv individu agnost claim absolut knowledg exist non-exist god god altern individu certainti person knowledg agnostic case involv form skeptic agnost term agnost theist claim deiti exist vari degre skeptic demograph research servic list agnost categori atheist non-religi peopl mislead depend number agnost theist identifi agnost follow religion etymolog agnost introduc thoma henri huxlei describ philosophi reject gnostic meant simpli earli st millennium religi group claim spiritu mystic knowledg american heritag dictionari trivial interpret word carri neg implic religion trivial interpret earli christian church leader greek word gnosi knowledg describ spiritu knowledg agnostic confus religi view oppos doctrin gnosi gnostic religi concept gener relat agnostic huxlei term broad sens year word knowabl appar scientif literatur psycholog neurosci oxford english dictionari addit seri mean close independ technic market literatur platform agnost hardwar agnost accur term agnost replac technolog indiffer bia prejudic prefer qualifi agnostic enlighten philosoph david hume contend meaning statement univers qualifi degre doubt hume david enquiri human understand fallibl human be mean obtain absolut certainti trivial case statement true definit bachelor unmarri triangl angl ration statement assert factual claim univers simpli shorthand base knowledg understand interpret prevail evid tent instanc lee harvei oswald shot john kennedi assert absolut truth tent belief base interpret assembl evid set alarm clock prior dai believ sun rise dai belief tent temper small finit degre doubt sun destroi earth shatter collis rogu asteroid person die sun rise set agnostic gener skeptic permeat modern western philosophi natur god crux issu god exist natur attribut god foremost concern god agnostic maintain natur attribut god grasp man finit limit mind divin attribut transcend human comprehens concept god big subject person wrap mind human appli term cathol encyclopedia attempt character god term infinit perfect spiritu substanc omnipot etern incomprehens infinit intellect perfect natur attribut god cathol encyclopedia agnost assert term underscor inadequaci mental equip understand vast ephemer elus concept mainstream believ west embrac agnost creed note instanc roman cathol dogma natur god strictur agnostic agnost believ god despair fulli comprehend believ believ agnost assert absurd strengthen belief weaken agnostic subdivid subcategori suggest variat includ strong agnostic call hard agnostic close agnostic strict agnostic absolut agnostic view question exist nonexist omnipot god natur ultim realiti unknow reason natur inabl verifi experi subject experi mild agnostic call weak agnostic soft agnostic open agnostic empir agnostic tempor agnostic view exist nonexist god god unknown necessarili unknow withhold judgment evid apathet view proof exist nonexist god god god god exist unconcern univers welfar inhabit question larg academ pragmat view proof exist nonexist god god agnost theism call religi agnostic view claim exist god god exist knowledg belief agnost atheism call atheism view exist nonexist god god cline austin retriev septemb view coher definit god put question exist god meaningfulli discuss chosen definit isn't coher hold view exist god meaningless empir untest ayer theodor drang philosoph atheism agnostic incompat ground atheism agnostic accept god exist meaning proposit argu logic person belong mutual exclus categori philosoph view truth claim metaphys claim theologi afterlif exist god god deiti ultim don't philosoph view truth claim metaphys claim theologi afterlif exist god god deiti ultim doubt philosoph view truth claim metaphys claim theologi afterlif exist god god deiti ultim doesn't necessarili offici agnost simpli exhibit agnost doubt disqualifi belief truth person presbyterian absolut god person simpli faith reason philosoph opinion famou agnost origin sens thoma henri huxlei robert ingersol bertrand russel thoma henri huxlei thoma henri huxlei agnost view philosoph skeptic term agnost agnostic creat huxlei sum thought contemporari develop metaphys uncondit hamilton unknow herbert spencer import discov huxlei view matter huxlei began term agnost opinion shape time date letter septemb charl kingslei huxlei discuss view extens correspond origin agnost describ attitud huxlei gave account huxlei thoma collect essai huxlei agnostic believ natur consequ intellectu philosoph condit cleric intoler suppress scientif discoveri appear clash liter read book genesi establish jewish christian doctrin agnostic confus natur theologi deism pantheism scienc posit form theism clarif huxlei state matter intellect follow reason regard consider neg matter intellect pretend conclus demonstr demonstr huxlei agnostic note definit honesti huxlei usual definit mere honesti insist metaphys issu fundament unknow robert ingersol robert ingersol illinoi lawyer politician evolv well-known sought-aft orat centuri america refer great agnost lectur titl agnost ingersol relat led agnostic articul belief conclus speech simpli sum agnost belief bertrand russel bertrand russel pamphlet christian base speech deliv includ book titl consid classic statement agnostic essai briefli lai russell’ object argument exist god discuss moral object christian teach call reader stand feet fair squar world fearless attitud free intellig russel gave lectur exist natur god character agnost lectur discuss modern non-anthropomorph concept god russel state russel pamphlet atheist agnost subtitl plea toler face dogma rumin problem call essai agnost russel state essai russel note didn't suprem supernatur intellig term metaphys load note +argon chemic element design symbol ar argon atom number element group period tabl nobl gase argon present earth atmospher make abund nobl ga earth full outer shell argon stabl resist bond element tripl point temperatur defin fix point intern temperatur scale characterist argon approxim solubl water oxygen ga time solubl water nitrogen ga argon colorless odorless tasteless nontox liquid gaseou form argon inert condit form confirm stabl compound room temperatur argon nobl ga capabl form compound creation argon harf metast compound argon fluorin hydrogen report research univers helsinki retriev septemb neutral ground-stat chemic compound argon present limit harf argon form clathrat water atom trap lattic water molecul subbotin kawazo english institut physic blown publish retriev march ion excit state complex arh arf exist theoret calcul shown argon compound stabl synthesi rout histori argon greek mean lazi refer chemic inact hiebert histor remark discoveri argon nobl ga compound hyman ed univers chicago press chicago il traver discoveri rare gase edward arnold london rayleigh lord ramsai argon constitu atmospher chem new februari suspect present air henri cavendish discov lord rayleigh sir william ramsai scotland experi remov oxygen nitrogen sampl air lord rayleigh william ramsai proceed royal societi london argon encount independ research newal hartlei observ line color spectrum air unabl identifi element respons line argon member nobl gase discov symbol argon ar holden norman english nation nuclear data center occurr argon mercuri vapour discharg tube argon constitut volum mass earth atmospher air primari raw materi industri produc purifi argon product argon isol air fraction commonli cryogen fraction distil process produc purifi nitrogen oxygen neon krypton xenon retriev march martian atmospher contrast ppm marin spaceprob fly-bi planet mercuri mercuri thin atmospher argon believ result releas ga decai product radioact materi planet huygen probe discov presenc titan largest moon saturn english european space agenc isotop main isotop argon earth ar ar ar natur occur half-lif year decai stabl ar electron captur positron emiss stabl ca beta decai properti ratio determin ag rock retriev march earth atmospher ar cosmic rai activ primarili ar subsurfac environ produc neutron captur alpha emiss calcium ar creat decai ca result subsurfac nuclear explos half-lif dai compound complet octet electron full subshel full outer energi level argon stabl extrem resist bond element argon nobl gase consid chemic inert unabl form compound compound heavier nobl gase synthes august argon compound form research univers helsinki shine ultraviolet light frozen argon small amount hydrogen fluorid argon harf form bartlett neil english chemic engin new stabl kelvin discoveri argon difluorid arf announc unconfirm incorrect small piec rapidli melt argon ic product industri radioact decai abund isotop argon produc decai half-lif year electron captur positron emiss potassium-argon date applic canist argon ga extinguish fire damag server equip reason argon applic inert ga need argon cheapest altern diatom nitrogen suffici inert thermal conduct requir electron properti ioniz emiss spectrum nobl gase work applic argon cheapest argon inexpens byproduct product liquid oxygen liquid nitrogen larg industri scale nobl gase helium produc argon plenti highest concentr atmospher bulk argon applic aris simpli inert cheap argon fill ga incandesc light argon react filament light bulb high temperatur inert ga shield form weld includ metal inert ga weld tungsten inert ga weld metal inert ga weld argon mix extinguish fire damag equip avoid photo ga choic plasma icp spectroscopi non-react blanket process titanium reactiv element protect atmospher grow silicon germanium crystal partial pressur heat treat furnac museum conserv protect materi document prone gradual oxid presenc air detail talk argon keep oxygen open bottl wine oxid number dispens unit keeper cap system winemak top barrel displac oxygen prevent wine turn vinegar ag process pharmaceut industri top bottl intraven drug prepar intraven paracetamol displac oxygen prolong drug shelf-lif cool seeker head air forc version sidewind missil ga store high pressur expans ga cool seeker atmospher graphit electr furnac graphit oxid common reason argon thermal conduct thermal insul energi effici window bc hydro retriev march argon technic scuba dive inflat dry suit inert thermal conduct argon specif ioniz emit light plasma globe calorimetri experiment particl physic blue argon laser surgeri weld arteri destroi tumor correct ey defect fujimoto jame rox anderson english biomed optic retriev march microelectron argon ion sputter final number miscellan life year number applic primarili ic core ground water date ratio date igneou rock cryosurgeri procedur cryoablat liquifi argon destroi cancer cell surgeri procedur call argon enhanc coagul form argon plasma beam procedur carri risk produc ga embol patient result death person type accid english potenti hazard argon non-tox satisfi bodi oxygen simpl asphyxi peopl suffoc breath argon mistak middaugh john bledso gari june retriev septemb +arsen chemic element symbol atom number arsen written albertu magnu germani emslei john natur build block a-z guid element oxford oxford univers press atom mass ionic charg posit period tabl shown notori poison metalloid allotrop form yellow molecular non-metal black grai form metalloid form arsen crystal structur free natur miner arsen sensu stricto rarer par commonli arsenid arsen compound miner speci arsen compound pesticid herbicid insecticid alloi common oxid state arsen arsenid intermetal compound arsen iii arsenit compound arsen stabl inorgan arsen arsen bond readili form instanc pair red sulfid realgar squar ion arsenid oxid state stereochemistri arsen affect possess lone pair electron notabl characterist arsen similar chemic predecessor phosphoru phosphoru form colourless odourless crystallin oxid hygroscop readili solubl water form acid solut arsen acid phosphor acid weak acid phosphoru arsen form unstabl gaseou hydrid arsin ash similar great arsen partli substitut phosphoru biochem reaction poison dose solubl arsen compound act stimul popular small dose medicin peopl mid centuri heat air oxid arsen trioxid fume reaction odor resembl garlic odor detect strike arsenid miner arsenopyrit hammer arsen arsen compound sublim heat atmospher pressur convert gaseou form interven liquid state liquid state appear atmospher explain melt point higher boil point element arsen solid form yellow form soft waxi unstabl tetrahedr molecul similar molecul white phosphoru grai black form layer crystal structur bond extend crystal brittl semiconductor metal luster densiti yellow form cm rhombohedr denser densiti cm form similarli dens applic lead hydrogen arsen centuri insecticid fruit tree result brain damag work sprayer scheel green copper arsen record centuri color agent sweet centuri monosodium methyl arsen toxic organ form arsen replac lead arsen role agricultur applic concern gener public wood treat chromat copper arsen cca vast major older pressur treat wood cca timber widespread countri heavili centuri structur outdoor build materi risk rot insect infest untreat timber widespread ban public studi show low-level leach in-situ timber children playground equip surround soil risk present burn cca timber year fatal anim poison human poison result ingest indirectli wood ash cca timber lethal human dose approxim gram ash scrap cca construct timber continu wide burnt ignor commerci domest fire protocol safe dispos cca timber place patchili concern quarter widespread landfil dispos timber centuri number arsen compound medicin includ paul ehrlich arsen trioxid thoma fowler syphili trypanosomiasi supersed modern antibiot arsen trioxid varieti wai year commonli treatment cancer food drug administr approv compound treatment patient acut promyelocyt leukemia resist atra antman karen introduct supplement oncologist suppl pmid fowler solut psoriasi huet al portal hypertens chronic arsen intox gastroenterolog pt pmid copper green pigment name includ caus numer arsen poison agricultur insecticid termin poison anim feed method diseas prevent growth stimul gallium arsenid import semiconductor materi integr circuit circuit compound faster expens silicon silicon direct bandgap laser diod led convert electr light bronz occup exposur exposur higher-than-averag level arsen occur occup place worker risk industri inorgan arsen compound includ wood preserv glass product nonferr metal alloi electron semiconductor manufactur inorgan arsen coke oven emiss smelter industri unit state occup safeti health administr retriev octob histori word arsen borrow persian word mean yellow orpiment borrow greek mean masculin potent arsen persia ancient time symptom arsen poison ill-defin frequent murder advent marsh test sensit chemic test presenc sensit gener test reinsch test due rule class murder potenc discreet arsen call poison king king poison bronz ag arsen includ bronz alloi harder so-cal arsen bronz albertu magnu albert great believ isol element johann schröder publish wai prepar arsen alchem symbol arsen victorian era colourless crystallin solubl mix vinegar chalk eaten women improv complexion face make skin paler show work field arsen rub face arm women accident arsen adulter foodstuff led bradford sweet poison result approxim death peopl ill arsen poison occurr larg sampl nativ arsen white arsen output china top produc white arsen world share chile peru report british geolog survei arsenopyrit unoffici call common miner roast air arsen sublim arsen iii oxid leav iron oxid import compound arsen arsen iii oxid yellow sulfid orpiment red realgar pari green calcium arsen lead hydrogen arsen agricultur insecticid poison orpiment realgar paint pigment fallen due toxic reactiv arsen nativ natur main econom sourc miner arsenopyrit mention arsenid metal silver cobalt coa nickel sulfid oxidis arsen miner pb aso cl aso rare arsenit arsen iii aso oppos arsen aso addit inorgan form mention arsen occur organ form environ inorgan arsen compound enter food chain progress metabolis toxic form arsen process methyl mold produc signific amount inorgan arsen present arsen arsenid miner arsen miner toxic arsen compound potent poison arsen disrupt atp product mechan level citric acid cycl arsen inhibit pyruv dehydrogenas compet phosphat uncoupl oxid phosphoryl inhibit reduct nad mitochondri respir atp synthesi hydrogen peroxid product increas form reactiv oxygen speci oxid stress metabol interfer lead death multi-system organ failur arsen poison necrot cell death apoptosi post mortem reveal brick red color mucosa due sever hemorrhag arsen toxic plai protect role doull essenti toxicolog element arsen arsen compound classifi toxic danger environ european union direct eec iarc recogn arsen arsen compound group carcinogen eu list arsen trioxid arsen pentoxid arsen salt categori carcinogen arsen due manifest drink water common speci arsen arsenit aso iii abil arsen undergo redox convers iii avail environ croal newman understand stimul iii oxid limit reduct relev bioremedi contamin site croal studi iii oxid heterotroph reduc understand oxid reduct arsen croal laura jeffrei davin diann newman genet annual review genet april arsen drink water arsen contamin groundwat led massiv epidem arsen poison bangladesh andrew venom earth arsen caus world worst mass poison neighbour countri estim approxim million peopl drink groundwat arsen concentr elev world health organ standard part billion arsen groundwat natur origin releas sediment groundwat due anox condit subsurfac groundwat began western ngo instig massiv tube drinking-wat program late twentieth centuri program design prevent drink bacteri contamin surfac water fail test arsen groundwat countri district south east asia vietnam cambodia tibet china thought geolog environ similarli conduc gener groundwat report nakhon si thammarat thailand dissolv arsen chao phraya river suspect high level natur occur arsen public health problem due bottl water northern unit state includ part michigan wisconsin minnesota dakota signific concentr arsen ground water increas level skin cancer arsen exposur wisconsin level part billion drink water standard lm km anderson ha associ drinking-wat preval skin cancer wisconsin fox river vallei health popul nutr pmid epidemiolog evid chile show dose depend connect chronic arsen exposur form cancer risk factor cigarett smoke present effect demonstr persist part billion sancha arsen exposur impact health chile health popul nutr pmid studi cancer rate taiwan lamm sh engel penn ca chen arsen cancer risk confound southwest taiwan data set environ health perspect pmid suggest signific increas cancer mortal level part billion analyz multipl epidemiolog studi inorgan arsen exposur suggest small measur risk increas bladder cancer part billion chu ha dj inorgan arsen drink water bladder cancer meta-analysi dose-respons assess int environ re public health pmid peter ravenscroft depart geographi univers cambridg retriev januari roughli million peopl worldwid consum part billion arsen drink water consum part billion arsen drink water previous cite multipl epidemiolog studi analysi predict addit case bladder cancer repres clear underestim impact includ lung skin cancer explicitli underestim exposur expos level arsen current standard weigh cost benefit arsen arsen remov drink water coprecipit iron miner oxid filter treatment fail produc accept result adsorpt arsen remov media util adsorpt media system approv point servic studi fund unit state environment protect agenc epa nation scienc foundat nsf magnet separ arsen magnet field gradient demonstr point-of-us water purif area monodispers magnetit fe nanocryst high specif surfac area fe nanocryst mass wast arsen remov water dramat reduc yavuz al magnet separ monodispers fe nanocryst compound arsen acid aso arsen acid aso arsen trioxid arsin arsen ash cadmium arsenid cd gallium arsenid gaa lead hydrogen arsen arsen occur ii oxid state cation ii webel retriev decemb arsen compound isotop arsen propos salt materi nuclear weapon cobalt better-known salt materi jacket irradi intens high-energi neutron flux explod thermonuclear weapon transmut radioact isotop half-lif dai produc approxim mev gamma radiat significantli increas radioact weapon fallout hour weapon built test note +antimoni uk chemic element symbol sb latin mean mark atom number metalloid antimoni allotrop form stabl form antimoni blue-whit metalloid yellow black antimoni unstabl non-met antimoni paint ceram enamel wide varieti alloi electron rubber properti antimoni element form silveri white brittl fusibl crystallin solid exhibit poor electr heat conduct properti vapor temperatur metalloid antimoni resembl metal appear physic properti chemic react metal attack oxid acid halogen antimoni alloi unusu expand cool antimoni geochem categor occur sulfur heavi metal lead copper silver estim abund antimoni earth crust rang ppm applic antimoni increasingli semiconductor industri product diod infrar detector devic alloi metalloid greatli increas lead hard mechan strength import antimoni harden lead storag batteri includ batteri alloi type metal small arm tracer ammunit cabl sheath match medicin drug plumb solder lead-fre solder sb main big-end bear intern combust engin alloi treat schistosomiasi todai praziquantel univers linotyp print machin antimoni compound form oxid sulfid sodium antimoni trichlorid make compound ceram enamel glass paint potteri antimoni trioxid import antimoni compound primarili flame-retard formul flame-retard applic includ market children cloth toi aircraft automobil seat cover fiberglass composit industri addit polyest resin item light aircraft engin cover resin burn flame held extinguish flame remov antimoni sulfid ingredi safeti match tini bead alloi emitt collector npn alloi junction transistor natur sulfid antimoni stibnit biblic time medicin cosmet stibnit develop countri medicin antimoni treatment schistosomiasi antimoni attach sulfur atom enzym parasit human host small dose kill parasit caus damag patient antimoni compound veterinari prepar lithium antimoni skin condition rumin antimoni nourish condit effect keratin tissu anim tartar emet antimoni prepar drug treatment chiefli involv antimoni call antimoni drug allopurinol meglumin consid drug choic treatment leishmaniasi domest anim therapeut indic drug poor penetr bone marrow leishmania resid cure diseas viscer form difficult coin antimoni issu provinc china coin popular soft wore quickli circul issu produc etymolog ancient word antimoni chief mean kohl sulfid antimoni plini elder distinguish male femal form antimoni male form sulfid femal form superior heavier friabl nativ metal antimoni plini natur histori jone loeb translat suppli note suggest identif egyptian call antimoni hieroglyph vowel uncertain arab tradit word albright sarton quot meyerhof translat book review greek word loan word arab egyptian attic tragic poet centuri bc greek celsu plini write latin centuri ad plini name sic alabast common effect cosmet latin author adapt word latin arab word substanc oppos cosmet suggest form earliest deriv accus lsj vocalis spell declens vari endlich celsu ff plini natur histori lewi short latin dictionari o antimoni sb standard chemic symbol antimoni due centuri chemic pioneer jön jakob berzeliu abbrevi mediev latin form modern languag late byzantin greek name origin uncertain suggest difficulti form interpret popular etymolog french adher explain earli alchemist monk antimoni poison symbol resembl upsid femal symbol antimoni hint satir pun origin hypothet greek word explain metal unalloi diana fernando alchemi illustr kirk-othm fernando deriv stori basil valentin fellow monast alchemist poison work antimoni centuri time popular etymolog o pure neg natur express lippmann conjectur greek word floret cite exampl relat greek word describ chemic biolog effloresc lippman earli includ translat constantin african arab medic treatis lippman write author scribal corrupt arab form meyerhof deriv meyerhof quot sarton assert corrupt mediev traduct o assert arab form origin root posit intermedi form possibl includ arab metal hypothet deriv parallel greek endlich advantag syllabl common histori antimoni sulfid compound antimoni iii trisulfid sb recogn antiqu earli bc past sb powder fat materi date ey cosmet middl east afield sb call kohl darken brow lash draw line perimet ey artifact antimoni date bc tello chaldea part present dai iraq copper object plate antimoni date bc bc egypt kirk-othm entri antimoni uncertainti descript artifact tello report vase detail discuss report fragment indetermin purpos fragment present lectur contemporari comment antimoni present dai highli brittl crystallin metal fashion vase remark repres lost art render antimoni malleabl moorei histori metallurgi descript procedur isol antimoni book de la written italian book preced famou book latin agricola de metallica agricola incorrectli credit discoveri metal antimoni alchem symbol antimoni tradit histori western alchemi metal antimoni previou put prior basiliu valentinu latin manuscript triumphali supposedli circa manuscript publish english translat triumphal chariot antimoni johann marvel discoveri complet set manuscript includ alchem tale fulli jean-jacqu bibliotheca chemica curiosa manuscript enclos centuri pillar st peter abbei erfurt pillar shatter thunderbolt scholar consid basiliu valentinu mytholog personag gottfri wilhelm leibniz declar care enquiri prior valentinu exist abbei erfurt pseudonym merg poorli translat materi origin tradit histori middl eastern alchemi pure antimoni geber call father chemistri centuri open controversi marcellin berthelot translat number geber book state antimoni mention author claim berthelot translat import book interest describ antimoni translat content complet unknown sourc nativ massiv antimoni oxid product antimoni output world product trend antimoni element abund miner speci antimoni nativ frequent sulfid stibnit sb predomin or miner commerci form antimoni gener ingot broken piec granul cast cake form powder shot singl crystal china top produc antimoni world share distanc south africa bolivia tajikistan report british geolog survei chiffr de métal dan le sourc l'état du mond largest china hunan provinc antimonid miner miner precaut antimoni compound toxic clinic antimoni poison similar arsen poison small dose antimoni headach dizzi depress larger dose violent frequent vomit lead death dai arsen poison studi antimoni leach pet bottl water level drink water guidelin guidelin japan wakayama tabl epa health canada ontario ministri environ german feder ministri environ al acid natur drink suffici dissolv small amount antimoni oxid contain packag drink modern manufactur method prevent occurr research concern antimoni level correspond durat bottl left stand longer beverag bottl higher antimoni leach chemistri import compound antimoni includ antimoni pentafluorid sbf antimoni trioxid sb antimoni sbh indium antimonid insb acid antimoni compound +actinium chemic element symbol ac atom number notabl characterist actinium silveri radioact metal element due intens radioact actinium glow dark pale blue light actinium trace uranium or ac emitt half-lif year ton uranium or tenth gram actinium pu parent isotop actinium seri decai chain end stabl isotop pb applic time radioact radium make valuabl neutron sourc signific industri applic ac medicin produc bi reusabl gener agent target alpha therapi tat ac produc artifici itu germani cyclotron dr graem melvil st georg hospit sydnei linac histori actinium discov french chemist separ pitchblend friedrich oskar giesel independ discov actinium call retain senior chemic behavior actinium similar rare earth lanthanum word actinium greek akti mean beam rai occurr actinium trace amount uranium or commonli milligram amount neutron irradi ra nuclear reactor actinium metal prepar reduct actinium fluorid lithium vapor isotop natur occur actinium compos radioact isotop ac radioisotop character stabl ac half-lif ac half-lif dai ac half-lif remain radioact isotop half-lif hour major life minut shortest-liv isotop actinium ac decai alpha decai electron captur half-lif ns actinium meta state purifi ac equilibrium decai product dai decai half-lif isotop actinium rang atom weight ac ac precaut ac extrem radioact term potenti radiat induc health effect ac danger plutonium ingest small amount ac fatal fiction applic actinium compound advanc circuitri produc time travel devic excalibur morgana reveng +americium synthet element symbol atom number radioact metal element americium actinid obtain bombard plutonium neutron fourth transuran element discov name america analog europium properti pure americium silveri white lustr room temperatur slowli tarnish dry air silveri plutonium neptunium appar malleabl neptunium uranium alpha emiss approxim time radium gram quantiti emit intens gamma rai creat exposur problem handl element americium fissil critic mass unreflect sphere approxim kilogram americium weapon materi minimum critic mass consider larger readili obtain plutonium uranium isotop intern panel fissil materi retriev novemb applic element produc kilogram amount easier produc pure sampl isotop americium synthet element household type smoke detector tini amount microgram sourc ioniz radiat portabl gamma rai sourc radiographi element emploi gaug glass thick creat flat glass neutron emitt neutron radiographi neutron emit radioact sourc log applic amb cite advanc nuclear rocket propuls fuel sciencedaili jan retriev novemb isotop extrem expens produc usabl quantiti histori americium isol glenn seaborg leon morgan ralph jame albert ghiorso late wartim metallurg laboratori univers chicago argonn nation laboratori team creat isotop subject pu success neutron captur reaction nuclear reactor creat pu pu turn decai beta decai seaborg grant patent element method produc element unusu ters claim number read simpli element discoveri americium curium announc inform children quiz show rachel chemic engin new isotop sampl americium radioisotop americium character stabl half-lif year half-lif year remain radioact isotop half-liv hour major half-liv minut element meta state stabl year isotop americium rang atom weight chemistri aqueou system common oxid state harder oxid iii iv oxidis pu iii pu iv solvent extract chemistri americium import area world scientist work reduc medium term radiotox wast reprocess nuclear fuel liquid-liquid extract exampl solvent extract americium americium dioxid smoke detector americium uranium readili form dioxid core amo david clark reprint fa org lo alamo scienc americium hard oxidis oxid state aqueou solut environ core complex carbon oxygen moieti form charg complex tend readili mobil affin soil amo amo amo amo amo larg amount work solvent extract americium case americium element respons major long live radiotox spent nuclear fuel thought remov americium curium fuel isol man environ shorter time requir isol untreat fuel eu fund project topic codenam project triazin compound studi potenti extract agent michael hudson michael drew mark stj foreman clément hill nathali huet charl tristan young coordin chemistri bipyridin lanthanid iii element implic partit americium iii dalton tran andrea geist michael weigl udo klau gompper dec inform exchang meet actinid fission product partit transmut oecd nuclear energi agenc hill oct atalant scientif research back-end fuel cycl st centuri commissariat l'énergi atomiqu andrea geist michael weigl klau gompper oct inform exchang meet actinid fission product partit transmut oecd nuclear energi agenc ensor tennesse tech univers +astatin radioact chemic element symbol atom number heaviest halogen notabl characterist highli radioact element confirm mass spectromet behav chemic halogen iodin accumul thyroid gland iodin astatin thought metal iodin research brookhaven nation laboratori perform experi identifi measur elementari reaction involv astatin chemic research astatin limit extrem rariti consequ extrem short half-lif stabl isotop half-lif hour final product decai astatin isotop lead color trend halogen notic element darker color trend astatin expect black solid heat sublim dark purplish vapor darker iodin astatin expect form ionic bond metal sodium halogen displac salt lighter reactiv halogen astatin react hydrogen form hydrogen dissolv water form acid astatin reactiv halogen reactiv iodin histori exist predict mendeleev astatin greek mean unstabl synthes dale corson mackenzi emilio univers california berkelei barrag bismuth alpha particl earlier element ab dakin propos element chemist de work dhaka occurr astatin occur natur decai short half-lif minut amount astatin rarest naturally-occur element total amount earth crust estim oz time amount teaspoon element guin world record dub element rarest earth state oz element astatin occur natur isaac asimov essai larg number scientif notat size atom wrote north south america depth ten mile number astatin atom time trillion astatin produc bombard bismuth energet alpha particl obtain long-liv distil target heat presenc air compound multipl compound astatin synthes microscop amount studi intens inevit radioact disintegr compound primarili theoret interest studi potenti nuclear medicin isotop astatin isotop radioact rang mass number exist metast excit state longest-liv isotop half-lif hour shortest-liv isotop half-lif nanosecond applic extrem short life span astatin practic applic exist scientif studi astatin treat type tumour astatin alpha emitt physic halflif featur radiotherapi precaut astatin radioact handl care extrem rariti gener public expos astatin halogen standard precaut appli reactiv iodin share similar characterist +atom smallest particl compris chemic element atom consist electron cloud surround dens nucleu nucleu posit charg proton electr neutral neutron surround cloud neg charg electron number proton nucleu equal number electron atom electr neutral ion net posit neg charg atom classifi number proton neutron number proton determin chemic element number neutron determin isotop element concept atom indivis compon matter propos earli indian greek philosoph centuri chemist physic basi idea show substanc broken chemic method late earli centuri physicist discov subatom compon structur atom demonstr indivis principl quantum mechan includ wave–particl dualiti matter successfulli model atom haubold han mathai structur univers common sens scienc retriev januari harrison rel everydai experi atom minuscul object proportion tini mass observ individu special instrument scan tunnel microscop atom mass concentr nucleu isotop nucleon electron corner case singl electron nucleon proton total atom proton neutron equal atom neutron rel number proton nucleu unstabl subject radioact decai staff august stanford linear acceler center stanford univers retriev januari electron surround nucleu occupi set stabl energi level orbit transit state absorpt emiss photon match energi differ level electron determin chemic properti element strongli influenc atom magnet properti histori concept matter compos discret unit divid arbitrarili tini quantiti millennia idea found abstract philosoph reason experiment empir observ natur atom philosophi vari consider time cultur school spiritu element basic idea atom adopt scientist thousand year elegantli explain discoveri field chemistri ponomarev earliest refer concept atom date ancient india centuri bce nyaya vaisheshika school develop elabor theori atom combin complex object pair trio pair teresi refer atom west emerg centuri leucippu student democritu system view approxim bce democritu coin term greek meant smallest indivis particl matter divid indian greek concept atom base pure philosophi modern scienc retain coin democritu progress understand atom occur scienc chemistri began develop natur philosoph robert boyl publish sceptic chymist argu matter compos combin atom classic element air earth fire water siegfri term element defin french nobleman scientif research antoin lavoisi basic substanc broken method chemistri element atom le moyn colleg depart chemistri retriev decemb atom molecul depict john dalton system chemic philosophi englishman john dalton instructor natur philosoph concept atom explain element react ratio small number law multipl proport gase dissolv water propos element consist atom singl uniqu type atom join form chemic compound wurtz dalton addit valid particl theori extens atom theori occur botanist robert brown microscop dust grain float water discov move errat phenomenon brownian motion suggest phenomenon caus thermal motion water molecul albert einstein produc mathemat analysi motion confirm hypothesi mazo lee hoon kelvin imperi colleg london retriev decemb physicist thomson work cathod rai discov electron subatom natur destroi concept atom indivis unit nobel foundat nobelpr org retriev decemb thomson believ electron distribut atom charg balanc presenc uniform sea posit charg plum pud model bohr model hydrogen atom show electron jump fix orbit emit photon energi specif frequenc research direct physicist ernest rutherford bombard sheet gold foil helium ion discov small percentag deflect larger angl predict thomson propos rutherford interpret gold foil experi suggest posit charg atom mass concentr nucleu center atom rutherford model electron orbit planet sun posit charg helium ion pass close dens nucleu deflect sharper angl rutherford philosoph magazin retriev januari experi product radioact decai radiochemist frederick soddi discov appear type atom posit period tabl nobel foundat retriev januari term isotop coin margaret todd suitabl atom belong element thomson creat techniqu separ atom type work ioniz gase subsequ led discoveri stabl isotop thomson joseph john proceed royal societi retriev januari physicist niel bohr revis rutherford model suggest electron confin defin orbit jump freeli spiral outward intermedi state stern david nasa goddard space flight center retriev decemb electron absorb emit specif amount energi transit fix orbit light heat materi pass prism produc multi-color spectrum appear fix line spectrum successfulli explain orbit transit bohr niel decemb nobel foundat retriev februari erwin schrödinger loui de brogli propos particl behav extent wave develop mathemat model atom electron three-dimension waveform point particl consequ waveform describ electron mathemat imposs obtain precis valu posit momentum particl time uncertainti principl concept measur posit obtain rang probabl valu momentum vice versa model difficult visual conceptu explain observ atom behavior previou model structur spectral pattern atom larger hydrogen planetari model atom discard favor orbit zone nucleu electron exist brown kevin mathpag retriev decemb harrison david march univers toronto retriev decemb schemat diagram simpl mass spectromet develop mass spectromet allow exact mass atom measur devic magnet bend trajectori beam ion amount deflect determin ratio atom mass charg chemist franci william aston instrument demonstr isotop mass mass isotop vari integ amount call number rule aston franci constitut atmospher neon philosoph magazin explan atom isotop await discoveri neutron particl mass similar proton physicist jame chadwick isotop explain element number proton number neutron nucleu chadwick jame decemb nobel foundat retriev decemb develop improv particl acceler particl detector allow scientist studi impact atom move high energi kulland sven august nobel foundat retriev januari neutron proton hadron composit smaller particl call quark standard model nuclear physic develop successfulli explain properti nucleu term sub-atom particl forc govern interact staff octob nobel foundat retriev januari steven chu co-work bell lab develop techniqu lower temperatur atom laser year team led william phillip manag atom sodium magnet trap combin techniqu method base doppler effect develop claud cohen-tannoudji group small number atom cool microkelvin atom studi great precis led discoveri bose-einstein condens staff octob nobel foundat retriev februari histor singl atom prohibit small scientif applic devic construct singl metal atom connect organ ligand construct singl electron transistor park al natur retriev januari experi carri trap slow singl atom laser cool caviti gain physic understand matter domoko adam physic review retriev januari compon subatom particl word atom origin denot particl cut smaller particl modern scientif usag atom compos subatom particl constitu particl atom consist electron proton atom neutron electron massiv particl neg electr charg size small measur techniqu proton posit charg mass time electron reduc atom bind energi neutron electr charg free mass time mass electron woan neutron proton compar dimens order particl sharpli defin macgregor standard model physic proton neutron compos elementari particl call quark quark type fermion basic constitu matter lepton electron type quark fraction electr charg proton compos quark quark neutron consist quark quark distinct account differ mass charg particl quark held strong nuclear forc mediat gluon gluon member famili boson elementari particl mediat physic forc particl data group lawrenc berkelei laboratori retriev januari jame april univers oregon retriev januari nucleu bound proton neutron atom tini atom nucleu collect call nucleon radiu nucleu approxim equal fm total number nucleon smaller radiu atom order fm nucleon bound short-rang attract potenti call residu strong forc distanc smaller fm forc power electrostat forc posit charg proton repel pfeffer atom element number proton call atom number singl element number neutron vari determin isotop element number neutron rel proton determin stabil nucleu isotop undergo radioact decai wenner jennif octob carleton colleg retriev januari neutron proton type fermion pauli exclus principl quantum mechan effect prohibit ident fermion multipl proton occupi quantum state time proton nucleu occupi state energi level rule appli neutron prohibit appli proton neutron occupi quantum state nucleu number proton neutron potenti drop energi state radioact decai number proton neutron close match result atom match number proton neutron stabl decai increas atom number mutual repuls proton requir increas proport neutron maintain stabil nucleu slightli modifi trend equal number proton neutron diagram illustr nuclear fusion process form deuterium nucleu consist proton neutron proton positron antimatt electron emit electron neutrino number proton neutron atom nucleu modifi requir high energi strong forc nuclear fusion occur multipl atom particl join form heavier nucleu energet collis nuclei core sun proton requir energi kev overcom mutual repuls coulomb barrier fuse singl nucleu miho chri juli case western reserv univers retriev februari nuclear fission process caus nucleu split smaller nuclei radioact decai nucleu modifi bombard high energi subatom particl photon process chang number proton nucleu atom atom chemic element staff march lawrenc berkelei nation laboratori retriev januari arjun scott march institut energi environment research retriev januari mass nucleu fusion reaction sum mass separ particl differ valu emit energi albert einstein equival formula mc mass loss speed light deficit bind energi nucleu al fusion nuclei atom number iron nickel exotherm process releas energi requir bring fewel american journal physic retriev februari process nuclear fusion star self-sustain reaction heavier nuclei total bind energi begin decreas mean fusion process nuclei higher atom number endotherm process massiv nuclei undergo energy-produc fusion reaction sustain hydrostat equilibrium star raymond david april mexico tech retriev januari electron cloud potenti show minimum energi need reach posit particl energi constrain rang posit electron atom attract proton nucleu electromagnet forc forc bind electron electrostat potenti surround smaller nucleu mean extern sourc energi need order electron escap closer electron nucleu greater attract forc electron bound center potenti requir energi escap exterior electron particl properti particl wave electron cloud region potenti electron form type three-dimension stand wave wave form move rel nucleu behavior defin atom orbit mathemat function characteris probabl electron locat posit measur discret quantiz set orbit exist nucleu wave pattern rapidli decai stabl form philip univers florida retriev januari orbit ring node structur differ size shape orient manthei david orbit central retriev januari illustr show wave function atom orbit note orbit displai singl angular node orient minimum center atom orbit correspond energi level electron electron chang state higher energi level absorb photon suffici energi boost quantum state spontan emiss electron higher energi state drop energi state radiat excess energi photon characterist energi valu defin differ energi quantum state respons atom spectral line amount energi need remov add electron electron bind energi bind energi nucleon requir ev strip ground-stat electron hydrogen atom herter terri cornel univers retriev februari atom electr neutral equal number proton electron atom deficit surplu electron call ion electron farthest nucleu transfer nearbi atom share atom mechan atom bond molecul type chemic compound ionic coval network crystal smirnov properti definit atom ident number proton nuclei belong chemic element atom number proton number neutron isotop element hydrogen atom singl proton isotop exist neutron call protium common form neutron deuterium neutron tritium mati howard august guid nuclear wall chart lawrenc berkelei nation lab retriev decemb element form continu rang atom number hydrogen singl proton element ununoctium weiss rick washington post octob retriev decemb isotop element atom number greater radioact sill bell physic world april retriev decemb mass larg major atom mass proton neutron total number particl atom call mass number mass atom rest express unifi atom mass unit call dalton da unit defin twelfth mass free neutral atom approxim lightest isotop hydrogen atom lowest mass atom weight chieh chung januari univers waterloo retriev januari atom mass approxim equal mass number time atom mass unit nation institut standard technolog retriev januari heaviest stabl atom mass audi thibault nuclear physic retriev februari massiv atom light work chemist unit mole mole defin mole element number atom number chosen element atom mass mole atom element mass carbon atom mass mole carbon atom weigh mill al size atom lack well-defin outer boundari dimens term distanc nuclei atom join chemic bond radiu vari locat atom atom chart type chemic bond number neighbor atom coordin number quantum mechan properti spin shannon acta crystallographica section retriev januari period tabl element atom size increas move column decreas move row left dong judi physic factbook retriev novemb smallest atom helium radiu pm largest caesium pm dimens thousand time smaller wavelength light nm view optic microscop individu atom observ scan tunnel microscop exampl demonstr minut atom typic human hair million carbon atom width staff oregon state univers retriev januari describ width human hair nm carbon atom span nm singl drop water sextillion atom oxygen number hydrogen atom padilla al scienc textbook page sextillion atom oxygen drop water atom hydrogen singl carat diamond mass sextillion atom carbon carat milligram definit gram mole avogadro constant defin atom mole appl magnifi size earth atom appl approxim size origin appl feynman radioact decai diagram show half-lif second isotop proton neutron element isotop unstabl nuclei subject radioact decai caus nucleu emit particl electromagnet radiat radioact occur radiu nucleu larg compar radiu strong forc act distanc order fm retriev decemb primari form radioact decai fireston richard berkelei laboratori retriev januari alpha decai caus nucleu emit alpha particl helium nucleu consist proton neutron result emiss element atom number beta decai regul weak forc result transform neutron proton proton neutron accompani emiss electron antineutrino emiss positron neutrino electron positron emiss call beta particl beta decai increas decreas atom number nucleu gamma decai result chang energi level nucleu state result emiss electromagnet radiat occur emiss alpha beta particl radioact decai radioact isotop characterist decai time period half-lif determin amount time need sampl decai exponenti decai process steadili decreas proport remain isotop life half-liv pass isotop present magnet moment elementari particl possess intrins quantum mechan properti spin analog angular momentum object spin center mass strictli speak particl believ point-lik rotat spin measur unit reduc planck constant electron proton neutron spin atom electron motion nucleu possess orbit angular momentum addit spin nucleu possess angular momentum due nuclear spin hornak basic nmr rochest institut technolog retriev januari magnet field produc atom magnet moment determin form angular momentum rotat charg object classic produc magnet field domin contribut spin due natur electron obei pauli exclus principl electron quantum state bound electron pair member pair spin state spin state spin cancel reduc total magnet dipol moment atom number electron schroeder paul februari univers georgia retriev januari ferromagnet element iron odd number electron lead unpair electron net magnet moment orbit neighbor atom overlap energi state achiev spin unpair electron align process exchang interact magnet moment ferromagnet atom line materi produc measur macroscop field paramagnet materi atom magnet moment line random direct magnet field present magnet moment individu atom line presenc field goebel greg septemb magnet properti atom elementari quantum physic public domain websit retriev januari nucleu atom net spin nuclei align random direct thermal equilibrium element polar signific proport nuclear spin state align direct condit call hyperpolar import applic magnet reson imag yarri lynn spring berkelei lab research review retriev januari liang haack energi level electron bound atom potenti energi invers proport distanc nucleu measur amount energi need unbind electron atom unit electronvolt ev quantum mechan model bound electron occupi set state center nucleu state correspond specif energi level lowest energi state bound electron call ground state electron higher energi level excit state bart van shippensburg univers retriev decemb order electron transit state absorb emit photon energi match differ potenti energi level energi emit photon proport frequenc specif energi level distinct band electromagnet spectrum fowl element characterist spectrum depend nuclear charg subshel fill electron electromagnet interact electron factor martin wies nation institut standard technolog retriev januari absorpt line spectrum continu spectrum energi pass ga plasma photon absorb atom caus electron chang energi level excit electron remain bound atom spontan emit energi photon travel random direct drop energi level atom behav filter form seri dark absorpt band energi output observ view atom direct includ continu spectrum background seri emiss line photon emit atom spectroscop measur strength width spectral line composit physic properti substanc determin avogadro web site retriev august close examin spectral line reveal displai fine structur split occur spin-orbit coupl interact spin motion outermost electron fitzpatrick richard februari univers texa austin retriev februari atom extern magnet field spectral line split compon phenomenon call zeeman effect caus interact magnet field magnet moment atom electron atom multipl electron configur energi level singl spectral line interact magnet field atom shift electron configur slightli energi level result multipl spectral line weiss michael univers retriev februari presenc extern electr field compar split shift spectral line modifi electron energi level phenomenon call stark effect beyer bound electron excit state interact photon proper energi stimul emiss photon match energi level occur electron drop energi state energi differ match energi interact photon emit photon interact photon move parallel match phase wave pattern photon synchron physic properti laser emit coher beam light energi narrow frequenc band watkin thayer san state univers retriev decemb valenc outermost electron shell atom uncombin state valenc shell electron shell call valenc electron number valenc electron determin bond behavior atom atom tend chemic react manner fill empti outer valenc shell reusch william juli michigan state univers retriev januari chemic element displai period tabl laid displai recur chemic properti element number valenc electron form group align column tabl horizont row correspond fill quantum shell electron element tabl outer shell complet fill electron result chemic inert element nobl gase hust robert al decemb lo alamo nation laboratori retriev januari baum rudi chemic engin new retriev januari state snapshot illustr format bose-einstein condens quantiti atom state matter depend physic condit temperatur pressur vari condit materi transit solid liquid gase plasma goodstein state materi exist phase solid carbon exist graphit diamond vadim metast phase phase transform phase diagram physic chemistri temperatur close absolut atom form bose–einstein condens point quantum mechan effect observ atom scale appar macroscop scale myer staff nation institut standard technolog octob retriev januari super-cool collect atom behav singl super atom fundament check quantum mechan behavior colton imogen fyff jeanett februari univers melbourn retriev februari identif scan tunnel microscop imag show individu atom gold surfac reconstruct surfac atom deviat bulk crystal structur arrang column atom wide pit scan tunnel microscop devic view surfac atom level quantum tunnel phenomenon particl pass barrier insurmount electron tunnel vacuum planar metal electrod adsorb atom provid densiti measur scan atom tip move sampl permit plot tip displac later separ constant current calcul show extent imag individu atom visibl confirm bia microscop imag dimens electron orbit close pack energi level fermi level local densiti state jacox marilyn william novemb nation institut standard technolog retriev januari nobel foundat retriev januari nobel lectur binnig rohrer atom ioniz remov electron electr charg trajectori atom bend pass magnet field radiu trajectori move ion turn magnet field determin mass atom mass spectromet principl measur mass-to-charg ratio ion sampl multipl isotop mass spectromet determin proport isotop sampl measur intens beam ion techniqu vapor atom includ induct coupl plasma atom emiss spectroscopi induct coupl plasma mass spectrometri plasma vapor sampl analysi sector field mass spectromet icp-m acta part atom spectroscopi method electron energi loss spectroscopi measur energi loss electron beam transmiss electron microscop interact portion sampl tomograph resolut chemic identifi individu atom time-of-flight mass spectrometri müller erwin john mclane brook field ion microscop review scientif instrument issn spectra excit state analyz atom composit distant star specif light wavelength contain observ light star separ relat quantiz transit free ga atom color replic gas-discharg lamp element lochner jim gibb meredith newman phil april nasa goddard space flight center retriev januari helium discov spectrum sun year earth winter mark webel retriev januari origin current state atom form total mass densiti observ univers averag densiti atom hinshaw gari februari nasa wmap retriev januari galaxi milki atom higher concentr densiti matter interstellar medium ism rang atom choppin al sun believ local bubbl region highli ioniz ga densiti solar neighborhood atom davidsen arthur scienc retriev januari star form dens cloud ism evolutionari process star result steadi enrich ism element massiv hydrogen helium milki atom concentr star total mass atom form mass galaxi remaind mass unknown dark matter smith nigel januari physic world retriev februari nucleosynthesi stabl proton electron appear big bang minut big bang nucleosynthesi produc helium lithium deuterium atom univers beryllium boron croswel ken scientist retriev januari copi craig schramm david turner michael scienc pmid retriev januari hinshaw gari decemb nasa wmap retriev januari atom complet bound electron theoret creat year big bang epoch call recombin expand univers cool electron attach nuclei abbott brian hayden planetarium retriev januari atom nuclei combin star process nuclear fusion produc element iron hoyl monthli notic royal astronom societi retriev januari isotop gener space cosmic rai spallat knauth federman lambert david crane newli synthes lithium interstellar medium natur occur high-energi proton strike atom nucleu caus larg number nucleon eject element heavier iron produc supernova r-process agb star s-process involv captur neutron atom nuclei stepan august cornel univers retriev januari element lead form larg radioact decai heavier element kansa geolog survei univers kansa retriev januari earth atom earth inhabit present current form nebula collaps molecular cloud form solar system rest result radioact decai rel proport determin ag earth radiometr date manuel dalrympl brent geolog societi london special public retriev januari helium crust earth helium ga well shown abund product alpha decai don anderson foulger meibom ander septemb org retriev januari trace atom earth present begin primordi result radioact decai continu gener cosmic rai atmospher kati physicsweb retriev januari atom earth artifici gener deliber by-product nuclear reactor explos yarri lynn berkelei lab juli retriev januari diamond al physic review retriev januari transuran element atom number greater plutonium neptunium occur natur earth poston john march scientif american retriev januari keller chemik zeitung retriev januari transuran element radioact lifetim shorter current ag earth marco identifi quantiti element long decai except trace possibl deposit cosmic dust manuel natur deposit plutonium neptunium produc neutron captur uranium curtin univers technolog retriev januari earth approxim atom weisenberg drew jefferson lab retriev januari planet atmospher small number independ atom exist nobl gase argon neon remain atmospher bound form molecul includ carbon dioxid diatom oxygen nitrogen surfac earth atom combin form compound includ water salt silic oxid atom combin creat materi consist discret molecul includ crystal liquid solid metal pidwirni michael univers british columbia okanagan retriev januari anderson don proceed nation academi scienc retriev januari atom matter form network arrang lack type small-scal interrupt order molecular matter paul rare theoret form isotop atom number higher lead radioact island stabil propos element atom number superheavi element nucleu stabl radioact decai anonym octob cern courier retriev januari candid stabl superheavi atom proton neutron jacobi mitch chemic engin new retriev januari particl matter antimatt particl electr charg positron posit charg antiproton neg charg equival proton unknown reason antimatt particl rare univers antimatt atom discov kopp steve univers chicago march retriev januari cromi william harvard univers gazett august retriev januari antihydrogen antimatt counterpart hydrogen produc cern laboratori geneva hijman tom particl physic cold antihydrogen natur staff bbc new octob retriev januari exot atom creat replac proton neutron electron particl charg electron replac massiv muon form muonic atom type atom test fundament predict physic barrett roger jackson daphn scientist retriev januari indelicato paul exot atom physica scripta barrett juli american physic societi retriev februari +modern arabl agricultur typic larg field dorset england percentag arabl land countri cia figur geographi arabl land latin arar plough agricultur term mean land grow crop earth km million squar mile land approxim km million squar mile arabl arabl land lost rate km squar mile year major element arabl land loss deforest start middl ag europ asia deforest continu present dai primarili tropic countri commerci over-exploit tropic forest time deforest extrem lead desertif total loss arabl land occur portion central highland plateau madagascar extens slash-and-burn activ smaller import loss arabl land aris lack renew rich flood sediment due flood control work larg part arabl land earth largest river earth nile river mississippi river tigri euphrat river yellow river amazon river gang rhine river product portion arabl land sediment left river sea geolog time modern time river gener flood agricultur land due demand flood control support intens agricultur requir heavily-popul earth nile continu flood regularli overspil bank flood water reced leav rich silt silt excel fertil crop land nutrient deplet soil land renew fertil deposit silt arriv flood flood-control project region leve increas human comfort substanti advers impact quantiti qualiti arabl land land land unsuit arabl farm defici sourc fresh water hot desert cold arctic rocki mountain salti raini snowi pollut nutrient poor cloud block sunlight plant photosynthesi make sunlight food reduc product plant starv light starvat nomad exist margin arabl land land call wasteland badland worthless man land land convert arabl land arabl land food reduc starvat outcom countri self-suffici polit independ food import reduc make land arabl involv dig irrig canal well aqueduct desalin plant plant tree shade desert hydropon fertil nitrogen fertil pesticid revers osmosi water processor pet film insul insul heat cold dig ditch hill protect wind greenhous intern light heat protect cold provid light cloudi area process extrem expens exampl infertil land turn fertil arabl land aran island island west coast ireland confus isl arran scotland firth clyde unsuit arabl farm rocki peopl cover island shallow layer seawe sand ocean arabl todai crop grown israel israel land primarili consist desert construct desalin plant countri coast desalin plant remov salt ocean water creat sourc water farm drink wash slash burn agricultur nutrient wood ash expir year exampl fertil arabl land turn infertil land drought great depress turn farmland desert rainforest deforest fertil tropic forest turn infertil desert land madagascar central highland plateau virtual total barren ten percent countri result slash-and-burn deforest element shift cultiv practic nativ destruct carthag punic war legend victori roman sow earth salt symbol total victori roman symbol meant carthag grow civil end happen debat due logist involv salt valuabl monei time lot salt ruin area carthag detail crop grow highli salin soil salt water water crop year arabl land lost desertif eros human industri activ improp irrig farm land wick sodium calcium magnesium soil water surfac process steadili concentr salt root zone decreas product crop salt-toler urban sprawl unit state km million acr land ad urban area farmland pave +aluminium ipa aluminum spell silveri white ductil member boron group chemic element symbol al atom number solubl water normal circumst aluminium abund metal earth crust abund element oxygen silicon weight earth’ solid surfac aluminium reactiv chemic occur natur free metal combin miner bassam scienc fun retriev august chief sourc aluminium bauxit aluminium remark abil resist corros due phenomenon passiv light weight structur compon aluminium alloi vital aerospac industri import area transport build reactiv natur catalyst addit chemic mixtur includ ammonium nitrat explos enhanc blast power characterist aluminium soft lightweight malleabl metal appear rang silveri dull grai depend surfac rough aluminium nontox nonmagnet insolubl alcohol solubl water form yield strength pure aluminium mpa aluminium alloi yield strength rang mpa mpa light alloi arnold aluminium one-third densiti stiff steel ductil easili machin cast extrud corros resist excel due thin surfac layer aluminium oxid form metal expos air effect prevent oxid strongest aluminium alloi corros resist due galvan reaction alloi copper aluminium atom arrang face-cent cubic fcc structur aluminium high energi approxim mj dieter mechan metallurgi mcgraw-hil aluminium metal retain full silveri reflect fine powder form make import compon silver paint aluminium mirror finish highest reflect metal nm uv nm ir region nm visibl rang slightli outdon tin silver ir silver gold copper aluminium good thermal electr conductor weight copper aluminium capabl superconductor superconduct critic temperatur kelvin john cochran mapoth juli superconduct transit aluminum physic review isotop aluminium isotop mass number rang al stabl isotop al radioact isotop occur natur al natur abund al produc argon atmospher spallat caus cosmic-rai proton aluminium isotop practic applic date marin sediment manganes nodul glacial ic quartz rock exposur meteorit ratio al studi role transport deposit sediment storag burial time eros year time scale cosmogen al appli studi moon meteorit meteorit fragment departur parent bodi expos intens cosmic-rai bombard travel space caus substanti al product fall earth atmospher shield protect meteorit fragment al product decai determin meteorit terrestri ag meteorit research shown al abund time format planetari system energi releas decai al respons melt differenti asteroid format billion year robert dodd thunderston shoot star natur occurr earth crust aluminium abund metal element abund element oxygen silicon strong affin oxygen element state combin form oxid silic aluminium lithospher common form bauxit product refin aluminium abund metal element earth crust believ percent rare free form occur oxygen-defici environ volcan mud consid preciou metal valuabl gold napoleon iii emperor french reput banquet honour guest aluminium utensil guest gold juli silver clai translat metallurgist octob page aluminium produc commerci quantiti year aluminium strongli reactiv metal form high energi chemic bond oxygen compar metal difficult extract or bauxit due energi requir reduc aluminium oxid al direct reduct carbon produc iron chemic aluminium stronger reduc agent carbon aluminium oxid melt point extract electrolysi process aluminium oxid dissolv molten cryolit reduc pure metal oper temperatur reduct cell cryolit miner greenland industri replac synthet substanc cryolit chemic compound aluminium sodium calcium fluorid na alf aluminium oxid white powder obtain refin bauxit bayer process karl bayer previous devil process predomin refin technolog electrolyt process replac wöhler process involv reduct anhydr aluminium chlorid potassium electrod electrolysi aluminium oxid carbon or molten state ion free move reaction cathod neg termin aluminium ion reduc electron ad aluminium metal sink bottom tap posit electrod anod oxygen form carbon anod oxid oxygen releas carbon dioxid anod reduct cell replac regularli consum process anod cathod oxid oxygen present cathod carbon cathod protect liquid aluminium cell cathod erod due electrochem process ten year depend current electrolysi cell rebuilt cathod wear world product trend aluminium aluminium electrolysi hall-héroult process consum lot energi altern process viabl econom ecolog world-wid averag specif energi consumpt approxim kilowatt-hour kilogram aluminium produc alumina mj kg modern smelter reach approxim kw·h kg mj kg compar heat reaction mj kg gibb free energi reaction mj kg reduct line current older technolog typic ka state-of-the-art smelter oper ka trial report ka cell recoveri metal recycl import facet aluminium industri recycl involv melt scrap process percent energi need produc aluminium signific part input materi lost dross oxid ohio depart natur resourc recycl low-profil activ late grow aluminium beverag can brought public conscious electr power repres cost produc aluminium depend locat smelter smelter tend situat electr power plenti inexpens south africa south island zealand australia peopl republ china middl east russia quebec british columbia canada iceland aluminium output peopl republ china top produc aluminium one-fifth world share russia canada usa report british geolog survei year australia major produc bauxit or major produc export alumina australian aluminium council retriev august australia produc million tonn bauxit australian deposit refin problem high silica advantag shallow easi australian aluminium council retriev august chemistri oxid state alh produc aluminium heat atmospher hydrogen al heat normal oxid al silicon vacuum al heat al aluminium shave vacuum quickli disproportion start materi selenid parallel manner alf alcl exist gaseou phase heat aluminium aluminium halid exist form alx alf alcl ali oxid state aluminium monoxid alo present aluminium powder burn oxygen oxid state rule show simpl trival cation al expect anhydr salt binari compound al hydroxid weak base aluminium salt weak acid carbon can't prepar salt strong acid nitrat stabl solubl water form hydrat molecul water crystal aluminium hydrid alh produc trimethylaluminium excess hydrogen burn explos air prepar action aluminium chlorid lithium hydrid ether solut isol free solvent aluminium carbid al heat mixtur element pale yellow crystal complex lattic structur react water dilut acid give methan acetylid al pass acetylen heat aluminium aluminium nitrid aln element hydrolys water form ammonia aluminium hydroxid aluminium phosphid alp similarli hydrolys give phosphin aluminium oxid al occur natur corundum burn aluminium oxygen heat hydroxid nitrat sulfat gemston hard exceed diamond boron nitrid carborundum insolubl water aluminium hydroxid prepar gelatin precipit ad ammonia aqueou solut aluminium salt amphoter weak acid form alumin alkali exist crystallin form aluminium sulfid al prepar pass hydrogen sulfid aluminium powder polymorph aluminium iodid ali dimer applic organ synthesi aluminium fluorid alf treat hydroxid hf element consist giant molecul sublim melt inert trihalid dimer bridge-lik structur aluminium fluorid water complex aluminium fluorid aqueou solut readili form complex ion alf alf alf alf stabl explain fact aluminium fluorid compact ion fit form octahedr aluminium hexafluorid complex aluminium fluorid water molar ratio alf common form concentr compound empir formula alr exist giant molecul dimer trimer organ synthesi instanc trimethylaluminium electroposit element lithium aluminium hydrid li alh decompos lithium hydrid aluminium hydrogen heat hydrolys water organ chemistri reduc agent similar structur cluster journal scienc januari report cluster aluminium atom al behav iodin atom aluminium atom al behav alkalin earth atom research bound iodin atom al cluster form class discoveri report give rise possibl characteris period tabl research team led shiv khanna virginia commonwealth univers welford castleman jr penn state univers eberli colleg scienc januari press releas applic gener piec aluminium metal aluminium wide non-ferr metal encyclopædia britannica global product aluminium million tonn exceed metal iron million tonn hetherington brown benham lusti onlin british geolog survei pure aluminium encount corros resist workabl import strength hard thin layer aluminium deposit flat surfac physic vapor deposit infrequ chemic vapor deposit chemic mean form optic coat mirror deposit fresh pure aluminium film serv good reflector approxim visibl light excel reflector medium infrar pure aluminium tensil strength combin thermo-mechan process aluminium alloi displai mark improv mechan properti temper aluminium alloi form vital compon aircraft rocket result high strength-to-weight ratio aluminium readili form alloi element copper zinc magnesium manganes silicon duralumin todai bulk metal materi refer loos aluminium alloi common aluminium foil alloi aluminium product retriev august aluminium metal household aluminium foil transport automobil aircraft truck railwai car marin vessel bicycl packag can foil water treatment treatment fish parasit salari construct window door side build wire cook utensil electr transmiss line power distribut mkm steel alnico magnet super puriti aluminium spa al electron cd heat sink electron applianc transistor cpu powder aluminium paint pyrotechn solid rocket fuel thermit blade prop sword knive stage combat aluminium wide watch product durabl resist tarnish corros aluminium compound aluminium ammonium sulfat al nh ammonium alum mordant water purif sewag treatment paper product food addit leather tan aluminium acet salt solut astring aluminium borat al product glass ceram aluminium borohydrid al bh addit jet fuel aluminium chlorid alcl paint manufactur antiperspir petroleum refin product synthet rubber aluminium antiperspir treatment hyperhidrosi aluminium al sif product synthet gemston glass ceram aluminium hydroxid al antacid mordant water purif manufactur glass ceram waterproof fabric aluminium oxid al alumina natur corundum rubi sapphir emeri glass make synthet rubi sapphir laser product coher light aluminium phosphat alpo manufactur glass ceram pulp paper product cosmet paint varnish make dental cement aluminium sulfat al manufactur paper mordant fire extinguish water purif sewag treatment food addit fireproof leather tan vaccin aluminium salt serv immun adjuv immun respons booster protein vaccin achiev suffici potenc immun stimul aluminium alloi structur applic aluminium foam aluminium alloi wide rang properti engin structur alloi system classifi number system ansi name indic main alloi constitu din iso strength durabl aluminium alloi vari wide result compon specif alloi result heat treatment manufactur process lack knowledg aspect time time led improperli design structur gain aluminium bad reput main articl import structur limit aluminium alloi fatigu strength steel aluminium alloi well-defin fatigu limit mean fatigu failur eventu occur small cyclic load impli engin assess load design fix life infinit life import properti aluminium alloi sensit heat workshop procedur involv heat complic fact aluminium steel melt glow red form oper blow torch requir expertis visual sign reveal close materi melt aluminium alloi structur alloi subject intern stress heat oper weld cast problem aluminium alloi regard melt point suscept distort thermal induc stress relief control stress relief manufactur heat-treat part oven gradual cool effect anneal stress melt point aluminium alloi preclud rocketri construct combust chamber gase reach agena upper stage engin regen cool aluminium design part nozzl includ thermal critic throat region household wire aluminium conduct copper tradit household wire materi aluminium consider cheaper copper introduc household electr wire unit state fixtur design accept aluminium wire case greater coeffici thermal expans aluminium wire expand contract rel dissimilar metal screw connect eventu loosen connect pure aluminium tendenc creep steadi sustain pressur greater degre temperatur rise loosen connect final galvan corros dissimilar metal increas electr resist connect result overh loos connect turn result fire builder wari wire jurisdict outlaw small size construct eventu newer fixtur introduc connect design avoid loosen overh mark al cu bear alr code older assembl worker forestal heat problem crimp aluminium wire short pigtail copper wire todai alloi design method aluminium wire combin aluminium termin histori ancient greek roman aluminium salt dye mordant astring dress wound alum styptic guyton de morveau suggest call base alum alumin humphri davi identifi exist metal base alum term aluminum etymolog section statu angel christian chariti commonli mistaken ero piccadilli circu london statu cast aluminium friedrich wöhler gener credit isol aluminium latin alum mix anhydr aluminium chlorid potassium metal produc year earlier impur form danish physicist chemist han christian list discover retriev august pierr berthier discov aluminium bauxit or successfulli extract todai scienc histori retriev august frenchman henri etienn sainte-clair devil improv wöhler method improv book chief substitut sodium consider expens potassium note titl devil book de se propriété sa fabric pari devil conceiv idea electrolysi aluminium oxid dissolv cryolit charl martin hall paul héroult develop practic process devil hall-héroult process develop aluminium exceedingli difficult extract or pure aluminium valuabl gold bar aluminium exhibit french crown jewel exposit universel napoleon iii reserv set aluminium dinner plate honor guest aluminium select materi apex washington monument time ounc gram cost daili wage common worker project georg jom aluminium silver cowl compani suppli aluminium alloi quantiti unit state england smelter furnac carl wilhelm siemen januari manufactur builder york western compani cornel univers librari retriev octob mcmillan walter georg london philadelphia charl griffin compani lippincott compani googl book scan york public librari copi retriev octob sackett william edgar john jame scannel mari eleanor watson jersei scannel googl book scan york public librari copi retriev octob charl martin hall ohio paul héroult franc independ develop hall-héroult electrolyt process extract aluminium miner cheaper princip method worldwid process produc super puriti aluminium hall process april charl martin hall process reduc aluminium fluorid salt electrolysi financi back alfr hunt start pittsburgh reduct compani todai alcoa héroult process product switzerland aluminium industri alcan british aluminium group alcoa scotland donald holm wallac harvard univers press ayer publish googl book limit view retriev octob metal build materi sydnei australia dome chief secretari build novemb price aluminium nymex pound etymolog nomenclatur histori earliest citat oxford english dictionari word element humphri davi emploi metal isol electrolyt miner alumina citat journal philosoph transact fortun procur metal substanc search propos name silicium zirconium oxford english dictionari ed simpson weiner edit oxford clarendon press o onlin oxford univers press access octob citat list sir davi phil tran xcviii ellipsi quotat appear o citat davi settl aluminum sourc note match latin root wrote journal chemic philosophi aluminum obtain perfectli free state aluminum ibid citat list sir davi chem philo year anonym contributor quarterli review british journal object aluminum propos aluminium liberti write word prefer aluminum classic sound aluminium ibid citat list rev suffix advantag conform preced set newli discov element time potassium sodium magnesium calcium strontium davi isol spell element unknown time platinum european sixteenth centuri molybdenum discov tantalum discov american adopt fit standard form period tabl element nineteenth centuri aluminium appear webster dictionari charl martin hall spell advertis handbil electrolyt method produc metal constant spell patent file peter meier histori fluorin fluorid fluorid suggest spell reflect easier pronounc word syllabl spell flier mistak hall domin product metal ensur spell aluminum standard north america webster unabridg dictionari continu version american chemic societi offici decid aluminum public american dictionari typic label spell aluminium british variant present-dai spell uk countri british spell aluminium unit state spell aluminium larg unknown spell aluminum predomin greenwood earnshaw chemistri element edit oxford butterworth-heinemann john bremner word word dictionari writer care word page canadian oxford dictionari prefer aluminum australian macquari dictionari prefer aluminium spell virtual languag analog intern union pure appli chemistri iupac adopt aluminium standard intern element year recogn aluminum accept variant period tabl includ place aluminium iupac offici prefer aluminium intern public iupac public spell aluminum biolog role precaut toxic aluminium trace increas deposit bone central nervou system presenc reduc renal function aluminium compet calcium absorpt increas amount dietari aluminium contribut reduc skelet miner osteopenia observ preterm infant infant growth retard full-term infant normal renal function substanti risk aluminium toxic soi protein-bas formula aluminium neurotox high dose alter function blood-brain barrier bank neurotox alter membran function blood-brain barrier neurosci rev abund element function live cell small percentag peopl allerg experi contact dermat itchi rash styptic antiperspir product digest disord inabl absorb nutrient eat food cook aluminium pan vomit symptom poison ingest product antacid allergi extrem rare peopl aluminium consid toxic heavi metal evid toxic consum excess amount aluminium cookwar popular corros resist good heat conduct shown lead aluminium toxic gener excess consumpt antacid aluminium compound excess antiperspir toxic aluminium increas gene express human breast cancer cell grown laboratori appl toxicol may-jun estrogen-lik effect led classif suggest aluminium alzheim diseas brain plaqu metal research area inconclus aluminium accumul consequ alzheim damag event toxic aluminium specif mechan total human exposur element form natur occur clai soil dust enorm larg lifetim nation institut environment health scienc octob michael hopkin death alzheim victim link aluminium pollut new natur april mercuri appli surfac aluminium alloi damag protect oxid surfac film form amalgam corros weaken structur reason mercuri thermomet allow airlin aluminium aircraft structur powder aluminium react fe form fe al mixtur thermit burn high energi output thermit produc inadvert grind oper high ignit temperatur incid workshop environ aluminium plant phytoremedi aluminium primari factor contribut loss plant product acid soil gener harmless plant growth soil concentr acid soil toxic al cation increas disturb root growth function wheat adapt aluminium toler aluminium induc releas organ compound bind harm aluminium cation sorghum believ toler mechan gene aluminium toler identifi wheat group depart agricultur show sorghum aluminium toler control singl gene wheat case plant +advanc chemistri german hip hop group heidelberg scenic citi baden-württemberg south germani advanc chemistri found toni linguist dj mike md mike mc torch nowadai origin member advanc chemistri pioneer german hiphop hip hop band call die fantastischen vier drop singl album major label influenc north american consciou rap nativ tongu movement central subject advanc chemistri lyric polit intellectu motiv focus ident german foreign descent statu hip hop world year found gee dj mike md left group realiz dream member includ toni linguist torch affili boulevard bou discographi fremd im eigenen land mcd mzee welcher führt zur geschicht mcd mzee oper mcd dir der funk mcd advanc chemistri xlp cd +wiktionari n wiktionari free dictionari n latin disown renounc ab declar proclaim belong act renounc resign formal offic suprem offic state roman law term appli disown famili member disinherit son term commonli appli monarch formal crown similar term elect appoint offici resign ns classic antiqu memor ns antiqu luciu corneliu sulla dictat bc emperor diocletian ad emperor romulu augustulu ad british crown famou n memori king edward viii unit kingdom edward abdic british throne order marri american divorcé walli simpson object british establish govern commonwealth royal famili church england n crisi edward time histori british crown surrend voluntarili richard ii england forc abdic throne seiz cousin henri bolingbrok richard countri jame ii england throw great seal realm thame fled franc formal resign crown question discuss parliament forfeit throne abdic design agre full assembl lord common resolv spite jame protest king jame ii endeavour subvert constitut kingdom break origin contract king peopl advic jesuit wick person violat fundament law withdrawn kingdom abdic govern throne vacant scottish parliament pronounc decre forfeitur deposit titl crown depend statut act settlement royal n effect act parliament term statut westminst act pass parliament sixteen commonwealth realm give legal effect n king edward viii unit kingdom majesti declar n act pass modern ns histor monarch abdic profound shock abandon royal duti result ns occur extrem circumst polit turmoil violenc chang small number countri monarch netherland luxembourg cambodia abdic result ag princ hans-adam ii liechtenstein son regent act amount n fact law list list import ns note charl abdic lord netherland octob king spain januari favor son philip ii spain separ voluntarili abdic german possess titl holi roman emperor pedro iv portug pedro brazil person emperor brazil succeed throne portug abdic favour daughter maria ii portug abdic throne brazil favor son pedro hans-adam ii son aloi regent effect abdic remain formal head state +anglican communion world-wid affili anglican church singl anglican church univers jurid author nation region church full autonomi suggest anglican communion associ church full communion church england regard mother church worldwid communion specif primat archbishop canterburi seventy-seven million member anglican communion largest communion world roman cathol church eastern orthodox church statu full communion mean rite conduct church recognis church anglican explicitli recognis link england ecclesia anglicana mean church england american scottish episcop church church ireland prefer separ church doctrin liturgi base case church england church legisl process episcop politi leadership local primat archbishop canterburi religi head church england formal author jurisdict recognis symbol head worldwid communion primat primu inter pare equal anglican communion consid part holi cathol apostol church cathol reform adher repres non-pap catholic form protestant domin guid figur luther knox calvin zwingli weslei avi paul syke booti ed studi anglican london spck self-ident repres combin communion encompass wide spectrum belief practic includ evangel liber cathol anglican communion largest christian denomin world approxim million member hold communion anglican communion compass rose symbol signifi worldwid reach decentr natur surmount ecclesiast coat arm bishop mitr centr cross st georg recal communion origin church england greek motto truth set free quotat john design edward nason west canon cathedr st john divin york citi anglican communion offici legal exist govern structur exercis author member church anglican communion offic london aegi archbishop canterburi serv support organis role communion held share histori express ecclesiolog politi etho particip intern consult bodi ecclesiolog politi etho element import hold communion share ecclesi structur church manifest episcop politi maintain apostol success bishop synod govern principl belief express worship invest import approv prayer book rubric histor document standard divin influenc etho communion origin church england self-contain reli uniti ident histori tradit legal episcop structur statu establish church state anglican outset movement explicitli episcop politi characterist vital maintain uniti communion convei episcop role manifest visibl cathol ecumen earli develop church develop vernacular prayer book call book common prayer tradit anglican govern magisterium appeal found theologian summari doctrin westminst confess presbyterian church anglican typic appeal book common prayer offshoot guid anglican theologi practic effect inculc principl lex orandi lex credendi law prayer law belief foundat anglican ident confess protract conflict seventeenth centuri radic protest hand roman cathol recognis primaci pope result church deliber vagu doctrin principl bold develop paramet accept deviat paramet articul rubric success prayer book thirty-nin articl religion articl bind influenc etho communion etho reinforc interpret expans influenti earli theologian richard hooker lancelot andrew john cosin expans british empir growth anglican great britain ireland communion sought establish vehicl uniti major express lambeth confer communion bishop conven archbishop canterburi charl longlei outset intend displac autonomi emerg provinc communion discuss matter practic interest pronounc deem expedi resolut serv safe guid futur action chicago lambeth quadrilater enduringli influenti earli resolut confer so-cal chicago-lambeth quadrilater intent provid basi discuss reunion roman cathol orthodox church ancillari effect establish paramet anglican ident principl holi scriptur testament rule ultim standard faith creed baptism symbol nicen creed suffici statement christian faith sacrament ordain christ baptism supper lord minist unfail christ word institut element ordain histor episcop local adapt method administr vari nation peopl call god uniti church instrument communion mention anglican communion intern jurid organis archbishop canterburi role strictli symbol unifi communion intern bodi consult collabor resolut legal effect independ provinc communion function instrument communion church communion particip order antiqu archbishop canterburi ab origin function spiritu head communion focu uniti church claim membership communion communion present incumb dr rowan william lambeth confer held oldest intern consult forum bishop communion reinforc uniti collegi manifest episcop discuss matter mutual concern pass resolut intend act guidepost held roughli ten year invit archbishop canterburi anglican consult council met creat lambeth confer resolut meet year interv council consist repres bishop clergi laiti chosen thirty-eight provinc bodi perman secretariat anglican communion offic archbishop canterburi presid meet met manifest intern consult deliber conven archbishop donald coggan forum leisur thought prayer deep consult bind author communion intern bodi vehicl consult persuas year persuas tip debat conform area doctrin disciplin worship ethic notabl object provinc communion africa asia sydnei australia chang role homosexu north american church bless same-sex union ordain consecr gai lesbian same-sex relationship process undertaken object condemn action unscriptur unilater agreement communion prior step respons american episcop church anglican church canada answer action undertaken lengthi scriptur theolog reflect legal accord canon constitut extens consult provinc communion meet vote request church withdraw deleg meet anglican consult council canada unit state decid attend meet exercis vote expel suspend mechan voluntari associ suspend expel independ provinc communion membership base provinc communion canterburi expuls requir archbishop canterburi refus communion affect jurisdict line suggest windsor report dr william establish work group examin feasibl anglican coven articul condit communion fashion provinc anglican communion thirty-eight provinc anglican communion independ primat govern structur provinc form nation church canada uganda japan collect nation west indi central africa southeast asia alphabet order world map show provinc anglican communion blue shown church full communion anglican church nordic lutheran church porvoo communion green cathol church utrecht union red addit church metropolit author archbishop canterburi anglican church bermuda archbishop canterburi iglesia episcop de cuba episcop church cuba metropolitan council parish falkland island archbishop canterburi lusitanian cathol apostol evangel church portug archbishop canterburi spanish reform episcop church archbishop canterburi church ceylon sri lanka archbishop canterburi histori main articl histori anglican communion anglican communion concept church england centuri includ church wale initi split roman church rejoin split reign elizabeth roman cathol church excommun elizabeth respons act settlement church england thought foundat reform continu ancient english church reassert church right distinctli local phenomenon member present anglican communion exist mid-th centuri church england sister church church ireland establish henri viii scottish episcop church part centuri partial underground suspect jacobit sympathi enorm expans centuri british empir brought church coloni church jurisdict bishop london american revolut parish newli independ countri break formal church suprem governor remain british monarch form dioces nation church episcop church unit state america amic separ time coloni remain link crown church england began appoint coloni bishop bishop nova scotia appoint jurisdict british north america time colleagu appoint citi present-dai canada bishop calcutta bishop west indi australia ten coloni bishop church england small begin greatli facilit growth anglican world coloni bishopr council set dioces creat time natur group provinc metropolitan appoint provinc establish coloni rule specif establish church england legal posit church coloni bishop coloni dioces natur counterpart home time bishop appoint local england eventu nation synod began pass ecclesiast legisl independ england crucial step develop modern communion idea lambeth confer discuss confer demonstr bishop dispar church manifest uniti church episcop collegi absenc univers legal ti bishop initi reluct attend fear meet declar council power legisl church agre pass advisori resolut lambeth confer held roughli decenni confer remain visibl communion ecumen relat apostol success anglican communion hold apostol success core element valid cleric ordin roman cathol church recogn anglican order apostolica cura eastern orthodox church orient orthodox church tradition accept valid anglican order controversi effect communion dispers author conflict controversi regularli aris effect diverg practic doctrin part communion disput confin church england dealt legisl realm communion spread nation dispar cultur controversi multipli intensifi controversi gener type liturg social controversi note concern grow influenc cathol reviv manifest so-cal ritual controversi late nineteenth earli twentieth centuri rapid social chang dissip british cultur hegemoni coloni contribut disput role women paramet marriag divorc practic contracept abort disagr homosexu strain uniti communion relationship christian denomin anglican view homosexu anglican realign simultan debat social theologi ethic communion debat prayer book revis accept ground achiev full communion non-anglican church +mergui archipelago archipelago sea situat gulf bothnia gulf finland largest archipelago world number island archipelago chain cluster island word archipelago liter mean chief sea greek arkhon leader pelago sea antiqu archipelago greek proper aegean sea usag shift refer aegean island sea remark larg number island gener refer island group sea larg number scatter island aegea archipelago open sea commonli larg land mass neighbor scotland island surround mainland archipelago volcan form mid-ocean ridg hotspot process involv construct includ eros deposit land elev largest modern state archipelago japan philippin zealand indonesia world largest archipelag state cia world factbook largest archipelago world size northern canada situat arctic ocean +sir arthur ignatiu conan doyl dl juli british author note stori detect sherlock holm gener consid major innov field crime fiction adventur professor challeng prolif writer work includ scienc fiction stori histor novel plai romanc poetri non-fict life arthur conan doyl born edinburgh scotland english father charl altamont doyl irish mother mari folei marri jon daniel charl folei arthur conan doyl life letter daniel teller tale life arthur conan doyl penguin book refer conan doyl origin compound surnam uncertain origin great-uncl michael conan distinguish journalist arthur elder sister annett receiv compound surnam conan doyl sourc point describ brass namepl hous doctor thesi conan doyl sourc censu conan doyl surnam doyl form conan doyl surnam year conan doyl father artist patern uncl richard doyl patern grandfath john doyl conan doyl roman cathol jesuit preparatori school hodder place stonyhurst ag stonyhurst colleg time left school reject christian agnost studi medicin univers edinburgh includ period work town aston district birmingham studi began write short stori publish stori appear chamber edinburgh journal term univers serv ship doctor voyag west african coast complet doctor subject tabe dorsali join classmat georg budd partner medic practic plymouth relationship prove difficult conan doyl left set independ practic arriv portsmouth june year set medic practic bush villa elm grove southsea practic initi success wait patient began write stori signific work studi scarlet appear beeton christma annual featur appear sherlock holm partial model univers professor joseph bell futur short stori featur sherlock holm publish english strand magazin interestingli rudyard kipl congratul conan doyl success friend joe sherlock holm close model famou edgar allan poe charact august dupin sova dawn edgar allan poe york checkmark book live southsea plai footbal amateur side disband portsmouth associ footbal club goal keeper club connect portsmouth todai conan doyl keen cricket plai first-class match mcc highest score london counti occasion bowler first-class wicket marri louisa louis hawkin suffer tuberculosi di juli leeman sue sherlock holm fan hope save conan doyl hous develop press juli marri jean lecki met fallen love maintain platon relationship loyalti wife conan doyl children wife mari louis born alleyn kingslei wife jean lena annett deni perci stewart march march husband georgian princess nina mdivani circa februari sister-in-law barbara hutton adrian malcolm portrait sir arthur conan doyl sidnei paget conan doyl studi ey vienna move london set practic ophthalmologist wrote autobiographi singl patient cross door gave time write novemb wrote mother slai holm wind good take mind mother respond deem fit crowd lightheartedli decemb order dedic time import work histor novel holm moriarti appar plung death waterfal stori final problem public outcri led bring charact conan doyl return stori adventur empti hous explan moriarti fallen holm danger enemi arrang temporarili dead holm ultim appear total short stori conan doyl novel appear novel stori author boer war south africa turn centuri condemn world unit kingdom conduct conan doyl wrote short pamphlet titl war south africa conduct justifi uk role boer war wide translat conan doyl believ pamphlet result knight appoint deputy-lieuten surrei wrote longer book great boer war earli year centuri sir arthur ran parliament liber unionist edinburgh hawick burgh receiv respect vote elect arthur conan doyl statu crowborough conan doyl involv campaign reform congo free state led journalist morel diplomat roger casement wrote crime congo long pamphlet denounc horror countri acquaint morel casement inspir main charact lost world broke morel leader pacifist movement world war casement commit treason uk easter rise convict irish nationalist view conan doyl unsuccessfulli save casement death penalti argu driven mad respons action conan doyl fervent advoc justic person investig close case led imprison men releas case involv shy half-british half-indian lawyer name georg edalji allegedli pen threaten letter mutil anim polic set edalji convict mutil continu suspect jail partial result case court crimin appeal establish conan doyl georg edalji work help establish correct miscarriag justic stori conan doyl edalji told fiction form julian arthur georg case oscar slater german jew oper convict bludgeon woman glasgow excit conan doyl curios inconsist prosecut case gener sens slater frame death wife louisa death son kingslei brother inn brothers-in-law nephew shortli world war conan doyl sank depress solac support spiritu alleg scientif proof exist grave histori channel program houdini unlock mysteri briefli explor friendship conan doyl involv spiritu death son brother kingslei doyl di pneumonia octob contract convalesc wound battl somm brigadier-gener inn doyl di februari pneumonia sir arthur involv spiritu extent wrote professor challeng subject land mist book come fairi show appar convinc verac cottinglei fairi photograph reproduc book theori natur exist fairi spirit histori spiritu conan doyl prais psychic phenomena spirit materialis produc eusapia palladino mina margeri crandon kalush william larri sloman secret life houdini make america superhero atria book work topic reason short stori collect adventur sherlock holm ban soviet union suppos occult ban lift russian actor vasili livanov receiv order british empir portray sherlock holm conan doyl friend time american magician harri houdini promin oppon spiritualist movement death belov mother houdini insist spiritualist medium emploi trickeri consist attempt expos fraud conan doyl convinc houdini possess supernatur power view express conan doyl edg unknown houdini appar unabl convinc conan doyl feat simpli magic trick lead bitter public fall arthur conan doyl hous south norwood london richard milner american historian scienc present case conan doyl perpetr piltdown man hoax creat counterfeit hominid fossil fool scientif world year milner conan doyl motiv reveng scientif establish debunk favourit psychic lost world encrypt clue involv hoax highfield roger daili telegraph thursdai march samuel rosenberg book nake disguis purport explain conan doyl left write open clue relat hidden suppress aspect mental death conan doyl clutch chest famili garden juli di heart attack ag buri church yard minstead forest hampshir england word direct wife wonder epitaph graveston read steel true blade straight arthur conan doyl knight patriot physician man letter home conan doyl built hindhead south london live decad hotel restaur bought develop empti conservationist conan doyl fan fight preserv statu honour conan doyl crowborough cross crowborough east sussex england sir arthur live year statu sherlock holm picardi place edinburgh scotland close hous conan doyl born bibliographi grave sir arthur conan doyl minstead england holm book studi scarlet sign adventur sherlock holm memoir sherlock holm hound baskervil return sherlock holm vallei fear bow case-book sherlock holm challeng stori lost world bibliograph inform bleiler everett checklist fantast literatur chicago shasta publish poison belt land mist disintegr machin world scream histor novel micah clark white compani great shadow refuge publ written rodnei stone uncl bernac sir nigel work habakuk jephson statement stori base fate ship mari celest mysteri firm girdleston captain polestar tale great experi do raffl haw citi jane anni good conduct prize friend murder mysteri adventur red lamp parasit stark munro letter song action tragedi duet great boer war exploit brigadi gerard magic door fire stori crime congo lost galleri terror blue john gap danger stori revel horror height vital messag tale terror mysteri black doctor tale terror mysteri deal captain sharkei man archangel tale adventur histori spiritu deep +author defin person origin exist set written statement oxford english dictionari entri suggest authorship determin respons creat entri clarifi term author creat written work author written work legal signific copyright law necessarili flexibl constitut authorship unit state copyright offic defin copyright form protect law unit state titl code author origin work authorship hold titl author literari dramat music artist intellectu work person owner copyright exclus author product distribut work literari signific literari theori critic find complic term author constitut authorship legal set wake postmodern literatur critic roland barth michel foucault examin role relev authorship mean interpret text barth challeng idea text attribut singl author attest essai death author languag speak author word languag text determin expos mean barth possess legal respons process product line written text mere reflect refer multitud tradit barth put text tissu quotat drawn innumer centr cultur origin perspect author remov text limit impos idea authori voic ultim univers mean destroi explan mean work sought produc transpar allegori fiction voic singl person author psych cultur fanatic author disregard interpret text word rich tradit languag expos mean written work appeal celebr author tast passion vice barth languag speak author michel foucault argu famou essai author author writer writer author state privat letter author reader assign titl author written work attribut standard text foucault work conjunct idea author function foucault author function idea author exist function written work part structur necessarili part interpret process author statu discours societi cultur time anchor interpret text practic barth argu relev valid endeavor expand foucault posit alexand write foucault suggest author understood produc text interpret necessarili pen text distinct produc written work produc interpret mean written work barth foucault interest foucault warn risk keep author mind interpret affect mean handl interpret literari critic barth foucault suggest reader reli notion overarch voic interpret written work complic inher writer titl author warn danger interpret suffer associ subject inher meaning word languag person authori voic reader text interpret term languag author relationship author publish percentag calcul wholesal specif price fix amount book sold publish time reduc risk type arrang agre pai amount copi sold canada practic occur commonplac commiss publish public arrang author cover expens todai practic author pai public call vaniti publish look publish common accept practic publish receiv percentag sale copi book author receiv rest monei +andrei andrei andreyevich markov russian june juli russian mathematician work theori stochast process research markov chain younger brother vladimir andreevich markov prove markov inequ son andrei andreevich markov notabl mathematician make contribut construct mathemat recurs function theori biographi andrei andreevich markov born ryazan son secretari public forest manag ryazan andrei grigorevich markov wife nadezhda petrovna markova begin andrei grigorevich move st petersburg asset manag princess ekaterina aleksandrovna andrei school life began entranc saint petersburg’ grammar school school time andrei intens engag higher mathemat year-old grammar school student inform bunyakovski yegor zolotarev appar method solv linear ordinari differenti equat invit so-cal saturdai student regularli met finish school began studi physico-mathemat faculti st petersburg univers teacher yulian differenti calculu higher algebra konstantin poss analyt geometri yegor zolotarev integr calculu pafnuti chebyshev number theori probabl theori aleksandr ordinari partial differenti equat mechan theori somov mechan descript higher geometri award gold medal outstand solut problem integr differenti equat continu fraction applic equat year pass candid examin remain univers prepar posit april andrei markov defend master thesi binari quadrat form posit encourag aleksandr yegor zolotarev year januari doctor thesi applic algebra continu pedagog work began defens master thesi autumn privatdoz lectur differenti integr calculu lectur altern probabl theori succeed chebyshev left univers calculu differ addition lectur differenti calculu year defens doctor thesi appoint extraordinari professor year elect adjunct academi scienc death viktor bunyakovski markov extraordinari member academi promot ordinari professor st petersburg univers autumn elect ordinari member academi successor chebyshev appoint merit professor retir immedi continu lectur calculu differ connect student riot professor lectur saint petersburg univers order observ student markov initi refus accept decre wrote explan declin markov reject teach activ saint petersburg univers eventu decid retir univers council saint petersburg elect scientist honorari member univers markov elect affirm minist educ affirm year februari revolut markov resum teach activ lectur probabl theori calculu differ death +alumnu pl alumni american heritag dictionari male graduat student school colleg univers addit alumna pl alumna femal graduat student school colleg univers origin english word alumnu latin noun alumnu mean nursl ward common english usag graduat nursl seat learn alumna feminis form alumnu enter common english usag usag american heritag dictionari alumnu alumna attend school student school graduat school dictionari refer unit state depart educ term alumna conjunct women colleg femal group student term alumni conjunct men colleg male group student mix group student term shorten alum stand alumna alumnu alum dictionari unabridg base random hous unabridg dictionari random hous decemb dictionari plural alumni erron singular form gender alumni univers oppos alumnu alumna univers due lack understand latin grammar fact print document univers merchandis plural form word alumni reunion popular event institut organ alumni associ social occas fundrais relat term public school zealand school univers uk lesser extent australia term student canada phrase boi girl tradition school pupil member alumni zealand univers student royal militari colleg canada phrase cadet member brigad tradition colleg number term corp refer alumni virginia militari institut specif term link school etonian alumni eton colleg silcoat school obscur citizen gregorian citi london school downsid school scotland term pupil fp refer sport team school school notabl texa univers prefer student footnot +scream edvard munch angst anguish german word fear anxieti english describ intens feel emot strife german fear suffer behavior result uncertainti strain caus pain loss death term angst distinguish word furcht german fear furcht refer materi threat arrang fear angst nondirect emot todai furcht rare fear express angst vor languag mean latin word pavor deriv word differ mean french peur word angst exist centuri come restraint high german develop latin ia tight angor choke clog compar greek stress existenti relat mean existentialist attribut danish philosoph søren kierkegaard concept anxieti kierkegaard word danish mean dread describ profound deep-seat spiritu condit insecur despair free human anim slave instinct confid action kierkegaard believ freedom mankind leav human constant fear fail respons god kierkegaard concept angst consid import step stone th-centuri existenti kierkegaard feel angst fear actual respons god modern angst broaden existentialist includ gener frustrat conflict actual respons principl possibl includ god martin heidegg term slightli teenag angst popular music angst contemporari connot describ intens frustrat relat emot teenag mood music art identifi punk rock grung nu metal emo virtual altern rock dramat combin element discord melancholi excit express angst angst discuss relat contemporari music mid late relat music favour peopl influenc campaign nuclear disarma jazz folk song bob dylan master war hard rain a-gonna fall articul dread caus threat nuclear extinct kei text jeff nuttal book bomb cultur trace pervas theme popular cultur hiroshima teen angst express music extent rise punk post punk altern music refer grung movement band nirvana nirvana awar evidenc line serv servant kurt cobain describ success write song deal subject teenag angst paid i'm bore addit rock band placebo releas singl album entitl teenag angst full-length album quot line dialogu black comedi film heather entitl diari teen angst bodi count line appear singl ride wing pestil band wombat line hit singl angst teenag band song gender understand term angst wide theme great modern writer express common adolesc experi malais saling catcher rye sens central theme modern fiction +anxieti physiolog state character cognit somat emot behavior compon seligman walker rosenhan compon combin creat feel typic recogn fear apprehens worri anxieti accompani physic sensat heart palpit nausea chest pain short breath stomach ach headach cognit compon entail expect diffus danger somat bodi prepar organ deal threat emerg reaction blood pressur heart rate increas sweat increas bloodflow major muscl group increas immun digest system function inhibit extern somat sign anxieti includ pale skin sweat trembl pupillari dilat emotion anxieti sens dread panic physic nausea diarrhea chill behavior voluntari involuntari behavior aris direct escap avoid sourc anxieti maladapt extrem anxieti disord anxieti patholog maladapt common emot fear anger sad happi import function relat surviv neural circuitri involv amygdala hippocampu thought underli anxieti rosen confront unpleas potenti harm stimuli foul odor tast show increas bloodflow amygdala pardo emot olfact human amygdala amygdala activ avers olfactori stimul proc nat'l acad sci pmid hagen pardo neurophysiol pmid studi particip report moder anxieti anxieti protect mechan design prevent organ engag potenti harm behavior theori factor theori anxieti sigmund freud recogn anxieti signal danger defens behavior believ acquir anxiou feel classic condit traumat experi maintain anxieti oper condit encount previou traumat experi anxiou feel resurfac feel temporarili reliev avoid remov situat anxiou fear increas anxiou feel time posit escap situat progress anxieti intensifi emot phobia develop cure remov anxieti caus situat act posit ad situat act reward face fear come safe posit reinforc neg situat type anxieti existenti anxieti tranquil advert indirect refer existenti anxieti world certainti ativan lorazepam prescrib care clinician theologian paul tillich psychologist sigmund freud character anxieti reaction tillich call trauma human realiz point ceas die encount realiti character anxieti religion tillich freud carefulli craft cope mechan respons anxieti redefin death corpor part human person exist assum immort soul soul criteria cardin differ religi faith philosoph rumin part condit part obsessive-compuls disord typic sex religion death ration philosoph think driven desir ration understand ultim realiti desir avoid death viktor frankl author man search mean face extrem mortal danger basic human wish find mean life combat trauma death succumb suicid father existenti soren kierkegaard regard human born despair default sick death despair creat fals concept regard mortal exist born die fals true relationship god absolut ultim realiti rel object test anxieti test anxieti uneasi apprehens nervous felt student fear fail exam student suffer test anxieti experi associ grade person worth embarrass teacher class abil fear alien parent friend time pressur feel loss control emot cognit behavior physic compon present test anxieti sweat dizzi headach race heartbeat nausea fidget drum desk common optim level arous complet task exam anxieti level arous exce optimum result declin perform test anxieti hing fear neg evalu debat exist test anxieti uniqu anxieti disord specif type social phobia approxim high school student reportedli experienc condit term test anxieti refer specif student adult share experi regard career profess fear fail task neg evalu similarli neg effect adult stranger anxieti anxieti meet interact unknown peopl common stage develop young peopl so-cal stranger anxieti younger peopl phobia classic sens development fear young children share caretak parent role adult excess fear peopl development common stage anxieti palli care research strongli suggest treat anxieti cancer patient improv qualiti life treatment gener consist counsel relax techniqu pharmacolog benzodiazepin natur treatment kava root effect natur treatment short-term relief mild anxieti ernst risk-benefit profil commonli herbal therapi ginkgo st john wort ginseng echinacea palmetto kava ann intern med pmid due find side effect prolong kava-kava individu turn natur herb valerian herb root chamomil orang peel peppermint +alan alexand miln januari januari miln english author book teddi bear winnie-the-pooh children poem miln note writer primarili playwright huge success pooh overshadow previou work biographi miln born hampstead london england grew henlei hous school mortim road kilburn london small independ school run father john miln teacher well attend westminst school triniti colleg cambridg studi mathemat scholarship edit wrote granta student magazin collabor brother kenneth articl appear initi akm miln work attent lead british humour magazin punch miln contributor assist editor miln join british armi world war serv offic royal warwickshir regiment debilit ill royal corp signal war wrote denunci war titl peac honour retract war honour world war ii miln promin critic english comic writer wodehous captur countri home franc nazi imprison year wodehous radio broadcast intern broadcast berlin lightheart broadcast fun german miln accus wodehous commit act treason cooper countri enemi wodehous reveng creat fatuou parodi christoph robin poem stori world war ii captain home guard hartfield forest row insist plain member platoon miln marri dorothi daphn de sélincourt son christoph robin miln born miln bought countri home farm hartfield east sussex retir farm stroke brain surgeri left invalid farm roll lead guitarist brian jone live drown farm demolish due excess mainten repair cost hous built site literari career miln famou pooh book boi name christoph robin son charact inspir son stuf anim notabl bear name winnie-the-pooh sourc reputedli canadian black bear name winni winnipeg militari mascot world war left london zoo war shepard illustr origin pooh book son teddi growler magnific bear model christoph robin miln toi glass york miln wrote number poem includ vesper they'r chang guard buckingham palac king john christma publish book young miln children poem set music compos harold fraser-simson poem parodi time includ book older sixti overwhelm success children book sourc consider annoy miln self-avow aim write pleas readi audienc chang direct freed pre-war punch ponder faceti consider reput playwright idol barri side atlant produc witti piec detect write red hous mysteri sever criticis raymond chandler implaus plot miln publish displeas announc intent write poem children lack audienc miln word goodby word approxim length children book intent produc copi copi sourc inspir son grow older recept remain warmer america britain continu publish novel short stori late audienc miln grown-up write larg vanish observ bitterli autobiographi critic hero latest plai god simpli christoph robin grown obsess children literari home punch young vers appear ultim reject christoph miln detail autobiographi enchant place methuen continu publish miln wrote includ long poem norman assembl articl entitl year year miln liken benefit night author adapt kenneth graham wind willow stage toad toad hall titl implicit admiss chapter chapter piper gate dawn surviv translat theatr special introduct written miln includ edit graham miln death widow sold right pooh charact walt disnei compani number pooh cartoon movi larg amount merchandis destroi paper royalti pooh charact paid disnei royal literari fund part-own pooh copyright provid incom run fund fellowship scheme place profession writer uk univers work novel lover london short stori collect miln didn't consid dai plai book time fairytal adult slant pim red hous mysteri peopl jacket claim miln attempt chloe marr non-fict peac honour late autobiographi writer war honour year year illustr shepard punch articl dai plai week holidai sunni side dai select punch piec book select newspap articl introduct book chronicl clovi saki matter introduct stori collect children galleri children winnie-the-pooh illustr shepard hous pooh corner illustr shepard short stori tabl band poetri luncheon interv poem punch young illustr shepard illustr shepard line norman church plai miln wrote plai includ belinda boi home make-believ plai children camberlei triangl pim pass red feather romant ag stepmoth truth dover road lucki artist duologu give yesterdai aka success uk great ariadn man bowler hat terribl excit affair honour portrait gentleman slipper success marlow plai fourth wall perfect alibi ivori door toad toad hall adapt wind willow michael mari peopl live aka don't harm elizabeth bennett base pride prejudic sarah simpl gentleman unknown gener take helmet queen book red cross ugli duckl flood book pooh miln crew frederick pooh perplex chicago london univers chicago press st ed crew frederick postmodern pooh york north point press hoff benjamin tao pooh york penguin hoff benjamin te piglet york dutton adult miln christoph robin melros ed world pooh select memoir christoph miln york dutton thwait ann miln life york random hous tyerman william john pooh philosoph shown western philosophi preambl winnie-the-pooh london methuen jacki invent wonderland live fantasi lewi carrol edward lear barri kenneth graham miln york detroit free press film fourth wall film call perfect alibi michael mari film +english high school alumni athlet club alumni rugbi union associ footbal sport club belgrano district bueno air argentina club found bueno air english high school club success team amateur era argentin footbal win leagu championship contest alumni particip inaugur associ footbal leagu aafl leagu plai english high school chang alumni continu plai leagu club disband club disband main reason shortag player caus fact rare allow player institut english high school main reason club lose lot monei fulfil fixtur social club year alumni start youth rugbi team achiev good result club present team won divis bueno air leagu reach divis club climb divis win titl consecut footbal statist team team champion chang alumni champion champion champion team champion champion champion team champion champion champion disband plai championship success team argentin footbal histori count amateur championship +heroin bottl addict term describ devot attach dedic inclin nowadai term addict describ recur compuls individu engag specif activ harm consequ individu health mental state social life term reserv drug addict appli compuls problem gambl compuls over factor suggest addict includ genet biolog pharmacolog social factor addict caus factor depress indigest decad addict pharmacolog term refer drug suffici quantiti toler requir greater dosag drug produc ident effect time pass definit human mammal addict drug quickli time lai definit addict develop definit refer individu continu drug interest definit thought diseas state medic commun physic depend abus withdraw drug miscellan substanc outlin diagnost statist manual mental disord dsm-iv tr terminolog complic field wit pharmacologist continu speak addict physiolog standpoint call physic depend psychiatrist refer diseas state depend physician refer diseas addict field psychiatri move dsm-iv dsm-v transit depend addict terminolog diseas state medic commun care theoret distinct physic depend character symptom withdraw psycholog depend simpli addict addict narrowli defin uncontrol compuls harm suffer damag patient parti clinic consid compuls definit categor addict practic kind addict easi distinguish addict physic psycholog compon lesser situat call weissman gallagh patient exhibit behavior reminisc psycholog addict tend genuin pain symptom true psycholog addict behavior tend stop pain adequ treat obsolet term physic addict deprec connot modern pain manag opioid physic depend univers opiat essenti treatment acut pain benefit class medic chronic pain proven function opiat treatment hand state note signific increas death relat opiat high-qual long-term studi need delin risk benefit chronic opiat doctor agre addict depend tradition addict defin psychoact substanc alcohol tobacco drug ingest cross blood-brain barrier alter natur chemic behavior brain temporarili studi phenomenolog famili histori respons treatment suggest intermitt explos disord kleptomania patholog gambl pyromania trichotillomania relat mood disord alcohol psychoact substanc abus anxieti disord obsessive-compuls disord gener accept addict diseas state physiolog psycholog depend devot manifest condit medic signific symptom liabl damag effect present peopl psycholog profession layperson feel accommod includ psycholog depend gambl food sex pornographi comput work exercis cut shop religion behaviour count diseas don't guilt shame fear hopeless failur reject anxieti humili symptom medic condit depress epilepsi depress relat religi addict religi addict seek avoid pain overcom shame involv belief system offer secur rigid absolut valu religion spiritu plai kei role psychotherapeut support recoveri sourc pain guilt exclus religi theme plai neg role psychopatholog mention task perform fit tradit view addict defin obsessive-compuls disord withdraw symptom occur abat behavior adher traditionalist view symptom strictli reflect addict behavior disord understand neural scienc brain nervou system human behavior affect disord reveal impact molecular biologi mechan underli development process pathogenesi diseas thyroid hormon effect adjunct treatment affect disord studi decad confirm repeatedli spite traditionalist protest warn overextens definit wrong treatment fail person behavior problem popular media member field repres aforement behavior exampl addict model addict tool econom instanc calcul elast addict good determin extent present incom consumpt futur consumpt chaloupka frank tauru grossman univers illinoi chicago retriev septemb vari form addict physic depend physic depend substanc defin appear characterist withdraw symptom substanc suddenli discontinu opiat benzodiazepin barbitur alcohol nicotin induc physic depend hand categori substanc share properti consid addict cortison beta-block antidepress exampl physic depend major factor psycholog addict primari motiv continu addict initi primari attribut addict substanc abil induc pleasur continu goal induc pleasur reliev anxieti caus absenc addict substanc caus compuls nicotin cigarett pleasur fact fulfil physic addict user achiev pleasur feel rel previou state physic withdraw physic depend nicotin addict substanc overwhelm factor continu substanc induc physic depend physiolog toler addict lax psychoact nasal decongest rebound congest dai row antidepress notabl venlafaxin paroxetin sertralin short half-liv stop abruptli rapid chang neurotransmitt balanc brain antidepress iv prescript drug suddenli stop doctor consult abruptli discontinu speed individu addict substanc vari substanc frequenc mean ingest intens pleasur euphoria individu genet psycholog suscept peopl exhibit alcohol tendenc moment intox peopl drink social addict opioid depend individu respons dose opioid major peopl due varieti factor opioid heavili stimul neurotransmitt brain variat addit adopt twin studi replic medic commun satisfi addict part genet moder genet makeup regul suscept substanc easili psycholog attach pleasur routin eat disord complic patholog mental ill addict articl eat disord argu addict driven multitud factor highli factor addict articl psycholog depend psycholog depend depend mind lead psycholog withdraw symptom crave irrit insomnia depress anorexia addict theori deriv reward behaviour believ strongli dopaminerg system brain reward system case cocain amphetamin claim habitu mean avoid undesir activ typic clinic level individu emot social psycholog dysfunct psycholog addict defin replac normal posit stimuli attain rat park consid psycholog physic depend time doctor distinct type addict result substanc abus characterist type addict type treatment prefer psycholog depend limit substanc activ behaviour pattern consid addict uncontrol gambl internet addict comput addict sexual addict pornographi addict read eat self-harm vandal work addict addict drug control legisl countri legisl bring drug drug-lik substanc control licens system typic legisl cover opiat amphetamin cannabinoid cocain barbitur hallucinogen tryptamin lsd phencyclidin pcp psilocybin varieti modern synthet drug unlicens product suppli possess crimin offens drug classif legisl relat simpli addict substanc cover addict properti highli prone physic depend rare form compuls whatsoev typic nicotin form tobacco regul extrem loos well-known addict substanc discov legisl justifi moral ground addict depend issu individu reliabl suppli drug difficult secur illeg produc substanc contamin withdraw substanc contamin addit health issu individu vulner crimin abus legal punish crimin element involv profit trade substanc physic harm user method care earli edit american psychiatr associ diagnost statist manual mental disord dsm addict physic depend substanc result withdraw symptom absenc edit includ dsm-iv move diagnost instrument classifi condit depend addict american societi addict medicin recommend treatment peopl chemic depend base patient placement criteria list attempt match level care clinic assess area includ acut intox withdraw potenti biomed condit complic emot behavior condit complic treatment accept resist relaps potenti recoveri environ medic system includ state unit state refer addict sever index assess sever problem relat substanc index assess problem area medic employ support alcohol drug legal famili social psychiatr addict depend relat seemingli uncontrol urg arguabl root genet predisposit treatment depend conduct wide rang medic alli profession includ addict medicin specialist psychiatrist appropri train nurs social worker counselor earli treatment acut withdraw includ medic detoxif includ dose anxiolyt narcot reduc symptom withdraw experiment drug ibogain alper kaplan ethnopharmacolog retriev decemb propos treat withdraw crave altern medic detoxif includ acupunctur detoxif chronic opiat addict surrog drug methadon offer form opiat replac therapi treatment approach univers focu individu ultim choic pursu altern action therapist classifi patient chemic depend interest interest chang treatment involv plan specif wai avoid addict stimulu therapeut intervent intend client learn healthier wai find satisfact clinic leader year attempt tailor intervent approach specif influenc affect addict behavior therapeut interview effort discov factor led person embrac unhealthi addict sourc pleasur relief pain appli behavior analysi literatur behavior psycholog literatur evidenc base intervent program emerg behavior mariti therapi commun reinforc approach cue exposur therapi conting manag strategi o'donohu ferguson evidence-bas practic psycholog behavior analysi behavior analyst todai chambless al updat empir valid therapi clinic psycholog addit author suggest social skill train adjunct inpati treatment alcohol depend efficaci divers explan explan model present explain addict divid model stress biolog genet addict stress social pure psycholog model attempt addict physiolog psycho-soci phenomenon diseas model addict hold addict diseas come result impair neurochem behavior process combin model addict diseas treat specialist addict medicin field medicin american medic associ nation associ social worker american psycholog associ polici predic theori addict process repres diseas state treatment approach base idea depend behavior dysfunct extent element physic mental diseas organ american societi addict medicin research-bas evid addict statu diseas overwhelm genet model posit genet predisposit behavior frequent note addict run famili research continu explor extent genet influenc research argu strong evid genet predisposit factor depend experienti model devis stanton peel argu addict occur regard experi gener involv drug-induc model opposit diseas genet neurobiolog approach propos addict temporari situat diseas model claim outgrown natur process model gener richard soloman state psycholog event psycholog event pleasur experi heroin oppon process withdraw terror jump airplan reward intens pleasur parachut open model relat oppon process color theori color red quickli grai area green exampl oppon process nervou system includ tast motor movement touch vision hear occur sensori level translat down-stream addict habit-form behavior stabil chang model gener georg koob michel modif oppon process theori continu drug lead spiral uncontrol neg emot state withdraw shift set point maintain drug koob koob cultur model recogn influenc cultur strong determin individu fall prei addict alcohol rare saudi arabian obtain alcohol difficult alcohol prohibit north america hand incid gambl addict soar decad centuri mirror growth game industri patient diagnos alcohol born famili alcohol heavili suggest familiar influenc genet factor plai role develop addict note peopl don't gain sens moder develop abus substanc peopl born alcohol famili moral model state addict result human weak defect charact advanc model accept biolog basi addict scant sympathi peopl addict believ person greater moral strength forc break addict addict demonstr great moral failur place start addict moral model wide appli depend illeg substanc pure social polit reason longer wide consid therapeut element moral model focu individu choic endur role approach treatment depend habit model propos thoma szasz question concept addict argu addict metaphor reason distinct habit addict persecut cf model addict final blend model attempt element model develop therapeut approach depend hold mechan depend individu case consid merit neurobiolog basi develop addict thought involv simultan process increas focu engag behavior attenu shut behavior experiment circumst social depriv boredom anim allow unlimit abil self-administ psychoact drug show strong prefer forgo food sleep sex continu access correl brain region involv drive goal-direct behavior grow increasingli select motiv stimuli reward point brain region involv inhibit behavior longer effect send stop signal good analog imagin floor ga pedal car bad brake case limbic system thought major drive forc orbitofront cortex substrat top-down inhibit specif portion limbic circuit mesolimb dopaminerg system hypothes plai import role translat motiv motor learn typic defin ventral tegment area vta nucleu accumben bundl fiber connect system commonli implic seek consumpt reward stimuli event sweet-tast food sexual interact import addict research role natur motiv specif site mechan action differ drug abus common effect elev level dopamin nucleu accumben happen blockad dopamin re-uptak mechan cocain happen indirectli stimul neuron vta synaps neuron accumben opiat euphor effect drug abus thought direct result acut increas dopamin human bodi natur tendenc maintain homeostasi central nervou system except chronic elev dopamin result decreas number dopamin receptor process downregul decreas number receptor permeabl cell membran locat post-synapt post-synapt neuron respond chemic signal electr impuls action potenti hypothes dull respons brain reward pathwai contribut inabl feel pleasur anhedonia observ addict increas requir dopamin maintain electr activ basi physiolog toler withdraw addict downregul classic condit behavior consist occur environ conting cue brain adjust presenc condit cue decreas number receptor absenc behavior thought drug overdos result user higher dose typic user administ dose environ case physic depend depress central nervou system opioid barbitur alcohol absenc substanc lead symptom sever physic discomfort withdraw alcohol sed barbitur benzodiazepin result seizur death contrast withdraw opioid extrem uncomfort rare life-threaten case depend withdraw bodi depend high concentr chemic stop produc natur version endogen ligand produc oppos chemic addict substanc withdrawn effect oppos chemic overwhelm chronic sed alcohol barbitur benzodiazepin result higher chronic level stimul neurotransmitt glutam high level glutam kill nerv cell phenomenon call excitatori neurotox critic levi bryant critic term concept addict counterproduct psychotherapi defin patient ident harder signifi doesn't simpli describ initi relat inform relat stronger form critic thoma szasz deni addict psychiatr problem work argu addict choic drug addict simpli prefer social taboo substanc risk lifestyl drug szasz cite biographi malcolm corrobor econom view addict malcolm claim quit cigarett harder shake heroin addict szasz postul human choic foolish call prefer drug induc euphoria popular social lifestyl substanc job work everydai szasz bryant question standard view addict professor john booth davi univers strathclyd argu book myth addict drug sens choic oppos view compel pharmacolog drug adapt attribut theori call theori function attribut argu statement addict function verid stanton peel put similar view experiment bruce alexand classic experi rat park show behaviour rat occur rat option option behaviour opportun put place rat show complex behaviour casual addict word addict colloqui refer person passion book chocol work web run eat +tradit logic axiom postul proposit prove demonstr consid self-evid truth grant serv start point deduc infer theori depend truth mathemat term axiom relat distinguish sens logic axiom non-log axiom sens axiom mathemat statement serv start point statement logic deriv theorem axiom redund deriv principl deduct demonstr mathemat proof simpli start point logic follow classifi theorem logic axiom statement univers true non-log axiom defin properti domain specif mathemat theori arithmet sens axiom postul assumpt interchang gener non-log axiom self-evid truth formal logic express deduct build mathemat theori axiomat system knowledg show claim deriv small well-understood set sentenc axiom typic multipl wai axiomat mathemat domain logic mathemat term axiom loos establish principl field etymolog word axiom greek word verbal noun verb mean deem worthi requir turn axio mean balanc worthi proper ancient greek philosoph axiom claim true proof histor develop earli greek method conclus knowledg follow premis knowledg applic sound argument syllog rule infer develop ancient greek core principl modern mathemat tautolog exclud deduc assum axiom postul basic assumpt underli bodi deduct knowledg accept demonstr assert theorem talk mathemat proven aid basic assumpt interpret mathemat knowledg chang ancient time modern term axiom postul hold slightli mean present dai mathematician aristotl euclid ancient greek consid geometri scienc held theorem geometri par scientif fact develop method mean avoid error structur commun knowledg aristotl posterior analyt definit exposit classic view classic terminolog refer self-evid assumpt common branch scienc good assert equal amount equal equal amount result foundat scienc lai addit hypothes accept proof hypothesi term postul axiom common scienc postul scienc valid establish mean real-world experi aristotl warn content scienc successfulli commun learner doubt truth postul classic approach illustr euclid element list postul common-sens geometr fact drawn experi list common notion basic self-evid assert modern develop lesson learn mathemat year strip mean mathemat assert axiom postul proposit theorem definit abstract formal mathemat knowledg gener capabl multipl mean multipl context structuralist mathemat develop theori axiom field theori group theori topolog vector space applic mind distinct disappear postul euclid profit motiv lead great wealth geometr fact truth complic fact rest accept basic hypothes throw euclid postul theori mean wider context hyperbol geometri simpli prepar label greater flexibl develop hyperbol geometri taught mathematician postul regard pure formal statement fact base experi mathematician emploi axiom field intent abstract proposit field theori concern applic mathematician work complet abstract exampl field field theori correct knowledg correct axiom field theori regard true proof field axiom set constraint system addit multipl satisfi constraint posit instantli great deal extra inform system modern mathemat formal foundat extent mathemat theori regard mathemat object logic regard branch mathemat frege russel hilbert gödel kei figur develop modern understand set axiom collect formal state assert formal state assert follow applic well-defin rule view logic formal system set axiom consist imposs deriv contradict axiom set axiom non-redund assert deduc axiom regard axiom earli hope modern logician branch mathemat mathemat deriv consist collect basic axiom earli success formalist program hilbert formal euclidean geometri relat demonstr consist axiom wider context attempt base mathemat cantor set theori emerg russel paradox similar antinomi naiv set theori rais possibl system turn inconsist formalist project suffer decis setback gödel show suffici larg set axiom peano axiom construct statement truth independ set axiom corollari gödel prove consist theori peano arithmet unprov assert scope theori reason consist peano arithmet satisfi system natur number infinit intuit access formal system present demonstr consist modern zermelo-frankel axiom set theori axiom choic kei hypothesi theori remain controversi assumpt techniqu forc cohen show continuum hypothesi cantor independ zermelo-frankel axiom gener set axiom regard definit foundat mathemat mathemat logic field mathemat logic clear distinct notion axiom logic axiom non-log axiom similar ancient distinct axiom postul logic axiom formula languag univers valid formula satisfi structur variabl assign function colloqui term statement true univers interpret assign valu take logic axiom minim set tautolog suffici prove tautolog languag case predic logic logic axiom requir order prove logic truth tautolog strict sens exampl proposit logic proposit logic common logic axiom formula form formula languag includ primit connect negat immedi proposit implic anteced consequ proposit pattern axiom schema rule gener infinit number axiom proposit variabl instanc axiom schema axiom shown axiom schemata modu ponen prove tautolog proposit calculu shown pair schemata suffici prove tautolog modu ponen axiom schema involv set primit connect altern construct mendelson axiomat ch axiom schemata predic calculu addit logic axiom need includ quantifi calculu mendelson first-ord theori ch mathemat logic axiom equal first-ord languag variabl formula univers valid mean variabl symbol formula regard axiom fall vagu never-end seri primit notion precis notion matter equal establish pure formal syntact usag symbol enforc string string symbol mathemat logic interest axiom scheme univers instanti axiom scheme univers instanti formula first-ord languag variabl term substitut formula univers valid symbol stand formula term substitut variabl substitut inform term state properti hold stand object structur claim claim formula valid give proof fact properli speak exampl metatheorem theori mathemat logic deal concept proof existenti gener axiom scheme existenti gener formula first-ord languag variabl term substitut formula univers valid non-log axiom non-log axiom formula plai role assumpt reason structur natur number integ involv logic axiom non-log axiom aim captur special structur set structur group non-log axiom logic axiom tautolog non-log axiom postul mendelson first-ord theori proper axiom ch modern mathemat theori start set non-log axiom thought principl theori axiomat formal bare languag logic formula turn imposs prove stori approach resurrect form non-log axiom simpli refer axiom mathemat discours claim true absolut sens group group oper commut assert introduct addit axiom axiom develop gener group theori negat axiom studi non-commut group axiom elementari basi formal logic system rule infer defin deduct system exampl section exampl mathemat theori develop set non-log axiom axiom henceforth rigor treatment topic begin specif axiom basic theori arithmet real analysi complex analysi introduc implicitli explicitli gener assumpt axiom axiom zermelo–fraenkel set theori choic abbrevi zfc similar system axiomat set theori von neumann–bernays–gödel set theori abbrevi nbg conserv extens zfc ident theorem set close relat slightli stronger theori set theori set theori strongli inaccess cardin allow grothendieck univers fact mathematician prove system weaker zfc second-ord arithmet studi topolog mathemat extend point set topolog algebra topolog differenti topolog relat paraphernalia homolog theori homotopi theori develop abstract algebra brought group theori ring field galoi theori list expand includ field mathemat includ axiomat set theori measur theori ergod theori probabl represent theori differenti geometri arithmet peano axiom wide axiomat first-ord arithmet set axiom strong prove import fact number theori allow gödel establish famou incomplet theorem mendelson fix point theorem gödel incomplet theorem ch languag constant symbol unari function axiom formula free variabl standard structur set natur number successor function natur interpret number euclidean geometri oldest famou list axiom euclid postul plane geometri axiom refer millennia parallel postul point line parallel suspect deriv ultim postul independ assum parallel point line exist exist infinit exist choic give altern form geometri interior angl triangl add straight line ellipt euclidean hyperbol geometri real analysi object studi real number real number uniqu pick isomorph properti dedekind complet order field mean nonempti set real number upper bound upper bound express properti axiom requir second-ord logic löwenheim-skolem theorem restrict first-ord logic axiom system real admit model includ model smaller real model larger studi non-standard analysi role mathemat logic deduct system complet deduct system consist set logic axiom set non-log axiom set rule infer desir properti deduct system complet system complet formula statement logic consequ exist deduct statement express true provabl understood true mean true set axiom true intend interpret gödel complet theorem establish complet commonly-us type deduct system note complet mean context gödel incomplet theorem state recurs consist set non-log axiom theori arithmet complet sens exist arithmet statement prove set axiom hand notion complet deduct system hand complet set non-log axiom complet theorem incomplet theorem name contradict discuss earli mathematician regard axiomat geometri model physic space model idea altern mathemat system exist troubl mathematician centuri develop system boolean algebra elabor effort deriv tradit arithmet galoi show untim death effort larg wast ultim abstract parallel algebra system import detail modern algebra born modern view axiom set formula long inconsist +wikisourc origin easton bibl dictionari text relat entri alpha uppercas lowercas greek letter greek alphabet system greek numer deriv phoenician letter aleph aleph letter aros alpha includ latin cyril letter classic greek modern greek alpha repres open front unround vowel plutarch moralia book ix question ii iii adelaid librari present discuss letter alpha stand alphabet ammoniu ask plutarch boeotian think cadmu phoenician reputedli settl thebe introduc alphabet greec place alpha phoenician ox hesiod work dai hesiod advis earli greek farmer hous woman ox plough perseu project phoenician consid necess plutarch repli ad assist grandfath grandfath cadmu articul sound alpha plain simpl air come mouth requir motion tongu sound children homer word iliad xviii entri liddel scott root ox deriv entri liddel scott mean yield earn bou mean ox mean bring acquir oxen plutarch natur order attribut vowel planet alpha connect moon oxen moon earli sumerian egyptian religi symbol possibl due crescent shape horn alpha symbol term refer describ varieti includ signific occurr testament god declar alpha omega begin revel kjv uppercas letter alpha gener symbol render ident uppercas latin common notat alpha extens physic chemistri repres alpha radiat alpha particl alpha carbon commonli mathemat algebra solut repres angl linguist correl runic alphabet elder futhark receiv shaman oral lore tradit scandinavia alphabet cycl linear progress ur commenc cycl fe close cattl correl christian alpha omega meadow kenneth rune power secret knowledg wise element book +alvin toffler born octob american writer futurist work discuss digit revolut commun revolut corpor revolut technolog singular associ editor fortun magazin earli work focus technolog impact effect inform overload move examin reaction societi focu increas power st centuri militari hardwar weapon technolog prolifer capit marri heidi toffler writer futurist live lo angel wrote book credit alvin toffler accentur manag consult dub influenti voic busi leader bill gate peter drucker financi time world famou futurologist peopl daili class foreign shape modern china august idea toffler explain societi peopl care elderli compassion honest societi peopl work hospit societi kind skill cognit they'r emot they'r affect can't run societi data comput australian broadcast corpor radio nation life matter march toffler state rethink futur illiter st centuri read write learn unlearn relearn book wave toffler describ type societi base concept wave push older societi cultur wave societi agrarian revolut replac hunter-gather cultur wave societi industri revolut ca late mid- main compon wave societi nuclear famili educ system corpor toffler write wave societi industri base mass product mass distribut mass consumpt mass educ mass media mass recreat mass entertain weapon mass destruct combin standard central concentr synchron wind style organ call bureaucraci wave post-industri societi toffler add late countri move wave societi call wave societi coin lot word describ mention name invent societi peopl inform ag space ag electron era global villag ag scientific-technolog revolut degre predict divers knowledge-bas product acceler chang kei maxim chang non-linear forward sidewai post-industri societi lot divers lifestyl adhocraci fluid organ adapt quickli inform substitut materi resourc ersatz main materi worker proletarian loos affili mass custom offer possibl cheap person product cater small nich time product gap produc consum bridg technolog call configur system prosum fill open sourc assembl kit freelanc work notion technolog enabl radic fusion produc consum prosum case entail corpor labor countri unpaid consum bank atm teller bank emploi trace postal packag internet reli paid clerk ag societi medic technolog self-diagnosi instant toilet urinalysi self-administ therapi deliv nanotechnolog doctor chang health industri work peopl sens impact technolog social chang toffler write influenti confin scientif econom public polici discuss techno music pioneer juan atkin cite toffler phrase techno rebel futur shock inspir word techno describ music style help creat toffler work idea subject critic argument futurolog forese futur nigh imposs idea publicli laud newt gingrich alvin heidi toffler found toffler associ execut advisori firm commit help commerci firm govern agenc adjust work develop toffler believ era greatest turn point creation wealth outer space wealth todai argu creat globalis cyberspac outer space global posit satellit kei synchronis precis time data stream cellphon call atm withdraw time product precis track gp central air-traff control satellit increas agricultur product track weather enabl accur forecast major predict toffler paperless offic human clone realiz due technolog barrier sociolog politico-religi condit influenc timothi leari falcon press book alvin toffler co-wrot book wife heidi well-known work futur shock bantam book report bantam book wave bantam book preview premis bantam book war anti-war warner book revolutionari wealth knopf list polit leader tutor alvin heidi toffler mikhail gorbachev leader soviet union formul perestroika zhao ziyang reformist chines premier japanes leader hirofumi nakason junichiro koizumi japan highli respect politician busi leader alik mahathir bin mohamad prime minist malaysia abdul kalam presid india kim dae jung south korean presid nobel peac prize recipi newt gingrich speaker unit state hous repres richard danzig secretari navi +amaz spider-man american comic book seri publish marvel comic addition spin-off televis program daili newspap comic strip featur adventur superhero spider-man comic book spider-man appear comic book amaz fantasi seri cancel issu respons charact posit solo titl amaz spider-man launch march cover-d charact creat writer-editor stan lee artist co-plott steve ditko pair produc issu writer artist monthli comic year chronicl adventur marvel identifi hero amaz spider-man charact flagship seri major charact villain spider-man saga introduc kei event occur titl publish continu marvel comic relaunch issu spider-man anniversari titl revert number origin seri begin issu initi year book lee ditko chronicl spider-man nascent career civilian life hard-luck perpetu good-humor teenag peter parker parker balanc career spider-man job freelanc photograph daili bugl bombast editor-publish jonah jameson support frail aunt time parker dealt public hostil spider-man antagon classmat flash thompson liz allan midtown high school embark tent ill-fat romanc jameson secretari betti brant focus parker everydai problem lee ditko creat flaw self-doubt superhero major teenag superhero protagonist sidekick ditko quirki art stark contrast cleanli dynam style marvel promin artist jack kirbi ditko spider-man slightli sinist affection cartooni combin humor patho lee write lai foundat endur mytho spider-man kei villain support charact introduc time issu march featur appear jonah jameson astronaut son john jameson supervillain chameleon includ hero encount superhero team fantast issu featur appear vultur begin parker freelanc photographi career newspap daili bugl era continu usher signific number villain support charact includ doctor octopu juli sandman betti brant lizard electro march mysterio june green goblin juli kraven hunter report ned leed scorpion molten man issu featur parker graduat high school parker began attend empir state univers issu featur appear friend classmat gwen staci harri osborn harri father norman osborn appear april member jameson countri club name reveal harri father june celebr issu run part stori arc destini featur dramat scene spider-man forc thought famili escap pin heavi machineri credit artist run ditko eventu plot stori draw leav lee script dialogu rift ditko lee develop men speak term long ditko complet issu amaz spider-man juli exact reason split sourc controversi successor pencil john romita sr issu archnemesi green goblin discov spider-man secret ident reveal captiv hero romita spider-man muscular ditko model decad era introduct charact daili bugl manag editor joseph robbi robertson nypd captain georg staci father parker girlfriend gwen staci import support charact introduc romita era mari jane watson full appear appear june face obscur mention lee romita tone preval sens antagon parker world improv parker relationship support charact stori focus social colleg live charact spider-man adventur stori topic address issu civil right racism right vietnam war polit elect issu june introduc highli endur crimin mastermind kingpin major forc superhero seri daredevil notabl appear era includ rhino shocker march prowler kingpin son richard fisk april spin-off seri debut marvel team-up spectacular spider-man flagship titl decad grim turn stori oct featur death captain georg staci spider-man stori pencil gil kane altern draw duti romita year-and-a-half draw landmark issu stori place controversi issu may-juli writer-editor lee defi comic code author stori parker friend harri osborn hospit trip lsd lee wrote stori request depart health educ welfar stori danger drug cite dictum depict drug anti-drug context cca refus put seal issu approv marvel publish martin goodman lee comic publish seal comic sold marvel won prais social consciou effort cca subsequ loosen code permit neg depict drug freedom saga sept introduc morbiu live vampir instal amaz spider-man stori written co-creat lee roi thoma write book month stan lee return write feb lee marvel publish thoma editor-in-chief turn write duti wunderkind gerri conwai script seri romita pencil conwai half-dozen issu introduc gangster hammerhead kane succeed romita pencil romita continu ink kane time memor work conwai kane romita team june-juli featur death gwen staci hand green goblin stori shock reader night gwen staci di demis goblin appar death issu form stori arc wide consid defin histori spider-man aftermath stori deepen character mari jane watson relationship parker late gil kane succeed ross andru run last issu issu introduc punish marvel princip wide recogn charact era featur appear man-wolf sept doctor octopu aunt juli harri osborn step father role green goblin aug origin clone saga introduct spider-man clone aug archi goodwin gil kane produc titl issu len wein writer two-and-a-half year wein tenur harri osborn liz allen date engag jonah jameson introduc eventu wife marla madison aunt suffer heart attack wein stori amaz five-issu arc jan featur green goblin harri psychiatrist bart hamilton marv wolfman marvel editor-in-chief succeed wein writer issu juli parker propos marriag watson refus issu keith pollard succeed ross andru artist shortli afterward wolfman introduc likabl rogu black cat felicia hardi juli love interest spider-man black cat import support charact part decad amaz spider-man spider-man black costum debut cover art ron frenz klau janson amaz spider-man featur return death burglar kill spider-man uncl ben writer marv wolfman pencil keith pollard left titl mid-year succeed denni o'neil writer groundbreak work rival dc comic pencil john romita jr roger stern written issu sister titl spectacular spider-man amaz late year titl stern augment background long-establish spider-man villain romita creat mysteri supervillain hobgoblin march-april fan engag mysteri hobgoblin secret ident continu sept feb last reintroduct mari jane watson matur woman peter confid reveal secret ident tom defalco ron frenz script pencil defalco help establish matur parker watson relationship lai foundat charact eventu wed notabl watson tell parker spider-man reveal parker extent troubl childhood notabl issu era includ appear spider-man black costum hero wear exclus worth comic debut crimin mastermind rose june revel black costum live symbiot introduct femal mercenari silver sabl june tom defalco ron frenz remov amaz spider-man editor owslei acrimoni circumst owslei offici site success artist includ alan kupperberg john romita alex saviuk pencil book owslei wrote book script five-part gang war stori defalco plot spectacular spider-man writer peter david script june reveal late ned leed hobgoblin retcon roger stern leed origin hobgoblin david michelini writer issu stori arc july-sept led marriag peter parker mari jane watson amaz spider-man annual issu march spider-man comic drawn futur industri star todd mcfarlan regular artist amaz spider-man frenz departur mcfarlan revolution spider-man depict large-ei wiri contort limb messi knot convolut web influenc virtual subsequ artist draw charact mcfarlan signific contribut spider-man canon design spider-man wildli popular antagonist supervillain venom issu april featur venom appear cameo full appear issu featur spider-man revert origin red-and-blu costum notabl issu era includ featur green goblin hobgoblin may-juli return venom editori creativ turmoil beset amaz spider-man michelini mcfarlan team tail-end restor sens creativ consist qualiti book set tone spider-man decad civilian life marri man spider-man superhero previou decad run amaz spider-man todd mcfarlan left titl write draw seri titl simpli spider-man mcfarlan successor erik larsen pencil book earli issu larsen succeed mark baglei won marvel tryout contest assign number low-profil pencil job run warrior baglei pencil flagship spider-man titl art form basi spider-man licens merchandis decad onward issu april-jun introduc carnag symbiot nemesi spider-man th-anniversari issu double-s issu cliffhang peter parker parent long thought dead reappear aliv close year reveal impostor kill april scripter michelini issu stint gave second-longest run writer titl stan lee writer demattei spider-man credit includ kraven hunt stori arc run spectacular spider-man titl octob june amaz stop run stori exclus ran instal multi-part stori cross spider-man book self-contain stori period april featur death aunt reveal fake clone saga culmin revel spider-man appear previou year comic clone real spider-man plot twist massiv unpopular reader revers revel stori arc cross spider-man book late clone saga ti publish gap titl temporarili replac amaz scarlet spider nov featur ben reilli seri pick tom defalco return writer baglei complet run septemb success artist includ ron garnei steve skroce joe bennett rafael kayanan pencil book final issu marvel reboot titl reboot promot art scott campbel amaz spider-man marvel began amaz spider-man anew howard macki wrote issu june michael straczynski writer issu began dual number system origin seri number return number cover longtim reboot marvel comic titl includ fantast dual number time octob john romita succeed john byrn artist titl revert origin number consid origin run mike deodato pencil book issu amaz spider-man explor spider-man hero react septemb attack issu written michael straczynski pencil john romita start doubl page spread devast spidei hold head pain anguish disbelief word god thought act issu continu spider-man swing aftermath join hero rescu effort spider-man explor wreckag broken heart thought drive think point thought straczynski reflect respons script journei horror pain loss strength stori notabl spotlight firefight sift wreckag keep hero assist emphasi real life hero appar page full-pag splash super hero issu stood background york citi firefight citi worker involv help event stood foreground civil war civil war crossov includ amaz spider-man spider-man origin fight iron man govern fulfil superhuman registr act captur superhero jail regist reveal ident spider-man reveal secret ident peter parker world eventu realiz wrong side captain america oppon registr black issu immedi civil war aunt shot unnam assassin hire kingpin kill peter peter dodg knock mari jane unabl save aunt badli injur peter take aunt hospit leav instruct mari jane retriev long forgotten black costum send messag find shot aunt kill discov man shot jake martino fight peter demand hire shot unknown assail peter track shooter jake discov work kingpin spider-man proce hunt fisk promis kill utterli defeat fisk combat peter stop short kill reveal due fact fight wit entir prison worth wit word spread spider-man total defeat kingpin man peopl unbeat reput peter promis kill fisk immedi di kingpin order shoot peter tell inmat spread word underworld target famili kill black promot marvel state time black costum twenti year return costum spider-man volum battl morbiu live vampir amaz spider-man battl venom issu brock wife commit suicid dai promot art joe quesada amaz spider-man final issu marriag dai four-part crossov stori arc written partial michael straczynski illustr joe quesada run amaz spider-man nov friendli neighborhood spider-man sensat spider-man final issu titl demon mephisto faustian bargain peter parker mari jane watson-park offer save parker dy aunt coupl marriag exist rewrit portion past brand dai marvel amaz spider-man compani sole spider-man titl up frequenc public issu monthli inaugur seri basic stori arc brand dai parker realiti watson marri memori marri differ world initi team dan slott steve mcniven bob gale phil jiminez marc guggenheim salvador larroca zeb well chri bachalo media movi spider-man point tent titl amaz spider-man upcom anim seri spectacular spider-man addit amaz spider-man titl televis program spidei shot live-act tv stardom april debut amaz spider-man tv seri nichola hammond portrai peter parker spider-man short-liv seri start seri tv-movi capit incred hulk televis seri show cancel year debut radio seri bbc radio commiss spider-man air bbc radio episod week dai januari march perform co-produc brian contribut music arrang wrote perform theme tune scope stori includ number familiar charact spider-man comic book kei figur marvel hero univers fantast namor submarin doctor doom role spider-man perform william includ cast list eastend star anita dobson newspap comic strip daili newspap comic strip began januari written spider-man co-creat stan lee illustr john romita strip surprisingli success era serial adventur strip strip slowli grew circul publish lee brother larri lieber illustr wrote strip run paul ryan pencil joe sinnott ink sundai version strip drew featur year strip comic book featur charact share continu strip decreas emphasi supervillain enemi rare except wed peter parker mari jane watson occur comic book comic strip guest star newspap strip includ wolverin daredevil strang villain includ doom kraven hunter rhino stori strip reprint paperback comic revu magazin video comput game numer video comput game releas player control spider-man battl enemi footnot +archi english origin popular diminut archibald mean true bold valuabl fiction archi mehitabel serial work fiction don marqui archi andrew puppet ventriloquist peter brough dummi archi bunker televis sitcom charact archi comic comic book publish archi andrew comic main charact archi comic archi goodwin assist fiction detect nero wolf archi pokémon leader team aqua pokémon seri robot archi charact lion comic archi land time turtle-lik creatur land time iv journei mist archi ryan pseudonym lincoln burrow fiction charact televis show prison break scienc technolog archi meteorit fell missouri unit state meteorit fall archi squid metr long giant squid preserv natur histori museum london archi search engin search engin ftp site archi linux livecd version arch linux slang term anti-aircraft fire british royal fly corp royal air forc archi comput user interfac archi missouri town unit state archi mcphee seattl base novelti shop archi macpherson scottish sport broadcast archi thompson australian footbal archi man nfl quarterback father peyton eli man archi gilchrist son australian cricket adam gilchrist archi mclean associ footbal player contribut brazilian game +wiktionari wiktionari free dictionari refer artium magist altern abbrevi master degre art americium chemic element symbol protocol interact proof system comput complex theori autom mathematician artifici intellig program unit length equal order australia member postnomin acceler math acceler math uk medicin psycholog protein autobiograph memori timekeep ant meridiem clock notat latin noon anno mundi calendar era count creation world anno martyrum coptic calendar commun messag statu messag im mention internet slang airmail broadcast radio broadcast amplitud modul entertain music music databas abc radio radio current affair programm stagenam alia toronto ontario canada-bas musician album album rock band wilco fiction comput fiction evil supercomput short stori mouth scream band indi rock band a-minor minor chord music arctic monkei british indi band american morn morn new program cnn fiction petroleum compani grand theft auto liberti citi stori geographi america pan-am trans-am armenia iso countri code anguilla marc countri code amazona state brazil amhar languag iso languag code amran governor yemen iso ye sport attack midfield soccer transport aston martin aeroméxico iata airlin design asia mile cathai pacif travel reward programm arkansa missouri railroad short-lin railroad headquart springdal arkansa automobil earli french automobil militari air marshal militari rank royal air forc commonwealth air forc air medal militari decor minesweep ship navi warship classif code anti-materiel rifl weapon materi combat uk polit assembl member nation assembl wale london assembl +motto endeavour achiev anthem fair antigua barbuda royal anthem god save queen locat antigua barbuda capit largest citi saint john offici languag english demonym antiguan barbudan govern parliamentari democraci feder constitut monarchi head state elizabeth ii governor-gener louis prime minist baldwin spencer independ unit kingdom date novemb area total km sq mi water neglig popul estim densiti km sq mi gdp ppp estim total million capita hdi high currenc east caribbean dollar xcd time zone ast internet tld ag call code god save queen offici nation anthem gener regal vice-reg occas antigua barbuda island nation locat eastern caribbean sea sea boundari atlant ocean major island antigua ipa barbuda close neighbor middl leeward island roughli degre north equat island antigua barbuda part lesser antil archipelago south antigua barbuda lie island guadeloup dominica martiniqu saint lucia saint vincent grenadin barbado grenada trinidad tobago montserrat li southwest saint kitt nevi saint eustatiu west saint barthélemi saint martin anguilla northwest histori amerindian inhabit island antigua barbuda bc arawak carib amerindian tribe popul island island antigua name nativ todai call local christoph columbu land trip name island santa maria de la antigua church sevil spain earli settlement spanish replac english rule british rule act union french interlud slaveri establish run sugar plantat antigua abolish island independ state commonwealth nation novemb elizabeth ii queen antigua barbuda honour vere cornwal bird prime minist polit polit antigua barbuda take place framework feder parliamentari repres democrat monarchi head state monarch appoint governor-gener vice-reg repres louis femal hold posit governor-gener histori antigua barbuda council minist appoint governor-gener advic prime minist baldwin spencer prime minist head govern vere cornwal bird antigua barbuda prime minist credit brought antigua barbuda caribbean era independ execut power exercis govern legisl power vest govern chamber parliament bicamer parliament consist senat bodi appoint governor gener hous repres seventeen seat member elect post serv five-year term elect held march due elect antigua labour parti won seat unit progress parti won thirteen parti system domin personalist antigua labour parti antigua barbuda legisl elect defeat longest-serv elect govern caribbean prime minist lester bryant bird deputi robin yearwood offic succeed father vere bird elder bird prime minist independ independ chief minist antigua period progress labour movement plm defeat elect judici branch eastern caribbean suprem court base saint lucia judg suprem court resid island presid court summari jurisdict antigua member caribbean court justic suprem court appeal british judici committe privi council nation caribbean commun vote abolish appeal privi council favour caribbean court justic debat member countri repeatedli delai court date inaugur march barbado set replac appeal privi council appeal caribbean court justic oper militari royal antigua barbuda defenc forc countri militari member parish depend island antigua divid parish island barbuda uninhabit island redonda enjoi depend statu capit citi st john popul geographi countri consist number island antigua largest popul barbuda north antigua main island island warm tropic climat constant temperatur year redonda nearbi island annex phosphat resourc discov territori antigua barbuda unoccupi island low-li highest point boggi peak metr ft small countri main town capit saint john antigua barbuda largest town codrington antigua barbuda combin beach antiguan racer rarest snake world approxim remain wild bird island island coast antigua economi tourism domin economi account gdp weak tourist arriv number earli slow economi press govern tight fiscal corner nation agricultur product focus domest market constrain limit water suppli labour shortag stem lure higher wage tourism construct work manufactur compris assembl export major product bed handicraft electron compon prospect econom growth medium term continu depend incom growth industrialis world unit state account one-third tourist arriv demograph st john cathedr major popul peopl african mix african-european european predomin british descent minor peopl portugues mix ancestri due portugues indentur servant brought west indi abolit slaveri major white popul ethnic irish british christian levantin arab primarili syrian lebanes palestinian descent small popul sephard jew increasingli larg percent popul live notabl unit state canada unit kingdom minor antiguan resid immigr countri dominica guyana jamaica increas number immigr dominican republ st vincent grenadin nigeria signific popul american citizen estim peopl largest american citizen popul english speak eastern caribbean retriev august antiguan christian septemb retriev august anglican church largest denomin catholic signific denomin remaind protest includ methodist moravian pentecost seventh-dai adventist jehovah wit non-christian religion practic island includ rastafari islam judaism baha'i languag offici languag antigua barbuda english local speak antiguan creol barbudan accent slightli antiguan spanish wide spoken commun antigua immigr dominican republ larg number farquhar bernadett retriev august year antigua barbuda independ standard english wide spoken prefer antiguan creol antiguan began treat antiguan creol respect aspect cultur gener upper middl class shun antiguan creol educ system dissuad antiguan creol instruct standard british english higher socio econom ladder preval antiguan creol extent antiguan deni speak understand antiguan creol word antiguan dialect deriv british african origin dialect form enslav african own british planter imit centuri english spoken master util tradit african languag structur creat hybrid pidgin easili phrase nah mean ent mean ai dialect mean isn't common island proverb trace africa cultur independ scientif studi rank barbuda happiest countri world unit nation develop programm retriev august cultur predominantli british evid aspect societi american popular cultur heavi influenc famili religion plai import role live antiguan nation carniv celebr held august year histor carniv commemor abolit slaveri british west indi annual carniv includ pageant show contest festiv activ notabl tourist attract calypso soca music import antigua barbuda burn flame popular band media daili newspap publish newspap caribbean island american televis network addit local televis station local region radio station sport cricket ground st john antigua commonwealth countri cricket popular sport cricket world cup host west indi march april antigua host match sir vivian richard stadium complet februari hold peopl full capac antigua host twenti cricket game creat allen stanford region cricket game caribbean island part associ footbal popular sport antigua nation footbal team albeit inexperienc athlet popular talent athlet train young ag antigua barbuda produc adept athlet william young athlet promis grai farm antigua sonia william heather samuel repres antigua barbuda olymp game promin rise star includ brendan christian daniel bailei jame high jump educ peopl antigua barbuda high level literaci antigua barbuda adopt nation mandat preemin provid medic servic caribbean part mission antigua barbuda build technolog advanc hospit caribbean mt st john medic centr island antigua medic school american univers antigua aua retriev august found univers health scienc antigua retriev august found govern own state colleg antigua antigua barbuda institut inform technolog univers west indi branch antigua local continu univers studi onset internet antiguan complet onlin degre foreign relat antigua barbuda member unit nation commonwealth nation caribbean commun organis eastern caribbean state organ american state world trade organ eastern caribbean region secur system antigua barbuda member intern crimin court bilater immun agreement protect us-militari cover articl +sir thoma famou earli lord chancellor serv execut king henri man season plai robert bolt earli form plai written bbc radio bolt success flower cherri rework stage perform london open globe theatr call gielgud theatr juli broadwai enjoi critic commerci success run year reviv subsequ featur film televis movi plot base true stori sir thoma th-centuri chancellor england refus endors denounc king henri viii divorc ag wife catherin aragon bear son marri ann boleyn sister mistress plai portrai man principl envi rival thoma cromwel love common peopl famili theme bolt agnost socialist admir identifi religi belief refus bend king man season struggl idea ident conscienc argu repeatedli person defin conscienc posit depict indefens pope bad corrupt individu forc emperor act norfolk matter true fear break conscienc damn hell associ friend concern hold tempor power kei point plai testifi inquiri committe norfolk attempt persuad sign act success heinemann edit persecut unjust inclus eustac chapui long-tim spanish ambassador england stori chapui recogn stout man church act ii resign chancellorship inform plan rebellion scottish border expect sympathet inform norfolk plot show patriot loyal king refus speak king show loyal subject cromwel appear prosecut person spite disagre king divorc bolt establish anti-authoritarian theme recur work peopl posit power king henri cromwel wolsei cranmer chapui norfolk depict corrupt evil expedi power-hungri bolt plai film screenplai delv theme theme corrupt illustr rich rise power common man drawn event storylin deliber anachronist portray henri younger athlet man forti put weight historian critic critic plai portray saintli charact note bolt excis mention neg activ campaign william tyndal persecut lutheran serv chancellor depict thoma cromwel duke norfolk richard rich histor suspect real life patern daughter son adopt daughter eldest margaret appear plai bolt decis portrai relat famili friend broader polit context time period critic charact common man serv narrat frame devic brechtian charact plai small part servant publican boatman jailer juri foreman execution plai part comment action sequenc involv charact break fourth wall notabl sequenc common man attempt exit stage address cromwel identifi juri foreman juri consist stick pole hat common man charact put top bolt creat common man main reason illustr place influenc averag person histori overlook prevent audienc sympath titl charact realiz audienc close relat classic case brechtian alien design prevent audienc engross plight charact role stori interpret wai critic posit neg charact bolt subsequ work featur similar charact stage product paul scofield plai lead role west premier repris broadwai win toni award plai perform broadwai novemb anta playhous origin broadwai cast common georg rose sir thoma paul scofield duke albert dekker thoma leo mckern thoma gomez king henri keith baxter margaret olga bellin william peter brandon catherin sarah burton john thoma cardin jack alic carol goodner thoma lester rawlin richard william redfield signor david stewart leo mckern plai common man west version show shift role cromwel broadwai product role repris film plai cromwel appear brown blue ey mckern lost ey accid wore glass accentu charact evil natur charlton heston plai version plai off-broadwai eventu plai west heston consid favourit role produc direct star film version famou graduat plai ian mckellen theatric role roper reviv product late plai run show acclaim canadian product star william hutt direct walter learn present vancouv playhous stratford festiv plai stage london west theatr royal haymarket star martin shaw produc bill kenwright close april film tv movi thoma paul scofield accus high treason cromwel leo mckern film film paul scofield plai lead role west stage premier plai film version win oscar process film star robert shaw henri viii orson well wolsei young john hurt richard rich older wendi hiller wife direct fred zinnemann addit actor oscar won scofield film won academi award screenplai cinematographi costum design director pictur film version star charlton heston direct vanessa redgrav appear briefli mute version ann boleyn wife sir john gielgud cardin wolsei radio product plai produc cast saturdai plai bbc radio octob part betray season sir thoma charl danc master richard rich julian rhind tutt master thoma cromwel kenneth cranham cardin wolsei timothi bateson king henri viii brian cox duke norfolk nichola le prevost master william roper martin freeman ladi alic kika markham mistress margaret meg romola garai boatman steward aka matthew jailer sam dale archbishop thoma cranmer headsman peter tate catherin anger adjoa andoh +coordin histor agincourt english villag commun franc situat pas-de-calai département nord-pas-de-calai region franc situat km north-west saint-pol-sur-ternois famou site battl fought octob armi led king henri england defeat forc led charl d'albret behalf charl vi franc record english histori battl agincourt origin battlefield museum villag featur model knight action man figur replac profession exhibit space incorpor laser video slide show audio commentari interact element museum build shape longbow famous deploi battl king henri archer villag hold festiv year commemor battl featur stall displai latest held juli juli twin english villag middleham north yorkshir imag relat battl posit french english forc site battlefield todai commemor monument battlefield +berthold konrad hermann albert speer commonli albert speer listen help·info march septemb architect author high-rank nazi german govern offici call architect reich speer hitler chief architect minist armament war reform germani war product extent continu increas year increasingli intens alli bomb war nuremberg sentenc imprison role reich nazi titl senior nazi figur admit guilt express remors releas author write bestsel autobiograph work reich autobiograph work reich spandau secret diari detail close person relationship german dictat adolf hitler reader historian unequal person view work reich speer di natur london england earli year speer born mannheim germani son albert lina speer speer architect origin want mathematician footstep father grandfath studi architectur began architectur studi karlsruh institut technolog decis studi local prestigi institut dictat inflat inflat stabil speer transfer studi esteem technic univers munich transfer time technic univers berlin tutelag heinrich tessenow speer high regard tessenow pass exam tessenow assist duti assist involv teach seminar class dai week tessenow agre nazism number student persuad speer attend nazi parti ralli berlin decemb speer claim apolit young man attend ralli surpris find hitler dress neat blue suit brown uniform nazi parti poster speer claim affect hitler propos solut threat commun renunci treati versail man week attend ralli presid joseph goebbel speer disturb whip crowd frenzi plai hope perform offend speer shake impress hitler dai join nazi parti member number summer margaret weber heidelberg marri berlin august speer mother relationship margret gave birth children albert hild fritz margaret arnold born adolf renam ernst speer major commiss parti member karl hank villa speer previous work recommend goebbel renov district headquart berlin renov propaganda ministri goebbel impress work recommend hitler assign paul troost renov chancelleri berlin speer notabl work assign addit famou balconi hitler present crowd assembl speer subsequ promin member hitler circl close friend win special place hitler uniqu nazi leadership hitler speer contemptu view part bureaucraci prize fellow artist speer felt kinship hitler previous entertain architectur ambit architect reich troost di speer chosen replac parti chief architect commiss promot familiar design nuremberg parad ground leni riefenstahl propaganda masterpiec triumph autobiographi speer claim origin design derogatori remark effect parad ground resembl rifl club meet challeng creat design ground base ancient doric architectur pergamon altar anatolia magnifi enorm scale capabl hold forti thousand peopl parti ralli parad ground speer surround site anti-aircraft searchlight creat effect cathedr light referenc column call british ambassador sir nevil henderson cathedr ic speer greatest work speer start close cooper german-french sculptor arno breker friend decad death speer nuremberg site offici nazi build built german stadium held thousand spectat site aryan game propos replac olymp game plan build speer invent theori ruin theori enthusiast support hitler build construct leav aesthet pleas ruin thousand year futur ruin testament great reich ancient greek roman ruin symbol great civil practic theori manifest mark prefer monument stone construct steel frame ferroconcret speer design german pavilion intern exposit pari speer work locat soviet pavilion design repres massiv defenc onslaught commun pavilion award gold medal design speer direct plan rebuild berlin capit greater germani germania step plan olymp stadium summer olymp design werner march speer design reich chancelleri includ vast hall design long hall mirror palac versail hitler want build larger chancelleri begun chancelleri damag battl berlin eventu demolish soviet occupi war build plan berlin built berlin reorganis central km long avenu north speer plan build enorm dome build base st peter basilica rome dome build impract larg feet high feet diamet time larger dome st peter southern avenu arch base arc de triomph pari larger feet high arc de triomph fit open outbreak world war ii led abandon plan part land boulevard build major railwai station north south boulevard free track speer spandau diari build destroi complet plan north-south axi complet east-west axi focus brandenburg gate complet remain berlin todai build design speer nazi era stand berlin lamppost remain alleg speer respons forc evict jew hous room grand plan re-hous aryan affect work alleg disput list present posen confer charg speer contest fact left earli speer architectur rival hermann giesler hitler favour frequent clash regard architectur matter close hitler minist armament hitler strong support speer part hitler frustrat artist architectur vision strong affin develop hitler ambiti young architect earli profession relationship speer serv architect head german state virtual cart blanch expens present tremend opportun hitler speer capabl translat hitler grandios vision tangibl design express hitler felt nation socialist principl minist armament war product fritz todt kill plane crash hitler appoint speer successor post hitler affin speer architect effici avoid parti squabbl believ consider speer promot autobiographi speer recount power-hungri lazi hermann göring race hitler headquart word todt death hope claim offic hitler present göring fait accompli speer appoint face respons speer put german economi war foot compar alli nation incessantli hinder parti polit lack cooper nazi hierarchi slowli centralis industri control cut dens bureaucraci succeed multipli war product time year reach peak height alli strateg bomb campaign big hurdl nazi polici exclud women factori work hindranc war product problem experienc germani enemi femal workforc fill gap speer heavi foreign labour forc labour type prison reich speer consid ration member nazi hierarchi contrast hitler göring goebbel himmler speer list member govern envis conspir juli plot kill hitler list question mark annot speer credit help save life extens purg scheme failur account speer consid assassin hitler releas poison ga air intak vent führerbunk plan frustrat number reason independ evid spars credit revel plan nuremberg trial pivot spare death sentenc soviet push januari speer gave present armi corp command camp berlin speer alli bomb biggest problem german industri point german industri produc rifl decemb doubl monthli averag product automat weapon time tank product time addit tank produc heavier beevor antoni berlin downfal penguin book page speer talk forti minut reel product statist german industri problem speer germani shortag fuel speer mention corp command shortag ammunit grow relianc slave labour beevor antoni berlin downfal penguin book page hitler continu speer trustworthi trust wane war speer consider risk campaign clandestin prevent implement hitler nero decre nero decre issu march promot scorch earth polici german soil occupi territori speer work associ gener gotthard heinrici troop fight east retreat american-held line surrend hitler order suicid effort hold soviet berlin speer confess hitler shortli dictat suicid disobei activ hinder hitler scorch earth decre speer autobiographi speer visit führerbunk state gentli bluntli hitler war lost express opposit systemat destruct germani reaffirm affect faith hitler convers brought hitler tear april speer left führerbunk disfavour april speer exclud cabinet hitler outlin final polit testament document speer replac subordin karl-otto saur war nuremberg trial immedi war indic speer charg war crime speer travel unprotect openli particip so-cal flensburg govern week presenc alli offic request held seri lectur offici alli occupi power topic includ mistak nazi govern industri econom affair effect alli strateg bomb campaign journalist spectat expect speer appoint occupi power restor germani economi versail eisenhow specul end arrest nuremberg trial memoir speer greet civilli arriv nuremburg prison prison command colonel burton andru treat nazi war crimin jurisdict ici disdain memoir mention andru apolog speer polici strict prison jurisdict nuremberg trial speer offici express remors sentenc imprison serv spandau prison west berlin larg slave labour interview imprison memoir speer adopt evil attitud nazi atroc claim learn unspecifi disturb event auschwitz friend karl hank purpos avoid visit camp inform place autobiographi claim direct involv knowledg holocaust admit blind exist express remors awar harsh condit slave labour critic book underst role atroc era document uncov berlin historian susann willem suggest speer knew great deal atroc claim kate connolli wartim report debunk speer good nazi daili telegraph retriev august speer acknowledg guilt nuanc acknowledg guilt high offici crimin govern acknowledg guilt crime commit self-describ crime act omiss includ failur inquiri holocaust failur challeng hitler paint nonpolit technocrat guardian speer reveal letter wrote hélène jeanti widow belgian resist leader knew himmler plan extermin jew spite earlier claim left himmler posen speech earli letter doubt present himmler announc octob jew kill problem assess speer complic holocaust statu post-war symbol peopl involv nazi regim claim part regim atroc film director heinrich remark articl imprison time prison speer painstakingli document experi secret prison diari releas time prison consist mind-numb pedant enforc daili routin incess petti person rivalri prison pervas bloat prison bureaucraci prison releas earli due ill-health fals hope earli releas speer prison establish secret line commun world sympathet prison staff speer full write innumer letter famili restrict outgo page month offici regul monei spent behalf special bank account varieti benign purpos speer recount diari deliber effort product time decad wrote draft tell-al memoir consid duti histori peopl sole surviv member hitler circl possess knowledg degre object prison director forbad write memoir record sheet paper prison wrote memoir secretli toilet paper tobacco wrap materi hand page systemat smuggl speer devot energi time read book prison librari organis fellow prison admir erich raeder prison book local branch berlin librari central librari speer voraci reader complet book year fishman jack long knive short memori spandau prison stori breakwat book tast rang greek drama famou plai architectur book journal partli collect inform book intend write histori function window architectur speer prison garden enjoy work heretofor garden divid small person plot prison produc garden prison kitchen regul began slacken regard speer allow build ambiti garden complet meander path rock garden wide varieti flower garden humor centr north-south axi core design element speer hitler plan berlin maintain physic fit abil imagin speer virtual walk tour world order geographi travel book local librari walk lap prison garden visualis journei meticul calcul metr travel map distanc real-world geographi began northern germani balkan persia india siberia cross bere strait continu southward final sentenc central mexico speer incarcer nuremberg counsel han remain attornei major work time stall de-nazif proceed speer speer subject incarcer properti famili surviv time confisc proceed eventu end west berlin mayor futur chancellor willi brandt accompani margaret speer spandau greet speer releas releas life speer releas prison worldwid media event abandon plan return architectur propos partner di shortli releas revis publish autobiograph book base diari entri prison ss well-receiv book notabl reich spandau diari provid uniqu person person nazi era valu historian speer aid shape work joachim fest siedler publish hous ullstein siedler wolf jobst wir waren noch einmal siedler speer di cerebr hemorrhag london england septemb speer appear itv televis seri world war broadcast speer appear number episod includ episod entitl whirlwind admit regard bomb germani raf bomber command front number episod spoke length relationship hitler minist war armament product fritz todt kill plane crash speer reveal meant plane todt inform hour new hitler summon hitler todt offic reveal senior okw command direct access hitler claim inform go concentr camp gauleit contribut dudlei saward offici biographi bomber harri command bomber command give number interview access file state effect bomb manufactur artilleri piec direct defenc germani eastern front speer daughter hild marri schramm note left-w parliamentarian speer eldest son albert success architect daughter margaret marri nissen photograph arnold speer youngest son commun doctor +alliacea famili herbac perenni flower plant monocot part order asparagal famili wide univers recognis plant involv treat belong famili liliacea botanist apg ii system recognis famili place order asparagal clade monocot apg ii option circumscript famili alliacea sensu lato wider sens includ plant assign famili alliacea amaryllidacea apg alliacea sensu stricto strict sens unchang apg system exclud plant form famili amaryllidacea note plant includ famili alliacea assign famili apg apg import genu allium includ import food plant includ onion allium cepa chive schoenoprasum garlic sativum leek genera genera includ alliacea sensu stricto genera brodiaea dichelostemma milla treat famili +famili asteracea composita aster daisi sunflow famili largest famili flower plant orchidacea term number speci deriv type genu aster older valid mean composit refer uniqu infloresc studi famili royal botan garden kew famili compris genera speci largest genera senecio speci vernonia speci speci centaurea speci circumscript genera problemat frequent divid minor subgroup judd al plant systemat phylogenet approach asteracea cosmopolitan common temper region tropic mountain taxonomi famili univers recognis order asteral tradition subfamili recognis asteroidea e paraphylet divid minor group newer system articl base subdivis propos apg system tent cladogram shown diamond denot poorli support branch dot poorli support branch steven cellspac cellpad border style font-siz line-height style width em border-bottom px solid black valign bottom align center rowspan valign top noteworthi subfamili asteroidea e compris specif divers famili appr descript asteracea herb shrub tree climber exist gener easi distinguish uniqu infloresc share apomorphi leav stem leav stem secretori canal resin latex common e leav altern whorl simpl deepli lobe incis condupl revolut margin entir dentat flower typic asteracea flower head biden torta show individu flower evid characterist asteracea infloresc specialis capitulum technic call ium gener refer flower head altern simpli capitulum usher capitulum contract racem compos numer individu sessil flower call floret share receptacl capitulum asteracea evolv characterist superfici big singl flower kind flower-lik infloresc widespread plant bract form involucr basi capitulum call phyllari involucr bract simul sepal herbac brightli colour helichrysum scariou textur bract free fuse arrang row overlap tile roof imbric variat import identif tribe genera floret subtend bract call palea bract bract group call chaff presenc absenc bract distribut receptacl size shape import diagnost characterist genera tribe flower diagram carduu floret primit petal actinomorph zygomorph disc floret actinomorph petal fuse corolla tubular short long deepli lobe petal kind floret kind widespread disc floret bilabi scheme hand rai floret highli zygomorph characteris presenc ligul asteroidea minor subfamili born circumfer capitulum scheme long fuse petal form ligul reduc rai floret scheme scheme margin floret petal filiform floret calyx floret absent present modifi pappu teeth scale bristl involv dispers seed bract natur pappu import diagnost stamen filament fuse corolla anther gener connat anther form sort tube style theca commonli basal apic appendag pollen releas tube collect grow style expel sort pump mechan brush pistil connat carpel style lobe stigmat tissu locat interior surfac form later line ovari inferior ovul basal placent fruit seed seed dispers wind carlina fruit asteracea specialis type achen call cypsela plural cypsela seed fruit form flat wing spini adher persist pappu morpholog determin plant relationship genu speci level mckenzi samuel muller skinner barker decemb annal missouri botan garden seed lack endosperm metabolit asteracea gener store energi form inulin produc iso chlorogen acid sesquiterpen lacton triterpen alcohol alkaloid acetylen cyclic aromat vinyl group tannin terpenoid essenti oil ecolog biden tripartita asteracea common open dry environ member asteracea pollin insect present ambrosia artemisia apomict speci famili seed ordinarili dispers intact fruit bodi cypsela wind dispers common assist hairi pappu common variat dispers unit singl cypsela biden entir capitulum arctium hook spine equival structur stick fur plumag anim cloth photo fall mother plant evolut diversif asteracea million year stem group million year unknown precis great success develop abil store energi inulin advantag dry zone combin possibl factor sunflow commonli cultiv member asteracea commerci import plant asteracea includ food crop lactuca sativa lettuc cichorium chicori cynara scolymu globe artichok helianthu annuu sunflow tinctoriu safflow helianthu tuberosu jerusalem artichok commerci import speci includ composita herb herbal tea beverag chamomil speci annual matricaria german chamomil perenni nobil call roman chamomil calendula call pot marigold grown commerci herbal tea potpourri industri echinacea echinacea purpurea medicin tea winter tarragon call mexican mint marigold taget lucida commonli grown tarragon substitut climat tarragon surviv final wormwood genu artemisia includ absinth absinthium tarragon dracunculu industri composita common commerci poultri feed marigold taget patula grown primarili mexico marigold oil extract taget minuta metric ton cola cigarett industri plant asteracea medic import area don't access western medicin commonli featur medic phytochem journal sesquiterpen lacton compound contain import allerg contact dermat allergi compound lead allerg contact dermat florist odom al pollen ragwe ambrosia main call hai fever unit state member famili grown ornament plant flower import ornament crop cut flower industri exampl chrysanthemum gerbera calendula dahlia taget zinnia cultivar member asteracea copiou nectar produc evalu pollin popul bloom centaurea knapwe helianthu annuu domest sunflow speci solidago goldenrod major honei plant beekeep solidago produc high protein pollen help honei bee overwint member asteracea econom import weed notabl unit state ragwort senecio jacobaea groundsel senecio vulgari taraxacum dandelion genera tanacetum chrysanthemum pulicaria speci insecticid properti parthenium guayul sourc hypoallergen latex genera imag galleri aster alpinu senecio aureu vernonia fasciculata eupatorium cannabinum carduu gerbera sp note zygomorph disc flower scanden cichorium intybu e note dark blue anther tube bilabi style novae-anglia asteroidea rai floret disc floret asteroidea involucr leav capitula globe artichok flower eaten veget larg seed head tragopogon pratensi compos singl achen pappu stick teeth biden tripartita achen stem dandelion taraxacum bitter latex +apiacea umbellifera name allow icbn famili aromat plant hollow stem commonli includ cumin parslei carrot coriand cilantro dill carawai fennel parsnip rel larg famili genera speci earlier umbellifera deriv infloresc form compound umbel root word umbrella obviou reason member small flower radial symmetr small sepal petal stamen famili includ highli toxic plant hemlock plant famili wild carrot estrogen properti folk medicin birth control notabl extinct giant fennel silphium cultiv plant categori consid good companion plant umbrella tini flower attract omnivor benefici insect parasit wasp predatori fli hunt insect pest nearbi crop famili close relat araliacea boundari famili remain unclear system includ araliacea expand apiacea wide hydrocotyl tradition includ apiacea gener includ araliacea notabl member includ anethum graveolen dill anthriscu chervil angelica spp angelica apium graveolen celeri arracacha carum carawai centella asiatica gotu kola pennywort conium maculatum poison hemlock coriandrum sativum coriand cumin daucu carota carrot eryngium spp sea holli foeniculum vulgar fennel odorata cice pastinaca sativa parsnip petroselinum crispum parslei pimpinella anis officinal lovag cultiv member plant group cultiv purpos plant structur includ tap root occas bred grow larg food parsnip carrot hamburg root parslei plant categori adapt condit encourag heavi concentr essenti oil aromat herb includ parslei cilantro dill plenti seed umber cuisin coriand fennel cumin carawai companion plant wide cultiv plant group companion plant larg part tini flower form umber group name perfectli suit parasit wasp predatori fli drink nectar reproduc prei insect pest nearbi plant plant herb produc scent possibl dilut odor nearbi plant pheromon emit insect find plant attract pest anis pimpinella medic botani william woodvil london jame phillip +axon nerv fiber long slender project nerv cell neuron conduct electr impuls neuron cell bodi soma anatomi axon effect primari transmiss line nervou system bundl nerv individu axon microscop diamet typic multipl feet long longest axon human bodi sciatic nerv run base spine big toe foot single-cel fiber sciatic nerv extend meter longer vertebr axon neuron sheath myelin form type glial cell schwann cell peripher neuron oligodendrocyt insul central nervou system myelin nerv fiber gap sheath node ranvier occur evenly-spac interv enabl rapid mode electr impuls propag call saltat demyelin axon multitud neurolog symptom diseas multipl sclerosi axon neuron branch form axon collater divid number smaller branch call bifurc impuls travel simultan signal cell physiolog physiolog model extend vertebr equat type peripher nerv fiber classifi base axon conduct veloc fiber size unmyelin fiber myelin fiber complex mathemat model continu todai type fiber mention tabl fiber autonom nervou system motor motor neuron kind fiber sensori sensori receptor innerv type nerv fiber muscl sensori receptor type ii sensori fiber cutan receptor innerv fiber growth develop grow axon move environ growth cone tip axon growth cone broad sheet extens call lamellipodia protrus call filopodia filopodia mechan entir process adher surfac explor surround environ actin plai major role mobil system environ high level cell adhes molecul cam creat ideal environ axon growth provid sticki surfac axon grow exampl cam specif neural system includ cam mag dcc part immunoglobulin superfamili set molecul call extracellular matrix adhes molecul provid sticki substrat axon grow exampl molecul includ laminin fibronectin surfac bound cell act short rang attract repel ligand long rang effect cell call guidepost cell assist guidanc neuron axon growth cell typic immatur neuron histori intracellular record nervou system late cole curti alan hodgkin andrew huxlei emploi squid giant axon obtain full quantit descript ionic basi action potenti lead formul model hodgkin huxlei award jointli nobel prize work formula detail axon conduct extend vertebr equat erlang gasser develop classif system peripher nerv fiber base axon conduct veloc fiber size understand biochem basi action potenti propag advanc includ detail individu ion channel concuss concuss consid mild form diffus axon injuri +bilingu inscript greek arama indian emperor ashoka great centuri bce arama alphabet abjad consonant alphabet write arama develop phoenician alphabet distinct eighth centuri bce abjad letter repres conson matr lectioni long vowel arama alphabet histor signific virtual modern indian middl eastern write system script trace east asian southeast asian write system primarili due widespread usag arama languag lingua franca offici languag persian empir babylonia assyria holi text judaism islam christian buddhist text written script descend arama brahmic famili script hinduism sikhism version buddhism hold disput link arama histori earliest inscript arama languag phoenician alphabet time alphabet develop form shown arama gradual lingua franca middl east script displac cuneiform offici write system exist empir widespread usag led gradual adopt arama alphabet write hebrew languag hebrew written alphabet closer form phoenician paleo-hebrew alphabet legaci hebrew nabataean alphabet chang style arama alphabet develop cursiv version arama led creation syriac mandaic alphabet script form basi arab sogdian orkhon mongolian alphabet controversi claim arama alphabet forebear indic alphabet basi strong similar arama script todai biblic arama jewish neo-arama dialect arama languag talmud written hebrew alphabet syriac christian neo-arama dialect written syriac alphabet mandaic written mandaic alphabet imperi arama alphabet redrawn grammar biblic arama franz rosenth form egypt centuri bce name biblic arama matr lectioni letter waw yudh long vowel letter stand conson vowel sound matr lectioni letter characterist mater lectioni initi posit initi vowel word final repres vowel jew influenc hebrew spell led word final posit practic letter hold vowel valu spread child write system arama hebrew arab todai +acut dissemin adem immun mediat diseas brain dale rc acut dissemin seminar pediatr infecti diseas garg rk acut dissemin postgradu medic journal jone ct childhood autoimmun neurolog diseas central nervou system neurolog clinic occur viral infect vaccin bacteri parasit infect spontan involv autoimmun demyelin similar multipl sclerosi consid part multipl sclerosi borderlin rust rs multipl sclerosi acut dissemin relat condit seminar pediatr neurolog poser cm vv dissemin multipl sclerosi diseas critic review acta neurologica scandinavica incid rate peopl year leak jad albani kao al acut dissemin childhood epidemiolog clinic laboratori featur pediatr infect di occur ag report case children adolesc averag ag year hynson jl kornberg aj coleman lt shield harvei kean mj clinic featur acut dissemin children neurolog kose al acut dissemin children outcom prognosi schwarz mohr knauth acut dissemin follow-up studi adult patient neurolog mortal rate high full recoveri case recov minor residu disabl meng bc nessler hemmer hartung hp stuve acut dissemin acut hit brain current opinion neurolog averag time recov month adem produc multipl inflammatori lesion brain spinal cord white matter subcort central white matter cortic gray-whit junction cerebr hemispher cerebellum brainstem spinal cord dm current neurolog neurosci report periventricular white matter grai matter cortex thalami basal ganglia involv anteced histori viral infect thought induc adem includ influenza viru enteroviru measl mump rubella varicella zoster epstein barr viru cytomegaloviru herp simplex viru hepat bacteri infect includ mycoplasma pneumonia borrelia burgdorferi leptospira streptococci chitni ness hahn js acut dissemin neurolog suppl vaccin proven induc adem sempl form rabi vaccin hepat pertussi diphtheria measl mump rubella pneumococcu varicella influenza japanes enceph polio vaccin implic griffin de jj johnson rt moser ab myelin basic protein polyneur rabi vaccin england journal medicin griffin de johnson rt jj immunolog studi patient chronic enceph induc post-exposur sempl rabi vaccin neurolog murthi jm acut dissemin neurol india acut dissemin long-term follow-up studi pediatr patient neurolog fenichel gm neurolog complic immun annal neurolog takahashi pool tsai tf chen rt advers event japanes enceph vaccin review post-market surveil data japan unit state work group vaccin gout al enceph hepat vaccin recurr dissemin enceph ms neurolog siva hepat vaccin european journal neurolog jj rj chapman le jd iskand lane jm neurolog advers event smallpox vaccin unit state journal american medic associ ozawa noma yoshida sekin hashimoto acut dissemin poliomyel vaccin pediatr neurolog rare case adem follow organ transplant risk adem vaccin million risk develop adem actual infect measl rubella miller hg stanton jb gibbon jl relat syndrom quarterli journal medicin infect appear lead wors adem outcom case immun shown contamin host anim cn tissu adem incid rate high griffin de jj al myelin basic protein polyneur rabi vaccin england journal medicin present adem abrupt onset monophas symptom week infect vaccin major symptom includ fever headach drowsi seizur coma initi symptom mild worsen rapidli hour dai averag time maximum sever dai treatment control clinic trial conduct adem treatment aggress treatment aim rapidli reduc inflamm cn standard wide accept first-lin treatment high dose intraven corticosteroid shahar al outcom sever children effect high-dos methylprednisolon immunoglobulin journal child neurolog methylprednisolon dexamethason week gradual oral dose prednisolon patient treat methylprednisolon shown outcom treat dexamethason acut dissemin long-term follow-up studi pediatr patient neurolog oral taper week durat show higher chanc relaps dale rc de sousa chong wk cox tc hard nevil bg acut dissemin multiphas dissemin multipl sclerosi children brain kose al acut dissemin children outcom prognosi tend show poorer outcom immunosuppress therapi report show benefici effect plasmapheresi high dose intraven immunoglobulin ivig shahar al outcom sever children effect high-dos methylprednisolon immunoglobulin journal child neurolog ravaglia piccolo ceroni minoli marchioni sever gener featur effect ivig journal neurolog mitoxantron cyclophosphamid consid altern therapi corticosteroid fail show effect evid suggest patient respond combin methylprednisolon immunoglobulin fail respond separ schonfeld weitz karmazyn harel improv atyp acut dissemin steroid intraven pediatr neurolog studi children adem recov complet high-dos methylprednisolon sever case fail respond steroid recov complet ivig sever case adam sever peripher treat combin high-dos methylprednisolon immunoglobulin remain parapleg motor cognit handicap recov review ivig treatment adem previou studi form bulk case children show complet recoveri treatment ivig ivig corticosteroid al guidelin intraven immun globulin neurolog condit transfus medicin review s- prognosi full recoveri case rang recoveri minor residu disabl typic assess measur averag time recov month mortal rate high poorer outcom unrespons steroid therapi unusu sever neurolog symptom sudden onset children tend favor outcom adult case present fever tend poorer outcom lin c-h jeng j- hsieh s-t yip p-k wu r-m acut dissemin follow-up studi taiwan journal neurolog neurosurgeri psychiatri effect due protect effect fever diagnosi treatment sought rapidli fever present motor deficit residu motor deficit estim remain case rang sever mild clumsi ataxia hemiparesi neurocognit patient ill ms show cognit deficit minim physic disabl foong al execut function multipl sclerosi role frontal lobe patholog brain research suggest similar effect adem deficit sever studi children adem ag present year test rang neurocognit test averag year recoveri hahn cd mile bs macgregor dl blaser si banwel bl hetherington cr neurocognit outcom acut dissemin pediatr neurolog children perform normal rang test includ verbal iq perform iq perform standard deviat ag norm cognit domain complex attent child short-term memori child intern behaviour affect children group mean cognit domain standard deviat ag norm demonstr group normal deficit sever similar ag children diagnosi ms banwel bl anderson pe cognit burden multipl sclerosi children neurolog studi compar nineteen children histori adem year ag younger time averag ag year test averag year older ag time adem test averag year nineteen match control jacob rk anderson va neal jl shield lk kornberg aj neuropsycholog outcom acut dissemin impact ag ill onset pediatr neurol score iq test educ achiev young onset adem group averag iq compar late onset averag iq control group averag iq late onset adem children score verbal process speed group mean standard deviat control mean effect statist reliabl children normal rang behaviour problem earli onset group suggest due part stress hospit young ag dougla earli hospit admiss disturb behavior learn devel med child neurol wb fleischer moonei ford jd gj acut stress disord symptomatolog hospit pediatr injuri acad child adol psychiatri adem ms adem ms involv autoimmun differ clinic genet imag histopatholog differ dm cf compar acut dissemin optica multipl sclerosi current opinion neurolog author ms borderlin form constitut spectrum differ sever clinic weinshenk miller multipl sclerosi diseas siva kesselr thompson ed frontier multipl sclerosi london dunitz hartung h-p grossman adem distinct diseas part ms spectrum neurolog discret diseas +ataxia greek neg prefix order mean lack order neurolog sign symptom consist gross incoordin muscl movement ataxia clinic manifest impli dysfunct part nervou system coordin movement cerebellum exist pattern neurolog dysfunct intern ataxia awar dai observ septemb year refer difficulti control voluntari movement type ataxia cerebellar ataxia term cerebellar ataxia emploi ataxia due dysfunct cerebellum varieti elementari neurolog deficit antagonist hypotonia abnorm manifest depend cerebellar structur lesion lesion bilater unilater dysfunct present postur instabl person separ feet stand gain wider base avoid oscil instabl worsen stand feet irrespect ey open close neg romberg test dysfunct present drunken sailor gait characteris uncertain start stop later deviat unequ step dysfunct present disturb carri voluntari movement includ intent tremor coars trembl accentu execut voluntari movement possibl involv head ey limb torso peculiar write abnorm larg unequ letter irregular underlin peculiar pattern dysarthria slur speech characteris explos variat voic intens regular rhythm sensori ataxia term sensori ataxia emploi ataxia due loss propriocept sensit joint bodi part posit gener depend dysfunct dorsal column spinal cord carri propriocept inform brain case dysfunct brain part receiv inform includ cerebellum thalamu pariet lobe sensori ataxia present unsteadi stomp gait heavi heel strike postur instabl characterist worsen lack propriocept input compens visual input poorli lit environ doctor evid physic examin patient stand feet ey shut patient instabl markedli worsen produc wide oscil possibl fall call posit romberg test worsen finger-point test ey close featur sensori ataxia patient stand arm hand extend examin ey close patient finger tend fall restor horizont extend posit sudden extensor contract atax hand vestibular ataxia term vestibular ataxia emploi ataxia due dysfunct vestibular system acut unilater case promin vertigo nausea vomit chronic bilater case vestibular dysfunct characterist manifest absent sole present ataxia type ataxia overlap coexist occur isol focal lesion type focal lesion central nervou system stroke brain tumour multipl sclerosi type ataxia site lesion cerebellar cerebellum sensori dorsal spinal cord rare thalamu pariet lobe vestibular vestibular system includ vestibular area cerebr cortex exogen substanc exogen substanc ataxia depress effect central nervou system function common ethanol capabl caus overlap cerebellar vestibular ataxia exampl includ prescript drug antiepilept drug cerebellar ataxia unwant effect recreat drug ketamin pcp vitamin defici vitamin defici neurolog abnorm overlap cerebellar sensori ataxia isol sensori ataxia peripher neuropathi generalis localis sensori ataxia limb depend extent neuropath involv spinal disord type sensori ataxia lesion level involv dorsal column non-hereditari cerebellar degener non-hereditari cerebellar degener includ chronic ethanol abus paraneoplast cerebellar degener high altitud cerebr oedema coeliac diseas normal pressur hydrocephalu hereditari ataxia ataxia depend hereditari disord consist degener cerebellum spine case featur extent present overlap cerebellar sensori ataxia evid hereditari disord caus ataxia includ autosom domin spinocerebellar ataxia episod ataxia atrophi autosom recess disord friedreich ataxia sensori cerebellar predomin ataxia-telangiectasia sensori cerebellar predomin x-link atax condit rare fragil tremor ataxia syndrom treatment specif treatment ataxia underli disabl ataxia reduc physic therapi includ exercis leg brace shoe splint foot align affect cane walker effort prevent fall +abdul al fiction charact creat american horror writer lovecraft so-cal mad arab credit author imaginari book kitab necronomicon integr part cthulhu mytho lore abdul al pseudonym lovecraft creat youth read arabian night ag year invent lovecraft albert baker phillip famili lawyer harm encyclopedia cthulhiana abdul common arab compon addition begin redund al allud hazard lovecraft famili tree pun lovecraft avid reader youth pearsal al abdul lovecraft lexicon abdul al real arab arab definit articl morphem row anomal term arab grammar proper arab form abdul arab translat appear abdullah red arab fenc prohibit persian arab word hazrat mean great lord twist sound red hazard indic danger phrase mad arab word capit lovecraft stori commonli al constitut titl refer mad arab cthulhu mytho fiction invari synonym abdul al biographi lovecraft wikisourc origin text relat articl histori necronomicon lovecraft histori necronomicon written publish al live damascu al supposedli wrote book ultim evil arab necronomicon deal book unpleas al except lovecraft histori august derleth august derleth alter biographi al redat death derleth chang al final fate short stori keeper kei publish stori professor laban shrewsburi recur derleth charact assist time nayland colum discov al burial site head caravan salalah oman cross border yemen find unexplor desert area necronomicon call roba el roba el refer empti quarter rub al khali center area discov nameless citi set lovecraft stori derleth text domain great hastur shrewsburi agent hastur devot enemi hastur half-broth cthulhu cross gate search al burial site find al burial chamber learn fate al kidnap damascu brought nameless citi earlier studi learn necronomicon lore punish betrai secret al tortur blind sever tongu execut entranc chamber warn disturb shrewsburi open al sarcophagu find rug bone dust remain al sarcophagu al person incomplet copi necronomicon written arab alphabet shrewsburi necrom recal al spirit order draw map world knew obtain map reveal locat r'lyeh secret place shrewsburi final let al return etern rest +augusta ada king countess lovelac decemb london england novemb marylebon london england gro regist death dec marylebon augusta ada lovelac born augusta ada byron written descript charl babbag earli mechan general-purpos comput analyt engin programm accur publish program publish program written babbag fara patricia athen owl histori women scienc wizard keen promotor comput influenti possibl unreal biographi ada legitim child poet lord byron wife annabella full ann isabella milbank name byron half-sist augusta leigh child rumour father ada born decemb london england januari annabella left byron ada april byron sign deed separ left england good dai ada met younger half-sist allegra byron daughter lord byron clair clairmont di ag ada contact elizabeth medora leigh daughter byron half-sist augusta leigh ada medora told ada mother byron medora father ada live mother appar father correspond ladi byron highli interest mathemat domin life marriag obsess root insan accus lord byron reason annabella taught ada mathemat earli ag ada privat home school mathemat scienc william frend william king mari somervil tutor augustu de morgan activ member london societi member bluestock youth ada lovelac marri william king baron king st earl lovelac children byron born annabella ladi ann blunt born septemb ralph gordon born juli famili live ockham park ockham surrei full titl marri life honour augusta ada countess lovelac wide modern time simpli ada lovelac maiden ada byron ada appar hard drinker gambl heavili time death ow addition flirt men numer scandal appar cover husband knew taught mari somervil note research scientif author centuri introduc turn charl babbag june acquaint sir david brewster charl wheatston charl dicken michael faradai nine-month period ada translat italian mathematician luigi menabrea memoir babbag newest propos machin analyt engin articl append set note complet detail method calcul bernoulli number engin recogn historian world comput program biograph debat extent origin contribut hold program written babbag babbag wrote subject passag life philosoph excerpt perspect comput revolut edit zenon pylyshyn lovelac prose acknowledg possibl machin babbag publish specul engin compos elabor scientif piec music degre complex extent interact charl babbag ada met correspond charl babbag occas includ social relat babbag differ engin analyt engin relationship romant natur ada peopl fulli understood babbag idea creat program analyt engin analyt engin built program calcul sequenc bernoulli number base work lovelac wide credit comput programm babbag impress ada intellect write skill call enchantress number wrote ada tool betti acknowledg enchantress number critic connect forget world troubl multitudin charlatan short enchantress number level impact ada babbag engin subject debat debat difficult resolv due charl babbag tendenc acknowledg verbal write influenc peopl work death ada lovelac bled death ag physician cure uterin cancer joan baum calcul passion ada byron archon book perish ag father left son daughter ladi ann blunt famou travel middl east breeder arabian hors co-found crabbet arabian stud lovelac buri father knew church st mari magdalen hucknal nottingham year death ada lovelac note babbag analyt engin republish forgotten engin recogn earli model comput ada lovelac note descript comput softwar influenc comput languag ada creat defens depart name lovelac refer manual languag approv decemb ada birthdai depart defens militari standard languag number year birth addit lovelac imag microsoft product authent hologram sticker british comput societi award medal access march initi annual competit access march women student comput scienc public menabrea luigi federico ada lovelac scientif memoir note memoir translat woollei benjamin februari tool betti alexandra tool ed ada enchantress number select letter ada lovelac descript comput tool betti alexandra tool ed ada enchantress number prophet comput ag kim eugen tool betti alexandra ada comput scientif american +comput scienc ambient calculu process calculu devis luca cardelli andrew gordon describ theoris concurr system includ mobil mobil mean comput carri mobil devic network dynam topolog mobil comput execut code move network ambient calculu unifi framework model kind mobil cardelli gordon mobil ambient proceed intern confer foundat softwar scienc comput structur march april ed lectur note comput scienc springer-verlag model interact concurr system internet incept ambient calculu grown famili close relat inform descript ambient fundament primit ambient calculu ambient ambient inform defin bound place comput occur notion boundari consid kei repres mobil boundari defin contain comput agent move entireti exampl ambient includ web page bound file virtual address space bound address rang unix file system bound physic volum singl data object bound laptop bound case data port kei properti ambient ambient calculu ambient name control access ambient ambient nest ambient repres administr domain ambient move oper comput repres cross boundari movement ambient basic oper capabl ambient cardelli instruct surround ambient enter sibl ambient proce instruct surround ambient exit parent ambient instruct surround ambient dissolv boundari ambient locat level ambient calculu reduct semant formal defin result oper commun local ambient anonym asynchron output action releas name capabl surround ambient input action captur ambient bind variabl non-loc repres term local commun action varieti mean approach mobil agent carri messag ambient capabl approach emul commun model channel term ambient oper ambient basic ambient primit open express simul channel +august derleth august william derleth februari juli american writer anthologist rememb lovecraft primari publish contribut cthulhu mytho genr horror derleth prolif writer genr includ histor fiction detect fiction life son william juliu derleth wife rose louis volk grew sauk citi wisconsin ag sold stori weird tale magazin derleth wrote year univers wisconsin-madison receiv time serv briefli editor mystic magazin mid- organis ranger club young peopl serv clerk presid local board educ serv parol offic organis local men club parent-teach associ lectur american region literatur univers wisconsin literari editor capit time newspap madison post held resign derleth marri april sandra evelyn winter divorc year retain custodi children april rose walden william derleth began edit publish magazin call hawk whippoorwil dedic poem man natur di juli buri st aloysiu cemeteri sauk citi cthulhu mytho derleth time began work cthulhu mytho derleth contemporari friend lovecraft lovecraft wrote le comt fiction homag derleth derleth invent term cthulhu mytho describ fiction univers seri stori share lovecraft writer circl derleth write emphas struggl good evil line christian worldview contrast lovecraft depict amor univers derleth treat lovecraft repres element forc creat entiti flesh framework lovecraft di derleth donald wandrei put collect author stori publish exist publish show interest found arkham hous compani lovecraft fiction town arkham massachusett featur stori lovecraft death derleth wrote number stori base fragment note left lovecraft publish weird tale book form bylin lovecraft august derleth derleth call posthum collabor arkham hous publish outsid huge collect contain lovecraft short stori exist derleth wandrei decid expand arkham hous began regular publish schedul book dark collect derleth horror stori signific number lovecraft fan find dissatisfi derleth invent term cthulhu mytho belief lovecraft fiction pattern influenc derleth christian complaint deal posthum collabor prais derleth found arkham hous success effort rescu lovecraft literari obscur write derleth wrote short stori book lifetim includ number novel sherlock british detect name solar pon seri includ sac prairi saga wisconsin saga judg peck seri wrote introduct collect classic earli centuri comic buster brown nemo slumberland katzenjamm kid book children poetri entitl boi wrote pseudonym stephen grendon kenyon holm talli mason derleth paper comic book collect donat wisconsin histor societi madison organ state archiv locat bibliographi derleth typewrit short fiction gorg unknown hous curwen street unknown bat belfri coffin lissa devil pai night rider river sleeper turret room conradi affair carl stone statement justin parker tenant number tenant three-stori hous melodi minor desert garden dinner imola hous highwai inheritor occurr antiqu shop mark scarlatti bottl song twilight hall lilac bush matter sight bentlei daughter pacer portrait whistler bridg sigh captain afraid princ borgia mass bishop see shadow sky sheraton mirror seek hous magnolia birkett twelfth corps elegi danielson nelli foster walk wind vanish simmon white moth cloak messer lando beard metronom wild grape dream aunt familiar return sarah purcel satin mask telephon librari glori hand mcgovern obsess panel room shutter hous wind river gentlemen black head elt part print return hastur august derleth henderson bramwel guardian compact amulet threshold compliment spectro ithaqua lans luxuri mind headlin tod shayn august derleth devil august derleth imp glass light uncl henri thin gentleman glove wig devor light uncl henri august derleth dweller dark ladi macbeth squar pacif trail cthulhu carousel inver cape lost dai watcher sky collector stone pikeman knowledg lonesom place saunder friend wood whippoorwil hill slayer slain testament claiborn boyd twilight plai close door child island space ormolu clock triumph room hous keeper kei knock wall man rode saucer side wall call black island lost path mcilvain star night road place desol sexton sexton wall centuri jumper corner lucia detect senat disc record eboni stick hous vallei invad microcosm maugham obsess travel time mark vii mechan hous penfield misadventur place wood remark dingdong thinker mark vii dark boi martian artifact seal r'lyeh halloween faulkner lovecraft pacer excerpt adventur intarsia box rocket moon ferguson capsul adventur uniqu dickensian ey histori protoplasma stephen grendon drift snow stephen grendon gentleman pragu stephen grendon alannah stephen grendon dead man shoe stephen grendon bishop gambit stephen grendon extra passeng stephen grendon ghost walk stephen grendon georg stephen grendon parrington pool stephen grendon bless meek stephen grendon mara stephen grendon night train lost vallei stephen grendon parlor stephen grendon parlor stephen grendon wind lilac stephen grendon blue spectacl stephen grendon manifold stephen grendon open sesam stephen grendon song pewe stephen grendon man stephen grendon balu stephen grendon stephen grendon lovecraft lurker threshold survivor wentworth dai gabl window shadow space ancestor lamp alhazr peabodi heritag shutter room dark brotherhood horror middl span innsmouth clai watcher time death marc schorer elixir life marc schorer marmoset marc schorer black castl marc schorer owl moor marc schorer rider sky marc schorer pacer marc schorer left wing mark schorer lair star-spawn mark schorer laughter night mark schorer red hand mark schorer carven imag mark schorer return andrew bentlei mark schorer colonel mark schorer matter faith mark schorer death hold post mark schorer rise mark schorer woman loon point mark schorer spawn maelstrom mark schorer vengeanc ai mark schorer occup crypt mark schorer figur scyth mark schorer collabor churchyard yew joseph sheridan le fanu adventur snitch time mack reynold adventur ball nostradamu mack reynold hous oak robert howard novel murder stalk wake famili man four di sign fear summer night wind wisconsin dai sentenc defer restless river atmospher hous riddl bright journei villag year even spring sweet geneviev wait shadow night mischief lane futur luana shield valiant oliv wayward owl villag daybook countri hawk captiv island fell purpos death design empir fur hous moonlight land grai gold land sky blue water hous mound moon tender wilbur trust whippoorwil mill creek irregular hill stand watch pinkerton ride ghost black hawk island walden west sweet land michigan tent show summer beast holger wood fairli final journei biographi small voic biographi writer zona gale memoir note lovecraft concord rebel life henri thoreau histori wisconsin river thousand isl milwauke road year columbu world religi histori saint ignatiu compani jesu father marquett great river antholog poetri wisconsin sleep knock night side sleep dead strang port call side moon time space boundari outer reach beachhead space night yawn peal ghostli compani world tomorrow portal tomorrow time dark mind dark heart world sleep dead abridg time infin unquiet grave evil wake world edg travel night tale cthulhu mytho dark horizon yesterdai portrait tomorrow collect place hawk verdict talli mason countri growth dark sherlock holm adventur solar uk adventur solar pon wisconsin earth sac prari sampler sac prari peopl long world memoir solar pon problem solar pon survivor lovecraft mask cthulhu return solar pon wisconsin bone reminisc solar pon lonesom place trail cthulhu georg odd person stephen grendon casebook solar pon colonel pleasant peopl mark schorer pra street dossier wisconsin murder chronicl solar pon watcher time lovecraft harrigan file dweller dark solar pon omnibu final adventur solar pon lovecraft shadow origin text solar pon omnibu edit poem incubu omega spaceship man cosmo desert shore night provid gentlemen meet midnight left poetri collect hawk wind man track darkl plain wind elm rind earth thoreau select poem edg night habit dusk boi illustr clair victor dwiggin boi world rendezv landscap psych countri poem west morn wound essai articl introduct mask cthulhu unknown foreword knock foreword night side introduct sleep dead foreword long world introduct strang port call introduct side moon introduct time space foreword outer reach introduct haunter dark introduct beachhead space introduct world tomorrow foreword time introduct beachhead space introduct portal tomorrow introduct world tomorrow foreword dark mind dark heart foreword time lovecraft work lovecraft work introduct georg odd person introduct world tomorrow introduct beachhead space introduct world foreword night side foreword unspeak peopl clark ashton smith master fantasi donald wandrei +alp german alpen italian alpi french alp romansh alp slovenian alp great mountain rang system europ stretch austria slovenia east itali switzerland liechtenstein germani franc west word alp french latin alp mean alp influenc latin word albu white altu high latin render celtic ligurian origin highest mountain alp mont blanc metr ft italian-french border main peak alp list mountain alp list alpin peak promin geographi subdivis west face petit dru chamonix vallei mer de glace alp intern border mark großglockn south salzburg austria alp gener divid western alp eastern alp divis line lake constanc lake como rhine western alp higher central chain shorter curv locat itali franc switzerland eastern alp main ridg system elong broad belong austria germani itali liechtenstein slovenia switzerland highest peak western alp mont blanc metr ft mont blanc de courmayeur metr ft dufourspitz metr ft summit mont rosa group dom metr ft highest peak eastern alp piz bernina metr ft eastern alp commonli subdivid litholog rock composit central part alp group northern southern fring flysch zone wienerwald bregenzerwald geograph jura mountain belong alp geolog northern limeston alp peak metr ft central eastern alp austria switzerland peak metr ft southern limeston alp border central alp southern limeston alp seam northern limeston alp separ central eastern alp zone western alp commonli subdivid respect geographi ligurian alp maritim alp cottian alp alp graian alp pennin alp bernes alp alp glaru alp north-eastern swiss alp seri mountain rang run parallel main chain alp includ french prealp alpin geographi geolog subdivis differ western eastern alp helveticum north system centr south seam southern alpin system part dinarid alpin geologi main chain european alp space main chain alp watersh mediterranean sea wienerwald pass highest famou peak alp coll di col de tend run westward turn north-west coll della maddalena north reach swiss border line main chain head approxim east-north-east head vienna princip pass alp form impass barrier travers war commerc pilgrim student tourist cross place road train foot call pass depress mountain vallei lead plain hilli zone climat alp classic temper area altitud higher elev terrain elev world cold climat similar polar area call alpin rise sea level upper region atmospher temperatur decreas effect mountain chain prevail wind carri warm air belong region upper zone expand volum cost proportion loss heat accompani precipit moistur form snow rain geologi alp aros result pressur exert sediment tethi ocean basin mesozo earli cenozo strata push stabl eurasian landmass african landmass occur oligocen miocen epoch pressur form great recumb fold napp rose tethi sea push northward break slide form gigant thrust fault crystallin rock expos higher central region rock form mont blanc matterhorn high peak pennin alp hohe tauern landscap todai form glaciat million year ic ag chang region scoop lake round limeston hill northern border glacier retreat year leav larg granit errat scatter forest region ic ag end believ climat chang rapidli glacier retreat mountain span year polit cultur histori earli dweller alp save scanti account preserv roman greek historian geograph detail conquest alpin tribe augustu punic war bc carthaginian gener hannib successfulli cross alp armi number infantri cavalri war eleph lancel serg hannib celebr achiev militari forc ancient warfar success emigr occup alpin region teuton tribe centuri outlin frankish king emperor alp offer rout place perman resid final breakup carolingian empir centuri trace local histori alp explor higher region alp long left exclus attent peopl adjoin vallei alpin travel distinguish alpin climber began visit vallei men explor region ic snow de saussur pennin alp benedictin monk disenti placidu ascent vallei sourc rhine flora natur veget limit altitud presenc chief decidu tree oak beech ash sycamor mapl reach elev grow upper limit correspond accur chang temper colder climat prove chang wild herbac veget limit li metr ft sea north side alp southern slope rise metr ft metr ft region mark presenc characterist tree human interfer extermin area beech forest austrian alp forest decidu tree rare district wood exist replac scot pine norwai spruce sensit ravag goat worst enemi tree annual temperatur region differ british island climat condit wide alp snow stai month spring summer consider warmer averag season britain forestri band short pine tree pinu mugo turn supersed dwarf shrub typic rhododendron ferrugineum acid soil rhododendron hirsutum basic soil alpin meadow higher veget spars higher altitud plant tend form isol cushion alp speci flower plant record metr ft includ ranunculu glaciali androsac alpina saxifraga biflora imag sosna pinu mugo mugo jpg mountain pine pinu mugo imag rhododendron ferrugineum jpg alpenros rhododendron ferrugineum imag alpinum jpg edelweiss alpinum imag gentiana acauli jpg stemless gentian gentiana acauli imag jpg alpin dwarf orchid alpina imag jpg alpin pulsatilla alpina imag androsac alpina jpg alpin androsac alpina imag jpg glacier buttercup ranunculu glaciali fauna speci common alp numer alp protect park reserv imag parnassiu jpg alpin apollo butterfli imag salamandra atra jpg alpin salamand imag xx jpg alpin accentor imag jpg alpin chough imag jpg capercailli imag aquila chrysaeto larg draw jpg golden eagl imag ptarmigan jpg ptarmigan imag jpg tengmalm owl imag jpg alpin ibex imag marmota marmota alp jpg alpin marmot imag rupicapra rupicapra jpg chamoi imag arctic hare jpg mountain hare alp popular cultur roller coaster busch garden europ virginia usa call +albert camu ipa kami novemb januari french-algerian author philosoph won nobel prize existenti camu refus label hand wrote essai rebel life devot oppos philosophi nihil subject belief god write volum notebook god atheist import phrase futur ruin prepar renaiss limit nihil albert camu found group intern liaison revolutionari union movement book albert camu un vie olivi todd camu prefer man thinker member school ideolog prefer person idea interview camu reject ideolog associ existentialist sartr surpris name le nouvel litterair novemb collect essai nuptial wrote son greec camu second-youngest recipi nobel prize literatur rudyard kipl african-born writer receiv award shortest-liv literatur laureat date di automobil accid year receiv award earli year albert camu born novemb mondovi algeria french-algerian pied-noir settler famili mother spanish extract father lucien di battl marn world war serv member zouav infantri regiment camu live poor condit childhood belcourt section algier accept lycé eventu univers algier contract tuberculosi put footbal activ goalkeep univers team forc studi part-tim pursuit odd job includ privat tutor car part clerk work meteorolog institut complet licenc de philosophi ba successfulli present thesi plotinu pensé chrétienn diplôm d'étude supérieur roughli equival thesi camu join french communist parti spring appar concern polit situat spain eventu result spanish civil war support marxist-leninist doctrin independence-mind algerian communist parti pca found camu join activ algerian peopl parti le parti du peupl algérien troubl communist parti comrad result denounc trotskyit expel parti camu french anarchist movement anarchist andr introduc meet cercl de etudi anarchist anarchist student circl sympathis familiar anarchist thought camu write anarchist public le libertair la révolut solidaridad obrera organ anarcho-syndicalist cnt camu stood anarchist express support upris east germani stood anarchist upris poznan poland year hungarian revolut marri simon hie morphin addict marriag end due infidel side found théâtre du travail worker theatr renam théâtre de l'equip team theatr surviv wrote socialist paper work includ account peasant live kabyli poor condit appar cost job briefli wrote similar paper reject french armi tuberculosi camu marri francin faur pianist mathematician love francin argu passion institut marriag dismiss unnatur francin gave birth twin catherin jean septemb continu joke wearili friend cut marriag francin suffer numer infidel public affair spanish actress maria casar year camu began work paris-soir magazin stage world war ii so-cal phoni war stage camu pacifist pari wit wehrmacht decemb camu wit execut gabriel péri event camu crystal revolt german move bordeaux rest staff paris-soir year finish book stranger myth sisyphu return briefli oran algeria literari career war camu join french resist cell combat publish underground newspap group work nazi camu assum nom de guerr camu paper editor alli liber pari camu report fight french editor publicli express opposit atom bomb hiroshima event august eventu resign combat commerci paper camu acquaint jean-paul sartr war camu began frequent de flore boulevard saint-germain pari sartr camu tour unit state lectur french think lean left polit strong critic communist doctrin win friend communist parti eventu alien sartr tuberculosi return live seclus year publish rebel philosoph analysi rebellion revolut clear reject commun book upset colleagu contemporari franc led final split sartr dour recept depress began translat plai signific contribut philosophi idea absurd result desir clariti mean world condit offer explain myth sisyphu incorpor work stranger plagu split partner sartr argu camu fall existentialist camp reject label essai enigma lyric critic essai albert camu current confus aris applic existenti common practic idea resist rebellion death person understand world benign indiffer stranger vision progress vanquish adolesc furi histori societi rebel undoubtedli set camu devot effort human right resign work unesco accept spain member leadership gener franco critic soviet method crush strike east berlin protest similar method poland protest soviet repress hungarian revolut octob monument camu built small town franc di automobil accid januari maintain pacif resist capit punish world signific contribut movement capit punish essai collabor arthur koestler writer intellectu founder leagu capit punish bronz plaqu monument camu built small town franc plaqu read yonn area local council tribut writer albert camu watch town hall night januari januari algerian war began present moral dilemma camu identifi pied-noir defend french govern ground revolt algeria integr part arab led egypt offens orchestr russia unit actuel iii chroniqu favour greater algerian autonomi feder full-scal independ believ pied-noir arab co-exist war advoc civil truce spare civilian reject side regard foolish scene began work clandestin imprison algerian face death penalti camu wrote l'express award nobel prize literatur offici fall publish previou year write capit punish essai réflexion sur la guillotin spoke student univers stockholm defend appar inact algerian question state worri happen mother live algeria led ostrac french left-w intellectu revolutionari union movement european union camu found group intern liaison revolutionari union movement book albert camu un vie olivi todd georg orwel oppos totalitarian regim east west wrote chapter thought middai follow ancient greek la pensé solair leader french resist set revolutionari union movement group de liaison international gli form trade union movement context revolutionari syndic révolutionnair book alfr rosmer le mouvement révolutionnair international christian gra colleagu nicola loui mercier roger paul chauvet august jean de articl nicola itinérair d'un syndicalist révolutionnair sylvain review communism main aim express posit side surreal existenti reject neg nihil andr breton jean-paul sartr camu found committe european feder comit francai pour la feder europeen declar europ evolv path econom progress democraci peac nation state albert camu correspond altiero spinelli found european federalist movement milan ventoten manifesto book l'europa gli altiero spinelli nel partito d'azion del nord italia francia dal al letter altiero spinelli albert camu march confer european federalist movement organis pari particip albert camu georg orwel emmanuel mounier lewi mumford philip daniel mayer françoi bondi altiero spinelli book biographi pan specif branch european federalist movement disintegr domin winston churchil idea european integr camu orwel essai miho takashima intern journal human equilibrium compar studi nineteen eighty-four l'homm view struggl orwel represent compar studi georg orwel albert camu literari orwel albert camu compar studi view dilemma polit explor relat work french writer albert camu english writer georg orwel takashima argu orwel intention order warn intellectu elit compromis camu confront observ comparison man plai state nationmast encyclopedia theatric plai written plagu essai rebel man revolt work camu repres respons georg orwel hero diego oppos totalitarian dictat name plagu di order set spanish town free inquisit etat de state sieg work totalitarian written epoch idol english writer georg orwel wrote plai includ allegor refer orwel hero winston smith compromis big brother origin titl etat de sieg holi inquisit cadix french edit book camu includ remark essai titl spain polem text answer cathol christian friend gabriel marcel criticis set plot spain camu express opposit totalitarian regim west behaviour vatican pope world war import phrase essai guernica gabriel marcel greek journalist christo theoris plai base lost tragedi prometheu fire-bring nationmast encyclopedia albert death camu di januari automobil accid sen place name le grand small town coat pocket lai unus train ticket plan travel train decid car albert graveston driver facel vega car michel gallimard publish close friend perish accid camu inter lourmarin cemeteri lourmarin vauclus provence-alpes-côt d'azur franc surviv twin children catherin jean hold copyright work death work publish posthum entitl happi death publish featur charact name meursault stranger debat relationship stori posthum public unfinish man camu write di autobiograph work childhood algeria publish summari absurd writer written absurd interpret absurd idea import absurd sartr recogn absurd individu experi kierkegaard explain absurd religi truth prevent reach god ration camu origin absurd regret continu refer philosoph absurd show interest absurd shortli publish le myth de myth sisyphu distinguish idea absurd philosoph peopl refer paradox absurd refer absurd earli thought absurd appear collect essai l'enver side coin absurd theme appear sophist collect essai noce nuptial essai camu offer philosoph account absurd definit reflect experi absurd publish stori man live absurd life l'étranger stranger year releas le myth de myth sisyphu literari essai absurd written plai roman emperor caligula pursu absurd logic plai perform turn point attitud absurd occur collect letter anonym german friend written juli juli publish revu libr cahier de libérat newspap liberté letter publish lettr ami allemand letter german friend appear collect resist rebellion death idea absurd essai camu present reader dualism happi sad dark light life death aim emphas fact happi fleet human condit mortal morbid reflect greater appreci life happi le myth dualism paradox live exist greatli time eventu die ultim endeavour meaningless live dualism accept period unhappi experi happi live paradox life great import meaningless le myth camu interest experi absurd live life mean accept life mean kill meursault absurdist hero l'étranger murder execut crime caligula end admit absurd logic wrong kill assassin deliber brought camu possibl suggest caligula absurd reason wrong plai anti-hero word author similarli exalt meursault final moment understand absurd promot public debat offer entic absurd offer contribut concept cooper joint effort solidar kei import camu camu signific contribut viewpoint absurd reject nihil valid respons mean mean letter german friend decemb existenti view human be subject indiffer object ambigu absurd univers mean natur order creat provision unstabl human action interpret opposit totalitarian life camu spoke activ oppos totalitarian form earli camu activ french resist german occup franc world war ii direct famou resist journal combat french collabor nazi occupi wrote well-known fall sartr link opposit totalitarian camu detect reflex totalitarian mass polit espous sartr radic marxism appar work l'homm rebel assault soviet polic state question natur mass revolutionari polit camu continu speak atroc soviet union sentiment captur speech blood hungarian commemor anniversari hungarian revolut upris crush bloodi assault red armi camu solidar stranger solidar albert camu character justif absurd experi protagonist simpli conform system inher honesti disturb statu quo inabl lie seamlessli integr societi turn threaten simpl fabric human manner expect structur order societi punish crime decid basi murder startl indiffer mother’ demis conflict spiritu discuss pastor incit meursault path redempt refus salvat symbol ultimatum embrac indiffer world act further solidar societi incap realiz seemingli inhuman misanthrop behavior plagu solidar plagu undeni part life omnipres death imped factor stranger albert camu question mean moral concept justifi human human suffer religi framework camu rational christian doctrin useless mortal be successfulli ration impend inescap death sentenc forc human plagu befal oran concret tangibl facilit death ultim plagu enabl peopl understand individu suffer meaningless season citizen oran willfulli give diseas control decid fight impend death unwillingli creat optim midst hopeless camu channel thought import solidar plagu primarili agent death uncanni opportun peopl realiz individu suffer absurd midst complet suffer challeng respons adopt major citizen oran demonstr inexplic humanist connect distraught distant charact choic fight irrevers epidem peopl creat mean life destin execut moment creation bibliographi camu novel stranger l'étranger translat outsid plagu la pest fall la chute happi death la mort heureus written publish posthum man le premier homm incomplet publish posthum short stori exil kingdom l'exil le royaum collect long short stori non-fict betwixt l'enver translat wrong side side collect nuptial noce myth sisyphu le myth de rebel l'homm notebook carnet mai fevrier notebook essai creat danger essai realism artist creation ancient greek tragedi parnasso lectur greec crisi man lectur columbia univers spain essai theatric plai etat de sieg reflect guillotin réflexion sur la guillotin extend essai victim execution combat plai caligula perform written requiem nun requiem pour un nonn adapt william faulkner misunderstand le state sieg etat de sieg assassin le just possess le adapt dostoyevski collect resist rebellion death collect essai select author lyric critic essai youth write hell reason essai resist newspap combat camu combat write cultur influenc film work adapt movi stranger adapt italian movi luchino visconti turkish adapt titl fate zeki plagu adapt film titl la pest lui puenzo set modern dai america music music artist refer camu work music post-punk band fall fall includ album jeff martin exil kingdom song gentl giant cry cure kill arab tuxedomoon stranger magnet field don't manic street preacher mass class jj algeria sued obsess streetlight manifesto life perfect circl stranger outsid angela mccluskei joanna newsom side blue tarkio neapolitan bridesmaid independ blue read camu germain camu adel king camu vida obra vicent de paulo barretto albert camu biographi herbert albert camu minist howard mumma albert camu artist arena emmett parker oclc albert camu studi work philip malcolm waller thodi oclc albert camu life olivi todd albert camu kunst und moral heiner wittmann ethic creativ polit thought simon weil albert camu john randolph leblanc +dame agatha mari clarissa ladi mallowan dbe septemb januari commonli agatha christi english crime fiction writer novel short stori plai wrote romanc novel mari westmacott rememb detect novel success west theatr plai work featur detect hercul poirot jane marpl titl import innov writer develop genr christi call guin book world record best-sel writer book time best-sel writer kind william shakespear bibl outsold collect sale roughli billion copi novel unesco state translat individu author world collect corpor work walt disnei product supersed broad appeal all-tim best-sel author franc million copi sold french million emil zola nearest contend stage plai mousetrap hold record longest initi run world open ambassador theatr london novemb run perform christi recipi mysteri writer america highest honor grand master award year wit prosecut edgar award mwa plai book short stori film time murder orient express death nile paddington adapt televis radio video game comic control right literari work agatha christi pass compani chorion purchas major share agatha christi limit biographi plaqu agatha christi mile torr abbei torquai agatha christi born agatha mari clarissa miller torquai devon american father english mother claim unit state citizenship father frederick alvah miller rich american stockbrok mother clarissa margaret boehmer daughter british armi captain morgan janet agatha christi biographi page collin christi sister margaret frari miller call madg eleven year senior brother loui montant miller call monti ten year older christi father di eleven year mother taught home encourag write young ag ag dryden finish school pari studi sing piano marriag unhappi colonel archibald christi aviat royal fly corp coupl daughter rosalind hick divorc marriag publish mysteri affair style world war work hospit pharmaci job influenc work murder book carri poison decemb live sunningdal berkshir disappear ten dai caus great interest press car chalk pit newland corner surrei eventu stai swan hydro swan hotel harrog woman husband admit affair claim suffer nervou breakdown fugu state caus death mother husband infidel opinion divid public stunt public sentiment time neg feel alleg public stunt cost taxpay substanti amount monei film agatha star vanessa redgrav christi recount fictionalis version disappear christi marri archaeologist sir max mallowan mallowan year younger christi roman cathol anglican faith marriag happi earli year endur mallowan affair life notabl barbara parker marri year christi death christi travel mallowan contribut background novel set middl east novel set torquai devon born christi murder orient express written hotel pera palac istanbul turkei southern terminu railroad hotel maintain christi room memori author greenwai estat devon acquir coupl summer resid care nation trust christi stai abnei hall cheshir own brother-in-law jame watt base stori hall short stori adventur christma pud stori collect funer abnei agatha greatest inspir country-hous life servant grandeur woven plot descript fiction style chimnei hous stori abnei form agatha christi reader companion vanessa wagstaff stephen pool aurum press page agatha christi room hotel pera palac wrote murder orient express dame command order british empir agatha christi di januari ag natur winterbrook hous north cholsei parish adjoin wallingford oxfordshir berkshir buri nearbi st mari churchyard cholsei christi child rosalind hick di octob ag natur christi grandson mathew prichard heir copyright grandmoth literari work includ mousetrap agatha christi limit hercul poirot marpl agatha christi mysteri affair style publish introduc long-run charact detect hercul poirot appear christi novel short stori charact marpl introduc murder vicarag base christi grandmoth world war ii christi wrote novel intend case great detect hercul poirot jane marpl curtain sleep murder book seal bank vault year releas public christi life realis write novel public heel success film version murder orient express arthur conan doyl sherlock holm christi increasingli tire detect poirot fact christi confid diari find poirot felt creep conan doyl christi resist temptat kill detect popular entertain job produc public public poirot contrast christi fond marpl interest note belgian detective’ titl outnumb marpl titl larg christi wrote numer poirot novel earli career murder vicarag remain sole marpl christi wrote short stori featur poirot marpl poirot fiction charact obituari york time public curtain great success curtain christi gave permiss releas sleep murder di januari book releas explain inconsist compar rest marpl seri colonel arthur bantri husband marpl friend dolli aliv sleep murder curtain written fact note di book publish earlier christi simpli time revis manuscript di marpl fare poirot solv mysteri sleep murder return home regular life st mari mead edit desert island disc brian aldiss recount agatha christi told wrote book chapter decid suspect frame person popular cultur christi portrai number occas film televis vanessa redgrav film agatha hilda gobbi hungarian film kojak peggi ashcroft tv plai murder book esm lambert dead zone episod unreason doubt transmit juli olivia william bbc televis programm entitl agatha christi life pictur aya sugimoto episod japanes televis seri call hyakunin fenella woolgar unicorn wasp doctor episod michel trout film live death poet plai murder indecis parodi christi charact agatha crispi list work novel collect short stori addit novel christi wrote publish short stori career written public fiction magazin appear publish book form collect ident uk labour hercul public place market twelv stori publish sketch magazin sub-head man join continu narr big stori submarin plan christma adventur mysteri baghdad chest gong expand longer narr christi incred theft adventur christma pud mysteri spanish chest dead man mirror shorter version publish uk short stori remain unpublish uk book form blind mice christi moratorium stage plai base stori mousetrap run west stori incred theft christma adventur publish book form main collect market poirot investig short stori eleven uk fourteen partner crime fifteen short stori featur tommi tuppenc mysteri quin twelv short stori introduc harlei quin thirteen problem thirteen short stori featur marpl tuesdai club murder hound death twelv short stori uk mysteri twelv short stori uk parker pyne investig twelv short stori introduc parker pyne ariadn oliv parker pyne detect murder mew novella-length stori featur hercul poirot dead man mirror regatta mysteri stori short stori labour hercul twelv short stori featur hercul poirot wit prosecut stori eleven short stori blind mice stori short stori dog stori short stori adventur christma pud short stori uk doubl sin stori short stori golden ball stori fifteen short stori poirot earli case eighteen short stori hercul poirot earli case marpl final case stori short stori uk problem pollensa bai stori short stori uk harlequin tea set short stori light last stori short stori uk addit collect publish year re-print short stori previous appear collect surpris surpris occas reprint materi collect contain book print individu stori market base mysteri uk version thirteen luck appear market poirot earli case novel written mari westmacott giant bread unfinish portrait absent spring rose yew tree daughter daughter burden plai black coffe appoint death murder nile hidden horizon hollow daughter daughter written late perform unpublish turn mari westmacott mousetrap wit prosecut spider web verdict unexpect guest murder rule compris afternoon seasid rat patient fiddler origin written fiddler unpublish akhnaton written chimnei written unperform year unpublish radio plai yellow iri base short stori blind mice christi celebr stage plai mousetrap base radio plai butter lordli dish person call televis plai wasp nest base short stori nonfict live agatha christi autobiographi publish work road dream poetri star bethlehem stori christian stori poem poem co-author work screen radio serial written hugh walpol dorothi sayer anthoni berkelei bentlei ronald knox detect club publish book form scoop screen scoop radio serial written dorothi sayer bentlei anthoni berkelei freeman will croft clemenc dane detect club publish book form scoop screen float admir book written chesterton dorothi sayer member detect club west theatr dramat co-written gerard verner work base christi book plai plai adapt novel charl osborn black coffe unexpect guest spider web plai adapt author alibi dramat michael morton murder roger ackroyd love stranger plai dramat frank vosper short stori philomel cottag tea dramat margeri vosper short stort accid peril hous dramat arnold ridlei murder vicarag dramat charl barbara toi murder vicarag dramat lesli darbon card tabl dramat lesli darbon murder easi dramat clive exton dramat kevin elyot movi adapt pass quinn base short stori come quin die gmbh base secret adversari alibi base stage plai murder roger ackroyd black coffe lord edgwar di love stranger film base stage plai short stori philomel cottag love stranger film wit prosecut spider web film murder base paddington murder gallop base funer murder foul base mcginti dead murder ahoi origin movi base book borrow element mirror gumnaam uncredit adapt ten indian alphabet murder base murder endless night murder orient express ten indian death nile mirror crack base mirror crack side side evil sun ordeal innoc appoint death desyat negrityat ten nigger ten indian mon petit doigt m'a dit prick thumb l'heur zéro televis adapt love stranger tv base stage plai short stori philomel cottag love stranger tv ten indian ten indian murder vicarag didn't evan spider web tv dial mysteri agatha christi hour murder easi wit prosecut secret adversari partner crime caribbean mysteri sparkl cyanid bodi librari murder mirror move finger murder announc pocket full rye thirteen dinner man folli murder act murder vicarag sleep murder bertram hotel nemesi paddington man brown suit caribbean mysteri mirror mirror crack side side pale hors murder orient express loos adapt sparkl cyanid loos adapt bodi librari loos adapt murder vicarag appoint death murder announc sleep murder move finger prick thumb sittaford mysteri hercul poirot christma french film adapt loos adapt bertram hotel loos adapt innoc agatha christi poirot televis seri episod includ peril hous mysteri affair style hercul poirot christma murder link hickori dickori dock dumb wit murder roger ackroyd loos adapt lord edgwar di evil sun murder mesopotamia pig death nile sad cypress hollow mysteri blue train card tabl flood comic harpercollin began issu seri comic strip adapt christi work juli murder orient express adapt francoi rivier illustr solidor jean-françoi miniac murder link adapt francoi rivier illustr marc death nile adapt francoi rivier illustr solidor jean-françoi miniac mysteri blue train adapt illustr marc murder roger ackroyd adapt illustr bruno secret chimnei adapt francoi rivier illustr laurenc man brown suit adapt illustr alain big adpat illustr video game scoop publish spinnak softwar agatha christi agatha christi murder orient express death nile i-spi game agatha christi evil sun agatha christi peril hous i-spi game unpublish materi eugenia eugen stage plai case caretak wife marpl short stori publish marpl case caretak captur cerberu poirot short stori complet rewritten publish captur cerberu supernatur short stori snow desert romant folli detect novella featur hercul poirot expand dead man folli person call supernatur radio plai featur inspector narracott record british nation sound archiv woman kenit horror italian translat allegedli transcrib italian magazin internet butter lordli dish horror detect radio plai adapt woman kenit green gate supernatur war bride romant supernatur case dog ball short stori featur poirot expand dumb wit relat short stori garden grow stronger death supernatur wil romant seanc stage plai window detect stage plai adapt short stori dead harlequin anim japanes broadcast compani nippon housou kyoukai turn poirot marpl anim charact anim seri agatha christi great detect poirot marpl introduc mabel west daughter marpl mystery-writ nephew raymond west canon christi charact duck oliv charact +plagu fr la pest albert camu publish tell stori medic worker find solidar labour algerian citi oran swept plagu ask number question relat natur destini human condit charact book rang doctor vacation fugit show effect plagu populac believ base cholera epidem kill larg percentag oran popul french colon oran environ struck plagu multipl time camu publish center diseas control prevent oran decim plagu outbreak european colon case case case scale epidem plagu consid existentialist classic object label narr tone similar kafka trial individu sentenc potenti multipl mean materi pointedli reson stark allegori phenomen conscious human condit camu includ dim-wit charact misread trial mysteri obliqu homag read metaphor treatment french resist nazi occup world war camu approach book sever narrat emphas idea ultim control irration life inevit illustr human reaction plagu repres world deal philosoph notion absurd theori camu help defin plot summari text plagu divid part part town oran thousand rat initi unnot populac began die street hysteria develop caus local newspap report incid author respond public pressur order collect cremat rat unawar collect catalyst spread bubon plagu main charact rieux live comfort apart build strang build concierg michel confidant di fever rieux consult colleagu castel ill conclus plagu sweep town approach fellow doctor town author theori eventu dismiss basi death death quickli ensu appar epidem author slow accept situat quibbl action offici notic enact control measur post languag optimist downplai serious situat special ward open hospit bed fill dai death toll begin rise desper measur home quarantin corps burial strictli supervis suppli plagu serum final arriv treat exist case countri emerg reserv deplet daili number death jump town seal outbreak plagu offici declar part town seal town gate shut rail travel prohibit mail servic suspend telephon line restrict urgent call leav short telegram mean commun friend famili town separ affect daili activ depress spirit townspeopl feel isol introvert plagu begin affect charact charact raymond rambert devis plan escap citi join wife pari citi offici refus request leav befriend crimin smuggl citi charact father plagu opportun advanc statur town suggest plagu act god sin natur diatrib fall ear citizen town turn religion drove normal circumst crimin fear arrest wealthi major smuggler rieux vacation jean civil servant joseph grand exhaust treat patient home hospit rambert inform escap plan tell citi includ rieux love citi allow rambert sympathet mind decid join rieux fight epidem peak plagu destruct townspeopl eventu give person concern band child di plagu rieux critic father sermon god vengeanc sin behaviour cite innoc children inspir father deliv sermon address innoc suggest death opinion express god child death test christian choos god wholli impli di plagu sin stricken ill dy crucifix hand plagu end townspeopl return daili routin self-absorb ignor rambert reunit wife live plagu captur polic di plagu end rieux learn wife di ill citi charact plagu narrat present outset book wit event privi document identifi charact bernard rieux princip charact tradit protagonist describ tire world activ involv event medic profession notic dy rat human case diseas jean visitor oran appar independ wealthi diari notebook provid addit perspect unfold event record overheard accompani commentari cryptic joseph grand municip clerk year pass promot adequ rais result inadequ mean live sparingli furnish apart difficulti assert uncomfort commun aspir write book neighbor introduc attempt suicid save neighbor grand eager social friend castel older colleagu rieux person experi bubon plagu outbreak china pari enabl recogn symptom diseas give richard cautiou method doctor unwil action curtail spread diseas definit proof fact plagu father jesuit priest othon polic magistr wife children raymond rambert journalist find isol oran plagu strike embark escapad smuggler attempt escap reunit spous failur escap assist rieux care plagu victim join wife releas quarantin allus refer work part plagu rieux overhear convers algerian man shot death beach probabl refer plot camu earlier stranger earli plagu refer kafka trial +appli ethic disciplin philosophi attempt appli ethic utilitarian social contract theori deontolog real world dilemma topic fall disciplin includ medic ethic legal ethic environment ethic comput ethic corpor social respons busi ethic consider appli ethic plai human right discuss appli ethic seek engag formal ethic attempt solv actual dilemma illumin potenti disagr theori principl appli strict ethic approach result solut specif problem univers accept draw medic ethic strict deontolog approach permit decept patient condit utilitarian approach involv consider consequ permit ly patient result decept demonstr deriv solut dilemma utilitarian modern approach modern approach attempt overcom seemingli imposs divid deontolog utilitarian case-bas reason casuistri casuistri theori start fact case casuistri ethic theori view ethic theori import featur moral reason casuist albert jonsen stephen toulmin abus casuistri challeng tradit paradigm appli ethic start theori appli theori case casuist start case moral signific featur includ theori practic consider consid case observ medic ethic committe jonsen toulmin note consensu problemat moral case emerg particip focu fact case ideolog theori rabbi cathol priest agnost agre case approach withhold extraordinari medic care disagre reason support individu posit focus case theori engag moral debat increas possibl agreement list subfield appli ethic medic ethic bioethic busi ethic hospit ethic environment ethic global warm human right issu gender ethic sexism racism capit punish anim right issu legal ethic comput ethic media ethic journal ethic research ethic market ethic educ ethic sport ethic militari ethic war theori intern ethic world hunger public administr ethic +karl adolf eichmann march refer architect holocaust high-rank nazi ss-obersturmbannführ equival lieuten colonel due organiz talent ideolog reliabl charg obergruppenführ reinhard heydrich task facilit manag logist mass deport jew ghetto extermin camp nazi-occupi eastern europ war travel argentina fraudul obtain laissez-pass issu intern red cross icrc travel document abc new live fals ident captur isra mossad agent argentina isra court fifteen crimin charg includ crime human war crime convict hang earli life born solingen germani adolf eichmann son businessman industrialist adolf karl eichmann maria née father karl adolf sourc adolf karl testifi eichmann accept isra court famili move linz austria mother di world war eichmann father serv austro-hungarian armi war conclus eichmann father return famili busi linz eichmann left high school realschul graduat began train mechan discontinu start work mine compani father work salesclerk ag spring eichmann work district agent vacuum oil compani ag subsidiari standard oil juli move germani peter kraus der der deutschen press eichmann trial german press frankfurt campu eichmann marri veronica liebl czech mf dne articl eichmann march coupl son klau eichmann berlin horst adolf eichmann vienna dieter helmut eichmann pragu ricardo francisco eichmann bueno air work nazi parti ss adolf eichmann lebenslauf curriculum vita applic promot ss-hauptscharführ ss-untersturmführ advic famili friend ernst kaltenbrunn eichmann join austrian branch nsdap member number ss enlist april ss-anwärter accept full ss member novemb appoint ss-mann assign ss number year eichmann member allgemein ss serv muster format oper salzburg nazi power eichmann return germani submit applic join activ duti ss regiment accept novemb promot assign administr staff dachau concentr camp eichmann request transfer sicherheitspolizei secur polic time power fear organ eichmann transfer grant novemb assign headquart sicherheitsdienst sd berlin eichmann promot commiss ss-untersturmführ eichmann british mandat palestin superior herbert hagen assess possibl massiv jewish emigr germani palestin land haifa obtain transit visa cairo met agent haganah discuss plan zionist enlist assist facilit jewish emigr europ answer eichmann gave trial plan meet arab leader palestin happen entri palestin refus british author eichmann assign austria organ ss secur forc vienna anschluss austria germani effort eichmann promot ss-obersturmführ st lieuten eichmann select ss leadership form central offic jewish emigr charg forcibl deport expel jew austria work eichmann student judaism studi hebrew world war ii start world war ii eichmann promot ss-hauptsturmführ captain offic jewish emigr work eichmann contact zionist movement work speed jewish emigr reich eichmann return berlin format reich central secur offic rsha decemb assign head rsha referat iv rsha depart dealt jewish affair evacu august releas reichssicherheitshauptamt madagaskar projekt reich central secur offic madagascar project plan forc jewish deport materi promot rank ss-sturmbannführ late year obersturmbannführ reinhard heydrich order eichmann attend wannse confer record secretari germani anti-semit measur set offici polici genocid eichmann posit transport administr final solut jewish question put charg train carri jew death camp territori occupi poland hungari germani occupi countri fear soviet invas eichmann work deport jew send hungarian death ga chamber reichsführer-ss heinrich himmler order jewish extermin halt evid final solut destroi eichmann appal himmler turnabout continu work hungari offici order eichmann work avoid call ditch german militari effort year commiss reserv untersturmführ waffen-ss order activ combat duti eichmann fled hungari soviet enter return austria met friend ernst kaltenbrunn kaltenbrunn refus associ eichmann duti extermin administr left mark man alli post world war ii adolf eichmann argentin passport world war ii eichmann captur armi man present otto eckmann fact bigger catch earli escap custodi hid part germani year obtain land permit argentina immedi begin eichmann itali pose refuge name riccardo klement franciscan friar connect archbishop aloi hudal organ ratlin eichmann obtain intern committe red cross humanitarian passport geneva argentin visa issu riccardo klement technician earli fake passport discov court archiv argentina student research eichmann abduct bbc retriev june student passport nazi war crimin adolf eichmann enter argentina passport hand argentina holocaust museum bueno air board ship head argentina juli year work odd job bueno air area factori foreman junior water engin profession rabbit farmer eichmann brought famili argentina cia inact june cia document nazi stay-behind network dedic anti-commun releas document releas march memo german bnd agenc cia state eichmann report live argentina alia clemen cia action inform eichmann arrest threaten embarrass american german turn public attent nazi recruit wwii west german govern time head konrad adenau worri eichmann han globk adenau nation secur advis work eichmann jewish affair depart help draft nuremberg law pol dk june retriev june danish nytim june retriev februari haaretz june retriev june request bonn cia persuad life magazin delet refer globk eichmann memoir bought famili washington post june time cia bnd inform israel temporarili eichmann argentina figur alia cia govern time polici pursu nazi war crimin addit protect eichmann globk cia protect reinhard gehlen guardian june recruit hundr nazi spi cia captur jew victim holocaust dedic find eichmann notori nazi jewish nazi hunter simon wiesenth wiesenth suspicion eichmann argentina spark receiv postcard associ move bueno air ich sah jene schmutzig schwein eichmann dirti pig eichmann letter read part er bueno air und für ein live bueno air work water compani inform collect wiesenth isra solid lead eichmann whereabout isser harel then-head isra intellig agenc mossad claim unpublish manuscript wiesenth role eichmann apprehens fact endang entir eichmann oper abort plan captur auschwitz doctor josef mengel schachter jonathan isser harel take nazi-hunt wiesenth eichmann kidnap jerusalem post instrument expos eichmann ident lothar hermann worker jewish descent fled argentina germani incarcer dachau concentr camp eichmann serv administr hermann settl life bueno air famili daughter sylvia acquaint eichmann famili romant involv klau eldest eichmann son due boast remark father life nazi direct respons holocaust hermann knew struck gold read newspap report german war crimin eichmann sylvia home fact-find mission met door eichmann ask klau learn home inquir speak father eichmann confirm fact hermann began correspond fritz bauer chief prosecutor west german state hess detail eichmann person life contact isra offici work close hermann year learn eichmann formul plan captur mossad discov eichmann argentina began effort locat exact whereabout relentless surveil confirm ricardo klement fact adolf eichmann isra govern approv oper captur eichmann bring jerusalem trial war crimin eichmann captur team mossad shabak haggai hitron monster januari agent suburb bueno air part covert oper mossad agent arriv bueno air april eichmann ident confirm surveil eichmann extens period time team mossad agent wait arriv home work foreman merced benz factori lookout wait bu arriv agent pretend fix broken car unconfirm fourth ride bu leav eichmann alight began walk short distanc home ask agent car zvi aharoni cigarett eichmann reach pocket set car eichmann fought team member peter malkin polish jew black belt karat knock eichmann unconsci strike neck bundl car safe hous agent safe hous judg israel detect argentin author disguis eichmann part deleg jewish union member eichmann smuggl argentina board el al bristol britannia commerci air flight argentina israel backup plan case plan kidnap plan polic happen interven agent handcuff eichmann full explan disclosur time isra govern deni involv eichmann captur claim jewish volunt eagerli turn govern author claim due influenc anti-semit sector argentinian govern militari negoti prime minist david ben-gurion argentinian presid arturo frondizi abduct met radic sector violent wave anti-semit carri street tacuara nationalist movement includ murder tortur bomb página spanish ben gurion announc eichmann captur knesset israel parliament receiv stand ovat return isser harel head mossad time oper wrote book eichmann captur entitl hous garibaldi street year member kidnap team peter malkin author eichmann hand book explor eichmann charact motiv verac attack intern disput captur june unsuccess secret negoti israel argentina request urgent meet unit nation secur council protest argentina regard violat sovereign right argentin republ lippmann trial adolf eichmann protect univers human right intern law houston journal intern law autumn ensu debat isra repres golda meir argu incid isol violat argentin law abductor isra agent privat individu eventu council pass resolut request israel repar state eichmann brought justic crime accus resolut interpret condon odiou crime eichmann accus secur council resolut june symbol negoti august israel argentina agre disput joint statement govern israel republ argentin imbu give effect resolut secur council june hope express tradition friendli relat countri advanc decid regard close incid aros action israel nation infring fundament right state argentina green legal issu eichmann trial tulan law review subsequ trial appeal isra court avoid issu legal eichmann captur reli legal preced circumst captur bear legal trial isra court determin argentina condon violat sovereignti waiv claim includ return appel violat intern law involv incid remedi eichmann trial transcript appeal transcript trial eichmann bullet-proof glass booth public trial eichmann trial front isra court jerusalem start april indict crimin charg includ charg crime human crime jewish peopl membership outlaw organ accord isra crimin procedur trial presid judg mosh landau presid benjamin halevi yitzhak gideon hausner isra attornei gener act chief prosecutor judg sat high atop plain dai build trial held newli built auditorium call beit ha'am hous peopl eichmann sat bulletproof glass booth safeti legal basi charg eichmann nazi nazi collabor punish law orna punish intern crime commit persecut journal intern crimin justic trial caus huge intern controversi intern sensat isra govern allow new program world broadcast trial live restrict trial began wit includ holocaust survivor testifi eichmann role transport victim extermin camp kei wit prosecut american judg name michael musmanno naval offic question nuremberg defend testifi late hermann göring clear eichmann man determin order countri jew die prosecut rest eichmann defens lawyer robert servatiu dieter open defens explain cross-examin prosecut wit eichmann speak defens disput fact happen holocaust trial eichmann insist order defens nazi war crimin nuremberg trial explicitli declar abdic conscienc order follow führerprinzip eichmann claim transmitt power testifi great small obtain advanc express instruct adolf hitler superior defens wit high-rank nazi promis immun safe conduct german austrian home testifi jerusalem eichmann behalf refus travel israel court deposit deposit support eichmann order defens deposit otto winkelmann senior ss polic leader budapest state memo eichmann natur subaltern mean fellow power recklessli moral restraint overstep author thought act spirit command adolf hitler brigadi gener german secret servic name franz deposit eichmann absolut believ nation social act extrem parti doctrin eichmann greater power depart chief week testimoni document prosecut wit nazi concentr camp survivor dozen defens deposit deliv diplomat courier countri eichmann trial end august point judg began deliber seclus decemb judg announc verdict eichmann convict count decemb sentenc death eichmann appeal verdict reli legal argument israel jurisdict legal law charg claim protect principl act state repeat superior order defens israel suprem court sit court crimin appeal reject appeal upheld district court judgment count isra presid yitzhak ben-zvi turn eichmann petit merci larg number promin person request clemenc isra letter favor spare eichmann york time june ben-zvi repli quot passag book samuel sword bereav women mother bereav women samuel samuel word agag king amalekit carmel yoseph ben zvi diari presid offic ramat gan page execut eichmann hang minut midnight june ramla prison remain civil execut carri israel gener polici death penalti eichmann allegedli refus meal prefer bottl carmel dry red isra wine consum bottl refus don tradit black hood execut offici account peopl pull lever simultan hand eichmann di eichmann word reportedli long live germani long live austria long live argentina countri close forget obei rule war flag readi guardian unlimit august retriev march shortli execut eichmann bodi cremat morn ash scatter sea mediterranean intern water ensur futur memori nation serv final rest place eichmann analysi eichmann death historian specul fact life critic question respons eichmann implement holocaust argu eichmann knew state unfairli judg duti soldier eichmann son rudolph condemn father action harbor resent israel execut father eichmann join ss agre disagre etho need build career analysi polit theorist hannah arendt jew fled germani hitler rise power report eichmann trial yorker eichmann jerusalem book form report arendt conclud desir improv career eichmann show trace antisemit person psycholog damag charact call embodi banal evil appear trial ordinari common person displai guilt hatr suggest strikingli discredit idea nazi crimin manifestli psychopath ordinari peopl stanlei milgram interpret arendt work state ordinari peopl commit horrend crime situat correct incent wrote conclud arendt concept banal evil closer truth imagin milgram stanlei peril obedi harper magazin arendt suggest eichmann normal person situat account adolf eichmann abdic moral choic autonomi internet encyclopedia philosophi retriev eichmann claim order respect duti bureaucrat arendt argu essenti forsaken condit moral autonomi abil question order führerprinzip eichmann david cesarani claim eichmann fact extrem anti-semit feel import motiv genocid action cesarani david eichmann rethink life crime trial da capo press cambridg ma page footnot eichmann ss career focus point promot rank full standartenführ eichmann record respons prime candid advanc ss record evid recommend promot john zerzan metaphor eichmann term ward churchil controversi essai terrorist attack controversi surround essai phrase eichmann creat notabl media coverag year award decor war merit cross st class sword war merit cross class sword +mathemat absolut modulu jean-robert argand credit introduc term modulu latin small measur real number numer regard sign absolut comput program mathemat function perform calcul ab gener absolut real number occur wide varieti mathemat set absolut defin complex number quaternion order ring field vector space absolut close relat notion magnitud distanc norm mathemat physic context graph absolut function real number real number real number absolut modulu denot credit karl weierstrass introduc notat defin definit absolut posit neg geometr point view absolut real number distanc real number line number gener absolut differ real number distanc notion abstract distanc function mathemat gener absolut differ distanc proposit ident altern equival definit absolut proposit absolut fundament properti proposit import properti absolut includ proposit inequ solv inequ complex number absolut complex number distanc origin pictur absolut complex number order definit real absolut gener complex number ident proposit motiv definit complex number real number absolut modulu denot defin absolut real number equal absolut consid complex number similar geometr interpret absolut real number pythagorean theorem absolut complex number distanc complex plane complex number origin gener absolut differ complex number equal distanc complex number complex absolut share properti real absolut proposit addit complex conjug easili formula complex analogu proposit mention real case posit real form subgroup complex number multipl absolut endomorph multipl group complex number absolut function real absolut function continu differenti monoton decreas interv monoton increas interv real number neg absolut function invert complex absolut function continu complex differenti show obei cauchy-riemann equat real complex function idempot nonlinear function order ring definit absolut real number easili extend order ring element order ring absolut denot defin addit invers addit ident element distanc absolut close relat idea distanc note absolut real complex number distanc number origin real number line real number complex plane complex number gener absolut differ real complex number distanc standard euclidean distanc point euclidean n-space defin gener real proposit complex number show absolut distanc real number complex number agre standard euclidean distanc inherit result two-dimension euclidean space properti absolut differ real complex number non-neg ident indiscern symmetri triangl inequ proposit motiv gener notion distanc function real valu function set call distanc function metric satisfi axiom deriv deriv real absolut function signum function sgn defin absolut function differenti absolut function real number return respect sign signum function return number sign respect sgn ab signum function form heavisid step function signal process defin heavisid function convent nonzero point real number line absolut function concav point sign function constant point deriv respect undefin absolut function integr antideriv field fundament properti absolut real number proposit gener notion absolut arbitrari field real-valu function field call absolut modulu magnitud valuat satisfi axiom denot addit ident element positive-definit denot multipl ident element real complex absolut valu defin exampl absolut valu arbitrari field absolut function defin metric equival satisfi ultrametr inequ bound absolut satisfi condit non-archimedean archimedean vector space fundament properti absolut real number slight modif gener notion arbitrari vector space real valu function vector space field call absolut norm satisfi axiom norm vector call length magnitud case euclidean space function defin norm call euclidean norm real number consid one-dimension vector space absolut norm fact absolut norm sens norm complex absolut special case norm product space ident euclidean norm complex plane identifi euclidean plane algorithm program languag ab lab fab function comput absolut operand code integ version function trivial ignor boundari case largest neg integ input int ab int return return floating-point version trickier contend special code infin function absolut fortran matlab gnu octav ab handl integ real complex number assembl languag absolut regist instruct shown regist architectur intel syntax xor eax edx eax edx extend sign bit eax edx eax nonneg edx instruct effect leav eax unchang eax neg edx instruct complement invers give absolut neg eax note +arch nation park preserv natur sandston arch includ world-fam delic arch addit varieti uniqu geolog resourc format park locat moab utah squar mile km size highest elev feet eleph butt lowest elev feet visitor center arch toppl eros arch nation park receiv inch mm rain year averag area administ nation park servic origin design nation monument april redesign nation park novemb peopl visit featur map arch nation park delic arch famou arch park north window south window arch turret arch landscap arch balanc rock notabl featur park delic arch arch symbol utah balanc rock larg balanc rock size school buse doubl arch arch top landscap arch thin long arch feet largest park fieri furnac area maze-lik narrow passag tall rock column biblic refer fieri furnac devil garden arch column scatter ridg dark angel free-stand column dark stone devil garden trail courthous tower collect tall stone column petrifi dune petrifi remnant sand dune blown ancient lake cover area geologi nation park li atop underground salt bed main format arch spire balanc rock sandston fin erod monolith area thousand feet thick place salt bed deposit colorado plateau million year sea flow region eventu evapor million year salt bed cover residu flood wind ocean interv debri compress rock time overli earth mile thick salt pressur unstabl salt bed arch match weight thick cover rock pressur shift buckl liquefi reposit thrust earth layer upward dome section fell caviti place turn edg fault occur result displac moab fault visitor center subsurfac movement salt shape earth surfac eros strip younger rock layer isol remnant major format visibl park todai salmon-color entrada sandston arch form buff-color navajo sandston visibl layer cake fashion park time water seep superfici crack joint fold layer ic form fissur expand put pressur surround rock break bit piec wind clean loos particl seri free-stand fin remain wind water attack fin cement materi gave chunk rock tumbl damag fin collaps degre hard balanc surviv miss section famou arch histori human occupi region ic ag year fremont peopl ancient pueblo peopl live area year spanish missionari encount ut paiut tribe area european-american attempt settlement area mormon elk mountain mission abandon area rancher farmer prospector settl moab neighbor riverin vallei word beauti surround rock format spread settlement tourist destin arch area brought attent nation park servic frank wadleigh passeng traffic manag denver rio grand western railroad wadleigh accompani railroad photograph georg beam visit area septemb invit alexand hungarian-born prospector live salt vallei written railroad effort interest tourist potenti scenic area discov previou year son son-in-law call devil garden todai klondik bluff wadleigh impress show suggest park servic director stephen mather area nation monument year addit support monument idea laurenc gould univers michigan graduat student studi geologi nearbi la sal mountain shown scenic area retir local physician doc william panoram view sandston fin fieri furnac panoram view tower babel success govern investig examin area part due confus precis locat process devil garden transpos area side salt vallei origin discoveri omit area nearbi local window includ design area nation monument support park servic resist presid calvin coolidg interior secretari final april shortli inaugur presid herbert hoover sign presidenti proclam creat arch nation monument consist compar small disconnect section purpos reserv antiqu act protect arch spire balanc rock sandston format scientif educ arch suggest frank superintend park servic southwestern nation monument visit window section late presid franklin roosevelt sign proclam enlarg arch protect addit scenic featur permit develop facil promot tourism small adjust presid dwight eisenhow accommod road align earli leav offic presid lyndon johnson sign proclam substanti enlarg arch year presid richard nixon sign legisl enact congress significantli reduc area arch chang statu nation park recreat activ climb name arch park long ban park regul success free climb delic arch dean potter word regul deem unenforc park attornei respons park revis regul climb featur park allow regul revis regul prohibit approv recreat activ includ auto tour backpack bike camp hike requir permit guid commerci tour ranger program public american writer edward abbei park ranger arch nation monument journal book desert solitair success book rise adventure-bas recreat drawn hiker mountain-bik off-road enthusiast area activ limit park boundari camp foot hike design trail drive mark road open scene movi indiana jone crusad film park biologi western collard lizard abund wildlif arch np list includ spadefoot toad scrub jai peregrin falcon kind sparrow red fox desert bighorn sheep kangaroo rat mule deer mountain lion rattlesnak yucca moth type cyanobacteria western rattlesnak western collard lizard plant domin landscap park list plant consist prickli pear cactu indian bunch grass cheatgrass lichen moss liverwort utah junip morman tea four-wing pinyon pine stemless even primros sand verbena yucca sacr datura +analog analogu signal time continu signal time vari featur signal represent time vari quantiti differ digit signal small fluctuat signal meaning analog thought electr context mechan pneumat hydraul system convei analog signal analog signal properti medium convei signal inform aneroid baromet rotari posit signal convei pressur inform electr properti commonli voltag close frequenc current charg inform convei analog signal signal measur respons physic phenomena sound light temperatur posit pressur achiev transduc sound record fluctuat air pressur sound strike diaphragm microphon fluctuat voltag current electr circuit voltag current analog sound analogu signal theoret infinit resolut higher resolut digit system resolut discret step practic analogu system complex effect linear nois ultim degrad analogu resolut extent digit system surpass analogu system difficult detect degrad occur digit system degrad detect correct disadvantag primari disadvantag analog signal system nois random variat signal copi transmit long distanc random variat domin electr loss diminish shield good connect cabl type coaxial twist pair effect nois signal loss distort imposs recov amplifi signal recov attenu part signal amplifi nois resolut analog signal higher compar digit signal case differ overshadow nois signal modul method convei analog signal modul base signal sinusoid carrier wave properti modul amplitud modul involv alter amplitud sinusoid voltag waveform sourc inform frequenc modul frequenc techniqu chang phase base signal work analog circuit involv quantis inform digit format concept measur circuit sound light pressur temperatur exceed limit remain clock hand call analog displai digit call digit analog clock digit hand move smooth continu motion small step minut digit discuss digit analog sourc earlier version articl origin feder standard support +work detect fiction agatha christi publish uk collin crime club novemb observ novemb page titl ten nigger chri peer ralph spurrier jami sturgeon collin crime club checklist edit dragonbi press edit march page dodd mead compani januari titl uk edit retail shill sixpenc edit publish film titl ten indian christi best-sel million sale date make world best-sel mysteri editor public intern plot introduct ten peopl deadli secret find trap island subject cruel game person call owen unknown person di line nurseri rhyme china doll discreetli dissappear person di island peopl murder charact anthoni jame marston perfect specimen man born wealthi famili amor vain self-absorb time worri harm intention ethel roger nervou housekeep cook pale-fac ghostlik woman shifti light ey scare easili peopl island respect effici scare shoulder gener john gordon macarthur retir world war hero lone proud man lost contact friend militari rumor skeleton closet thoma roger butler husband peopl island respect effici imagin hard worker ag emili carolin brent elderli spinster religi zealot woman unyield principl christian bibl justifi inabl show compass understand caus suffer crime dismiss pregnant maid beatric taylor threw river justic lawrenc wargrav wealthi sadist retir judg hang judg accus stori caus murder man edward seton chang juri decis ulterior motiv guilti guilti seton execut edward georg armstrong harlei street surgeon alcohol work social ladder tire long work hour repriev william henri blore retir polic inspector privat investig big hulk bulli man solv seri robberi polic dai honest method philip lombard soldier fortun travel world reput good man tight spot appar sail wind occas due shadi activ liter squar meal island load revolv vera elizabeth young teacher secretari forc secretari job job gover end death charg cyril hamilton swim sea drown inherit reason charact vera torment guilt thought ex-lov hugo hamilton owen unseen host voic heard record tape film adapt accus murder peopl voic film christoph lee orson well victor traver fred boat driver appear stori bring guest soldier island sir thoma legg inspector main policemen discuss case epilogu plot summari ten peopl journei hous soldier island coast devon arriv find slightli odd bit bric-a-brac room frame copi nurseri rhyme ten soldier hang wall note origin uk public rhyme phrase ten nigger action set nigger island public rhyme ten indian island call indian island version sixti year present-dai print book endors christi estat phrase ten soldier soldier island plai version comput game ten sailor soldier boi dine choke soldier boi sat late overslept soldier boi travel devon stai soldier boi chop stick chop halv soldier boi plai hive bumblebe stung soldier boi law chanceri soldier boi sea red her swallow soldier boi walk zoo big bear hug soldier boi sun frizzl version soldier boi plai gun shot soldier boi left hang ten figurin soldier dine room guest gather parlor dinner night gramophon record bear label swan song inform ten guilti murder case law powerless punish anthoni marston ran kill john luci comb drive recklessli due wealth social posit properli prosecut simpli driver licens withdrawn roger invalid employ jennif bradi die withhold medicin gener macarthur wife lover lieuten arthur richmond suicid mission world war brent dismiss maid beatric taylor pregnant maid commit suicid wargrav gave death penalti defend edward seton evid support innoc armstrong perform oper drunk kill louisa mari clee blore plant fals evid trial bank robber name jame landor di prison lombard abandon parti nativ retain die african bush vera purposefulli cyril hamilton small boi care swim sea drown inherit lover hugo hamilton coron inquest clear hugo left love cyril nephew convinc vera guilt charact realiz trick come island mainland guest murder murder refer vers poem room die anthoni marston di cyanid drink choke morn roger wake assum receiv fatal overdos sleep drug overslept lunchtim gener macarthur predict leav island aliv dead blow head stai grow panic survivor search island murder hide place find realiz murder plai sadist game kill manner parallel nurseri rhyme remov ten figurin dine room murder survivor meet discov alibi death conclud murder dispens form justic morn roger dead woodsh struck head larg ax chop dai emili brent di inject potassium cyanid inject mark neck allus bee sting bumblebe stung hypoderm needl thrown window smash china soldier figurin survivor armstrong justic wargrav philip lombard vera inspector blore increasingli frighten wargrav announc island weapon lock lock wargrav sleep pill armstrong medic equip lombard revolv miss spend afternoon sit watch decid sit leav time theoret safe vera wrack guilt room frighten strand seawe remind boi murder drown check return draw room discov judg murder chanceri can't figur chanc night ex-policeman blore hear sneak search remain room discov armstrong doctor miss killer vera inspector blore lombard morn arriv blore return hous susten dull thud heard vera philip happen find blore dead head crush heavi marbl clock shape bear big bear hug know armstrong dead aliv assum decid stai hous pair walk cliff find process armstrong drown bodi red her swallow vera lombard realiz left possibl murder inspector mutual suspicion driven break point assum murder vera trick lombard help lift armstrong bodi reach water lombard busi snatch revolv lombard reach revolv discov vera shoot dead beach sun vera return hous think final safe room discov noos hang chair final driven mad entir experi hypnot suggest experienc horribl feel latent guilt crime vera hang room kick chair fulfil final vers rhyme epilogu epilogu consist convers unsolv mysteri inspector main charg case make report assist commission scotland yard polic baffl chanc comment give clue solv mysteri avail oddli notic rhyme wall conclud physic evid diari journal entri blore armstrong lombard die blore di clock drop imposs fall armstrong drown bodi drag high-tid mark lombard shot beach revolv upstair hallwai door wargrav room left vera fingerprint pistol window clock drop blore hang ceil chair leapt noos neck push wall reach stood man arrang island isaac morri shadi dealer effici cover track busi hire lombard island polic di overdos dai parti set sail period kill place immedi left island weather bad rule possibl owen unidentifi person commit murder evad detect guest ten guest killer postscript bottl letter fish trawler master trawler send scotland yard late judg lawrenc wargrav wrote letter explain plan kill write child prone sadism fascin legal system wargrav freeli divulg hunger blood combin desir strict justic punish honestli thought innoc delight guilti punish wargrav told harlei street physician termin ill wargrav decid blaze drama satiat urg let life slowli trickl detail pick victim includ drug-deal hypochondriac isaac morri drug led death daughter friend wargrav wargrav heard case work met man life ruin vera lover caus death belov nephew want inheritor boi fortun wargrav explain murder morri marston roger macarthur emili brent deceiv armstrong pronounc dead allow meet cliff discuss strategi determin killer ident armstrong arriv wargrav trick peer edg shove hous pretend dead trick kill blore orchestr death lombard vera vera condemn judg deliber allow child drown manag pass heroin rescu boi hang wargrav watch bedroom closet push chair wall wrote confess put letter bottl cast bottl sea state regret concoct unsolv mysteri crave posthum recognit brilliant scheme explain clue point killer case letter wargrav mention letter edward seton death justifi seton charm excel perform wit stand genuin guilti crime accus proof polic wargrav guest wrongfulli death come island paradox executor red her line poem suggest fact armstrong trick death respect justic wargrav person armstrong confid bullet leav red mark wargrav forehead similar mark cain murder biblic testament conclus judg letter plan shoot sit bed bodi fall bed laid fasten gun doorknob piec elast cord recoil snap gun hallwai door room close polic ten dead bodi unsolv mysteri soldier island literari signific recept time literari supplement review mauric perci ashlei novemb state obviou began latest stori scarc detect scarciti murder continu feel monotoni inescap regular death suit serial newspap stori full-length ingeni problem solv name murder extrem astut reader guess correctli time literari supplement novemb page mauric richardson wrote rhapsod review observ issu novemb began agatha christi latest publish tranc refrain invidi comparison roger ackroyd content ten nigger genuin bewild christi written refrain review full shock mildest revel spoil surpris entertain fresh critic pure state set-up plot richardson conclud stori tell characteris top christi bale form plot highli artifici neat brilliantli cun soundli construct free fals trail disfigur work observ novemb page robert barnard unusu suspens menac close set success death logic conclus danger ludicr sheer skillfulli avoid best-known christi justifi popular barnard robert talent deceiv appreci agatha christi revis edit page fontana book film tv theatric adapt agatha christi adapt stori stage process realiz grim conclus work dramat stage left tale rework lombard vera innoc crime accus surviv fall love name chang gener macarthur gener mckenzi stori adapt cinema screen clair success product adapt cinema televis action place locat island ten nigger uk bbc tv adapt ten indian direct paul bogart philip falcon leo dan zampino screenplai philip reisman usa truncat tv adapt plai ten indian direct georg pollock screenplai peter yeldham uk set austrian alp gumnaam direct raja screenplai dhruva chatterje india uncredit adapt set remot indian locat sea element ad christi plai doll august moon uncredit giallo adapt dix petit nègre direct pierr sabbagh screenplai pierr brive french tv adapt direct peter collinson screenplai peter welbeck franc spain west germani itali set iranian desert desyat negrityat ten negro written direct stanislav govorukhin ussr origin set ten indian direct alan birkinshaw uk set african safari film follow plai humor tone optimist newer version plai adapt stage octob book bit close product film studi scarlet predat public ten nigger strikingli similar plot tave brian robert florei french expressionist metuchen nj scarecrow press sherlock holm movi bear resembl arthur conan doyl origin stori case rhyme refer ten black boi public histori cover edit current titl origin publish britain titl ten nigger pendergast bruce victoria bc trafford publish refer indian stori origin nigger island call nigger island indian island rhyme murder victim call ten nigger ten indian modern print rhyme ten soldier soldier island unit state market serial saturdai even post part juli publish separ januari public inflammatori titl motion pictur titl plai publish titl ten indian titl perform broadwai american paperback edit titl british edit continu work origin titl british edit altern titl appear reprint fontana paperback british nation bibliographi british librari todai titl commonli origin titl surviv foreign-languag version spanish titl diez negrito french titl dix petit nègre dutch translat late work origin english titl ten nigger russian film adapt titl comput adventur game base ten sailor boi harper collin edit island soldier island nurseri rhyme chang ten soldier restor charact philip lombard anti-semit remark morri jew jewboi previous censor older edit notabl edit christi agatha novemb ten nigger london collin crime club oclc hardback edit christi agatha januari york dodd mead oclc hardback edit pocket book paperback pan book paperback pan number penguin book paperback penguin number christi agatha london fontana oclc paperback reprint uk public titl british nation bibliographi british librari christi agatha ten indian york pocket book oclc public titl ten indian washington squar press paperback teacher edit christi agatha ten nigger greenwai edit london collin crime club collect work hardback reprint fontana paperback english-languag public titl ten nigger whitak cumul book list whitak son christi agatha mysteri affair style ten nigger dumb wit sydnei lansdown press late origin titl australian edit christi agatha robat tran ten nigger edit dutch culemborg late print dutch translat preserv origin english titl christi agatha ten indian york pocket book public titl ten indian notabl edit plai base christi agatha plai act york samuel french oclc public plai christi agatha ten indian mysteri plai act york london samuel french oclc public plai ten indian titl video game adapt agatha christi direct scott nixon usa +hercul poirot fiction belgian detect creat agatha christi marpl poirot christi famou long-liv charact appear novel short stori poirot portrai screen film tv actor includ albert finnei peter ustinov ian holm toni randal alfr molina david suchet overview influenc charact base fiction detect time mari belloc hercul frank howel monsieur poiret retir french polic offic live london chri willi london metropolitan univers retriev septemb obviou influenc earli poirot stori arthur conan doyl autobiographi christi admit write sherlock holm tradit eccentr detect stoog assist scotland yard detect inspector japp reproduc introduct christi agatha hercul poirot complet short stori harper collin viii part doyl acknowledg base sherlock holm model edgar allan poe fiction french detect august dupin ratiocin prefigur poirot relianc grei cell august dupin poirot bear strike resembl mason fiction detect inspector french appear villa rose predat write poirot year chapter inspector hous arrow declar sanctimoni heroin wise poirot belgian above-ment model result book written publish come countri occupi germani provid good reason skill detect work solv mysteri english countri hous time write consid patriot express sympathi belgian invas countri constitut britain casu belli enter world war popular publish appear mysteri affair style publish curtain publish year christi di public poirot fiction charact obituari york time august hercul poirot dead fame belgian detect retriev septemb agatha christi poirot felt bombast tiresom public love christi refus kill claim duti produc public public poirot chri willi london metropolitan univers retriev septemb appear person attribut captain arthur hast describ poirot neat attir incred speck dust caus pain bullet wound quaint dandifi man limp badli time celebr member belgian polic mysteri affair style chapter agatha christi describ poirot murder orient express initi page step lead sleeping-car stood young french lieuten resplend uniform convers small man hercul poirot muffl ear visibl nose point moustach book limp mention poirot dark hair dye life screen incarn portrai bald bald hast discov murder chapter green ey repeatedli shine cat struck clever idea ten minut poirot sat dead silenc time ey grew steadili greener mysteri affair style chapter frequent mention shoe damag frequent subject reader comic miseri part hercul poirot look tip shoe sigh appl hesperid poirot appear regard fastidi earli career hopelessli fashion career man imposs person wrong cloth button boot incred moustach meredith blake kind fellow pig chapter poirot signific person attribut sensit stomach suffer sea sick stomach happi sea evil sun chapter iv death cloud believ air sick prevent alert time murder life told poirot extrem punctual carri turnip pocket watch career walk step front door press bell glanc neat wrist-watch replac favourit larg watch earli dai hercul poirot exact minut dream method mysteri affair style poirot oper convent detect depend logic repres vocabulari common phrase grei cell order method irrit hast reader fact poirot conceal import detail plan big hast dark climax aspect poirot evid novel partli rare narrat poirot mislead earli murder link larg depend clue poirot mock rival detect focus tradit trail clue establish detect fiction sherlock holm footprint fingerprint cigar ash point establish psycholog detect proce painstak examin crime scene enquir natur victim murder central behaviour novel underli assumpt crime commit type person poirot method focu peopl talk earli novel frequent cast role papa poirot benign confessor young women li freeli order gain confid charact invent reason interest case hercul poirot friend associ moment madden prefer li truth gain end elabor fals statement trust simpl truth pig book chapter famili excus care studi good displai window poirot enter repres desir purchas rucksack hypothet nephew hickori dickori dock chapter pursu line question poirot foreign vain effort peopl underestim admit novel christi word mountebank poirot assess charact show successfulli pass charlatan fraud techniqu poirot attain princip target long run lie truth peopl bound give funer chapter recur charact arthur hast hast meet poirot year privat detect europ immedi arriv england life-long partner appear novel stori poirot regard hast poor privat detect intellig help fool crimin tendenc unknowingli stumbl truth bunson matthew hast captain arthur complet christi agatha christi encyclopedia york pocket book hast man capabl great braveri courag road rough face death unflinchingli confront big possess unwav loyalti poirot forc choos poirot wife chose poirot airtight team hast met marri dulci duveen beauti music hall perform ag objection late victorian edwardian world emigr argentina leav poirot unhappi man poirot hast reunit curtain poirot case reunit abc murder hast arriv england busi ariadn oliv frequent recur detect novelist ariadn oliv agatha christi humor agatha christi isn't overli fond detect famou creat ariadn case finn sven learn husband hate alcohol public appear great fond appl put event hallowe’en parti habit constantli chang hairstyl appear cloth hat wear maid call maria prevent public ador burden employ prevent aggrav employ burden author fifti novel great dislik peopl modifi stori charact poirot univers note it’ natur peopl spot murder motiv kill met poirot stori card tabl bother lemon poirot secretari felic lemon human weak mistak record make type error event hickori dickori dock electr bill poirot unbeliev ugli incred effici mention worth consider worth consider expert plan creat perfect file system work govern parker pyne poirot’ numer retir enter employ unknown inspector japp japp inspector scotland yard appear stori solv case poirot work japp outgo loud inconsider man natur relationship bourgeoi belgian stranger aspect poirot’ world met poirot belgium abercrombi forgeri year join forc hunt crimin baron altara meet england poirot help japp solv case let credit return special favour favour entail suppli case interest captain arthur hast chapter big georg georg told classic english valet enter poirot’ emploi didn’t leav side shortli poirot’ death compet matter-of-fact man extens knowledg english aristocraci absolut imagin georg steadi contrast hast hercul poirot life famili childhood difficult draw concret conclus poirot famili due fact poirot suppli fals mislead inform background order assist obtain inform relev case chapter murder roger ackroyd learn talk mental disabl nephew prove ruse find home mental unfit poirot nephew dumb wit regal stori elderli invalid mother pretenc investig local nurs big hast believ meet achil poirot appar parodi mycroft holm evid smarter brother occas achil poirot disguis poirot speak chapter achil land myth conclus demonstr poirot brother brother call achil evid poirot poirot sourc unreli achil poirot mention burton prelud labour hercul poirot appar born spa belgium base conjectur time retir belgian polic forc time outbreak world war suggest born mid extrem vagu poirot thought man dotag earli poirot novel autobiographi christi admit imagin man time idea write poirot book decad suggest date poirot ag part attempt sens extraordinarili long career poirot roman cathol birth hercul poirot cathol birth appl hesperid retain strong sens cathol moral life flood book ii chapter church prai suspect briefli discuss idea sin confess poirot’ childhood claim act tragedi larg famili wealth flood claim rais educ nun rais possibl sibl orphan poirot’ polic year adult poirot join belgian polic forc mention christi work part life nemean lion poirot refer belgian case wealthi soap manufactur poison wife order free marri secretari case result success prosecut poirot ly order produc effect person speak evid reliabl inspector japp insight poirot career belgian polic introduc colleagu evid suggest poirot polic career success short stori chocol box poirot captain arthur hast account consid failur poirot admit fail solv crime innumer time case chocol box place date peril hous chapter actual failur detect poirot reliabl narrat person histori evid christi sketch depth period poirot shot man fire roof public curtain poirot case postscript poirot retir belgian polic forc time meet hast case retold mysteri affair style note poirot french-speak belgian walloon occas refer refer time write earlier book charact defin non-belgian agatha christi awar nowadai deep linguist divid belgian societi career privat detect world war poirot left belgium britain refuge juli met lifelong friend captain arthur hast solv case publish mysteri affair style clear hast poirot friend meet chapter hast tell cynthia year date case fact hast met poirot belgium curtain poirot case chapter case poirot appar attent british secret servic undertook case british govern includ foil attempt abduct prime minist recount kidnap prime minist event stori immedi connect world war featur alli confer versail meant understood versail peac confer war poirot free agent began undertak civilian case move home work address whitehaven mansion sandhurst squar london hast visit flat whitehaven mansion return england june murder chapter plot point flat whitehaven mansion letter poirot cat pigeon chapter iii address whitehous mansion similar name imposs address meant clock chapter address whitehaven mansion chosen poirot symmetri case affair victori ball poirot enter high societi career privat detect world war poirot travel europ middl east investig crime murder case happen period height power point life murder link belgian pit grei cell french murder middl east solv case death nile murder mesopotamia eas surviv appoint death pass eastern europ return trip solv murder orient express travel america australia due sea sick time met countess vera glamor jewel thief histori countess poirot steep mysteri claim member russian aristocraci russian revolut suffer greatli result stori true open question poirot acknowledg told wildli vari account earli life poirot smitten woman allow escap justic let countess escap moral question impuls law hand uniqu nemean lion side crimin ami carnabi save face justic blackmail client sir joseph plot murder unwis poirot discov poirot carnabi pound final payoff dog kidnap campaign murder roger ackroyd allow murder escap justic suicid ensur truth spare feel murder rel augean stabl help govern cover vast corrupt consid honest truth case middl east poirot return britain so-cal labour hercul section rare travel career retir poirot case privat detect great deal confus poirot retir case cover poirot privat detect agenc place retir grow marrow time solv murder roger ackroyd twelv case relat labour hercul refer retir fact poirot specif intend grow marrow stori place roger ackroyd poirot close agenc complet specif mention captur cerberu fact gap twenti year poirot previou meet countess labour preced event roger ackroyd roger ackroyd case place twenti year publish case refer altern fail grow marrow poirot determin specif deni poirot clock chapter respons suggest garden retir poirot answer veget marrow altern suggest prefac labour take place date labour complet matter twenti year explan attract term rudimentari chronolog poirot speak retir grow marrow chapter big place publish order roger ackroyd declin solv case home secretari retir chapter peril hous retir time act tragedi enjoi retir repeatedli curios engag continu emploi secretari lemon time case retold hickori dickori dock dead man folli place mid- assum christi authorit chronolog poirot retir assum activ detect consult detect retir detect case requir consist poirot retir fame declin novel disappoint charact younger charact recognis post world war poirot activ case place career begin act tragedi christi perfect inter-war year sub-genr poirot detect spent peripheri event novel flood funer hickori dickori dock evid frequent pass duti main interview detect subsidiari charact cat pigeon poirot entranc late afterthought reflect ag fact christi heartili sick difficult assess case crook hous ordeal innoc poirot novel easili repres logic endpoint gener diminut poirot poirot sequenc career clear poirot retir longer conveni fiction assum genuin inact lifestyl concern studi famou unsolv case read detect novel write book mysteri fiction deal sternli edgar allan poe wilki collin girl chapter absenc puzzl solv inconsequenti domest problem presenc piec orang peel umbrella stand clock chapter poirot reason suppos creator pale hors chapter narrat mark easterbrook disapprovingli describ typic chelsea girl term poirot chapter girl suggest condemn fashion authori increasingli bemus vulgar come gener young peopl hickori dickori dock investig strang go student hostel girl forc contact smart set chelsea youth grow drug pop cultur sixti prove heavili reliant investig privat investig gobi provid clue longer gather death poirot di complic heart condit curtain poirot case point life suffer arthriti wheelchair book curtain poirot case hast find manuscript written poirot poirot confess murder state abhor stop heart medic subsequ death implicit hast marri elizabeth cole final instanc inveter matchmak characteris entir career major novel poirot book reader life england book mysteri affair style refuge stai style poirot book curtain visit style death poirot solv case england includ famou case murder orient express hercul poirot famou public murder roger ackroyd surpris solut prove controversi famou detect novel edmund wilson allud titl well-known attack detect fiction care kill roger ackroyd roger ackroyd critically-acclaim poirot novel appear includ acknowledg classic murder orient express abc murder card tabl death nile tale multipl homicid nile steamer judg celebr detect novelist john dickson carr ten greatest mysteri novel time pig aka murder retrospect poirot investig murder commit sixteen year analyz account tragedi perform critic mysteri novelist robert barnard call christi novel list novel short stori featur hercul poirot hercul poirot literatur portray portray hercul poirot david suchet film austin trevor austin trevor debut role poirot film movi alibi film base stage plai alibi adapt michael morton murder roger ackroyd trevor repris role poirot black coffe lord edgwar di trevor cast poirot simpli french accent hercul poirot central websit albert finnei albert finnei plai poirot cinemat version murder orient express portray consid definit poirot david suchet role faith adapt time success british film receiv stamp approv agatha christi finnei actor receiv academi award nomin plai poirot win peter ustinov peter ustinov poirot evil sun peter ustinov plai poirot total time start death nile repris role evil sun appoint death christi sanguin ustinov portray poirot written short slim coal-black hair bore resembl tall heavi grey-hair ustinov christi daughter rosalind hick observ ustinov poirot ustinov quip appear poirot made-for-televis movi thirteen dinner dead man folli murder act base lord edgwar di warner brother star fay dunawai david suchet inspector japp plai famou detect iron reput david suchet highlight perform japp possibl worst perform career david suchet toni randal alphabet murder film abc murder satir poirot straightforward adapt greatli chang origin turn sharp observ detect blunder buffoon solv case accid televis david suchet david suchet star hercul poirot film card tabl mysteri blue train funer flood shown uk march april inform ongo uk televis seri star david suchet agatha christi poirot ian holm murder book tv alfr molina murder orient express tv anim nhk japanes tv network produc episod anim seri titl agatha christi great detect poirot marpl manga seri titl releas seri adapt best-known poirot marpl stori ran juli shown re-run nhk network japan poirot voic satomi marpl voic kaoru radio number radio adapt poirot stori bbc radio regularli repeat bbc star john moffatt parodi refer neil simon murder death jame coco plai charact name milo perrier parodi poirot film featur parodi charli chan sam spade nick nora charl marpl poirot parodi goodi episod daylight robberi orient express british televis show count duckula featur parodi hercul poirot pass hercul parrot arm arm charact call marbl strictli refer poirot seri doyl featur lead role similar hercul poirot charact similar poirot creator agatha christi belgian share poirot method characterist seri expect film late summer sandhurst episod animaniac featur yakko warner hercul yakko episod involv theft diamond train involv cast suspect movi spiceworld hercul poirot hugh lauri blame emma bunton flash innoc smile poirot accus innoc man crime sherlock holm awaken poirot appear young boi train transport holm watson holm help boi open watson give boi advic grei cell give impress poirot heard line poirot grei cell line countless time agatha christi fiction episod muppet tonight jason alexand plai hercul poirot believ muppet hercul poirot superhuman power belgian breweri brasseri highli rate stout call hercul moustachio charicatur hercul poirot label dave stone creat parodi poirot name dupont andr dupont appear armitag stori dowag duchess ghent emil dupont appear bernic summerfield ship fool decipher enigma carlo somoza athenian murder name herakl english version geronimo stilton seri main protagonist friend name hercul anim manga seri case close richard moor detect agenc locat poirot +jane marpl marpl fiction charact appear twelv agatha christi crime novel marpl elderli spinster act amateur detect live villag st mari mead portrai numer time screen famou christi creation publish appear issu royal magazin decemb print short stori tuesdai night club chapter thirteen problem appear full-length murder vicarag charact illustr gilbert wilkinson marpl decemb issu royal magazin first-known imag charact thirteen problem jane marpl elderli woman live english villag st mari mead ordinari ladi dress neatli tweed frequent knit pull weed garden marpl confus fluffi solv mysteri sharp logic mind detect stori tradit embarrass local profession polic solv mysteri stump marpl deriv railwai station marpl manchest sheffield hope vallei line agatha christi delai long notic sign charact jane marpl marpl book murder vicarag markedli appear book earli version marpl gleeful gossip nice woman citizen st mari mead tire nosi natur expect worst book modern kinder person marpl marri close live rel vicarag introduc marpl nephew well-known author raymond west wife joan initi call joyc modern artist introduc thirteen problem raymond overconfid underestim marpl mental power year marpl live-in companion name cherri baker introduc mirror crack side marpl solv difficult crime shrewd intellig st mari mead lifetim seemingli infinit exampl neg side human natur crime aris remind marpl parallel incid histori time marpl acquaint bore frequent analog peopl event st mari mead analog lead marpl deeper realiz true natur crime marpl remark educ includ art cours involv studi human anatomi studi human cadav sweet frail woman marpl afraid dead bodi easili intimid remark abil latch casual comment connect case hand educ histori experi hint margaret rutherford film marpl mention award marksmanship fenc hint plai comed christi wrote conclud marpl seri sleep murder lock bank vault safe kill blitz publish shortli christi death thirty-six year origin written sleep murder creat discrep timelin seri charact kill christi previous publish novel reappear aliv marpl stori ag mention year pass mysteri charact grow ag vicar son murder vicarag vicar wife pregnant mirror crack side side twenti year mention son grown success career effect ag marpl need vacat ill caribbean mysteri find longer knit due poor eyesight mirror crack side side safe assum marpl fifti sixti murder vicarag modern standard consid elderli marpl final mysteri novel featur marpl murder vicarag bodi librari move finger murder announc mirror murder mirror pocket full rye paddington mcgillicuddi mirror crack side side mirror crack caribbean mysteri bertram hotel nemesi sleep murder written publish marpl short stori collect thirteen problem short stori collect featur marpl publish tuesdai club murder marpl final case stori short stori collect posthum publish marpl final case stori featur marpl written publish marpl appear folli short stori tradition includ part poirot collect adventur christma pud stori blind mice collect featur marpl strang jest tape-measur murder case caretak case perfect maid book marpl biographi ann hart quotat young peopl peopl fool peopl young peopl fool marpl motto book stori movi margaret rutherford popular appear jane marpl wait thirty-two year big-screen appear result disappoint christi purist christi murder direct georg pollock british mgm product star dame margaret rutherford magnific comic actress boister loud fit prim birdlik charact christi creat novel film base paddington titl mcgillicuddi plot typic seri film mcgillicuddi mcgillicuddi marpl see appar murder commit train run marpl pose maid find fact case young friend busi rutherford film direct georg pollock murder gallop base hercul poirot funer murder foul base poirot mcginti dead murder ahoi base christi work rutherford appear briefli marpl spoof hercul poirot adventur alphabet murder rutherford film frequent repeat televis germani countri marpl gener identifi rutherford quirki portray angela lansburi angela lansburi plai marpl mirror crack emi direct gui hamilton base christi lansburi screen short time bulk film machin all-star cast includ elizabeth taylor rock hudson geraldin chaplin toni curti kim novak edward fox appear inspector craddock marpl legwork ita estonian stage film actress ita star russian languag film adapt agatha christi pocket full rye russian edit translat titl secret blackbird charact marpl helen hay american stage screen legend helen hay portrai marpl american made-for-tv movi cb caribbean mysteri murder mirror sue grafton contribut screenplai hay marpl benign chirpi televis radio adapt televis american tv set dramat portray marpl graci field legendari british actress plai episod goodyear tv playhous base murder announc christi charact marpl portrai ing langen west german televis adapt murder vicarag mord im bbc adapt origin marpl novel seri titl marpl joan hickson plai lead role coincident hickson plai cook film margaret rutherford plai marpl program set feature-length tv movi tv seri usual sens plot origin novel close previou film televis adapt joan hickson regard definit marpl agatha christi remark year earlier joan hickson plai marpl angela lansburi plai marpl mirror crack star tv seri murder wrote jessica fletcher mysteri novelist solv crime charact base part marpl christi charact ariadn oliv itv broadcast adapt agatha christi book titl agatha christi marpl refer marpl geraldin mcewan lead role retir seri replac actress julia mckenzi seri infam frequent plot charact incorpor lesbian affair chang killer ident re-nam remov number charact seri air finish air uk japanes tv network nhk produc episod anim seri titl agatha christi great detect poirot marpl featur marpl hercul poirot radio bbc radio dramatis novel june whitfield marpl +april fourth month year gregorian calendar month maximum length dai april origin month roman calendar januari februari ad king numa pompiliu bc fourth month calendar year year twelv month displai order time decemvir bc dai julian calendar reform bc gave april dai effect bc deriv latin aprili uncertain tradit etymolog latin open allus season tree flower open support comparison modern greek open spring roman month name honor divin april sacr venu festum veneri fortuna virili held dai suggest aprili origin month greek aphrodit etruscan jacob grimm suggest hypothet god hero aper jacob grim geschicht der deutschen sprach cap monat anglo-saxon call april period sacr eostr ostara pagan saxon goddess spring deriv modern easter st georg dai twenty-third month st mark ev superstit ghost doom die year pass church fall twenty-fourth china symbol plough earth emperor princ blood take place month frequent correspond april japan feast doll celebr month april nation poetri month finnish call month wood beat burn clear farmland fell month april begin astrolog sun sign ari end sign tauru astronom speak sun begin constel pisc end constel ari sign zodiac necessarili coincid actual constel name precess equinox phenomenon discov bc hipparchu ptolemi result shift system degre year vernal equinox lai begin ari constel bc consist babylonian origin system dai april journé d'avril appropri french histori seri insurrect lyon pari govern loui philipp led violent repress measur famou trial procè birthston april diamond wasteland eliot call april cruellest month april holidai event april dai april passov araw ng kagitingan bataan dai philippin april tax dai april april april earth dai april conch republ independ celebr kei west florida april st georg dai patron saint celebr england europ april anzac dai australia zealand april carnat revolut portug april +august eighth month year gregorian calendar gregorian month length dai august begin astrolog sun sign leo end sign virgo astronom speak sun begin constel cancer end constel leo month origin name sextili latin sixth month ancient roman calendar start march bc romulu eighth month januari februari ad begin year king numa pompiliu bc month move begin year decemvir bc roman writer disagre renam honor augustu bc signific event rise power culmin fall alexandria fell month august origin dai roman republican calendar dai ad augustu begin bc give modern total dai augustu dai februari sextili renam honor month length august flower gladiolu poppi birthston peridot name finnish month call mean month reap liter month life irish august lúnasa modern rendit lughnasadh god lugh mondai august holidai republ ireland polish month call mean month sickl french month call août japanes month call hachigatsu mean simpli eighth month russian month call avgust event august august trè rich heur du duc de berri pagan wheel year august begin lughnasadh northern hemispher imbolc southern hemispher ireland famou battl fought month includ battl athenri battl battl yellow ford battl curlew pass battl dungan hill battl castlebar battl bogsid august emperor franci ii holi roman empir lai roman imperi crown renounc claim throne august nation dai unit state world war brought august bomb hiroshima august bomb nagasaki nuclear weapon peopl emperor hirohito declar japan uncondit surrend august august rd-th discworld jambore wincanton somerset event kind august quilon erect indian dioces pope john xxii august singapor separ feder malaysia independ august ecuador independ countri august pakistan independ includ east bengal region august cathol feast assumpt august corsica birth napoleon bonapart august korea independ countri august india independ countri august indonesia independ countri august vietnam august revolut succeed august hungari saint stephen canon canon confessor king august hawaii state unit state america mondai august design statehood dai state holidai august philippin senat benigno aquino assassin descend tarmac manila intern airport renam ninoi aquino intern airport death regard catalyst edsa revolut august uruguai independ brazil august malaysia independ countri august misti humphrei born monthlong event august edinburgh festiv internation famou art festiv take place august nation immun awar month nation psoriasi awar month women small busi month european countri august holidai month worker philippin celebr august buwan ng wika languag month weeklong event august august august philippin school theater celebr nation week filipino languag filipino linggo ng wika sturgi motorcycl ralli held full week august year daili event august sundai philippin celebr nation hero dai commemor cry philippin revolut august month common year month begin dai week august leap year februari read wikimedia common media relat august wiktionari august wiktionari free dictionari +ador golden calf nicola poussin bibl aaron aaron levit brother mose great-grandson levi repres priestli function tribe high priest hebrew mose receiv educ egyptian royal court exil midianit aaron sister remain kinsmen eastern egypt gain eloqu persuas speech time demand pharaoh releas israel captiv aaron brother’ nabi spokesman peopl unwilling hear pharaoh flourish bc traditionali bc etymolog mean aaron unclear mean pregnanc hebrew ancient egyptian herr conceiv concept egyptian hieroglyph dictionari budg dover public york mountain hebrew refer place death samuel prideaux tregel high mountain arab genealog elder son amram jocheb tribe levi mose son year younger exodu miriam sister year older exodu exodu number aaron great-grandson levi exodu function aaron’ function includ duti speaker impli person deal egyptian royal court behalf mose central move figur part plai aaron event preced exodu ministeri direct mose perform peopl impress belief realiti divin mission brother exodu command mose stretch rod order bring plagu exodu inflict remain plagu appear act attend mose outstretch rod drew divin wrath pharaoh subject exodu potenc aaron’ rod demonstr victori rod egyptian magician swallow rod alik turn serpent exodu journei wilder aaron promin activ appear guilti rebelli treason conduct battl amalek chosen hur support hand mose held exodu revel mose mount sinai head elder israel accompani mose summit joshua admit leader presenc lord aaron hur remain peopl exodu prolong absenc mose aaron yield clamor peopl golden calf visibl imag divin deliv egypt exodu note account event qur'an aaron return beg pardon felt mortal threaten israelit quran intercess mose aaron save plagu smote peopl deuteronomi exodu aaron’ tribe levi work punit vengeanc commit exodu priesthood th-centuri dutch oak statu portrai high priest time tribe levi set priestli servic aaron anoint consecr priesthood arrai robe offic instruct manifold duti exodu kjv exodu kjv dai consecr son nadab abihu consum fire lord offer incens unlaw manner leviticu kjv scholar admit aaron high priesthood sacr writer intend describ model prototyp jewish high priest god mount sinai institut worship institut order priest patriarch custom born son famili perform function connect god worship expect rueben famili chosen god ministri altar biblic narr aaron object god choic jealousi gave rise offic aaronit care lamp burn veil tabernacl exodu formal call exodu aaron son distinguish common peopl sacr function receiv holi vestment suitabl offic aaron offer sacrific perform ceremoni consecr priest divin instruct exodu repeat rite dai aaron son separ rest peopl eighth dai high priest inaugur offic sacrific kill anim bless peopl prescript num vi mose enter tabernacl possess thereof bless peopl glori lord appear multitud behold fire come lord devour holocaust fat altar multitud prais lord fall face leviticu institut aaron priesthood inaugur solemnli ratifi lord rebellion korah time sojourn mount sinai anoint priest israel aaron ceas minist mose place joshua mention associ miriam jealou complaint exclus claim mose lord’ prophet presumpt murmur rebuk miriam smitten aaron entreat mose interced time confess sin folli prompt upris aaron struck plagu account sacerdot immun miriam quarantin heal restor favor number micah prophet judaism mention mose aaron miriam leader israel exodu judgment wholli accord tenor narr present instanc clear express word oracl number mose uniqu men lord spoke face face failur recogn conced prerog brother sin miriam aaron valid exclus priesthood famili aaron attest ill-fat rebellion korah cousin aaron earth open swallow leader insurg number eleazar son aaron commiss charg censer dead priest plagu broken peopl sympath rebel aaron command mose censer stood live dead plagu stai number memor transact tribal princ israel rod wrote twelv rod laid night tent meet morrow aaron’ rod bud blossom born ripe almond number miracl prove prerog tribe levi formal distinct perpetu famili aaron levit levit levit devot sacr servic special charg sanctuari altar commit aaronit number scene enact unknown time mention death aaron mose permit enter canaan reason alleg brother show impati meribah kadesh year desert pilgrimag num xx mose brought water rock quench thirst peopl action constru displai defer lord command speak rock mose struck wonder-work rod num xx death aaron account princip detail statement effect incid aaron son eleazar mose ascend mount hor mose strip aaron priestli garment transfer eleazar aaron di summit mountain peopl mourn dai num xx compar xxxiii account deut mose report aaron di buri mount hor itinerari num xxxiii record stage mount hor typic signif rabbin literatur older prophet prophet writer beheld priest repres religi form inferior prophet truth men spirit god lack will-pow requisit resist multitud idolatr procliv aaron typic priest rank mose mouthpiec executor god reveal mose point sifra fifteen time pentateuch lord spoke mose aaron influenc priesthood shape destini nation persian rule ideal priest form learn malachi prevail tendenc place aaron foot equal mose time aaron time mose mention show equal rank mekilta expressli infer introduc record renown men glow descript aaron’ ministr death aaron rabbin literatur fulfil promis peac life symbol pour oil head leviticu rabbah midrash teh aaron death haggadah wonder tranquil accompani mose brother eleazar son aaron summit mount hor rock suddenli open beauti cave lit lamp present view thy priestli raiment place thy son eleazar mose follow aaron command enter cave prepar bed angel stood lie thy bed brother mose continu aaron obei murmur soul depart kiss god cave close mose left hill eleazar garment rent cry ala aaron brother thou pillar supplic israel israelit cri bewilder aaron angel carri aaron bier air voic heard law truth mouth iniqu lip walk righteous brought sin malachi di seder olam rabbah ab pillar cloud proceed front israel camp disappear aaron death seder b-a contradict number xx seq deut solv rabbi manner aaron death mount hor mark defeat peopl war king arad consequ israelit fled march station perform rite mourn aaron wherefor di aaron mek tan yer soṭah targum yer num deut abovement passag rabbi dwell special laudat brotherli sentiment unit aaron mose appoint ruler aaron high priest betrai jealousi rejoic great mose declin pharaoh lord send prai thee hand thou wilt send exodu unwil depriv aaron brother high posit held year lord reassur behold seeth thee glad heart aaron find reward simon bar yochai heart leap joi younger brother rise glori greater decor urim thummim aaron heart goeth lord canticl rabbah mose aaron met glad heart kiss true brother compar song song written behold good pleasant brethren dwell uniti ps ps lxxxv merci truth met righteous peac kiss mose stood righteous deuteronomi xxxiii aaron peac merci personifi aaron deuteronomi xxxiii truth mose number xii tan shemot ed buber mose pour oil anoint head aaron aaron modestli shrank cast blemish sacr oil forfeit high offic shekhinah spake word behold preciou ointment head ran beard aaron skirt garment pure dew hermon sifra shemini tan korah ed buber mose aaron compar rabbin literatur tanhuma ed buber aaron’ activ prophet began earlier mose hillel herod’ time degener class priest selfish quarrelsom held aaron mirror discipl aaron love peac pursu peac love fellow creatur draw nigh law abot illustr tradit preserv abot de-rabbi natan sanhedrin aaron ideal priest peopl belov kindli wai mose mose stern uncompromis brook wrong aaron peacemak reconcil man wife estrang man neighbor quarrel win evil-do friendli intercours mourn peopl aaron’ death greater mose aaron di hous israel wept includ women number mose bewail son make golden calf rabbi find extenu circumst aaron sanhedrin fortitud silent submiss god loss son refer excel men glorifi god midst great afflict signific word repres spoken god princ twelv tribe brought dedic offer newli rear tabernacl thy brother aaron greater gift princ thy gift thou art call kindl light sacrific long templ last thy light law tanhuma ed buber genet tradit kohanim descend singl patriarch aaron appar consist genet test skorecki al direct male lineag share common chromosom test sector jewish popul common chromosom result cluster close dna signatur research name cohen modal haplotyp impli kohanim share distinct common ancestri inform prematur support claim lemba sub-saharan tribe fact tribe jew descend son aaron eleazar ithamar nadab abihu priestli descend aaron aaronit cohen levit descend levi assign assist levit priest famili aaron care tabernacl templ aaron christian aaron consid type christ high priest dispens eastern orthodox church maronit church commemor septemb mose commemor holi forefath calendar saint armenian apostol church juli aaron ld ld church aaron order lesser order priesthood compris grade lowest highest deacon teacher priest chief offic aaron priesthood presid bishopr head priesthood bishop ward quorum offic aaron priesthood aaron merriam-webst unabridg dictionari edit aaron islam aaron believ prophet islam harun arab aaron role analogu person ali muhammad pleas aaron mose sahih bukhari volum book number signific differ quran fact aaron involv creation golden calf prevent fear life hand +dai year gregorian calendar dai remain year leap year event franci drake complet circumnavig world knight elizabeth miracul statu entitl infant pragu solemnli crown command cardin harrach declar breda king charl ii england sir robert walpol enter offic prime minist unit kingdom king georg presid jame madison enact ninety-dai embargo trade unit kingdom napoleon abdic time unit state congress adopt flag unit state red white stripe star state william henri harrison di pneumonia presid unit state die offic shortest term serv vice presid john tyler presid tyler vice presid presid death presid great fire cottenham larg part cambridgeshir villag england burnt ground suspici circumst lo angel california incorpor citi bryant minstrel debut dixi york citi final blackfac minstrel show american civil war dai union forc captur richmond virginia presid abraham lincoln visit confeder capit alexand ii russia narrowli escap assassin attempt citi kiev argonia kansa elect susanna salter femal mayor unit state india earthquak kangra kill greek aviat emmanuel argyropoulo pilot victim hellen air forc plane crash world war battl somm end communist parti panama found faisal ii king iraq world war ii american troop liber ohrdruf forc labor camp germani world war ii soviet armi take control hungari twelv nation sign north atlant treati creat north atlant treati organis seneg independ dai model saab viggen fighter aircraft plane unveil beatl occupi top posit billboard top mainstream martin luther king deliv vietnam time break silenc speech york citi riversid church martin luther king assassin motel memphi tennesse apollo program nasa launch apollo aek athen bc greek team win european basketbal cup denton coolei implant temporari artifici heart world trade center york offici dedic microsoft found partnership bill gate paul allen vietnam war oper babi lift unit state air forc c-a galaxi crash saigon south vietnam shortli takeoff transport orphan die princ norodom sihanouk resign leader cambodia hous arrest presid zulfikar ali bhutto pakistan execut space shuttl challeng maiden voyag space presid ronald reagan call intern ban chemic weapon governor evan mecham arizona convict impeach trial remov offic senat john heinz pennsylvania kill helicopt collid plane elementari school merion pennsylvania marc andreessen jim clark netscap commun corpor mosaic commun corpor comet hyakutak imag usa asteroid orbit earth asteroid rendezv plea pope john paul ii nato plane continu bomb yugoslavia easter sundai angolan govern unita rebel sign peac treati angolan civil war british royal navi personnel held iran releas iranian presid birth caracalla roman emperor ambrosiu blarer german reform william strachei english writer edward nichola english statesman antoin galland french archaeologist grinl gibbon dutch-born woodcarv joseph-nicola delisl french astronom benjamin kennicott english churchman hebrew scholar nachman breslov founder breslov hasidut bettina von arnim german writer dorothea dix american social activist queen maria ii portug linu yale american inventor manufactur zénobe gramm belgian engin edouard luca french mathematician comt de lautréamont french writer remi de gourmont french poet pierr monteux french conductor mauric de vlaminck french painter kurt von schleicher chancellor germani isoroku yamamoto japanes naval command tri speaker american basebal player zdzisław polish literari historian arthur murrai american danc teacher robert sherwood american playwright pierr fresnai french stage film actor agn ayr american actress louis levequ de vilmorin french actress stanlei weinbaum american science-fict author eugen bozza french modern compos bea benaderet american actress john cameron swayz american journalist ernestin gilbreth carei american memoirist cheaper dozen max dupain australian photograph franc langford american actress marguerit dura french writer muddi water american musician edith fore ladi commerci i'v fallen can't mickei owen american basebal player david white american actor georg jellico earl jellico rohmer french film director elmer bernstein american compos gil hodg american basebal player manag claud wagner french canadian politician judg emmett william american poet maya angel american writer bobbi rai inman american admir intellig director clive davi american record produc estel harri american actress dick lugar american politician anthoni perkin american actor andrei tarkovski soviet film director bill franc nascar pioneer bartlett giamatti american univers presid commission basebal joann carner american golfer major lanc american singer hugh masekela south african musician richard attwood british race driver sharon sheelei american songwrit jim fregosi american basebal player manag kitti kellei american writer magda belgian politician craig nelson american actor daniel cohn-bendit french polit activist carolin mcwilliam american actress dave hill english guitarist slade katsuaki sato japanes martial artist rai foss american basebal player broadcast luke halpin american actor wiranto indonesian gener michael blassi air forc offic berri oaklei american bassist allman brother band abdullah leader kurdistan worker parti dan simmon american writer derek thompson northern irish actor junior braithwait jamaican singer wailer shing-tung yau chines mathematician christin lahti american actress john hannah american footbal player hun sen prime minist cambodia rosemari ackermann german athlet pat burn canadian ic hockei coach gari moor irish guitarist thin lizzi gregg hansford australian motorcycl car racer robert bertrand canadian politician sammi wilson northern irish politician tom herr american basebal player david kellei american writer tv produc ali el haggar egyptian singer actor aki kaurismäki finnish film director graem kell scottish musician deacon blue kelso american racehors nobuyoshi kuwano japanes musician rat star cazuza brazilian poet singer compos mary-margaret hume american actress jane eaglin english soprano hugo weav nigerian-born english-australian actor craig adam english musician sister merci mission uk dale hawerchuk canadian ic hockei player graham norton irish talk show host branco brazilian footbal coach david cross american actor comedian robbi rist american actor robert downei american actor nanci mckeon american actor jennif lynch american director barri pepper canadian actor michael schwartz american turntablist mix master mike dj beasti boi yanic perreault canadian ic hockei player josh todd lead singer rock band buckcherri john zandig american profession wrestler jill scott american soul singer magnu sveningsson swedish musician cardigan david blain american illusionist chri mccormack australian triathlet lori capirossi italian motorcycl racer dave mirra american athlet delphin arnault french businesswoman thobia fredriksson swedish cross-countri skier pamela ribon american author actress scott rolen american basebal player emerson brazilian footbal adam dutkiewicz american guitarist killswitch engag stephen mulhern magician citv present omarr ali hasan smith arena footbal leagu defens jason ellison american basebal player lemar english r'n'b singer alan mahon irish footbal sam moran australian entertain iren greek world winner aska yang taiwan singer heath ledger australian actor roberto luongo canadian ic hockei player natasha lyonn american actress johnni borrel english singer razorlight trevor moor american comedian björn wirdheim swedish race car driver fabian geiser swiss footbal doug lynch canadian ic hockei player angel tymon american journalist tv game show host arkadi russian swimmer aiden mcgeadi republ ireland celtic footbal devon anderson english actor sarah gadon canadian actress cameron maybin american basebal player frank field english footbal jami lynn spear american actress alexa nikola american actress risako sugaya japanes singer death st ambros bishop milan saint isidor sevil church father propos patron internet pope formosu king alfonso castil pope nichola iv jeann navarr wife philip iv franc frederick margrav brandenburg-ansbach king frederick ii denmark charl de l'eclus flemish botanist john napier scottish mathematician simon episcopiu dutch theologian alexand lesli st earl leven scottish soldier joseph hain entertain author daniel neal english historian theodor gardel swiss painter enamel john taylor english classic scholar oliv goldsmith english writer jame syke american politician joseph jérôme de laland french astronom masséna duke rivoli princ essl marshal franc william henri harrison presid unit state jean french philosoph mathematician solomon siblei senat michigan territori john mclean suprem court justic ludwig emil grimm german painter engrav joseph pitti couthoui american naval offic heinrich gustav magnu german chemist physicist charl ernest french archaeologist politician richard brewer american gunsling cowboi heinrich wilhelm dove german physicist peter cooper american industrialist inventor philanthropist mari bashkirtseff russian artist diarist pierre-joseph-olivi chauveau quebec politician edmond hébert french geologist william crook english chemist physicist john venn british mathematician karl benz german engin design inventor automobil engin michelin french industrialist wilhelm ostwald german chemist nobel prize laureat william o'donnel irish politician al christi canadian film director produc georg albert smith presid church jesu christ latter-dai saint ld mormon church king carol ii romania herbert norman canadian diplomat johnni stompanato american organ crime figur simion stoilow romanian mathematician jame hanratti execut bedford prison england murder michael héctor scaron uruguayan footbal al lewi american songwrit martin luther king american civil right activist recipi nobel peac prize adam clayton powel american politician stefan wolp german-born compos harri nyquist contributor inform theori zulfikar ali bhutto presid prime minist pakistan edgar buchanan american actor red sovin american countri music singer gloria swanson american actress oleg antonov soviet airplan engin kate robert welsh nationalist writer moor american writer chögyam trungpa tibetan buddhist master edmund german footbal max frisch swiss writer john heinz iii senat forrest town american hurdler yvett brind'amour french canadian stage actress artist director arthur russel american cellist alfr butt american architect inventor scrabbl kenni everett british radio dj televis entertain priscilla lane american singer actress barnei ewel american athlet larri lapris american songwrit faith domergu american actor earli wynn american basebal player ed big daddi roth american custom car design harri o'connor czech-born film stuntman anthoni caruso american actor mexican comedian alber schott belgian cyclist casei sheehan american soldier son cindi sheehan edward bronfman canadian businessman bob clark american film director terri hall english ventriloquist holidai observ intern dai landmin awar assist lesotho dai taiwan hong kong children dai unit state nation walk work dai liturg feast dai saint isidor sevil +dai year gregorian calendar dai remain year leap year event stilicho stymi visigoth alar battl pollentia scot reaffirm independ sign declar arbroath poet petrarch see ideal love laura church saint clare avignon john master order aviz king john portug dutch sailor jan van riebeeck establish resuppli camp cape good hope eventu cape town earthquak devast dubrovnik independ city-st rama succe king taksin thailand overthrown coup d'état french revolut committe public safeti execut organ republ period reign terror begin john jacob astor incorpor american fur compani napoleon abdic exil elba church jesu christ latter-dai saint organ joseph smith fayett york indian war black hawk war begin sauk warrior black hawk enter war unit state joseph smith iii creat reorgan church jesu christ dai saint reorgan previou church organ father joseph smith american civil war battl shiloh begin tennesse forc union gener ulyss grant meet confeder troop led gener albert sidnei johnston american civil war battl sayler creek confeder gener robert lee armi northern virginia fight major battl retreat richmond virginia grand armi republ american patriot organ compos union veteran american civil war found last celluloid patent salt lake templ church jesu christ latter-dai saint dedic wilford woodruff oscar wild arrest cadogan hotel london lose libel case john sholto dougla marquess queensberri athen open modern olymp game year ban roman emperor theodosiu kishinev pogrom kishinev bessarabia begin forc ten thousand jew seek refug israel western world robert peari allegedli reach north pole gjon luli leader albanian rais albanian flag town tuzi montenegro time gjergj kastrioti skenderbeg world war unit state declar war germani wilson address congress gandhi order gener strike prefect board southeast asia form victoria institut malaysia success flight stop complet world begin walter varnei airlin commerci flight varnei root compani unit airlin gandhi rais lump mud salt declar shake foundat british empir start salt satyagraha outbreak tornado storm system tupelo tornado hit gainesvil georgia kill world war ii oper castigo begin germani invad kingdom yugoslavia greec toni award present theatric achiev greek ship tycoon aristotl onassi bui hellen nation airlin tae found olymp airlin launch earli bird commun satellit synchron orbit richmond indiana downtown district doubl explos kill injur newhal incid california highwai patrol offic kill vietnam war easter offens american forc sustain air strike naval bombard launch pioneer spacecraft member cameroon republican guard unsuccessfulli attempt overthrow govern head paul biya gener strike declar communist group nepal rwandan genocid begin aircraft carri rwandan presid juvénal habyarimana burundian presid cyprien ntaryamira shot pakistan test medium-rang missil capabl hit india rolanda paksa presid lithuania peacefulli remov post impeach kurdish leader jalal talabani iraqi presid shiit arab ibrahim al-jaafari name premier dai birth raphael italian painter architect stjepan croatian philosoph scientist maria leopoldin austria holi roman empir empress dacier french classic scholar arvid horn swedish statesman jean-baptist rousseau french poet pasqual paoli corsican patriot militari leader alexand herzen russian writer robert volkmann german compos aasmund olavsson vinj norwegian poet nadar french photograph joseph medil journalist mayor chicago gustav moreau french painter karl bind german jurist john william waterhous british painter guillaum french astronom erich mühsam german author walter huston canadian-born actor anthoni fokker dutch design aircraft donald will dougla american industrialist lowel thoma american travel writer pier giorgio frassati italian cathol veniamin kaverin russian writer mickei cochran american basebal player harold edgerton american electr engin hermann lang german race car driver william branham american evangelist feodor felix konrad lynen german biochemist nobel laureat alfredo ovando candía bolivian presid edmond fischer swiss-american biochemist nobel laureat sergio franchi italian-born singer actor gil kane latvian-born cartoonist ian paislei northern irish politician gerri mulligan american musician jame watson american geneticist nobel laureat joi lans american model actress previn german-born compos conductor ivan dixon american actor director roi good british lawyer eduardo malapit american democrat politician anton geesink dutch judoka merl haggard american musician billi dee william american actor paul daniel english magician roi thinn american actor ouellet french canadian politician pedro armendáriz mexican actor phil austin american comedian don snake prudhomm american drag racer gheorgh zamfir romanian musician barri levinson american film produc director felic palmer english soprano neal boortz american talk radio person john ratzenberg american actor horst ludwig störmer german-born physicist nobel laureat bert blyleven dutch-born basebal player udo dirkschneid german singer accept marilu henner american actress michel larocqu canadian ic hockei player keith hunter jesperson canadian-born serial killer michael rooker american actor dilip vengsarkar indian cricket administr warren hayn american guitarist singer songwrit allman brother band gov't mule phil gayl english new present frank black american singer songwrit pixi mika koivuniemi finnish ten-pin bowler affonso giaffon brazilian race driver jack canfora american playwright bison dele american basketbal player disappear ari meyer puerto rican-born american actress philipp peter austrian race driver paul rudd american actor bret boon basebal player olaf kölzig south african-born ic hockei player huang xiaomin chines swimmer lou merloni american basebal player jason hervei american actor donni edward american footbal player rie miyazawa japanes actress singer prashanth indian actor sun wen chines footbal gina yasher english comedian adithya indian actor robert croatian footbal zach braff american actor hal gill ic hockei defenseman pittsburgh penguin candac cameron american actress georg hólm iceland musician andi phillip american basebal player tim hasselbeck american footbal player myleen klass british singer hear'sai blain neal american basebal player robert earnshaw zambian born welsh intern footbal michael gui chislett american australian musician academi ilan hall israeli-american chef baird american actress jade seah singaporean model host actress max bemi american musician songwrit garrett zablocki sens fail levi porter english footbal hilari rhoda american supermodel mike bailei english actor fabric footbal princess bint hashim princess jordan death frederick ii duke swabia king richard england pierr basil french soldier jame count la march french soldier king matthia corvinu hungari raphael italian painter architect albrecht dürer german artist joachim vadian swiss humanist john hamilton scottish prelat politician franci walsingham english spymast john stow english historian david blondel french protest clergyman arthur anneslei st earl anglesei english royalist statesman willem van de veld younger dutch painter richard rawlinson english minist antiquarian vladimir borovikovski russian painter niel henrik abel norwegian mathematician adamantio korai greek humanist scholar bonifácio de andrad silva brazilian statesman geologist albert sidnei johnston american confeder gener benjamin wright raymond american politician alexand kielland norwegian author elizabeth bacon custer wife georg armstrong custer edwin arlington robinson american poet idri davi welsh poet jule bordet belgian immunologist recipi nobel prize physiolog medicin otto struve russian-born astronom sam sheppard american accus murder mauric stoke american basketbal player igor stravinski russian compos willem marinu dudok dutch architect hudson fysh australian aviat businessman sidnei franklin american bullfight isaac asimov russian-born author juvénal habyarimana rwandan politician cyprien ntaryamira burundian politician greer garson irish actress wendi william american singer plasmat tammi wynett american singer red norvo american jazz vibraphonist habib bourguiba tunisian politician charl pettigrew american singer david bloom american report babatund olatunji nigerian drummer gerald emmett cardin carter canadian religi figur larisa bogoraz soviet dissid niki sullivan american guitarist cricket rainier iii princ monaco maggi dixon american colleg basketbal coach holidai observ tartan dai anniversari sign declar arbroath dai set celebr scottish influenc date organ church jesu christ latter-dai saint joseph smith jr date church jesu born chakri dai thailand commemor reign chakri dynasti roman cathol church saint marcellinu carthag st sixtu bless notker feast dai saint brychan king brycheiniog south wale +dai year gregorian calendar dai remain year leap year event anthemiu elev emperor western roman empir union flag adopt flag great britain formal inquest galileo galilei inquisit begin north carolina provinci congress author deleg continent congress vote independ issu halifax resolv alexand ypsilanti declar leader filiki eteria secret organis overthrow ottoman rule greec american civil war war begin confeder forc fire fort sumter harbor charleston south carolina american civil war fort pillow massacr confeder forc gener nathan bedford forrest kill african american soldier surrend fort pillow tennesse american civil war mobil alabama fall union armi unit kingdom annex transvaal world war canadian forc successfulli complet vimi ridg german consid major event canadian histori primari role canadian forc plai attack april incid chiang kai-shek order cpc member execut shanghai unit front china strongest surfac wind gust world mph measur staff mount washington observatori summit mount washington auto-lit strike culmin five-dai mele ohio nation guard troop striker picket began flight bristol blenheim sir frank whittl jet engin design power aircraft british thomson-houston factori rugbi england presid franklin roosevelt di offic vice-presid harri truman sworn presid unit state polio vaccin develop jona salk declar safe effect human spaceflight yuri gagarin human travel outer space vostok vostok soviet nuclear power submarin collid finnish merchant vessel danish strait vessel sever damag port nerv ga accid skull vallei utah columbia launch samuel doe take control liberia coup d'etat year democrat presidenti success countri terri fox begin marathon hope dip artifici leg atlant st john newfoundland human spaceflight launch space shuttl columbia launch mission open jim gari twentieth centuri dinosaur exhibit work live sculptor invit present solo exhibit smithsonian institut nation museum natur histori washington disneyland resort pari open eastern suburb pari franc intern disnei resort properti canter siegel post commerci mass usenet spam earthquak slovenia measur richter scale town bovec american presid bill clinton cite contempt court give intention fals statement paula jone sexual harass civil lawsuit pedro carmona interim presid venezuela venezuelan coup attempt militari coup hugo chávez kremlin veto investig death yuri gagarin man space birth bc mahavira tirthankara jainism bc muhammad muslim shia imam antonio da sangallo younger italian architect joachim camerariu german classic scholar french humanist edward de vere earl oxford english politician christian iv denmark william cookworthi english chemist guillaum thoma françoi raynal french writer pietro nardini italian compos lyman hall american signer declar independ charl burnei english music historian antoin laurent de jussieu french botanist henri clai american statesman germin pierr dandelin belgian mathematician georg brigg governor massachusett henri swiss feder councilor alexandr ostrovski russian dramatist nikolai przhevalski russian explor gautier benítez puerto rican poet ferdinand von lindemann german mathematician william martin conwai english art critic mountain akiyama saneyuki japanes naval command henri landru french serial killer ioanni metaxa greek gener dictat dalli messeng australian rugbi leagu footbal otto meyerhof nobel prize physiolog medicin laureat frederick charl davi welsh half-mil world champion runner harold lockwood american silent film actor heinrich neuhau soviet pianist johnni dodd american jazz clarinetist robert harron american actor francisco craveiro lope presid portug lili pon american soprano lowel stockman american repres loui beel prime minist netherland jan tinbergen dutch economist nobel laureat felix de weldon austrian-born sculptor hardi gramatki american author anim robert lee scott american air forc pilot mahmoud youni suez canal nation engin walt gornei american actor sri sultan hamengkubuwono ix vice presid indonesia armen alchian american economist beverli cleari american writer benjamin libet american pioneer scientist helen forrest american singer billi vaughn american musician bandlead ann miller american actress dancer raymond barr french politician prime minist peter safar austrian physician hardi krüger german actor jean-françoi paillard french conductor manuel neri american sculptor painter printmak polish technician denni bank american activist lakshman kadirgamar sri lankan politician tini tim american musician montserrat spanish soprano heinz schneiter swiss footbal alan ayckbourn english writer johnni raper australian rugbi leagu footbal herbi hancock american pianist compos bobbi moor english footbal carlo reutemann argentin race driver politician john kai german-born musician steppenwolf lee jong-wook korean director-gener ed o'neil american actor tom clanci american author woodi johnson owner york jet david letterman american talk show host jeremi beadl english televis present joschka fischer foreign minist germani sandra loi reev american singer martha vandella scott turow american writer flavio briator italian businessman team princip renault david cassidi american singer actor kari palast finnish architect ralph wilei american sport journalist reuben gant american profession footbal player pat traver canadian musician andi garcia cuban-born actor herbert grönemey german singer vinc gill american musician sergeant english musician echo bunnymen howard stableford english actor host ron maclean canadian sportscast lisa gerrard australian singer musician dead danc art alexaki american musician everclear takada nobuhiko japanes wrestler ami rai american musician indigo girl tom o'brien american actor-produc sarah cracknel english singer saint etienn mellow man ac afro-cuban rapper luca radeb south african footbal nick hexum american musician nichola brendon american actor shannen doherti american actress paul lo duca american basebal player dimitrio greek high jumper scott campbel american comic book artist antonio osuna mexican basebal player claudia jordan american model marlei shelton american actress brazilian footbal belinda emmett australian actress paul murphi american writer brad miller american basketbal player giovanni espinoza ecuadorian footbal glenn roger scottish cricket player sarah jane morri american actress gui berryman british musician coldplai rilei smith american actor clair dane american actress elena olymp gymnast mateja kežman serbian footbal jennif morrison american actress model paul nichol english actor jordan de jong american basebal player brian mcfadden irish singer erik mongrain canadian musician nicolá argentin footbal jaspreet singh ceo brian danish cyclist deen bosnian singer hitomi yoshizawa japanes singer morn musum brazilian supermodel olga russian singer blerim swiss footbal brendon uri american musician panic disco mois aria american actor saoirs ronan irish actress airi suzuki japanes singer death bc gnaeu pompeiu younger roman gener seneca younger roman philosoph statesman dramatist gordian roman emperor suicid gordian ii heir roman empir kill battl st juliu pope archbishop maximianu constantinopl vladislau bohemia henri chichel archbishop canterburi claud duke guis french soldier juana castil wife philip castil ambros dixon virginia coloni pioneer jacques-bénign bossuet french bishop writer william kent english architect metastasio italian poet librettist carlo antonio campioni french-born compos johann kaspar von la rosé bavarian gener charl burnei english music historian adoniram judson american baptist missionari nikolao mantzaro greek compos william marci tweed aka boss tweed american politician taschereau roman cathol archbishop quebec mari alfr cornu french physicist clara barton american nurs red cross advoc feodor chaliapin russian bass franklin roosevelt presid unit state sir mokshagundam visvesvaraya indian politician engin heinrich nordhoff german automobil engin volkswagen director igor tamm russian physicist nobel prize laureat ed lafitt american basebal player wynton kelli american jazz pianist josephin baker american dancer phil wriglei american manufactur basebal execut clark mcconachi zealand billiard snooker player william tolbert presid liberia joe loui american boxer carl morton american basebal player valentin kataev russian writer mike von erich american wrestler alan paton south african novelist gerald flood british actor abbi hoffman american radic leader sugar rai robinson american boxer dead swedish musician mayhem boxcar willi american singer harvei ball american inventor smilei cecil green american manufactur rajkumar kannada languag film actor singer puggi pearson american profession poker player kevin creas australian tv anchor holidai observ roman holidai begin yuri night intern celebr human space yuri gagarin russia ussr cosmonaut dai feast st basil confessor greek orthodox church roman cathol church saint damian saint saint juliu saint zeno verona saint bless angelo carletti di chivasso saint constantin saint saba saint victor saint wigbert +dai year gregorian calendar dai remain year leap year event battl formigni war french attack annihil english forc english domin northern franc battl rain swede gustavu adolphu defeat holi roman empir war pocotaligo massacr trigger start yamase war coloni south carolina premier london sers italian opera georg frider handel samuel johnson dictionari english languag publish london preliminari articl peac revolutionari war ratifi william wordsworth sister dorothi long belt daffodil inspir pen wander lone cloud abraham lincoln di shot previou even john wilk booth andrew johnson presid unit state gener electr compani form establish armenian organ agbu british passeng liner rm titan sink hit iceberg north atlant caus death peopl anarchist sacco vanzetti allegedli murder secur guard rob shoe store insulin gener diabet rand mcnalli publish road atla dougla fairbank mari pickford norma constanc talmadg celebr leav footprint concret grauman chines theater hollywood alli start attack norwegian town narvik occupi nazi germani belfast blitz two-hundr bomber german air forc luftwaff attack belfast northern ireland kill thousand peopl georg cross award island fortress malta peopl defend king georg alli bomber attack miss minerva automobil factori hit belgian town mortsel kill civilian bergen-belsen concentr camp liber jacki robinson debut brooklyn dodger basebal team break sport color line rai kroc open franchis mcdonald restaur de plain illinoi white rock british columbia offici separ surrei british columbia incorpor citi scotland defeat rival england wemblei stadium caus scot fan jokingli claim side unoffici world champion creat phenomenon unoffici footbal world championship british comedian tommi cooper suffer massiv heart attack live unit state launch oper el dorado canyon libya hillsborough disast human crush occur hillsborough stadium footbal stadium sheffield result death hu yaobang death tiananmen squar protest peopl republ china nation assembl vietnam adopt constitut socialist republ vietnam repres countri european commun sign marrakesh agreement revis gener agreement tariff trade initi world trade organ effect januari fire sweep campsit muslim make hajj pilgrimag offici death toll air china boe flight ca crash hillsid heavi rain fog busan south korea kill birth leonardo da vinci italian renaiss polymath guru nanak dev founder sikhism sinan ottoman architect pietro cataldi italian mathematician claudiu salmasiu french classic scholar robert sibbald scottish physician suleiman ii ottoman sultan king christian denmark pierr poiret french mystic catherin russia johann friedrich fasch german compos leonhard euler swiss mathematician william cullen scottish physician princ william augustu duke cumberland english militari leader charl willson peal american painter soldier naturalist geoffroi saint-hilair french naturalist friedrich georg wilhelm von struve german astronom jean pierr flouren french physiologist jame clark ross english explor hermann grassmann german mathematician wilhelm busch german poet joseph seagram canadian distilleri founder henri jame american author durkheim french sociologist bliss carman canadian poet georg harrison shull american plant geneticist johann stark german physicist nobel laureat jame jeffri american heavyweight boxer robert walser swiss writer melvil henri cane american lawyer stanlei bruce eighth prime minist australia tadeusz kutrzeba polish gener nikolai gumilyov russian poet maximilian kronberg german poet thoma hart benton american muralist philip randolph american activist corri ten boom dutch author holocaust survivor theo osterkamp world war world war ii german fighter pilot bessi smith american blue singer clark mcconachi zealand billiard player nikolai nikolayevich semyonov russian chemist nobel laureat joe davi english snooker player fernando portugues journalist arshil gorki armenian artist nikolaa tinbergen dutch ethologist nobel laureat eden ahbez american songwrit kim il-sung presid north korea alfr bloomingdal american businessman han conri american actor jame kee american politician richard von weizsäcker presid germani georgi beregovoi soviet cosmonaut michael ansara actor harold washington american politician sir nevil marrin english conductor robert mill american physicist vigdí finnbogadóttir presid iceland roi clark american musician elizabeth montgomeri american actress bori strugatski russian author raymond poulidor french cyclist bob luman american countri singer hso khan pha burmes politician claudia cardinal tunisian-born actress marti wild british singer jeffrei archer british author willi davi american basebal player woodi fryman american basebal player robert lacroix french canadian professor econom robert walker american actor howard berman american politician franci dilorenzo american cathol prelat walt hazzard american basketbal player kenneth lai american businessman dzhokhar dudaev chechen leader dave edmund welsh musician loi chile american actress cristina pehrsson swedish politician mike chapman british songwrit michael kamen american compos tonio american singer alla pugacheva russian singer josian balasko french actress director screenwrit ami wright american actress helois american newspap columnist bengt swedish swimmer kym gyngel australian comedian sam mcmurrai american actor seka american pornograph actress dodi al-fai egyptian businessman michael cooper american basketbal player evelyn ashford american athlet keith acton canadian ic hockei player coach dolor british writer noni greek fashion model actress benjamin zephaniah british writer fruit chan hong kong film director emma thompson english actress thoma wilson american actor kevin low canadian ic hockei player gener manag toni jone snooker english snooker player pedro delgado spanish cyclist hrh princ philipp duke brabant heir belgian throne surjit punjabi bhangra singer nawal el moutawakel morrocan hurdler tom kane american voic actor bobbi pepper american journalist linda perri american musician samantha fox english singer franki poullain british musician dark dara torr american swimmer alt brazilian comic creator ed o'brien british musician radiohead stacei william american model jeromi burnitz american basebal player milton bradlei american basebal player jimmi wait canadian ic hockei goaltend flex alexand american actor kati hill british televis present sarah jane hamilton british pornograph actress jason sehorn american footbal player lou romano american voic actor arturo gatti canadian boxer mike quinn american footbal player danni pino american actor josh todd american musician buckcherri paul dana american race car driver jason bonsignor canadian ic hockei player susan ward american actress brian pothier american ic hockei player austin ari american wrestler tim corcoran american basebal player natali casei british actress jame foster english cricket raúl lópez spanish basketbal player victor núñez costa rican footbal fränk schleck luxembourgish cyclist andré d'alessandro argentin footbal player seth wulsin american artist anthoni green american musician seth rogen canadian actor writer ilya kovalchuk russian ic hockei player dudu cearens brazilian footbal bronson australian profession golfer rodnei carnei nba athlet cam janssen american ic hockei player john dank american basebal player aaron laffei american basebal player quinci owusu-abeyi dutch footbal thoma heaton english footbal emma watson english actress ami diamond swedish singer death godwin earl wessex adolf altena archbishop cologn manuel chrysolora greek humanist grammarian filippo brunelleschi italian architect robert parson english jesuit priest john carver governor plymouth coloni georg calvert proprietor avalon maryland coloni domenico zampieri italian painter patriarch joseph head russian orthodox church simon dach german poet johann van waveren hudd dutch mathematician françois marquis de maintenon wife loui xiv franc jacopo riccati italian mathematician archibald campbel duke argyl scottish politician william oldi english antiquarian bibliograph madam de pompadour mistress king loui xv franc peder danish astronom mikhail lomonosov russian scientist writer giusepp bonno austrian compos ignacij croatian jesuit missionari geograph charl pichegru french gener strangl prison arthur aikin english chemist mineralogist writer abraham lincoln presid unit state matthew arnold english poet father damien belgian missionari kepa te maori militari leader victim rm titan edward smith captain rm titan gaston leroux french writer césar vallejo peruvian poet robert musil austrian novelist aristarkh russian artist hermann nazi leader radola gajda czech militari command politician wallac beeri american actor pedro infant mexican actor singer clara blandick american actress edward greev australian rule footbal victoria eugeni battenberg queen spain ripper collin american basebal player dan reev american footbal team owner giovanni d'anzi italian songwrit richard cont american actor raymond bailei american actor jean-paul sartr french philosoph writer nobel laureat arthur low british actor corri ten boom dutch author holocaust survivor tommi cooper welsh comedi magician alexand trocchi scottish writer jean genet french author kenneth william english actor comedian youri egorov soviet classic pianist nesuhi ertegün american record execut hu yaobang chines politician greta garbo swedish actress john tuzo wilson canadian geologist lesli charteri singapore-born author john curri english figur skater harri shoulberg american painter serigraph pol pot cambodian dictat harvei postlethwait british engin race car design edward gorei american illustr joei ramon american musician singer ramon damon knight american author byron whizzer white american footbal player suprem court justic erin fleme canadian actress reg bundi british perform rai condo canadian musician john fred american singer brant parker american cartoonist holidai observ ancient latvia diena observ hawai'i father damien dai celebr annual india baisakhi bihu north korea arirang festiv held commemor kim il-sung birth roman empir celebr honor terra unit state april offici deadlin file individu tax return request extens area countri tax dai easter translat relic metz abbo ii metz saint petru gonzalez saint paternu saint +dai year gregorian calendar dai remain year leap year event roman emperor liciniu unifi entir eastern roman empir rule islam conquest hispania moorish troop led tariq ibn-ziyad land gibraltar invas iberian peninsula al-andalu supernova sn brightest supernova record histori appear constel lupu orbit calcul suggest dai pluto move neptun orbit juli spain christoph columbu commiss explor petar zrinski croatian ban zrinski famili execut balconi feder hall wall street york citi georg washington take oath offic elect presid unit state battl boulou fought french forc defeat spanish gener union louisiana purchas unit state purchas louisiana territori franc million doubl overnight size young nation territori orlean state louisiana nicaragua declar independ central american feder battl riva nicaragua north american mercenari mexican forc attack french foreign legion hacienda camarón mexico camp grant massacr take place arizona territori coxei armi reach washington protest unemploy caus panic hawaii territori unit state sanford dole governor casei jone di train wreck vaughn mississippi time cannonbal express louisiana purchas exposit world fair open st loui missouri peru signatori bueno air copyright treati automak dodg brother sold dillon read compani usd million million chariti feder industri institut women open alderson west virginia women feder prison unit state anim cartoon short porki hare hunt debut movi theater introduc happi rabbit televis fa cup final place huddersfield town preston north york world fair open rca own nbc begin regularli schedul televis servic york station open ceremoni york world fair broadcast franklin roosevelt presid unit state televis world fair open ceremoni broadcast world war ii oper mincemeat submarin hm seraph surfac mediterranean sea coast spain deposit dead man plant fals invas plan dress british militari intellig offic adolf hitler eva braun commit suicid marri dai soviet soldier rais red flag reichstag build nevada boulder dam offici renam hoover dam colombia organ american state establish waterg scandal presid richard nixon announc top white hous aid haldeman john ehrlichman resign fall saigon communist forc gain control saigon vietnam war formal end uncondit surrend south vietnames presid duong van minh access queen beatrix netherland tropic cyclon hit bangladesh kill estim peopl world wide web born cern presid bill clinton presid visit northern ireland cambodia join associ southeast asian nation asean bring total member mitchel report arab-isra conflict publish referendum pakistan overwhelmingli approv presid pervez musharraf year ra ra riot plai gig gypsi hut cincinnati ohio birth king philip iii franc louis de lorraine-vaudémont queen franc françoi de laval bishop franc jean-baptist de la sall french educ reform cathol saint queen mari ii england françoi loui princ conti french gener johann kaspar von la rosé bavarian gener roger sherman american statesman mathurin jacqu brisson french naturalist david thompson canadian explor carl friedrich gauss german mathematician albrecht graf von roon prime minist prussia kaspar hauser german mysteri boi ferdinand von hochstett austrian geologist eugen bleuler swiss psychiatrist juhan liiv estonian poet max nettlau german anarchist han poelzig german architect franz lehár austrian compos cyriel flemish clergyman orso mario corbino italian physicist alic tokla american companion gertrud stein jaroslav hašek czech novelist joachim von ribbentrop nazi foreign minist philipp panneton french canadian physician diplomat writer han list austrian inventor humberto mauro director screenwrit simon kuznet ukrainian-born economist nobel laureat theodor schultz american economist nobel laureat bjarni benediktsson iceland foreign prime minist queen juliana netherland mcwilliam irish sculptor claud shannon american engin mathematician robert shaw american conductor duncan hamilton british race driver perci heath american jazz musician modern jazz quartet al lewi american actor corinn calvet french actress johnni horton american musician clori leachman american actress hugh hood canadian author dicki davi british televis present willi nelson american musician jerri lordan english compos singer juraj slovak film director larri niven american author burt young american actor johnni farina american musician compos santo johnni frederick chiluba zambian presid bobbi vee american singer jill clayburgh american actress anni dillard american writer michael smith american astronaut king carl xvi gustaf sweden don scholland american swimmer lesli grantham english actor finn norwegian singer mat odel swedish politician tom brondbi coach perri king american actor phil garner basebal manag antónio guterr prime minist portug jacqu audiard french film director jane campion zealand film director nicola hulot french journalist jorg portugues bariton lar von trier danish film director charl berl french actor director screenwrit paul gross canadian actor director writer stephen harper prime minist canada thoma smith jr american author columnist kerri healei american politician isiah thoma american basketbal player michael waltrip american race car driver ian heali australian cricket barrington levi jamaican musician adrian pasdar american actor jeff brown canadian ic hockei player paulo brazilian musician sepultura warren defev american musician compos john boyn irish novelist darren emerson english dj underworld akon american singer mikei chan australian musician elliott sadler american race car driver mike chat american actor amanda palmer american musician dresden doll jeanni haddawai american politician gerardo torrado mexican footbal john o'shea irish footbal emma pierson british actress lloyd bank american rapper kirsten dunst american actress cleo higgin british singer actress andrew seelei canadian actor singer troi williamson american footbal player shawn daivari profession wrestler manag nikki webster australian entertain rohit sharma indian cricket leski miss murder australian toddler death lucan roman poet emperor renzong china adjutor roman cathol saint john iii duke brittani richard de beauchamp earl warwick english militari leader pierr terrail seigneur de bayard french soldier thoma audlei st baron audlei walden lord chancellor england pope marcellu ii king sigismund sweden johan count tilli bavarian gener dmitri pozharski russian princ petru dutch writer eustach le sueur french painter robert plot british naturalist philipp van limborch dutch protest theologian johann albert fabriciu german classic scholar bibliograph françoi d'agincourt french compos john montagu suppos inventor sandwich jean-jacqu barthélemi french writer numismatist peter andrea heiberg danish author philologist archduk charl austria austrian gener robert fitzroi english admir meteorologist jean freder waldeck french explor lithograph cartograph manet french painter casei jone american train engin emili stow canadian physician suffragist alfr edward housman english poet otto jespersen danish philologist beatric webb british economist eva braun adolf hitler wife suicid adolf hitler austrian dictat nazi germani suicid alben barklei vice presid unit state inger steven swedish actress václav czech poet dramatist translat agn moorehead american actress lui muñoz marín puerto rican poet journalist politician lester bang american music journalist author musician georg balanchin russian-born dancer choreograph muddi water american musician georg pravda czechoslovakian actor yi crown princess korea sergio leon italian filmmak tommi caton english footbal roland ratzenberg austrian race car driver richard scarri american author maung maung kha prime minist burma david opatoshu american actor nizar qabbani syrian poet charlott von mahlsdorf founder gründerzeit museum peter bourn zealand race car driver wim van est dutch cyclist mark berger univers kentucki professor ron todd tgwu gener secretari lawrenc patrick biomechan professor crash test subject grégori lemarch french singer kevin mitchel american footbal player tom poston american actor gordon scott american actor zola taylor american singer holidai observ walpurgi night celebr germani central western europ scandinavia arriv spring sweden birthdai king carl xvi gustav offici flag dai netherland queen dai largest one-dai holidai netherland roman empir dai floralia honor flora bealtain ev irish bealtain scottish gaelic origin celtic druid holidai vietnam liber dai mexico children dai czech republ slovakia night roman cathol church saint adjutor saint eutropiu saint maximu centuri martyr saint suitbert younger saint pope piu +dai year gregorian calendar dai remain year leap year event arbogast eugeniu elect western roman emperor odoac name rex italia troop st columba report monster loch ness scotland armi erispo king brittani defeat charl bald king frank breton town begin breton state battl standard scotland england battl bosworth field death richard iii hous plantagenet carranza spanish archbishop arrest heresi madra chennai india found british east india compani bui sliver land local nayak ruler charl call english parliament traitor begin english civil war jacob arriv amsterdam jewish immigr america spanish troop land sardinia jame cook expedit land east coast australia king georg iii declar american coloni open rebellion jame cook ship hm resolut return england cook kill hawaii voyag begin haitian slave revolut saint-domingu french troop land kilcummin harbour counti mayo ireland aid wolf tone unit irishmen irish rebellion de la mar presid peru nat turner slave rebellion revolt commenc midnight southampton virginia lead death white african american kill retali upris unit state annex mexico air raid histori austria launch pilotless balloon italian citi venic america cup won yacht america treati saint petersburg japan russia ratifi provid exchang sakhalin kuril island twelv nation sign geneva convent red cross form cadillac motor compani found theodor roosevelt presid unit state ride automobil german luger offici german sidearm world war japan illicitli annex korea sign japan-korea annex treati korea abolish replac ancient joseon theft mona lisa discov world war belgium british german troop clash time war michael collin commander-in-chief irish free state armi shot dead anti-treati ambush beal na counti cork irish civil war gold discov johannesburg south africa bbc experi televis broadcast timelin bbc world war ii german troop reach leningrad lead sieg leningrad world war ii brazil declar war germani itali world war ii thirty-two spaniard french maqui tackl german column men lorri tank self-propel gun la franc maqui wound german kill wound world war ii romania captur soviet union althea gibson black competitor intern tenni penal coloni devil island perman close attempt assassin french presid charl de gaull fail ns savannah world nuclear-pow cargo ship complet maiden voyag joe walker test plane reach altitud km mile labor movement nfwa merg unit farm worker organ committe predecessor unit farm worker pope paul vi arriv colombia visit pope latin america rock guitarist singer jimi hendrix record song electr ladi studio york belli button window album cry love rai rise sun edgar hoover john mitchel announc arrest camden rhodesia expel ioc racist polici frent sandinista de liberacion fsln occupi nation palac nicaragua perth mint issu platinum coin koala ring neptun discov nolan ryan strike rickei henderson major leagu basebal pitcher record strikeout fbi hrt sniper lon horiuchi shoot kill vicki weaver sieg home rubi ridg idaho alabama chief justic roi moor suspend refus compli feder court order remov rock inscrib ten command lobbi alabama suprem court build version scream madonna paint edvard munch stolen gunpoint museum oslo norwai texa ranger rout baltimor oriol run score team modern mlb histori storm botnet botnet creat storm worm send record million e-mail dai birth georg de scudéri french writer jean renaud de segrai french writer deni papin french physicist inventor pierr guérin de tencin french cardin pope leo xii charl percier french architect henri maudslai english inventor bonpland french explor jame kirk pauld american author william harnei gener samuel david luzzatto italian-jewish scholar william kelli american inventor virginia clemm poe wife edgar allan poe ezra butler eddi canadian businessman industrialist politician samuel pierpont langlei american astronom archibald macneal willard american artist william lewi dougla governor massachusett melvil stone american newspap publish milan king serbia ned hanlon american basebal player manag paul gottlieb nipkow german inventor eleonor reuss-köstritz tsaritsa bulgaria claud debussi french compos maximilian bircher-benn swiss physician nutritionist alexand bogdanov russian physician philosoph max scheler german philosoph georg herriman american cartoonist gorch fock german author poet lutz graf schwerin von krosigk german minist financ jacqu lipchitz lithuanian-born american sculptor dorothi parker american writer wilfr kitch british salvat armi gener paul comtoi french canadian politician sergei russian lexicograph leni riefenstahl german film director thoma pelli american politician deng xiaop premier peopl republ china henri cartier-bresson french photograph juliu epstein american screenwrit mel hein american footbal player lucil ricksen american actress bruno pontecorvo italian physicist hugh paddick british actor jame hillier co-inventor electron microscop edward szczepanik polish prime minist john lee hooker american guitarist singer mari mcgrori american journalist rai bradburi american writer denton coolei american heart surgeon michelin presl french actress jame kirkwood american playwright author tinga seisai sierra leonean diplomat pro-democraci advoc karlheinz stockhausen german compos gilmar brazilian footbal player gerald carr american astronaut norman schwarzkopf gener sir donald mcintyr english bass-bariton anni proulx american author dale hawkin american singer songwrit paul maguir american footbal comment georg reinholt american actor carl yastrzemski basebal player valeri harper american actress bill mccartnei colleg footbal coach bill parcel american footbal coach uğur mumcu turkish journalist writer masatoshi shima japanes comput scientist ron dant american songwrit record produc archi erol turkish comput scientist mathematician cindi william american actress donna godchaux singer grate dead eleonora brown italian actress diana american swimmer world record holder doug bair basebal player eldjárn iceland writer alfr rwandan genocidair rai burri basebal player peter laughner american singer guitarist rocket tomb pere ubu paul eller american wrestl manag shetterli writer chiranjeevi telugu film actor paul molitor basebal player steve davi english snooker player colm feor american-born actor lane huffman american profession wrestler vernon reid american musician live colour juan croucier american musician pia gjellerup danish politician roland orzab british musician tear fear debbi peterson american singer bangl tori amo american singer songwrit terri catledg american basketbal player mat wiland swedish tenni player tom gibi american voic actor eric american footbal player gza american rapper rob witschg dutch footbal layn stalei american musician alic chain adewal akinnuoye-agbaj british actor ant american comedian ty burrel american actor alfr gough american screenwrit yukiko okada japanes singer paul colman australian guitarist newsboi alexand mostovoi russian footbal horst skoff austrian tenni player rich lowri american magazin editor charli connelli english writer giada de laurentii italian-born american chef televis host richard armitag english actor rick yune korean american actor steve kline american basebal player okkert brit south african pole vaulter max wilson brazilian race driver kristen wiig american comedian howi dorough american singer backstreet boi william american profession wrestler agustín pichot argentin rugbi player stefano italian clint bolton australian footbal shere murphi british actress rodrigo santoro brazilian actor heiðar helguson iceland footbal keren isra visual artist jenna leigh green american actress jeff stinco canadian musician simpl plan christi shake american model actress roland german footbal nicola french-canadian track-and-field athlet alex holm american footbal player heather campbel canadian writer theo bo dutch cyclist laura breckenridg american actress death stilicho roman gener kono emperor japan ferdinand ii king leon gregori ix italian religi leader pope nichola iii italian religi leader pope john ii count hainaut philip vi king franc richard iii king england john dudlei english admir politician thoma perci earl northumberland jan kochanowski polish writer beatric cenci italian noblewoman luca marenzio italian compos bartholomew gosnold english explor privat mahar pragu jewish mystic philosoph jacob de la gardi swedish soldier statesman john georg ii elector saxoni john granvil st earl bath english royalist statesman loui françoi duc de bouffler french marshal william whiston english mathematician georg lyttelton english writer politician loui duc de noaill marshal franc dagobert sigmund von wurmser austrian gener fragonard french artist warren hast british governor-gener india franz joseph gall austrian neuroscientist nikolau lenau austrian poet xianfeng emperor china jan neruda czech author robert gascoyne-cecil marquess salisburi prime minist unit kingdom giacomo bishop bergamo korbinian brodmann german neurologist michael collin irish revolutionari charl eliot american presid harvard univers sir oliv joseph lodg english physicist spiritualist pioneer wireless telegraphi michel fokin russian choreograph dancer kirk bryan american geologist jim tabor basebal player roger martin du gard french writer nobel prize laureat ellen church american airlin stewardess gregori goodwin pincu american endocrinologist vladimir propp russian structuralist scholar louis huff american actress jacob bronowski polish-english mathematician tv present juscelino kubitschek de oliveira presid brazil gina bachauer greek pianist sebastian cabot english-born actor jomo kenyatta presid kenya jame farrel american novelist jame smith mcdonnel american aircraft manufactur alfr neubauer german race team manag merced benz huei newton american activist colleen dewhurst canadian actress gill groulx french canadian film director arnold swiss-born figur skate trainer generosa ammon widow ted ammon imperio argentina argentinian singer actress konstantin aseev russian chess player daniel petri canadian-born televis movi director al american announc elvi preslei show luc ferrari french compos bruce gari american rock drummer produc knack holidai observ rc feast mari queen angel immacul heart +dai year gregorian calendar dai remain year leap year event bc greco-persian war persian forc led mardoniu rout pausania spartan command greek armi battl plataea greek victori dai battl mycal persian invas greec end visigoth sack rome end dai remnant korean baekj kingdom yamato japanes alli engag combin naval forc tang chines silla korean geum river korea outcom signific tang-silla victori japanes attempt invas korea imjin war late centuri formulari adjud promulg regent yasutoki tradit japanes date august treati nerchinsk sign russia qing empir battl long island present dai brooklyn york british forc gener william how defeat american gener georg washington french counter-revolut port toulon revolt admit british fleet land troop seiz port lead sieg toulon unit irishmen french forc clash british armi battl castlebar part irish rebellion napoleon defeat austrian russian prussian battl dresden russian defeat turk battl petroleum discov titusvil pennsylvania world success oil union forc attack cape hattera north carolina krakatoa indonesian volcano erupt violent volcan event modern time anglo-zanzibar war shortest war world histori unit kingdom zanzibar british defeat boer commando bergend radio argentina begin regularli schedul transmiss teatro coliseo bueno air consid world public broadcast station kellogg-briand pact outlaw war sign sixti nation flight heinkel modern jet aircraft repar negoti west germani israel luxembourg west germani pai billion deutschmark constitut malaysia forc marin launch venu instal otoko wa tsurai yo tough man movi releas japan director screenplai writer yoji yamada instal seri recogn guin book world record longest run movi seri ira bomb kill lord mountbatten holidai sligo republ ireland warrenpoint northern ireland kill british soldier nigerian govern peacefulli overthrown armi chief staff major gener ibrahim babangida british broadcast corpor launch bbc radio live gmt mixtur sport new children program european commun recogn independ baltic state estonia latvia lithuania moldova declar independ ussr florida depart transport decid ceas produc distinct color highwai shield feder fund sign rainbow bridg connect tokyo shibaura island odaiba complet ostankino tower moscow catch fire peopl kill mar closest approach earth year pass approxim mile kilomet earth comair flight crash en rout blue grass airport lexington kentucki hartsfield-jackson intern airport atlanta georgia forty-nin peopl aboard flight confirm dead hour crash birth ashikaga yoshikazu japanes shogun georg duke saxoni anna brandenburg queen denmark charl calvert baron baltimor governor provinc maryland john hervei st earl bristol english politician ann mari orléan queen itali baal shem tov founder movement otto ferdinand von abensberg und traun austrian field marshal john joachim zubli swiss-born continent congressman johann georg hamann german philosoph georg wilhelm friedrich hegel german philosoph hannib hamlin vice presid unit state america giusepp peano italian mathematician jame henri breast american egyptologist charl daw vice presid unit state nobel peac prize laureat amado nervo mexican poet theodor dreiser american author carl bosch nobel prize laureat katharin mccormick american women right activist charl roll co-found rolls-royc ernst wetter member swiss feder council samuel goldwyn hollywood produc vincent auriol french presid rebecca helferich clark english compos violist eric coat english compos man rai photograph artist faina ranevskaya russian actress gaspard fauteux french canadian parliamentarian forest british author byron foulger american actor norah loft british author john hai whitnei american financi ed gein american serial killer don bradman australian cricket lyndon johnson presid unit state kurt wegner german artist lester young american musician sylvèr mae belgian cyclist kai walsh british actress gloria guin mexican socialit writer nina schenk von stauffenberg wife clau schenk von stauffenberg norman ramsei nobel prize laureat martha ray american actress peanut lowrei american basebal player murrai grand american songwrit cabaret singer leo penn american film director darri cowl french actor pat coomb english actress kristen nygaard norwegian mathematician jimmi newman american singer mangosuthu buthelezi south african politician ira levin american author sri chinmoi indian guru joe cunningham american basebal player antonia fraser british author frank yablan american film produc erni broglio american basebal player joel kovel american politician alic coltran american jazz musician tommi sand american actor singer sonni sharrock american jazz guitarist daryl dragon american keyboardist captain tennil brian peckford canadian politician tuesdai weld american actress bailei american actor barbara bach american actress harri reem american actor pavlo sidiropoulo greek musician jeff cook vocal guitar keyboard bass fiddl banjo mandolin alabama charl fleischer american actor mack brown univers texa head footbal coach buddi bell american basebal player-manag paul pee-we herman reuben american actor alex lifeson canadian guitarist rush peter stormar swedish-born actor john lloyd british tenni player derek warwick british race car driver diana scarwid american actress robert richardson american cinematograph laura fygi dutch singer bernhard langer german golfer two-tim master champion sergei krikalev russian cosmonaut tom lanoy belgian author normand brathwait canadian comedian televis radio host gerhard berger austrian race car driver team co-own scuderia toro rosso juan fernando cobo colombian artist tom ford american fashion design yolanda adam american gospel singer adam oat canadian ic hockei player vic mignogna american voic actor downtown juli brown welsh tv person mtv vj wayn jame zimbabwean cricket juhan part prime minist estonia bob nastanovich american musician pavement silver jew reec shearsmith british actor comedian chandra wilson american actress peter ebdon english snooker player toni kanal english-born musician doubt jeff kenna irish footbal jim thome american basebal player julian cheung hong kong actor singer mike smith canadian actor dalip singh indian profession wrestler denis lewi english heptathlet carlen begnaud american profession wrestler cori bowl canadian actor danni coyn welsh footbal dietmar hamann german footbal vidro puerto rican basebal player jonni moselei american skier mark rudan australian footbal sarah chalk canadian actress carlo spanish tenni player steve taylor british writer milano collect akihito japanes profession wrestler mark webber australian race car driver deco portugues footbal mase american rapper giovanni american filmmak actor tian liang chines diver sarah neufeld canadian musician arcad fire wilson chen taiwanes actor david bentlei english footbal sullei muntari ghanaian footbal alexandra nechita artist mario american singer alexa vega american actress death saint caesariu arl arthur ii duke brittani chokei emperor japan reginald west baron de la warr english politician josquin de prez flemish compos piotr gamrat polish cathol archbishop claud goudimel french compos titian italian artist pope sixtu félix lope de vega spanish poet playwright francisco zurbarán spanish painter jame thomson scottish poet friedrich wilhelm von seydlitz prussian gener william white boardman american politician william chapman ralston american banker emil christian hansen danish ferment physiologist herman potočnik noordung slovenian rocket scientist frank harri irish author editor franci marion smith american borax magnat georg von boeselag german nobleman charl evan hugh suprem court justic ernest lawrenc american physicist nobel prize laureat garrett morgan american inventor duboi american civil right activist scholar allama mashriqi pakistani scholar politician graci allen american actress comedienn le corbusi swiss architect brian epstein english manag beatl princess marina duchess kent ivi compton-burnett english novelist erika mann german writer daughter thoma mann bennett cerf american publish televis person margaret bourke-whit american photo-journalist hail selassi emperor ethiopia mukesh indian playback singer earl mountbatten british admir statesman assassin dougla kennei american humorist valeri kharlamov soviet union ic hockei player bernard youen english actor william sargant british psychiatrist stevi rai vaughan american guitarist greg morri american actor hélder câmara brazilian roman cathol archbishop abu ali mustafa leader popular front liber palestin assassin michael dertouzo greek internet pioneer director laboratori comput scienc pierr poujad french politician willi crawford american basebal player seán purcel gaelic footbal hrishikesh mukherje indian film director maria capovilla oldest woman aliv jess pintado mexican-born guitarist napalm death emma penella spanish actress holidai observ roman festiv held honor volturnu rc saint saint joseph calasanctiu roman cathol calendar saint monica hippo saint caesariu arl saint rufu carpophoru moldova independ dai ussr +function group alcohol molecul carbon atom attach carbon atom hydrogen atom chemistri alcohol organ compound hydroxyl group bound carbon atom alkyl substitut alkyl group gener formula simpl acycl alcohol layman term word alcohol arab al- refer ethanol grain alcohol older spirit wine alcohol beverag ethanol colorless volatil liquid mild odor obtain ferment sugar industri commonli obtain ethylen hydrat reaction ethylen water presenc phosphor acid ethanol ed encyclopedia chemic technolog ed york john wilei son ethanol wide depress world thousand year sens underli term alcohol addict alcohol alcohol clarifi adject isopropyl alcohol propan--ol wood alcohol methyl alcohol methanol suffix appear offici iupac chemic alcohol major subset alcohol primari secondari tertiari base number carbon atom group carbon shown red bond ethanol simpl alcohol simplest secondari alcohol isopropyl alcohol propan--ol simpl tertiari alcohol tert-butyl alcohol phenol parent compound phenol hydroxyl group attach benzen ring alcohol differ suffici properti warrant separ treatment carbohydr sugar sugar alcohol import class compound multipl alcohol function group sucros common sugar hydroxyl group molecul sorbitol attribut polyol nomenclatur occurr toxic suffici simpl aliphat alcohol requir separ treatment simpl alcohol simplest commonli alcohol methanol ethanol methanol obtain distil wood call wood alcohol cheap commod chemic product carbon monoxid react hydrogen high pressur methanol intox poison toxic breakdown toxic enzym alcohol dehydrogenas liver form formic acid formaldehyd perman blind destruct optic nerv scientist chemistri archiv retriev familiar role alcohol beverag ethanol highli control industri solvent raw materi avoid high tax ethanol consumpt addit ad unpalat denatonium benzoat poison methanol ethanol form gener denatur alcohol methanol refer methyl spirit meth surgic spirit alcohol widespread methanol ethanol propanol butanol ethanol produc ferment process ferment agent bacterium clostridium acetobutylicum feed cellulos sugar saccharomyc yeast produc ethanol nomenclatur systemat name iupac system alkan chain lose termin add ol methanol ethanol william reusch organ chemistri retriev septemb posit hydroxyl group number alkan ol propan--ol ch ch ch propan--ol ch ch ch posit number written iupac higher prioriti group present aldehyd keton carboxyl acid prefix hydroxi ch coch exampl simpl alcohol exampl alcohol name common name alcohol take alkyl group add word alcohol methyl alcohol ethyl alcohol tert-butyl alcohol propyl alcohol alcohol isopropyl alcohol depend hydroxyl group bond st carbon propan chain isopropyl alcohol occasion call alcohol mention alcohol classifi primari secondari tertiari common name alkyl group prefix ch coh tertiari alcohol commonli tert-butyl alcohol name iupac rule indic propan chain methyl hydroxyl group attach middl carbon primari alcohol gener formula rch secondari alcohol gener formula tertiari alcohol gener formula hydrogen bond strength order boil point order acid order etymolog word alcohol appear english centuri loan french medic latin ultim arab al- al arab definit articl english fine powder produc sublim natur miner stibnit form antimoni sulfid sb essenc spirit substanc antisept eyelin introduct word european terminolog alchemi date centuri latin translat work rhaze art distil bartholomew translat john vigo introduc word term barbar moorish author fine powder william johnson lexicon gloss word sive extens word refer fluid obtain distil includ alcohol wine distil essenc wine libaviu vini alcohol vel vinum johnson gloss alcohol vini quando omni vini vino ita ut donec totum aut fundo word mean restrict spirit wine ethanol centuri extend famili substanc call modern chemistri current arab alcohol re-introduc western usag classic arab word sura liter spirit word origin english word ghoul star algol physic chemic properti hydroxyl group gener alcohol molecul polar group form hydrogen bond compound hydrogen bond mean alcohol protic solvent oppos solubl trend alcohol tendenc polar promot solubl water carbon chain resist methanol ethanol propanol miscibl water hydroxyl group win short carbon chain butanol four-carbon chain moder solubl balanc trend alcohol carbon higher effect insolubl water hydrocarbon chain domin simpl alcohol miscibl organ solvent hydrogen bond alcohol tend higher boil point compar hydrocarbon ether boil point alcohol ethanol compar hydrocarbon hexan common constitu gasolin diethyl ether alcohol water show acid basic properti o-h group pk gener slightli weaker acid water react strong base sodium hydrid reactiv metal sodium salt result call alkoxid gener formula ro oxygen atom lone pair nonbond electron render weakli basic presenc strong acid sulfur acid methanol acid basic methanol alcohol undergo oxid give aldehyd keton carboxyl acid dehydr alken react form ester compound activ undergo nucleophil substitut reaction lone pair electron oxygen hydroxyl group alcohol nucleophil detail reaction alcohol section applic alcohol beverag ethanol fuel scientif medic industri util ethanol form alcohol beverag consum human pre-histor time solut ethylen glycol water commonli antifreez alcohol ethanol methanol alcohol fuel fuel perform increas forc induct intern combust engin inject alcohol air intak turbocharg supercharg pressur air cool pressur air provid denser air charg fuel power alcohol applic industri scienc reagent solvent toxic abil dissolv non-polar substanc ethanol solvent medic drug perfum veget essenc vanilla organ synthesi alcohol serv versatil intermedi ethanol antisept disinfect skin inject iodin soap common restaur conveni requir dry due volatil compound alcohol preserv specimen product industri alcohol produc wai ferment glucos produc sugar hydrolysi starch presenc yeast temperatur produc ethanol instanc convers invertas glucos fructos convers glucos ethanol direct hydrat ethylen ethylen hydrat alken crack fraction distil crude oil catalyst phosphor acid high temperatur pressur methanol produc synthesi ga carbon monoxid equival hydrogen ga combin produc methanol copper zinc oxid aluminum oxid catalyst pressur atm endogen inevit human amount alcohol bodi time drink alcohol beverag live process call endogen ethanol product bacteria intestin alcohol ferment form respir metabol method produc alcohol wast product metabol result format carbon dioxid water human bodi quantiti alcohol produc benign bacteria laboratori synthesi method exist prepar alcohol laboratori primari alkyl halid react aqueou naoh koh primari alcohol nucleophil aliphat substitut secondari tertiari alkyl halid give elimin alken product aldehyd keton reduc sodium borohydrid lithium aluminium hydrid acid workup reduct reduct alken engag acid catalys hydrat reaction concentr sulfur acid catalyst secondari tertiari alcohol alken reliabl organ synthesi alken react nb water format reaction grignard reagent react carbonyl group secondari tertiari alcohol noyori asymmetr hydrogen asymmetr reduct amin convert diazonium salt hydrolyz format secondari alcohol reduct hydrat shown reaction deproton alcohol behav weak acid undergo deproton deproton reaction produc alkoxid salt perform strong base sodium hydrid n-butyllithium sodium potassium metal water similar pk alcohol sodium hydroxid equilibrium set li left note base deproton alcohol strong base alkoxid creat highli moistur sensit chemic reagent acid alcohol affect stabil alkoxid ion electron-withdraw group attach carbon hydroxyl group serv stabil alkoxid form result greater acid hand presenc electron-don group result stabl alkoxid ion form result scenario unstabl alkoxid ion form tend accept proton reform origin alcohol alkyl halid alkoxid give rise ether williamson ether synthesi nucleophil substitut group good leav group nucleophil substitut reaction neutral alcohol react reaction oxygen proton give leav group water stabl nucleophil substitut place instanc tertiari alcohol react hydrochlor acid produc tertiari alkyl halid hydroxyl group replac chlorin atom unimolecular nucleophil substitut primari secondari alcohol react hydrochlor acid activ zinc chlorid need altern convers perform thionyl chlorid simpl convers alcohol alkyl chlorid alcohol convert alkyl bromid hydrobrom acid phosphoru tribromid deoxygen alcohol deoxygen alkan tributyltin hydrid complex radic substitut reaction dehydr alcohol nucleophil react roh produc ether water dehydr reaction reaction rare manufactur diethyl ether elimin reaction alcohol produc alken reaction gener obei zaitsev rule state stabl substitut alken form tertiari alcohol elimin easili room temperatur primari alcohol requir higher temperatur diagram acid catalys dehydr ethanol produc ethen control elimin reaction elimin carbon disulfid iodomethan esterif form ester alcohol carboxyl acid reaction fischer esterif perform reflux catalyst concentr sulfur acid order drive equilibrium produc good yield ester water remov excess apparatu ester prepar reaction alcohol acid chlorid presenc base pyridin type ester prepar tosyl tosyl ester reaction alcohol chlorid pyridin oxid primari alcohol oxid aldehyd carboxyl acid r-co oxid secondari alcohol termin keton rc stage tertiari alcohol resist oxid direct oxid primari alcohol carboxyl acid proce aldehyd transform aldehyd hydrat reaction water oxid carboxyl acid mechan oxid primari alcohol carboxyl acid aldehyd aldehyd hydrat interrupt oxid primari alcohol aldehyd level perform reaction absenc water aldehyd hydrat form reagent transform primari alcohol aldehyd suitabl oxid secondari alcohol keton includ reagent collin reagent cro pdc pcc activ dmso result reaction dmso electrophil chlorid swern oxid oxid complex oxid hyperval iodin compound dess-martin periodinan acid catalyt presenc excess nmo lei oxid catalyt tempo presenc excess bleach naocl oxid oxid alcohol aldehyd keton allyl benzyl alcohol oxid presenc alcohol select oxid manganes dioxid mno reagent oxid secondari alcohol keton ineffici oxid primari alcohol aldehyd includ chromium trioxid cro mixtur sulfur acid aceton jone oxid keton cyclohexanon presenc aluminium isopropoxid oxid direct oxid primari alcohol carboxyl acid carri potassium permangan kmno jone oxid pdc dmf heyn oxid ruthenium tetroxid ruo tempo oxid primari alcohol carboxyl acid alcohol possess hydroxi group locat adjac carbon suffer oxid breakag carbon-carbon bond oxid sodium period naio lead tetraacet pb oac result gener carbonyl group oxid breakag carbon-carbon bond toxic alcohol odor nasal passag ethanol form alcohol beverag consum human pre-histor time varieti hygien dietari medicin religi recreat reason consumpt larg dose result drunken intox lead hangov effect wear depend dose regular acut respiratori failur death chronic medic repercuss alcohol impair judgment catalyst reckless irrespons behavior ld ethanol rat mg kg robert gabl reprint addict ratio correspond kg lb man drink shot proof alcohol litr bottl beer abv ld translat human gener agre fatal dose human rat drink consum sit kg lb man alcohol substanti poison ethanol partli longer metabol metabol produc toxic substanc methanol wood alcohol instanc oxid alcohol dehydrogenas enzym liver poison formaldehyd blind death effect treatment prevent formaldehyd toxic methanol ingest administ ethanol alcohol dehydrogenas higher affin ethanol prevent methanol bind act substrat remain methanol time excret kidnei remain formaldehyd convert formic acid excret diff --git a/gensim-develop/gensim/test/test_data/head500.noblanks.cor.bz2 b/gensim-develop/gensim/test/test_data/head500.noblanks.cor.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..edf9fb61544292b7a0b54668f42a42c32fb0e73b GIT binary patch literal 665686 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%0DtVA90OWV$Jo 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ĚaMDUbfZq3T$C_~2 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

5Xt@Ybp>)?j#GnR<9uc_<_z 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

$Ai&ymis!gDMQ^rmIXA+g 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±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

&n^4#eC(rcaZc1vJh(0|; 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%0D4=U&g=^S(2)4|Cvv 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 Mr Kissinger said at a New York hotel it was perhaps "regrettable" that for US officials, the implications of Indonesia's Timor policy were lost in a blizzard of geo-political issues following the Vietnam War. +Jason Stoltenberg will become the new coach of world tennis number one Lleyton Hewitt, after coach Darren Cahill decided to end his contract with the talented 20-year-old. Darren Cahill started officially coaching Lleyton Hewitt in 1999. Since then the young South Australian has risen to be the world's top male player, a US Open and Davis Cup champion. The breakup of the relationship was confirmed in a statement released by Hewitt's managers late this morning. In it Cahill says it has been a rewarding three years, and he is confident that Hewitt will not skip a beat. Hewitt says he is grateful for the guidance he has been given by Cahill, and that Stoltenberg will provide him with invaluable experience and dedication, which he is quite enthusiastic about. Stoltenberg says he looks forward to helping Hewitt evolve his game further. The former Wimbledon semi-finalist will travel full-time with Hewitt on the tennis tour. They will begin working together after Christmas with their first tournament together coming in January - the Hopman Cup in Perth. +A senior Taliban official confirmed the Islamic militia would begin handing over its last bastion of Kandahar to Pashtun tribal leaders on Friday. "This agreement was that Taliban should surrender Kandahar peacefully to the elders of these areas and we should guarantee the lives and the safety of Taliban authorities, and all the Taliban from tomorrow should start this program...," former Taliban ambassador to Pakistan Abdul Salam Zaeef told CNN in a telephone interview. He insisted that the Taliban would not surrender to Hamid Karzai, the new Afghan interim leader and a Pashtun elder who has been cooperating with the United States to calm unrest among the southern tribes. "The Taliban will surrender to elders, not to Karzai ... Karzai and other persons, which they want to enter Kandahar by the support of America, they don't allow to enter Kandahar city," he said. "The Taliban will surrender the weapons, the ammunition, to elders." +A suspect allegedly involved in planning terrorist attacks on Australia has been detained and charged with waging war against India. If convicted 28-year-old Mohammed Afroz faces hanging or life imprisonment. Police say Afroz was arrested on October 2 after he was found staying in a hotel close to his home. They say Afroz had claimed Osama bin Laden's Al Qaeda network was planning terrorist attacks in Australia, Britain and India similar to the September 11 attacks on the United States. Razzak reportedly told police four al-Qaeda suicide squads in total had been tasked to carry out hits on the World Trade Centre in New York, the British parliament, a tower block in Australia and India's parliament in New Delhi. Police say an email sent by Afroz to an address in Australia had mentioned plans to attack Britain's House of Commons after hijacking a plane. The Press Trust of India says Razzak spent $212,000 on flying lessons in Australia, Britain and the United States. The Hindustan Times newspaper has also quoted unidentified officials as saying Afroz admitted during questioning the Al Qaeda network had sent him to flight training schools in Australia, Britain and India. Mumbai police have reportedly recovered an "American credit card" from Razzak and a passport with visas for Australia, Britain, Thailand and the United States. India's Home Minister Lal Krishna Advani released details of the claims yesterday. +Refugee support groups are strongly critical of Federal Government claims that the "Pacific Solution" program is working well. The Immigration Minister, Philip Ruddock, says he is pleased with the program, which uses Pacific Island nations to process asylum seekers wanting to come to Australia. President of the Hazara Ethnic Society of Australia, Hassan Ghulam, says the Australian Government is bullying smaller nations into accepting asylum seekers. "If the Pacific countries wanted refugees they can clearly raise their voice in the United Nations and say, 'yes we are accepting refugees'. "And why Australia, who gives this authority to the Australian Government to force the Pacific countries to accept refugees in this form or in the other form?" he asked. +Several people, believed to be as many as 35, have been shot at a northern Indiana factory in the United States. Police said the person who did the shooting was still inside the building. Preliminary reports suggested a disgruntled employee might be behind the mass shooting at Nu-Wood Decorative Millwork factory at the industrial park in Goshen, which occurred around 3:14pm local time (7:14am AEDT). "We're hearing as many as 35 have been shot but we can't confirm that," said a Goshen police dispatcher. "We haven't been able to get inside." She said the person who fired the shots at the factory near Goshen was still inside the facility. The city is about 200 kilometres east of Chicago. +The armed wing of the radical Islamic movement, Hamas has threatened to attack officials from the ruling Palestinian Authority if the Hamas spiritual leader, Sheikh Ahmed Yassin, or any of its militants are harmed. It follows the death in Gaza City last night of a Hamas supporter during clashes that erupted when Palestinian police put Sheikh Ahmed Yassin under house arrest. Those clashes have created an unstable situation in Gaza. It was Palestinian against Palestinian as hundreds of police confronted 3,000 Hamas supporters, who determined their leader would not be arrested as part of the crackdown on militants. Stone-throwing youths were met with baton charges, but still the Palestinian police do not have control around the Sheikh's house. The action came against the backdrop of frantic diplomatic activity aimed at averting all-out conflict. The Egyptian Foreign Minister made an emergency visit to both Israeli Prime Minister Ariel Sharon and the Palestinian leader, Yasser Arafat, urging negotiation rather than confrontation. Palestinian Authorities say they have detained 160 suspects but so far, the Israeli Government says Mr Arafat has not done enough. A security meeting has been arranged between the Israelis and the Palestinians to try to defuse the growing crisis between them. Mr Arafat says the meeting has been set up by the US special envoy to the Middle East, Anthony Zinni. At the same time, the Bush administration is stepping up the pressure on Mr Arafat, saying he must do more to put militants behind bars. +Reserve Bank Governor Ian Macfarlane says he is confident Australia will ride through the current world economic slump, largely brought on by the United States. Mr Macfarlane told a gathering in Sydney last night, Australia's growth is remarkably good by world standards and inflation should come down in the next 18 months. He predicts the United States economy will show signs of recovery from mid-year, and that as a result it is highly unlikely that the Reserve Bank will raise interest rates in the next six months. "Calendar year 2001 has been a difficult one for the world economy and the first half of 2002 looks like remaining weak before recovery gets underway. "Therefore this period will be classified as a world recession like those of the mid 70s, the early 80s and the early 90s," Mr Macfarlane said. "The Australian economy has got through the first half of it in reasonably good shape." +New laws requiring all packaged food products containing genetically modified (GM) crops to be labelled, come into effect today. But the association representing food and grocery companies says consumers will have to look hard to find any on the shelves. Head of the Australian Food and Grocery Council, Mitch Hooke, says since the laws were first proposed companies have been cutting genetically modified ingredients out of their products. "A lot of our companies have sidestepped the products of this technology at this stage to avoid any kind of risk in the market that their brands and their products will be brought into disrepute or that consumers will sidestep their products. "There is not a real and tangible benefit in the technology's products for consumers at this stage," Mr Hooke said. +Indonesian troop re-enforcements have started arriving in central Sulawesi as the government attempts to end days of deadly clashes between Christians and Muslims. Violence in the last week has claimed at least eight lives and left thousands of people homeless. More than 2,000 police and soldiers are being sent in to disarm rival groups and restore calm. There have been no new reports of violence, but residents in the Christian town of Ten Tena say they fear further attacks by Muslim militiamen taking up positions in the hills around the town. In a region where fighting between Muslims and Christians has claimed hundreds of lives in the last two years, many blame the latest upsurge in violence on the arrival of members of the Laskar Jihad Muslim Militia from training camps in Java and from the neighbouring Maluka Islands. +America's Cup winner Sir Peter Blake, one of the most successful sailors in yachting history, was killed in a shooting in Amazonia, Brazil, today, his sponsors said. Mr Blake, 53, was aboard a boat with his crew when they were attacked by pirates and he was shot dead, they said. AFP reported the sponsors, PR company Jour J, as saying he was killed while leading a sailing expedition up the Amazon river, in the western Amazon Basin. The New Zealander won the America's Cup twice in 1995 and 2000 with Team New Zealand. Mr Blake was a two-time winner of the Sydney-Hobart race and also won the Tour of Australia and the Whitbread round-the-world race in 1990. He captured the Jules Verne Trophy in 1994 with a record-breaking non-stop voyage. He received an OBE for services to yachting in 1991. A meticulous planner and a gifted leader, Mr Blake's fierce determination to win always inspired immense loyalty from his crews and unlimited confidence from his backers. The New Zealander was the only man to compete in the first five Whitbreads and his 1989 victory in Steinlager 2 came with an unprecedented clean sweep as his team walked off with line, handicap and overall honours on each of the race's six legs. Steinlager 2 beat a field of 23 boats from 13 countries. Mr Blake's numerous sporting accolades included two New Zealand Sportsman of the Year awards and four New Zealand Yachtsman of the Year awards. He was also chosen to succeed the late Jacques Cousteau as captain of the marine research vessel Calypso 2. +The Federal Government says a man who has claimed to have been planning terrorism attacks against Australia trained as a pilot in Australia in 1997 and 1998. The man, in custody in India, is not an Australian citizen. The Attorney-General, Daryl Williams, says the man left Australia in December 1998 and has not been back. Mr Williams says investigations are continuing. He will not say who the man is, what his nationality is, or where he did his pilot training. "Can I say we are not aware of any specific threat in relation to this man or any other person for that matter in Australia," Mr Williams said. +The three US soldiers killed by a misguided US bomb in Afghanistan were from a US Army special forces unit based at Fort Campbell, Kentucky, the Pentagon said. The three were identified as Master Sergeant Jefferson Donald Davis, 39, of Tennessee; Sergeant First Class Daniel Henry Petithory, 32, of Massachusetts; and Staff Sergeant Brian Cody Prosser, 28, of California. The Pentagon said they served in the 3rd Battalion, 5th Special Forces Group, based at Fort Campbell, Kentucky. The three were killed when a 900 kilogram bomb dropped by an Air Force B-52 bomber landed too close to their position north of Kandahar in southern Afghanistan. +A tense stand-off is continuing in Gaza City between hundreds of supporters of the Hamas spiritual leader Sheikh Ahmed Yassin and Palestinian police trying to place him under house arrest. Palestinian leader Yasser Arafat ordered the arrest, but when scores of police approached his home they were driven back amid heavy exchanges of gunfire. Up to 2,000 Hamas supporters have arrived from across the city after word spread of the attempted arrest. The 63-year-old Sheikh is revered by the Hamas militants who have carried out the bulk of the suicide bombings against Israel since 1994. However the Palestinian head of security, Jabril Rajoub says militant groups must recognise who is in control. "This is very difficult, but I don't think that we can surrender to individuals or groups who are trying to behave as if they are dictating their understanding on this authority," he said. "I hope that those groups, that those individuals will conclude the right conclusion and understand there is one authority." +The Immigration Minister, Philip Ruddock, says the so-called Pacific Solution is working as a way of deterring people from coming to Australia and he does not want to abandon it. Mr Ruddock says the Government would only change its policy of using Pacific Islands to process asylum seekers if so many people arrived they could not all be housed on the available islands. Mr Ruddock says the significant fall in the number of people arriving illegally in Australia is a sign the Government would not change the policy. "What I'm saying is the policy works. "If you face changed circumstances you may have to change your approach but that doesn't suggest that what you're doing is unable to cope or is in any way ineffective, when clearly we had something like 1,000 arrivals in August, something like 1,200 in September and between the 10th of November and now we've had no boat arrivals," Mr Ruddock said. +The Federal Education Minister, Brendan Nelson, says he accepts the need for the Government to look for ways to cut waste and reduce spending. The Treasurer, Peter Costello, says the Government's expenditure review committee, or razor gang, will try to make cuts before the next budget, especially to programs which have served their purpose and are no longer needed. Mr Costello last made sweeping cuts when the Coalition was elected in 1996. Labor says the Government should start by slashing its own spending on advertising for Government programs. Mr Nelson will not identify any areas within his new portfolio which could be cut and says he is not afraid of the scrutiny of the senior ministers in the razor gang. "Whilst the razor gang might be described in pejorative or critical terms by some of my colleagues, it's there ultimately to serve the best interests of Australian taxpayers. "I don't think there's anything that should be feared but seen to be something that's responsibly looking after the best interests of Australian taxpayers," Mr Nelson said. +Two Swiss guides who survived the 1999 Interlaken canyoning accident - in which 14 Australians died - have denied any wrongdoing in leading the trip into the Saxet River. A court in Switzerland has been told the huge wall of water which swept down the river was an unpredictable natural catastrophe. Both Simon Wiget and Stefan Abegglen told the court of their sorrow about the accident, but denied making any mistakes, nor did they think weather conditions were inappropriate. Asked if they had received adequate training in weather analysis from their Adventure World supervisors, they said they had. But when asked what specific training they received, they were unable to give detail. They also acknowledged their salaries as guides were dependent on the number of trips they took and the number of people who accompanied them. For some of the Australians the day ended with an emotional visit to the river where their children died. +The US space shuttle Endeavour has blasted off from the Kennedy Space Centre en route to the International Space Station (ISS) with a replacement crew. Endeavour's launch was delayed three times, most recently by bad weather over the space centre yesterday. The National Aeronautics and Space Administration (NASA) had earlier pushed back the launch twice due to problems with the docking of a Russian cargo ship at the station, rectified on Monday by a spacewalk completed by two Russian cosmonauts. The shuttle is taking to the station its fourth long-term crew - Russian commander Yuri Onufrienko and Americans Carl Walz and Dan Bursch - and is due to return to earth on December 16 with the current crew members, who have been on the station since August. The shuttle is also carrying the Italian Raffaello module, laden with 3.5 tonnes of equipment, food, supplies and materials for scientific experiments. It was the first US space shuttle launch since September 11 when hijacked airliners left around 3,500 people dead and missing in New York, Washington and Pennsylvania. Tight security surrounded the space centre during the launch. +Australian swimmers have won nine of the 12 events contested at the skins swimming event in Sydney last night. The 50 metres races were swum in an elimination format with four races to determine the overall winner. Geoff Huegill won the 50 metres butterfly in 24.21 seconds and is looking forward to the World Cup event in Melbourne tomorrow. "Every race is just getting better and better in terms of jumping in and making sure that I nail the first 15 [metres] under water and exploding out of the water and really working turns and trying to nail finishes," he said. Elka Graham won the womens 300 metres freestyle which was contested by having three races over 100 metres. She says former champiom Kieren Perkins was behind her victory. "I swam with Kieren this morning and he gave me some awesome advice. He told me to close my eyes [in the last 25 metres] and to absolutely go for it," she said. American Ed Moses won the men's 50 metres breaststroke while Liesel Jones took the women's event. World champion Matt Welsh was the first swimmer eliminated from the 50 metres backstroke, which was eventually won by Australia's Ray Hass. The winners of each event received five thousand dollars but Welsh had an early night when he was the first eliminated in the 50 metres event won by Ray Hass. Rebecca Creedy caused another upset, defeating Sarah Ryan in the 50 metres freestyle. Julia Ham won the women's 50 metres butterfly and says the $5,000 in prizemoney will go towards paying for a $13,000 heater for the pool in Queensland where she trains children. "The thermostat's broken on the old one, it just goes up and down and I went in yesterday and it was 36 degrees in the water and it was just terrible. It was like a spa," she said. +Three US troops and five members of the Afghan opposition were killed by a stray US bomb near Kandahar in Afghanistan, the Pentagon said. The Pentagon had earlier confirmed that two US special forces soldiers were killed and 20 others wounded north of Kandahar when a B-52 bomber dropped a 2,000-pound bomb too close to them. "The B-52 was flying in support of opposition forces north of Kandahar," said Pentagon spokeswoman Victori Clark. "We have an update since this morning, and unfortunately the number of US forces killed is now three." Rival Afghan factions signed an historic power-sharing agreement to form a post-Taliban government and set the country on the road to recovery and democracy after two decades of war. The accord was sealed after nine days of exhausting negotiations and paves the way for a six-month interim administration headed by moderate Muslim Hamid Karzai, from the dominant Pashtun ethnic group. The deal gives the Northern Alliance control of three key portfolios in the 30-member cabinet, which includes two women and is due to be up and running by December 22. It also gives a symbolic role to the former king and provides for a UN security force for Kabul. The agreement was signed in the German city of Bonn by the leaders of the four delegations and UN special envoy for Afghanistan Lakhdar Brahimi to applause from an audience which included German Chancellor Gerhard Schroeder. "We were the champions of resistance and will be proud to be the champions of peace," said Yunus Qanooni, the Northern Alliance's chief negotiator and the interim government's interior minister. A delegate from the so-called Peshawar group, Sayed Hamed Gailani, summed up the atmosphere in a single phrase. "There are two things evident today: Yesterday's rain does not have the courage to cry, and the sun cannot hide its smile," he said. The appointment of Karzai, a 44-year-old tribal Pashtun tribal leader currently fighting the Taliban near their last stronghold of Kandahar, was seen as an attempt to balance Afghanistan's delicate ethnic mix. It cements a whirlwind transformation in Afghanistan's fate since the September 11 attacks on New York and Washington, the trigger for massive US air strikes that have dislodged the Taliban militia from most of the country and put the Northern Alliance back on top. Showing the strain from nine days of frantic diplomacy, Brahimi recognised the accord was far from perfect, and that its signatories were not fully representative of the Afghan people +The Foreign Minister, Alexander Downer, has expressed concern about a man who was arrested in India and has reportedly confessed to planning suicide attacks in Australia. The man was arrested a month ago in India on suspicion of links to Osama bin Laden's Al Qaeda network. India's Home Minister, LK Advani, has been quoted by the Reuters news agency as telling a meeting of business and industry leaders in New Delhi that the man has confessed to planning suicide attacks in Australia and Britain, as well as on the Indian Parliament. The report says Mr Advani says Indian authorities have confirmed and verified the confessions. Mr Downer has told Channel Seven it should not be dismissed. "I understand that his claim, that he wanted to conduct suicide attacks against a number of countries including Australia, is a claim that he believes," Mr Downer said. "I don't think this is a hoax or should be treated as a hoax. "I think these are claims that need to be taken seriously - we can be grateful for the fact that he has been arrested by Indian authorities." +Israel has demanded the arrest of 36 Palestinian militants and given leader Yasser Arafat just 12 hours to comply. The Government says if those on the list are not rounded up in time, the army will resume its attacks on Palestinian targets. Mr Arafat was told of the deadline by the Israeli Foreign Minister, Shimon Peres, in a telephone conversation. The Palestinian leader said his security forces could not move to make the arrests because of fear of Israeli bombing. So now, he has just 12 hours in which his men will be given free rein. Mr Arafat has accused the Israelis of attempting to sabotage attempts to jail militants and undermine his authority. An Israeli Foreign Ministry spokesman earlier said Mr Arafat was finished and it was time for a new Palestinian leader. +Two Swiss guides who survived the 1999 Interlaken canyoning accident - in which 14 Australians died - have denied any wrongdoing in leading the trip into the Saxet River. A court in Switzerland has been told the huge wall of water which swept down the river was an unpredictable natural catastrophe. Both Simon Wiget and Stefan Abegglen told the court of their sorrow about the accident, but denied making any mistakes, nor did they think weather conditions were inappropriate. Asked if they had received adequate training in weather analysis from their Adventure World supervisors, they said they had. But when asked what specific training they received, they were unable to give detail. They also acknowledged their salaries as guides were dependent on the number of trips they took and the number of people who accompanied them. For some of the Australians the day ended with an emotional visit to the river where their children died. +High interest rates on credit cards have prompted a call for an inquiry by the Australian Competition and Consumer Commission (ACCC). The Australian Consumers Association (ACA) says banks are not passing on all Reserve Bank interest rate cuts. The association's Katherine Wolthuizen says while the Reserve Bank again cut official interest rates yesterday, credit card interest rates remain high. "We would certainly like to see a proper investigation into that and hopefully some movement to bring the banks to account for it. "They don't like being regulated and sometimes the threat of regulation can cause them to amend their ways, but of course they do have a very long way to go," Ms Wolthuizen said. +Centrelink is urging people affected by job cuts at regional pay TV operator Austar and travel company Traveland to seek information about their income support options. Traveland has announced it is shedding more than 500 jobs around Australia, and Austar is letting 400 employees go. Centrelink finance information officer Peter Murray says those facing uncertain futures should head to Centrelink in the next few days. "Centrelink is the shopfront now for Commonwealth services for income support and the employment network so that it is important. "If people haven't been to us before they might get a pleasant surprise at the range of services that we do offer to try and help them through situations where things might have changed for them," Mr Murray said. +The Department of Foreign Affairs and Trade (DFAT) has moved to clarify what it says are misunderstandings about a report on the Indian economy, launched by Foreign Minister Alexander Downer. The 172-page document released on Monday says Australian firms could become more competitive by outsourcing to India's information technology (IT) sector. The Community and Public Sector Union has been critical of the report, saying DFAT is encouraging Australian businesses to export jobs to India. But the department says the aim is to boost Australia's export potential and encourage competitiveness in the industry. DFAT does not want to make any further comment and the Minister's office says he is not available for interview. +Counting is proceeding very slowly in the Solomon Islands national elections, as officials are keen to avoid any allegations of vote tampering. There was a heavy police presence around the three counting centres in the Solomon Islands capital, Honiara, when the first ballot boxes were opened late last night. Counting in some of the more remote of the 50 seats in the Solomon Islands Parliament will not even start until Saturday after the ballot boxes are transferred to a single location. A large contingent of international observers are monitoring the count in an election that is regarded as crucial if the Solomons is to break out of a cycle of economic and social disintegration, flowing from a bitter ethnic war between armed militants from its two largest provinces. +Australian swimmers have won nine of the 12 events contested at the skins swimming event in Sydney last night. The 50 metres races were swum in an elimination format with four races to determine the overall winner. Geoff Huegill won the 50 metres butterfly in 24.21 seconds and is looking forward to the World Cup event in Melbourne tomorrow. "Every race is just getting better and better in terms of jumping in and making sure that I nail the first 15 [metres] under water and exploding out of the water and really working turns and trying to nail finishes," he said. Elka Graham won the women's 300 metres freestyle which was contested by having three races over 100 metres. She says former champion Kieren Perkins was behind her victory. "I swam with Kieren this morning and he gave me some awesome advice. He told me to close my eyes [in the last 25 metres] and to absolutely go for it," she said. American Ed Moses won the men's 50 metres breaststroke while Liesel Jones took the women's event. World champion Matt Welsh was the first swimmer eliminated from the 50 metres backstroke, which was eventually won by Australia's Ray Hass. The winners of each event received five thousand dollars but Welsh had an early night when he was the first eliminated in the 50 metres event won by Ray Hass. Rebecca Creedy caused another upset, defeating Sarah Ryan in the 50 metres freestyle. Julia Ham won the women's 50 metres butterfly and says the $5,000 in prize money will go towards paying for a $13,000 heater for the pool in Queensland where she trains children. "The thermostat's broken on the old one, it just goes up and down and I went in yesterday and it was 36 degrees in the water and it was just terrible. It was like a spa," she said. +There has been another suicide bomb attack in the Middle East, this time in Jerusalem. Three people have been injured after an apparent Palestinian suicide bomber blew himself up outside the Hilton Hotel in west Jerusalem. Israeli police say the three were standing at a bus stop and were hurt by flying glass when the explosion occurred near an entrance to the former Hilton Hotel. The suicide bombing follows a wave of Israeli air strikes against Palestinian security installations in the West Bank and Gaza Strip after 25 people were killed at the weekend in several suicide bombings. +Four Afghan factions have reached agreement on an interim cabinet during talks in Germany. The United Nations says the administration, which will take over from December 22 will be headed by the royalist anti-Taliban commander Hamed Karzai. It concludes more than a week of negotiations outside Bonn and is aimed at restoring peace and stability to the war ravaged country. The 44-year-old former deputy foreign minister, who is currently battling the Taliban around the southern city of Kandahar, is an ally of the exiled Afghan king Mohammed Zahir Shah. He will serve as chairman of an interim authority that will govern Afghanistan for a six-month period, before a Loya Jirga or grand traditional assembly of elders, in turn appoints an 18-month transitional government. Meanwhile, United States Marines are now reported to have been deployed in eastern Afghanistan where opposition forces are closing in on al-Qaeda soldiers. Reports from the area say there has been a gun battle between the opposition and al-Qaeda close to the Tora Bora cave complex where Osama bin Laden is thought to be hiding. In the south of the country, American marines are taking part in patrols around the air base they have secured near Kandahar, but are unlikely to take part in any assault on the city. However, the chairman of the Joint Chiefs of Staff, General Richard Myers says they are prepared for anything. "They are prepared for engagements, they're a robust fighting force and they're absolutely ready to engage if that's required," he said. +The Reserve Bank has cut official interest rates again, still concerned about the slowing global economy. The central bank has delivered a further cut of 0.25 of a per cent. It is the sixth rate cut for the year, taking the cash rate to 4.25 per cent. The cut has been quickly passed on in full by all the major banks and a host of smaller lenders. The Reserve Bank says international conditions remain weak, with the US and Japanese economies in recession, Europe stalled and contractions in a number of Australia's east Asian trading partners. The bank says 2001 and 2002 combined will produce the weakest period of growth since the early 1980s, although the threat of an even sharper decline after the September 11 attacks in the US has abated somewhat. Low interest rates and a sharp drop in oil prices should see a recovery start in the 12 months ahead. Westpac's Bill Evans is among those who believe the cut will not be the last. "The Reserve Bank has certainly not closed the door to further rate cuts next year," he said. +Federal Treasurer Peter Costello has warned continued economic growth in Australia is dependent on an uncertain world outlook. The latest figures show the economy grew by 1.1 per cent in the September quarter. Mr Costello is stressing the seriousness of the current global economic downturn. "As serious as anything we've seen in the last two decades," he said. Both he and the Reserve Bank governor, Ian MacFarlane believe the timing of any pickup is unclear. Mr Costello is hopeful about the United States prospects next year and says a pickup sooner rather than later in the year could keep Australia in a strong position. "I think with every confidence, the December quarter is going to be strong, if the US comes back we might defy again what has happened in the world," he said. Shadow Treasurer Bob McMullan says the Treasurer is left relying on things out of his control. "All the Treasurer has got in plan for 2002 is the hope the American economy will pick up in time," he said. He says the Government has limited its own ability to respond to the international shocks by spending too much this year. +The AFL's all-time leading goalkicker, Tony Lockett, will decide within the next week if he will make a comeback. Lockett has told the Sydney Swans he is interested in coming out of retirement and placing himself in this month's pre-season draft. Lockett retired at the end of the 1999 season and will turn 36 in March. Swans chief executive Kelvin Templeton says the club would welcome Lockett back. "We're not putting any undue pressure on him," Mr Templeton said. "The approach really came from Tony to us, rather than the other way." Mr Templeton says if Lockett does make a comeback, the club would not expect him to play every game. "He certainly could play a role, albeit a reduced role from the one the fans knew him to hold a couple of years back," he said. +The Royal Commission into HIH has been adjourned until Monday after interviewing of the first witness ended abruptly. Lawyers acting on behalf of several former HIH directors requested that cross-examination of David Lombe and an inspector appointed by insurance watchdog, the Australian Prudential Regulation Authority (APRA) be held at a later date. The commission was due to hear evidence from Mr Lombe after the details of his report for APRA were read in this morning's hearing. The report raises allegations that corporate governance was inadequate and concealed the true state of HIH's financial position. The report questions the solvency of HIH prior to it being placed into provisional liquidation on March 15. It raises issues of intangible assets like tax and goodwill, being treated as tangible for the acquisition of Allianz to boost the financial position of HIH. The report also says significant losses by HIH in the United States and the United Kingdom were concealed from APRA at meetings last year. The commission has also heard APRA had serious concerns about the accounting practices being followed by HIH in July last year. +Darwin Aboriginal custodians will become property developers at Palmerston, after the settlement of a native title claim lodged seven years ago. It is the first claim to be settled in the Darwin region. The agreement was due to be signed off before the last Northern Territory election, but was delayed by the death of an elder's son. The Larrakia people plan to take a lease from the Territory Government under commercial terms and develop almost 50 hectares in the new Palmerston suburb of Rosebury over the next few years. The agreement will also mean that a further 200 hectares at Rosebury and Bellamack will be free for urban growth without native title concerns. The Larrakia have also withdrawn their claim from the Archer Sporting Complex at Palmerston. +The Defence Minister, Robert Hill, has announced more Australian SAS troops have arrived in Afghanistan. The forces which arrived today, join the advance party which has been in the south of the country since Monday. Senator Hill says further deployments will happen as they are required. He says for security reasons specific tasks, locations and missions will not be revealed. Meanwhile, a senior member of the Northern Alliance attending the UN-sponsored Afghan talks in Bonn said that an interim Afghan administration would assume power on December 22. Ahmad Wali Masood, brother of the assassinated legendary Alliance commander Ahmad Shah Masood, also said he expected the four Afghan groups locked in intensive dialogue for eight days would reach agreement on composition of the government later on Tuesday. "I expect a result tonight," Wali Masood said, adding that all four Afghan groups negotiating in Bonn had submitted their lists of nominees to the United Nations. Earlier on Tuesday, diplomatic sources indicated that new interim government for Afghanistan was expected to be installed in Kabul next week. "The interim government will be installed one week after the signature (of the Bonn accord) and thereupon enjoy international recognition," said a western diplomat among official observers at the conference. "This will mean that (ousted president Burhanuddin) Rabbani is no longer recognised," the source said. Diplomats observing the UN-sponsored Afghan talks said they expect a formal signing ceremony for the power-sharing deal, which aims to pave the way for a democratic Afghanistan, to be signed at the Petersberg talks on Wednesday. +Israel launched massive air raids across the West Bank and Gaza Tuesday, piling pressure on Yasser Arafat with a rocket strike on a police post next to his offices, after Prime Minister Ariel Sharon branded his administration a "sponsor of terrorism". Israeli F-16 warplanes launched a series of strikes on Gaza City, while Apache helicopters fired rockets on Palestinian security offices in Khan Yunis in the southern Gaza Strip and on the West Bank towns of Salfit and Tulkarem. They also fired missiles on a security post just metres from Mr Arafat's offices in Ramallah, but the Palestinian leader, who was in his office at the time, was unhurt. But two policemen were slightly wounded, officials said. Israeli army spokesman Brigadier General Ron Kitrey said Mr Arafat was not targeted. Two people were killed in the Gaza strikes and around 120 injured, half of them schoolboys, Palestinian hospital officials said. The attacks came as Israel's Foreign Minister Shimon Peres said he did not believe Israeli forces would take direct action against the Palestinian leader. The strikes also came a day after Mr Sharon, furious that Mr Arafat had not stopped hardline Islamic groups, who killed two dozen Israelis in devastating suicide attacks at the weekend, ordered his forces to blast symbols of Mr Arafat's power. Gunships destroyed Mr Arafat's three helicopters in Gaza City, while bulldozers ploughed up the runway at Gaza international airport used by Mr Arafat for his frequent travels abroad. Palestinian officials called Mr Sharon's campaign an attempt to topple Mr Arafat and destroy his self-rule Palestinian Authority. Mr Arafat told CNN television that Mr Sharon was trying to torpedo his own crackdown on terrorism with the airstrikes. "He doesn't want me to succeed, and for this he is escalating his military activities against our towns, our cities, our establishments," the Palestinian leader said. French Foreign Minister Hubert Vedrine accused Israel of conducting a deliberate policy aimed at eliminating Mr Arafat. "Arafat has been weakened by the harassment of the Israeli army ... and as a result people are using his weakness as an argument to say that since he can not re-establish order in his own camp, he should in some way be eliminated." However, Britain's Prime Minister Tony Blair and US President George W Bush expressed "sympathy" with Israel and called on all sides "to do anything they can to stabilise the situation". Mr Sharon's hard words and air strikes opened major divisions in his cross-party government, with left-wing Mr Peres denouncing what he called a bid during Monday's emergency cabinet meeting to cause "the downfall of the Palestinian Authority". The region had been braced for a huge Israeli retaliation after three Palestinian suicide bombers from the hardline Islamic movement Hamas killed 25 people on Saturday and Sunday in the suicide attacks in Jerusalem and Haifa. Mr Sharon made a national address after blasting Gaza City and Jenin in the West Bank on Monday, accusing Mr Arafat of having "chosen the path of terrorism" and being "the greatest obstacle to peace and stability in the Middle East". Mr Peres said the move by Mr Sharon's dominant right-wingers "in effect means Israeli policy is based purely on force with no political hope". Public radio said Mr Peres had called all the ministers from his Labour Party for a special meeting Wednesday to discuss the fallout of the strikes and Mr Sharon's accusation that Mr Arafat was "responsible for everything that has happened here". Chief Palestinian negotiator Saeb Erakat, speaking after Mr Sharon's speech Monday evening, said the words amounted to a "declaration of war". He called on the United States and Europe to rein in Mr Sharon and dispatch international observers to oversee the spiralling conflict. +Interest rates and economic growth take centre stage for Australian financial markets today. A rates cut is still expected despite what is thought to be a respectable set of national accounts. The Australian economy has been held up as one of the few to be still ticking over well, while so many others around the world are in recession or slowing sharply. Today's national accounts for the September quarter will be the definitive measure. SG Australia chief economist Glenn Maguire says he expects a quarterly figure of just under 1 per cent. "If we do see economic growth up around 0.9 per cent, which is the market consensus, that is actually a relatively very good outcome," he said. That would translate to an annual growth rate of 2 per cent. Mr Maguire says domestic economic activity remains centred on the housing sector. "I think the national accounts will reveal that the bulk of economic growth is being driven by the housing sector and those areas which are related to the housing sector, such as retail trade and manufacturing." But he says some areas of weakness are emerging. "Company profits were quite soft. "Also average earnings are likely to post a softer footing over the quarter as well, so looking forward, softer incomes, probably softer production as well suggest that the domestic economy will be slowing as we move into 2002," Mr Maguire said. Financial markets are also waiting on a possible announcement from the Reserve Bank after its board meeting of yesterday. There is a high level of expectation that rates will be cut by 0.25 per cent. The Australian Trade Commission says there are signs of recovery on global markets three months after the September 11 terrorist attacks. Senior Austrade staff from across the globe are in Adelaide to discuss the impact of the attack on the US and major international markets. Austrade's executive general manager Roger Bayliss says the vast majority of global equity markets have bounced back and growth is expected to return by the third quarter of next year. Mr Bayliss says while there are serious challenges ahead, Australian firms should not retreat. "The most important point is to really study your markets. "Get good advice, make sure you're looking after your customers well, and certainly not staying in your shell, or in your cocoon, and adopting a very aggressive approach to overseas marketing," Mr Bayliss said. +The Labor Party is set to have a wide-ranging review of its structures, with frontbencher Martin Ferguson pushing for the process. The new Labor leader, Simon Crean, is taking a set of proposals to next Thursday's national executive meeting. Mr Ferguson wants the meeting to call a review. He says suggestions for party changes, such as the call by frontbencher Joel Fitzgibbon for the scrapping of a New South Wales rule forcing Labor members to belong to a union, should be dealt with internally. "Perhaps the time has come for us to actually sign up to a federal executive process which actually enables debate to go forward in a highly constructive way rather than individual proposals being put out there without an end game in sight," Mr Ferguson said. He says he is happy for the process to include looking at abandoning the 60-40 rule, but says scrapping the rule would only be a minor factor in the party's self-examination. "For a long time I've believed there is a requirement for the Labor Party to actually have a hard look at whether or not an archaic formula of union representation is the key to our future." +Computer virus experts have warned of a new "goner" computer virus that can erase data from a user's hard drive. According to McAfee.com, a leading anti-computer virus software company, the virus is attacking both home and business computers. The company has given the virus a high-risk rating, its most serious warning. The virus, also known as a worm, gets into computers via Microsoft's Outlook email program. If a user activates the virus by opening up an infected email attachment, it can create havoc. The virus, the company warned, "can delete files from users' computers. The Goner worm then emails itself to every email address contained in the user's address book". This new virus comes right after the Badtrans Internet worm, another Outlook attacker that replicates itself by sending copies out to everyone on a user's address list. Badtrans, however, did not erase data. McAfee is recommending that users upgrade their anti-virus software. The company also warns against opening up unexpected attachments. +Defendants in the Interlaken canyoning trial in Switzerland are continuing to deny they played any role in the deaths of 21 people, including 14-Australians, who drowned in 1999. When chief guide Bernard Strureewas asked why he did not call off the canyoning trip on that fateful July afternoon, he said the water level was so low there would be enough time to evacuate the river if it flooded. Mr Struree told the court guides were instructed to leave the canyon if water levels rose or changed colour, adding they were always advised to pull out if a strong storm was forecast. But like those before him, when asked if he remembered what the weather conditions were like at 4:00pm that afternoon, he said he had not noticed. The witnesses are providing few insights, nor are they being sternly challenged and two days of evidence is revealing little. Tomorrow the Australian families will take the journey to the Saxet River gorge to pay tribute to those they lost. +The New South Wales State Emergency Service (SES) says it has now received 5,000 calls for help in the wake of Monday's fierce storms. Natural disaster areas have been declared throughout Sydney and surrounding areas and parts of the state's north-west. In Sydney, more than 2,000 homes, mainly in the northern suburbs, remain without power. SES spokeswoman Laura Goodin says several hundred volunteers will be back in the field this morning. "We've had about 5,000 calls for help of which we've completed about two-thirds. "We've had about 800 volunteers in the field being helped out by the Royal Fire Service and the New South Wales Fire Brigades and we're expecting to have most jobs completed by about Friday," Ms Goodin said. The extensive storm damage has prompted a warning about people falsely claiming to work for the SES. The warning, from Fair Trading Minister John Aquilina, follows reports from the suburb of Hornsby that people claiming to work for the SES are asking for payment from the storm victims. Mr Aquilina has reminded householders that the SES is a volunteer organisation and does not charge for its work or employ sub-contractors. He has suggested residents contact the police if they are approached by such people. The Government is also warning householders against dealing with unlicensed tradespeople. +A survey of literacy and mathematical skills of 15-year-old Australian school students has shown some alarming trends in boys' education. The survey was part of a study undertaken by the Organisation for Economic Cooperation and Development (OECD), and involved 31 countries, including the United States, Canada, Brazil and Japan. The head of the Australian Council for Educational Research, Professor Geoff Masters, says although the overall Australian results are very encouraging, there are some alarming signs. "Boys tend to have more negative attitudes to reading, they read less often than girls, they are less interested in reading narrative texts, storybooks for example," he said. +Hundreds of fans stood vigil today for the immersion of George Harrison's ashes into the Ganges river at the Hindu holy city of Benares. But officials and sect leaders remained tightlipped on when or where last rites for the former Beatle, a long-time devotee of the Hindu Hare Krishna sect, would take place. He was closely attached to Benares, where devout Hindus come to scatter the ashes of their dead relatives in the Ganges in a ritual symbolising the journey of the soul towards eternal salvation. The Beatles' former lead guitarist died on Thursday of cancer, aged 58, amid chants and prayers of Hare Krishna devotees who were at his bedside. According to details of the ceremony released by members of the Hare Krishna movement yesterday, Harrison's widow Olivia accompanied by son Dhani were to scatter some of the ashes early this morning in a "discreet" ceremony at Hinduism's holy river. Some of Harrison's ashes could also be immersed in the Ganges at Allahabad - another holy spot for devout Hindus - about 130 kilometres upstream from Benares, a spokesman for the Hare Krishna group said. Tomorrow Harrison's family members were supposed to take part in a special prayer meeting in Vrindavan, the birthplace of Lord Krishna, 150 km north of the Indian capital. The news brought hundreds of journalists, fans and curious onlookers to Benares' 80-odd "ghats" - platforms or steps from which the ashes are strewn into the river - this morning. But as the day wore on, local administration officials and Hare Krishna devotees in Benares refused to confirm when and where along the Ganges the ceremony would take place. +Australia has escaped with a draw after a dramatic final day of the third Test against New Zealand in Perth. Set 440 to win, Australia finished the match at 7 for 381 with Adam Gilchrist not out 83. Australia retains the Trans-Tasman Trophy after the rain-affected series ended 0-0. During the final day Zimbabwean umpire Ian Robinson made two controversial decisions in favour of Australia. Captain Steve Waugh and Jason Gillespie both were given not out despite television replays showing they were caught behind by wicket-keeper Adam Parore. +Israeli forces have launched attacks on some of the key Palestinian symbols of autonomy, including Gaza International Airport. The strikes come as Israeli authorities announced they were stepping up military operations against Yasser Arafat's Palestinian Authority. The Palestinian leadership, meanwhile, appealed for intervention from the United Nations Security Council after Israeli air strikes yesterday and accused Israeli Prime Minister Ariel Sharon of declaring war on the Palestinians. Mr Sharon's Government also placed Force-17, the armed group in charge of Mr Arafat's protection, and the Tanzim military groups of his Fatah faction on its list of terrorist organisations, a senior Israeli official said. The decisions were taken in a five-hour marathon late-night session of the national unity government, said the official, who asked not to be named. In a series of incursions and air strikes, the Israeli military targeted Mr Arafat's symbols of power, after holding him to account for a spate of deadly suicide bombings by Palestinian Islamic militants. The Israeli army carried out reprisal attacks against targets in the Gaza Strip and West Bank. Israeli tanks advanced to about 500 metres from Mr Arafat's offices in the West Bank town of Ramallah, witnesses and Palestinian security officials said. In the Gaza Strip, Israeli forces penetrated the airport Mr Arafat uses for his travels abroad and started to churn up the only runway, a Palestinian liaison official said. Mr Sharon, blaming Mr Arafat for the weekend suicide bombings that killed 25 Israelis, earlier sent his airforce to blast the Palestinian leader's heliport in Gaza and offices in the West Bank town of Jenin. The radical Islamic movement, Hamas, claimed responsibility for the suicide attacks. Shortly after Apache combat helicopters struck Gaza City and F-16 fighter bombers hit Jenin, Sharon made a hard-hitting televised address, telling Israelis a "war of terrorism" had been foisted on the Jewish state. "In choosing to try to win political accomplishments through murder and in choosing to allow the ruthless killing of civilians, Arafat has chosen the path of terrorism," Mr Sharon said. "Arafat is the greatest obstacle to peace and stability in the Middle East," Mr Sharon charged. +Traveland's wholly-owned travel centres have ceased operating from today, leaving more than 550 staff seeking other jobs. The failed company's administrators say they have a buyer for Traveland's franchise network but have not been able to save the company stores. One of the administrators, Richard Albarran, says the deal, which is yet to be approved by a committee formed today of creditors, will unfortunately leave hundreds of people who have booked holidays through the company stores out of pocket. "The dollar value is approximately a tad over $1 million," Mr Albarran said. They will now be entitled to make claims through the Travel Compensation Fund. The meeting of company's creditors was told this morning staff are owed nearly $9 million in entitlements. The Australian Services Union's Luke Foley says he will be doing everything he can to ensure they receive every cent. "Ansett administrators are liable for perhaps the lion share of those employee entitlements, we're confident that'll be met," Mr Foley said. And more than 400 staff are to lose their jobs at Australia's biggest regional pay television operator, Austar. The company has this morning announced wide-ranging restructuring plans. Management at the struggling pay TV operator has now completed a review of all its activities. As a result of this review, the Austar board has decided to outsource a number of existing functions, cease operating its own Internet network and streamline other processes. The company anticipates annualised savings of around $90 million. More than 400 staff will be made redundant from the end of December. Austar has given assurances that redundant workers will receive their full entitlements and redundancy payments in line with company policy. The company says they will receive all statutory entitlements and redundancy payments in line with company policy. On the stock exchange, Austar shares rose five cents to 31.5 cents shortly before 1:00pm AEDT. +Afghan opposition leaders meeting in Germany have reached an agreement after seven days of talks on the structure of an interim post-Taliban government for Afghanistan. The agreement calls for the immediate assembly of a temporary group of multi-national peacekeepers in Kabul and possibly other areas. The four Afghan factions have approved a plan for a 29-member ruling council composed of a chairman, five deputy chairmen and 23 other members. The council would govern Afghanistan for six months, at which time a traditional Afghan assembly, called a loya jirga, would be convened to decide on a more permanent structure. The agreement calls for elections within two years. +At the royal commission inquiry into the collapse of insurance giant HIH, it has been revealed that a report on the solvency of the company was given to the board in November last year. The company was placed into provisional liquidation in mid March. Counsel assisting the royal commissioner Wayne Martin QC tabled a report by accountancy firm Ernst and Young on HIH's solvency. The commission was told that the report stated the view there was an extreme risk the company's liabilities would not be satisfied. The Ernst and Young report was handed to the board in November last year with the Australian Prudential Regulatory Authority (APRA) receiving a copy in December. Mr Martin says despite this report the company continued trading and APRA took no action to stop it. The commission was told, one had to take into account people who took out policies after this report in the belief the company was trading solvently. The hearing continues. +A director of a defunct Swiss company that organised a canyoning trip in 1999 that ended with 21 people dying, 14 of them Australians, has denied responsibility for the tragedy. Along with two co-directors who are also charged with manslaughter, Adventure World director Stephan Friedli appeared in court on the first day of their trial. He described the deaths of 21 people in the Saxeten River Gorge as an accident that was unforeseeable and not preventable. Friedli said he was aware of the possibility the river could flood, but when asked whether his company carried out risk analysis he replied: "We know the region, we live here". To the question, "you know what you are accused of, have you made any mistakes?", Mr Friedli replied: "No, I don't think so". +Widespread damage from yesterday's violent storms in New South Wales has forced the Government to declare more areas of the State natural disaster zones. Up to 700 volunteers and fire fighters are continuing the big mop-up. State Emergency Services (SES) volunteers are still clearing some of thehuge trees that came crashing down on homes in Sydney's north. Martin Walker was sitting on his back deck when the storm struck "It sounded like a freight train was about to hit our house. "You could hear it coming with such ferocity and as it hit, all the trees just seemed to bend and there was stuff hitting the back of our house," Mr Walker said. Pitwater, Bankstown, Sutherland, Hurstville and Liverpool in Sydney, and Gunnedah and Tamworth, in the state's north-west, have been added to the list of natural disaster areas. New South Wales Premier Bob Carr has inspected one of the worst hit parts, Wahroonga in Sydney's north. "I'm struck by the unpredictability of this storm damage, we've had storms before but never winds of this force and it was uneven and unpredictable in its impact," Mr Carr said. The final damage bill is expected to be more than $10 million. +The Federal Government is under fire from unions over a new departmental report which recommends Australia outsource information technology (IT) to India. The document says India has a low cost skilled workforce. The Minister for Foreign Affairs and Trade, Alexander Downer, has given his support to the document from his department entitled "India: New Economy, Old Economy". The report says sectors like IT, finance and telecommunications offer attractive direct investment opportunities. It also says Australian firms could become more competitive by outsourcing to the Indian IT sector. The Community and Public Sector Union's Wendy Caird says the Government seems to be encouraging local companies to export jobs to India. "I think that's quite alarming, obviously labour is a great deal cheaper in India and that's assisted by the Indian Government removing labour laws and bankruptcy laws," Ms Caird said. The union says while the initiative may create jobs in India, it will not help Australia's rising unemployment. +Australian fast bowler Brett Lee has been fined $8,250 for yesterday's on-field outburst during the third cricket Test against New Zealand in Perth. Lee has not been suspended for any games which will allow him to play in the first Test against South Africa in 10 days. The penalty represents 75 per cent of Lee's match pay for the five-day Test. Match referee Jackie Hendriks found Lee guilty of using crude or abusive language and making offensive gestures after dismissing Shane Bond at the end of the New Zealand innings yesterday. +Israeli Prime Minister Ariel Sharon has opened an emergency security Cabinet meeting after placing blame for recent suicide attacks squarely on Palestinian leader Yasser Arafat. "I called an urgent meeting of the heads of all the security systems and very shortly the Government will hold a special session, the Government will meet in order to make decisions about how to deal further with terrorism," he said in a national address on public television. The Government was to discuss its policy on the Palestinian Authority, which Mr Sharon implied was the enemy of the Jewish state and should bear the consequences. "Those who rise up against us to kill us are responsible for their own destruction," he said, in a statement interpreted by a Palestinian official as a call for war. "Arafat has made his strategic choices, a strategy of terrorism: in choosing to try to win political accomplishments through murder and in choosing to allow the ruthless killing of civilians, Arafat has chosen the path of terrorism," Mr Sharon said. "The Government represents practically the whole of the Israel public and we have the paramount goal and need for unity in order to cope with all the brutalities facing us," he added. "Tonight we heard a declaration of war," said chief Palestinian negotiator Saeb Erakat on CNN television. "Sharon has chosen the path of darkness." Even before his address, Israeli helicopters and warplanes attacked targets in the West Bank and Gaza Strip, including Arafat's offices and a police headquarters in Jenin and the Palestinian leader's three helicopters in Gaza City. The air strikes were launched on Palestinian targets in the wake of weekend suicide attacks by the Islamic militant group Hamas which left 26 Israelis dead. Meanwhile, Hamas has defied the Palestinian state of emergency and called for more suicide attacks against Israel at the funeral of a gunman who killed a settler. More than 1,000 supporters of the hardline group gathered to bury 19-year-old Muslim al-Aarage, one of two Palestinians who shot the settler dead on Sunday in the north of the Gaza Strip before being killed by Israeli soldiers. "The suicide operations will continue as long as the enemy continues its occupation" of Palestinian lands in the Gaza Strip and West Bank, a militant from the group told a crowd with a loudspeaker. "When Sharon kills women and children our people have the right to defend ourselves. Then they call us terrorists," he said. "Every religion and law in the world gives us the right to defend ourselves," he said, shortly before the air strikes began. Security services have arrested some 100 militants from Hamas and its smaller rival Islamic Jihad in the crackdown since Sunday. Human rights group Amnesty International has condemned "deliberate attacks" by the Palestinian suicide bombers at the weekend. "These attacks are horrifying and tragic," Amnesty said in a statement. "We call on armed groups to end immediately the direct targeting of civilians which contravenes the most fundamental principles of humanity." The organisation called on the Israeli Government and the Palestinian Authority to remember "that no abuses of human rights by armed groups can excuse violations of fundamental human rights and humanitarian law". +Opposition forces claimed to have captured half of Kandahar airport after fierce fighting with Taliban troops as residents reported a further cranking up of US bombardments on the city. "We have now taken half of the airport," said Gul Lali, a key lieutenant to former Kandahar governor Gul Agha. Lali said that their forces had killed 11 foreign Taliban fighters in the operation and overrun a building that appeared to have been used as an office by members of suspected terrorist mastermind Osama bin Laden's Al Qaeda network. "These were 11 of bin Laden's men, from Egypt, Libya and Saudi Arabia. Nineteen more were injured," Lali said from the battleground. Opposition commanders had earlier expressed confidence that the airport would fall by the end of the day, with the Taliban's defence tactics hamstrung by aerial attacks from US warplanes. "We can hope but I am not 100 per cent sure we will capture it by the end of the evening," a spokesman for Gul Agha said after speaking to the opposition leader at noon local time. Bombing raids by US warplanes on Taliban positions around the airport had helped the push, according to fighters on the ground. Residents who left Kandahar early Monday confirmed that there had been no let-up in the US bombing. Abdul Masood, 30, said at that planes were now flying in five-strong sorties. "The frequency has increased. They now come within an interval of half an hour," he said. "They are targeting the airport area and Taliban positions outside the city. "They are also hitting the road between the city and the airport. I saw at least four trucks which had been overturned, lying on the road." Masood also said he had reports that some opposition soldiers had been killed in a suicide attack by Taliban supporters. "Some people told me that several Arabs with grenades strapped around their abdomen managed to enter an advancing column at Torkotal (near Kandahar airport). I believe there were heavy casualties." His claims could not be independently verified but a doctor working for the relief agency Muslim Hands said that he had treated six of Agha's men after they crossed the border Monday. They were later dispatched to Chaman hospital. Nearly 100 civilians have been killed and 200 wounded in three nights of US airstrikes near Jalalabad, the provincial military chief said. Commander Haji Mohammad Zaman said the bombs targeted an area south of Jalalabad near the Tora Bora mountain cave complex where terror suspect Osama bin Laden is believed to have a hideout. Zaman, who directs military operations in Nangarhar province, said the first night of bombings left nearly 80 civilians dead and 150 wounded. A second night of air raids killed eight civilians and wounded 18, he said, and the third night left eight dead and many people injured. +The Prime Minister, John Howard, has revealed he will go to Indonesia for a summit meeting with Indonesian President Megawati Sukarnoputri. There have been talks underway since Mr Howard was re-elected on the timing and venue for the summit. Mr Howard has now revealed he expects to travel to Indonesia for the top level meeting in February or March. It will be his second visit to Jakarta within a year. The two leaders met in Jakarta in August shortly after President Megawati took on the role. Australia and Indonesia are co-hosting an international summit on people smuggling issues in February and those issues are expected to again be a key part of the bilateral talks. Australia and Indonesia are also discussing the resumption of military ties. President Megawati signalled the relationship between the two nations had strengthened by sending a congratulatory letter to Mr Howard after the election. +Businessmen Solomon Lew and Lindsay Fox have called on the Federal Government to help break Qantas' dominance to ensure their bid for Ansett is successful. The pair met with the Victorian Premier, Steve Bracks, yesterday to update him on the progress of the bid. Over the weekend, the Federal Government ruled out further assistance for the proposal. Mr Lew says he has not requested financial assistance from the Government, but a review of trade practices could be important. He says he is also hopeful the Government will help break Qantas' dominance of the aviation industry. "We are concerned of the fact that at this point in time...the largest competitor has over 90 per cent market share and the Deputy Prime Minister, John Anderson, did quote both to Lindsay and myself and publicly that he would regulate it to 65 per cent," Mr Lew said. He says the bid does not require any other government help. "At no time did we ever ask the Government for any grant or any cash payment or any dollars from taxpayers. "What we asked for was for business from the Government, which will be forthcoming in our opinion, and an assurance that there would be a trade practices review of the current airline situation." +A director of a defunct Swiss company that organised a canyoning trip in 1999 that ended with 21 people dying, 14 of them Australians, has denied responsibility for the tragedy. Along with two co-directors who are also charged with manslaughter, Adventure World director Stephan Friedli appeared in court on the first day of their trial. He described the deaths of 21 people in the Saxeten River Gorge as an accident that was unforeseeable and not preventable. Friedli said he was aware of the possibility the river could flood, but when asked whether his company carried out risk analysis he replied: "We know the region, we live here". To the question, "you know what you are accused of, have you made any mistakes?", Mr Friedli replied: "No, I don't think so". +The storm clean-up in Sydney will resume in earnest this morning as fresh crews are brought in to replace State Emergency Service (SES) personnel who worked through the night. The storm hit Sydney early yesterday afternoon and two schoolgirls died when a tree fell on them at a reserve at Hornsby Heights in the city's north. A number of other people were injured as the storm brought down trees and power poles and lifted roofs. New South Wales Emergency Services Minister Bob Debus says welfare and emergency funding arrangements have been put in place with the declaration of natural disaster areas in Campbeltown, Hornsby, Warringah and Kurringai. "Welfare services become available if they are needed, local government is refunded any money it spends on the clean-up or that it spends on repairing its own infrastructure. "Low interest loans, if they are needed, are available to small business to help them get back on their feet again," Mr Debus said. Energy Australia says power has been restored to 35,000 customers and work will continue today to reconnect those still without electricity. Energy Australia's Peter Leete says work will concentrate around the worst hit areas. "The worst of the problems we have still got are in Sydney's northern suburbs which seem to be the worst hit of all, and that's around Hornsby, St Ives, Turramurra and Frenches Forest," Mr Leete said. Four hundred SES volunteers are responding to more than 3,000 calls for assistance. The volunteers have worked throughout the night to remove trees from homes and roads. The SES' Laura Goodin says it will take several days before the damage is cleared up. "While the SES has received fewer calls for help than in the storm two weeks ago, many of the jobs in this storm are actually quite complicated involving large trees or extensively damaged homes and businesses. "We're estimating that most of the tasks will be completed by Friday if no new storms develop," Ms Goodin said. Outside Sydney, the storms caused damage in north-east of the state and the lower Hunter. Scores of homes and farm buildings have been damaged and literally hundreds of trees have been brought down. The storms, accompanied by gale force winds and hail, left large areas around Tamworth, Gunnedah and Quirindi without electricity and telephone services. +The royal commission into the collapse of insurance giant HIH will resume in Sydney this morning. On the first day of public hearings yesterday, royal commissioner Justice Neville Owen warned all parties not to break confidentiality agreements, following the possible leak of a report to the media last month. He told the commission one of the single biggest factors in the company's collapse was that it did not plan for future claims and did not have prudential margins over the estimate of future liabilities. He says all parties involved in the crash will have a chance to put their views. "Of course fundamental principles of fairness require that before that stage of the inquiry is reached, any person whose interest might be adversely affected by a finding of a fact or a recommendation must be made clearly and unequivocally aware of that risk and be given ample opportunity to present any evidence and submissions relevant to that issue," he said. +Around 1,000 people have braved the cold for a vigil in the hometown of former Beatle George Harrison, who died last week. "Tonight we are gathered here in memory of George Harrison, a true son of Liverpool, whose music reached out to the whole world and shaped a generation," Lord Mayor Gerry Scott said. Plans for a candlelight vigil had to be scrapped due to fierce northern winds, and Harrison was honoured instead by dozens of pictures of the guitar hero, who died of cancer at age 58. After a minute's silence the crowd heard a recording of "My Sweet Lord," Harrison's biggest solo hit after the break-up of Liverpool's Fab Four, the most famous rock group in history. Harrison's family requested a second minute of silence to be held at 9:30pm local time. "We felt we had to come tonight because losing George is like losing one of the family," said Elsie May, who joined the throng in paying tribute to the Beatle known as the Silent One. "His music shaped our lives, and in the past we would take our children to see the Beatles when they were passing in a cavalcade. He was a wonderful man," she said. Leanne McCormack, a university student, said: "George was a talented musician and his music touched the lives of millions of people. "I wanted to come here tonight to pay my respects because he was such a talented man. I feel lucky to have been staying in Liverpool when he died as it has been really moving to see all the different memorials." Just before the ceremony, students from Harrison's school, Dovedales Juniors, planted a tree in his memory close to another tree planted two years ago in memory of John Lennon, another Beatle gunned down by a crazed fan in 1980. +Australian cricket coach John Buchanan says his team will be going into the final day of the series deciding third Test against New Zealand in Perth aiming to win the game. Australia will resume at 2 for 69 after being set 440 to win. Matthew Hayden is on 31 and Mark Waugh eight after Justin Langer was dismissed for a duck and Ricky Ponting 26. Buchanan says the outcome of the first session will determine whether Australia continues to pursue victory. "Hopefully we get through that without too much damage to our upper order," he said. "Lunchtime I think will be a good time to reassess where the game actually stands." Meanwhile Australian fast bowler Brett Lee faces a possible ban after being charged over alleged misconduct during day four of the match. Lee faced a disciplinary hearing last night over an incident where he twice pointed New Zealand tailender Shane Bond towards the dressing room after bowling him. He also allegedly used abusive language towards the Kiwi number 10 batsman. South African match referee Jackie Hendriks will announce his verdict before play begins today. +Defence Minister Robert Hill has confirmed Australian troops arrived in Afghanistan this morning. Senator Hill says it is an advance party and the rest of the troops will arrive within the next few days. He says Australian forces will operate with US troops in southern Afghanistan to fight the Taliban and Al Qaeda networks. Senator Hill says the operation could take several months. +Israeli soldiers have shot dead five Palestinians in two West Bank towns. An Israeli military source said the soldiers shot four Palestinians near Jenin, when Palestinian gunmen opened fire on an army patrol and the troops returned fire. Another Palestinian was killed by Israeli soldiers near the West Bank city of Tulkarem, a Palestinian security source said. Meanwhile, Palestinian police have arrested three senior leaders of the hardline Hamas group in a crackdown that netted more than 75 Islamic militants following a wave of suicide attacks in Israel, a Palestinian security source told the AFP news agency. A Hamas official confirmed the arrests of two senior leaders, Ismail Abu Shanab and Ismail Haniya, and said police have issued arrest warrants for another two, but he refused to name them. The security source said more than 75 militants from Hamas and the smaller Islamic Jihad were rounded after Yasser Arafat's Palestinian leadership vowed to crackdown on them for a wave of anti-Israeli suicide assaults. Most of the arrests came after the Palestinian leadership declared a state of emergency in the Palestinian territories giving police sweeping powers to round up militants. +The royal commission looking into the collapse of insurance giant HIH says the possible leak of a confidential document is a criminal offence. Royal commissioner Justice Neville Owen has opened the public hearings into the collapse, more than eight months after the company was placed into provisional liquidation. In his opening statement, Justice Owen called on all parties to adhere to the confidentiality requirements of a royal commission. Justice Owen says there could have been a leak of a report on the role of auditors, circulated in early November. "It is possible that someone, to whom the commission delivered a copy of the report in strict confidence disclosed its contents to the author of the article. "If so, there may have been a breach of section 6B (4) of the Royal Commissions Act 1902, that is a criminal offence," he said. +Forward indicators of the Australian labour market are failing to improve, with a further decline in newspaper employment advertising. The ANZ Bank job advertisement series has measured a 0.8 per cent fall in the number of employment notices placed in major daily newspapers during November. ANZ chief economist Saul Eslake says it is the third drop in a row, to just under 19,000 per week on average, the lowest level since March 1997. He says the survey points to a national unemployment rate of 7.25 per cent early in the new year and provides added justification for a cut in official interest rates this week. Meanwhile, the Olivier Recruitment Group's measure of Internet job advertising has recorded its biggest drop since it was started almost two years ago. It has dropped 14 per cent, following a 9 per cent fall in October. The latest result suggests 9,500 fewer jobs were advertised in cyberspace during November. The Olivier Internet Job Index is now the lowest it has ever been. The company's director, Robert Olivier, describes the job market in Australia as "shot to pieces". +The Greens have officially won their second Senate spot in Federal Parliament. The Senate count for New South Wales has been finalised with Kerry Nettle from the Greens taking the final position from long time Democrats Senator Vicki Bourne. Senator Bourne says she is very lucky to have served in the Parliament for 12 years and has nominated serving as an observer at the East Timor independence ballot as the high point of her career. She has wished Kerry Nettle well, saying it is a great honour and a great responsibility to be elected to the Senate. +Eight people are to appear in a Swiss court tomorrow charged with the manslaughter of 18 tourists and three guides, after the 1999 Interlaken canyoning tragedy. The first three defendants are managers of the now defunctoperator, Adventure World. Twenty-one people including 14 Australians were killed when a thunderstorm struck when they were canyoning down the Saxeten River Gorge near Interlaken. A massive wall of water hit the group and swept them to their deaths. It will be alleged the company, Adventure World, allowed the trip to proceed with no safety provisions in place, that they employed inexperienced staff and guides who had a lack of knowledge about the violent weather changes which can occur in the mountains. If convicted they face one year jail sentence. +The administrator of the financially troubled travel chain, Traveland, says he is confident he will have a buyer for the former Ansett subsidiary by the end of the working day. Traveland went into voluntary administration last week for the second time in three months, leaving its 550 employees uncertain about their future. Administrator Jeff McDonald says he has had offers for some, or all of the chain, from every large competitor in the travel industry. "We're going to be getting back to those people who have expressed an interest and there's quite a number and saying to them, 'put your best offer in'. "We've actually got sale contracts going out to all those people today and we're really looking at accelerating the whole thing so that we can make some final decisions," Mr McDonald said. +France is celebrating victory over Australia in the Davis Cup tennis final, after Nicholas Escude defeated Wayne Arthurs in four sets in the deciding rubber yesterday. Pat Rafter was forced to withdraw from the match with a recurring arm injury just hours before he was to take the court. The deciding rubber was to be Rafter's farewell match before taking an indefinite break from the sport. Arthurs, who has not played a singles match since October, says he was bitterly disappointed to lose. "Any tennis players dream to be out there in front of a partisan Australain crowd. You couldn't ask for anything more in your tennis career and I'm just unbelievably disappointed I didn't get the job done," he said. Team captain John Fitzgerald has defended the decision to play Rafter in the doubles on Saturday, saying he was always in doubt for the final match. "There was no guarantee he could have played. I tell you anyone with less character wouldn't have lasted nearly as long. "There was no guarantee he could play the doubles to start with, let alone the singles and if he had a day off there was still no guarantee." Rafter failed to show up to the post-match media conference. Team officals said he was tired, however Todd Woodbridge hit out at the media for wanting to ask him about his future plans. "It's been [asked] 55 times every day for two and a half weeks, I mean what do you want him to say?" he asked reporters. French team captain Guy Forget says the victory in part makes up for France's defeat against Australia in Nice two years ago. "You're back in Australia against a better team on grass, against the number one player in the world and you pull off a win, it's very, very exciting and the way it happened is just very, very special," he said. Escude says winning the match for France is the highlight of his career. The Palestinian Authority has launched a crackdown on Islamic militants arresting more than 70 members of the Islamic Jihad and Hamas groups in the wake of a weekend of deadly bomb attacks against Israel. The Israeli Government is warning of a harsh response to the attacks, the latest in the coastal city of Haifa. A lone suicide bomber boarded a bus in the northern Israeli town and detonated a device that killed 15 Israeli passengers, some of them blown clear of the wreckage. That attack came just 12 hours after a triple bombing in Jerusalem which killed 10 young Israelis. Several Israeli Government ministers suggested that Yasser Arafat and the Palestinian leadership should now be toppled. A decision on a military response is likely to be made later today when Israeli Prime Minister, Ariel Sharon, returns from the United States. After the White House demanded action, the Palestinian Authority has declared a state of emergency and launched late night raids to arrest scores of Hamas and Islamic Jihad members in the West Bank and Gaza Strip. +Secretary of State Colin Powell says the United States believes Saudi fugitive Osama bin Laden is in the "southern and eastern part" of Afghanistan. Mr Powell says it is "just a matter of time" before bin Laden is found and the ruling Taliban defeated. Appearing on the CBS "Face the Nation" program, Mr Powell reported on the status of the US operation in Afghanistan. "[The Taliban] still hanging on in Kandahar and some of the southern provinces and the mountains to the east and to the south but they are under enormous pressure," he said. "It is just a matter of time before we achieve our objectives." Mr Powell says US President George W. Bush does not care how long the campaign takes. "He wants Osama bin Laden, he wants Al Qaeda ripped up and the Taliban has to be totally removed from power," Mr Powell said. "You can be sure that we are looking [for bin Laden] and we have quite a few ideas to pursue." The United States has a total of 1,500 to 2,000 troops on the ground in Afghanistan, according to Defense Secretary Donald Rumsfeld. "We have got 1,500 to 2,000 people," he said. Officials had earlier announced that over 1,000 US Marines are deployed near the southern city of Kandahar, the last stronghold of Afghanistan's ousted Taliban militia. The US forces also include light infantry troops in the north. Mr Rumsfeld also confirmed non-US coalition forces are also on the ground. US officers in Afghanistan say British, German and Australian liaison officers are working with the US Marines in southern Afghanistan. +A new economic report claims Australia's economy is strong enough to break its close link with the United States economy and resist following it into recession. The BankSA Trends bulletin says Australia's economy has been boosted by strong rural exports. It also says the Australian share market has been more stable over recent months and has built up a stronger immunity to the threat of recession. BankSA's acting managing director Colin Taylor, says Australia is now very capable of avoiding slumping with the US as the world economy slows. "It doesn't necessarily follow that Australia will follow the patterns in the states, although normally that would be the case," Mr Taylor said. "What we're finding at the moment is that the Australian economy is quite strong, our rural sector is quite strong and the values on our stock exchange companies are also at levels which are relatively consistent." Meanwhile, forecasting firm BIS Shrapnel says interest rates are set to remain low and will contribute to an economic boom in the middle of the decade. The firm has released its latest set of long-term projections. +Malaysian police have arrested a man believed to have smuggled thousands of boat people into Australia. The arrest comes after a two-year investigation by the Australian Federal Police (AFP) and Department of Immigration. Naeil Ahmad Abdullah, 41, was arrested in Malaysia last month for allegedly transporting thousands of boat people from the Middle East to Indonesia and into Australia. AFP Commissioner Mick Keelty says the arrest will have a significant impact on people smuggling. "What we often forget is this is transnational crime at its best," he said. The AFP says the arrest would not have happened without the coordinated effort of Malaysian and Australian authorities and believes it will lead to further arrests. +A royal commission will begin this morning in Sydney into the collapse of insurance giant HIH. While the commission held an initial procedural hearing in September, today the public hearings will begin, more than eight months after the company was placed into provisional liquidation. More than one million pages of documents have already been subpoenaed from witnesses including former directors, the Australian Securities and Investments Commission (ASIC) and the Prudential Regulatory Authority. The terms of reference include determining what contributed to the collapse, whether any laws were broken and whether regulations need to be changed. Western Australian Justice Neville Owen heads the commission, but today it is expected to hear mainly from Counsel Assisting, Wayne Martin QC. A spokesman for the commission, John Dickie, says it faces a great challenge. "The issues are quite complex really and certainly I think it's the first one into a corporation collapse like this one," Mr Dickie said. The inquiry is expected to be finished by the end of next June. +Eight people are to appear in a Swiss court tomorrow charged with the manslaughter of 18 tourists and three guides, after the 1999 Interlaken canyoning tragedy. The first three defendants are managers of the now defunctoperator, Adventure World. Twenty-one people including 14 Australians were killed when a thunderstorm struck when they were canyoning down the Saxeten River Gorge near Interlaken. A massive wall of water hit the group and swept them to their deaths. It will be alleged the company, Adventure World, allowed the trip to proceed with no safety provisions in place, that they employed inexperienced staff and guides who had a lack of knowledge about the violent weather changes which can occur in the mountains. If convicted they face one year jail sentence. +There is a renewed attempt to move the debate over choosing an Australian head of state forward, after a conference in southern New South Wales at the weekend. In Corowa, delegates adopted a proposal which recommended a plebiscite to direct another constitutional convention and referendum on a republic and Australian head of state. A committee will meet in about four weeks to work on the next step in the campaign. One of the proposal's developers, historian Walter Phillips, hopes there is a vote on an Australian head of state in about five years. "I think that in five or six years we should be pretty near if we can get this process going and carried forward. "Now we have to persuade our political leaders that it is something they should take up, that's going to be one of the problems," Mr Phillips said. +A third case of mad cow disease has been confirmed in Japan. A panel of experts at Japan's Health Ministry has confirmed that another cow has the disease. Officials say all meat and organs from the dairy cow will be incinerated. It is Japan's third case of mad cow disease and a ministerial spokesman says he cannot tell how many more cases will be found as a nationwide test continues. The government has not determined the source of the outbreak. +Unions and a major electricity producer will take part in government-sponsored talks this afternoon, in a bid to end a long running dispute over an enterprise bargaining agreement. The row has been running nearly two years, and has led to work bans as unions press their case. The Victorian State Government has called in Yallourn Energy and power industry unions to try and resolve the dispute, which could lead to blackouts. The Yallourn Power station is Victoria's third biggest, producing a fifth of the state's electricity. Despite in-principle support for a new enterprise bargaining agreement being reached last year, it still has not been signed off. Yallourn Energy takes the matter to the Industrial Relations Commission tomorrow, seeking compulsory arbitration. Victoria's Industrial Relations Minister, Monica Gould, admits the dispute is frustrating. "We want this matter resolved as soon as possible and the only way to do that is for the parties to sit around the table and negotiate an outcome," she said. +Rival Afghan factions are deadlocked over the shape of a future government. The Northern Alliance has demanded a 10-day adjournment of power-sharing talks in Germany, after its President Burhanuddin Rabbani objected to the appointment system for an interim administration. President Rabbani has objected to the plans for an interim government to be drawn up by appointment as discussed in Bonn, saying the interim leaders should be voted in by Afghans themselves. He also says there is no real need for a sizeable international security force. President Rabbani says he would prefer local Afghan factions drew up their own internal security forces of around 1,000 personnel. But if the world insisted there should be an international security presence, there should be no more than 100 or 200 personnel in their security forces he says. President Rabbani's objections are likely to cast doubt on his delegation's ability to commit the Northern Alliance to any course of action decided upon in Bonn. He now threatens to undermine the very process he claims to support in the quest for a stable government in Afghanistan. +George Harrison the guitarist, songwriter and film producer was widely known as the "quiet" Beatle. As the youngest Beatle, he had to be snuck in underage to venues prior to the band's phenomenal success in the early 1960s. He was responsible for some of the band's classic songs, such as Taxman, Here comes the Sun and Something. But up against the genius of Paul McCartney and John Lennon, his songs were hard-pressed to make it onto vinyl. Resentment built up and Harrison withdrew from the limelight. After the Beatles broke up he found solo success in 1971, with the track My Sweet Lord, although he was successfully sued for plagiarism and had to pay out half-a-million-pounds in damages. Always against a Beatles reformation, he famously declared in 1989 that the band would reform when Lennon was no longer dead. In later years he was beset by lung and throat cancer. He was lucky to survive a stabbing by an intruder in his UK home in 1999. He was known for his love of eastern mysticism, motor racing and his second wife Olivia, who saved his life in the knife attack. +Virgin Airline's first dawn flight between Launceston and Melbourne got away on time this morning, despite passengers being checked-in through a tent. Virgin Blue has set up a temporary marquee terminal at Launceston airport after it was told by Ansett administrators that it could no longer share its terminal space. Virgin's deputy chief executive Rob Sherrard says the airline had an agreement with Ansett to use the check-in facilities for its lunchtime Launceston to Melbourne service but this could be terminated with seven days notice. Virgin was told last Thursday, it would have to move out throwing into disarray the airline's plans for second daily flight to Tasmania launched this morning. Mr Sherrard says he has not heard from the administrators since. "Basically they were unwinding the contract that we had and we certainly were not able to access the terminal for our second daily flights to Launceston and of course Canberra as well," he said. "That meant we had to make alternative arrangements." +A team of Australian and Israeli scientists have conducted what they believe is successful research into using human embryo cells to repair brain damage. But their findings have been released just days after US president George W Bush criticised similar research by a team of Americans. Earlier this week Massachusetts based company Advance Cell Technologies said it had successfully cloned an early stage human embryo. The announcement sparked recriminations from US Congressmen with President Bush saying he was 100 per cent against any type of human cloning. Now an Australian-Israeli team has used excess IVF embryos to create precursor brain cells which they injected into the brains of baby mice. The findings show the brain cells grew to be indistinguishable from other brain tissue. While the research could prove useful in treating a variety of conditions including Parkinson's disease, it is likely to come under fire from human rights groups as it involves the destruction of human embryos. +Today is World Aids Day and the latest figures show that 40 million people are living with HIV world-wide. The latest United Nations report on the AIDS epidemic has found Eastern Europe and the republics of the former Soviet Union are becoming the new battleground in the fight against the disease. UN officials say in Russia the number of people carrying HIV doubles almost annually, while Ukraine has become the first nation in Europe to report 1 per cent of its adult population is HIV positive. The officials say a combination of economic insecurity, high unemployment and deteriorating health services are behind the steep rise. +The Federal National Party has rejected a possible merger with the Liberals' at this stage, but it has not ruled out the option over the next three years. Liberal Party President Shane Stone is reported as saying amalgamation has to be considered as a strategy for the future of the Coalition. It comes as the two parties fight over numbers and muscle within the parliamentary groupings of the Coalition. National Party President Helen Dickie says merging the two parties is not necessary. "I guess you cannot categorically rule out anything. There will be discussions by all states, but the states at this stage have led me to understand that certainly amalgamation for them is not an issue," she said. +A University of Canberra academic's proposal for a republic will be one of five discussed at an historic conference, starting in Corowa today. The conference is part of Centenary of Federation celebrations and recognises the Corowa conference of 1893 which began the process towards the federation of Australia in 1901. University of Canberra law lecturer BedeHarris is proposing three referenda to determine the republic issue. They would decide on whether the monarchy should be replaced, the codification powers for a head of state and the choice of a republic model. Doctor Harris says any constitutional change must involve all Australians. "I think it is very important that the people of Australia be given the opporunity to choose or be consulted at every stage of the process." +Australia will take on France in the doubles rubber of the Davis Cup tennis final today with the tie levelled at 1-1. Wayne Arthurs and Todd Woodbridge are scheduled to lead Australia in the doubles against Cedric Pioline and Fabrice Santoro. However changes can be made to the line-up up to an hour before the match and Australian team captain John Fitzgerald suggested he might do just that. "We'll make a team appraisal of the whole situation, go over the pros and cons and make a decision" French team captain Guy Forget says he will not make changes but does not know what to expect from Australia. "Todd is the best doubles player in the world right now so I expect him to play," he said. "I would probably use Wayne Arthurs but I don't know what to expect really." Pat Rafter salvaged Australia's Davis Cup campaign yesterday with a win in the second singles match. Rafter overcame an arm injury to defeat French number one Sebastien Grosjean in three sets. The Australian says he is happy with his form. "It's not very pretty tennis, there isn't too many consistent bounces, you are playing like I said a bit of a classic old grass court," Rafter said. Rafter levelled the score after Lleyton Hewitt's shock five set loss to Nicholas Escude in the first singles rubber. But Rafter says he felt no added pressure after Hewitt's defeat. "I knew I had a good team to back me up even if we were down 2-0," he said. "I knew I could win on the last day, I know the boys can win doubles, so even if we were down 2-0 I still feel we are a good enough team to win and vice-versa, they are good enough team to beat us as well." \ No newline at end of file diff --git a/gensim-develop/gensim/test/test_data/miIslita.cor b/gensim-develop/gensim/test/test_data/miIslita.cor new file mode 100644 index 0000000000..ce949b246c --- /dev/null +++ b/gensim-develop/gensim/test/test_data/miIslita.cor @@ -0,0 +1,5 @@ +LSI tutorials and fast tracks +Books on semantic analysis +Learning latent semantic indexing +Advances in structures and advances in indexing +Analysis of latent structures diff --git a/gensim-develop/gensim/test/test_data/para2para_text1.txt b/gensim-develop/gensim/test/test_data/para2para_text1.txt new file mode 100644 index 0000000000..560e580586 --- /dev/null +++ b/gensim-develop/gensim/test/test_data/para2para_text1.txt @@ -0,0 +1,6 @@ +New York is a state in the Northeastern region of the United States. It is the nation's third most populous state. New York is bordered by New Jersey and Pennsylvania to the south, and by Connecticut, Massachusetts and Vermont to the east. The state has a maritime border with Rhode Island east of Long Island, as well as an international border with the Canadian provinces of Ontario to the north and west, and Quebec to the north. New York is often referred to as New York State to distinguish it from New York City. New York City, with a population of over 8,000,000 people, is the most populous city in the United States. It is known for its status as a financial, cultural, transportation, and manufacturing center, and for its history as a gateway for immigration to the United States. According to the U.S. Department of Commerce, it is also a destination of choice for many foreign visitors. Both state and city were named for the 17th century Duke of York, James Stuart, future James II and VII of England and Scotland. New York was inhabited by the Algonquian, Iroquois, and Lenape Native American groups at the time Dutch settlers moved into the region in the early 17th century. In 1609, the region was first claimed by Henry Hudson for the Dutch. Fort Nassau was built near the site of the present-day capital of Albany in 1614. The Dutch soon also settled New Amsterdam and parts of the Hudson River Valley, establishing the colony of New Netherland. The British took over the colony by annexation in 1664. The borders of the British colony, the Province of New York, were roughly similar to those of the present-day state. About one third of all the battles of the Revolutionary War took place in New York. New York became an independent state on July 9, 1776, and enacted its constitution in 1777. The state ratified the United States Constitution on July 26, 1788 to become the eleventh state of the union. +17th century During the 17th century, Dutch trading posts established for the trade of pelts from the Lenape, Iroquois and other indigenous peoples expanded into the colony of New Netherland. The first of these trading posts were Fort Nassau (1614, near present-day Albany); Fort Orange (1624, on the Hudson River just south of the current city of Albany and created to replace Fort Nassau), developing into settlement Beverwijck (1647), and into what became Albany; Fort Amsterdam (1625, to develop into the town New Amsterdam which is present-day New York City); and Esopus, (1653, now Kingston). The success of the patroonship of Rensselaerswyck (1630), which surrounded Albany and lasted until the mid 19th century, was also a key factor in the early success of the colony. The British captured the colony during the Second Anglo-Dutch War and governed it as the Province of New York. +American Revolution The Sons of Liberty were organized in New York City during the 1760s, largely in response to the oppressive Stamp Act passed by the British Parliament in 1765. The Stamp Act Congress met in the city on October 19 of that year: a gathering of representatives from across the Thirteen Colonies that set the stage for the Continental Congress to follow. The Stamp Act Congress resulted in the Declaration of Rights and Grievances, which was the first written expression by representatives of the Americans of many of the rights and complaints later expressed in the United States Declaration of Independence, including the right to representative government. The Capture of Fort Ticonderoga provided the cannon and gunpowder necessary to force a British withdrawal from the Siege of Boston in 1775. New York endorsed the Declaration of Independence on July 9, 1776.[4] The New York state constitution was framed by a convention which assembled at White Plains, New York on July 10, 1776, and after repeated adjournments and changes of location, terminated its labors at Kingston, New York on Sunday evening, April 20, 1777, when the new constitution drafted by John Jay was adopted with but one dissenting vote. It was not submitted to the people for ratification. On July 30, 1777, George Clinton was inaugurated as the first Governor of New York at Kingston. The first major battle of the American Revolutionary War after independence was declared - and the largest battle of the entire war - was fought in New York at the Battle of Long Island (a.k.a Battle of Brooklyn) in August of 1776. British victory made New York City their military and political base of operations in North America for the duration of the conflict, and consequently the center of attention for General George Washington's intelligence network. The notorious British prison ships of Wallabout Bay saw more American combatants die of intentional neglect than were killed in combat in every battle of the war, combined. The first of two major British armies were captured by the Continental Army at the Battle of Saratoga in 1777, influencing France to ally with the revolutionaries. In an attempt to retain their sovereignty and remain an independent nation positioned between the new United States and British North America, four of the Iroquois nations fought on the side of the British; only the Oneidas and their dependents the Tuscaroras allied themselves to the Americans.[5] The Sullivan Expedition of 1778 and 1779 destroyed nearly 50 Iroquois villages and adjacent croplands, forcing many refugees to British-held Niagara.[6] As allies of the British, the Iroquois were resettled in Canada after the war. In the treaty settlement, the British ceded most Indian lands to the new United States. Because New York made treaty with the Iroquois without getting Congressional approval, some of the land purchases are the subject of modern-day claims by the individual tribes. More than 5 million acres (20,000 km2) of former Iroquois territory was put up for sale in the years after the Revolutionary War, leading to rapid development in upstate New York.[7] As per the Treaty of Paris, the last vestige of British authority in the former Thirteen Colonies - their troops in New York City - departed in 1783, which was long afterwards celebrated as Evacuation Day.[8] Following heated debate, which included the publication of the now quintessential constitutional interpretation - the Federalist Papers - as a series of installments in New York City newspapers, New York was the 11th state to ratify the United States Constitution, on July 26, 1788.[9] +19th century Transportation in western New York was difficult before canals were built in the early part of the 19th century. The Hudson and Mohawk Rivers could be navigated only as far as Central New York. While the St. Lawrence River could be navigated to Lake Ontario, the way westward to the other Great Lakes was blocked by Niagara Falls, and so the only route to western New York was over land. Governor DeWitt Clinton strongly advocated building a canal to connect the Hudson River with Lake Erie, and thus all the Great Lakes. Work commenced in 1817, and the Erie Canal was finished in 1825. It was considered an engineering marvel. Packet boats traveled up and down the canal with sightseers and visitors on board.[10] The canal opened up vast areas of New York to commerce and settlement. It enabled Great Lakes port cities such as Buffalo and Rochester to grow and prosper. It also connected the burgeoning agricultural production of the Midwest and shipping on the Great Lakes, with the port of New York City. Improving transportation, it enabled additional population migration to territories west of New York. +Climate Lake-effect snow is a major contributor to snowfall totals in western New York. In general, New York has a humid continental climate, though under the Koeppen climate classification, New York City has a humid subtropical climate.[17] Weather in New York is heavily influenced by two continental air masses: a warm, humid one from the southwest and a cold, dry one from the northwest. The winters are long and cold in the Plateau Divisions of the state. In the majority of winter seasons, a temperature of -13 F (-25 C) or lower can be expected in the northern highlands (Northern Plateau) and 5 F (-15 C) or colder in the southwestern and east-central highlands (Southern Plateau). The summer climate is cool in the Adirondacks, Catskills and higher elevations of the Southern Plateau. The New York City/Long Island area and lower portions of the Hudson Valley have rather warm summers by comparison, with some periods of high, uncomfortable humidity. The remainder of New York State enjoys pleasantly warm summers, marred by only occasional, brief intervals of sultry conditions. Summer daytime temperatures usually range from the upper 70s to mid 80s F (25 to 30 C), over much of the state. New York ranks 46th among the 50 states in the amount of greenhouse gases generated per person. This efficiency is primarily due to the state's higher rate of mass transit use.[18] +Geography New York covers 49,576 square miles (128,400 km2) and ranks as the 27th largest state by size.[12] The Great Appalachian Valley dominates eastern New York, while Lake Champlain is the chief northern feature of the valley, which also includes the Hudson River flowing southward to the Atlantic Ocean. The rugged Adirondack Mountains, with vast tracts of wilderness, lie west of the valley. Most of the southern part of the state is on the Allegheny Plateau, which rises from the southeast to the Catskill Mountains. The western section of the state is drained by the Allegheny River and rivers of the Susquehanna and Delaware systems. The Delaware River Basin Compact, signed in 1961 by New York, New Jersey, Pennsylvania, Delaware, and the federal government, regulates the utilization of water of the Delaware system. The highest elevation in New York is Mount Marcy in the Adirondacks.[3] New York's borders touch (clockwise from the west) two Great Lakes (Erie and Ontario, which are connected by the Niagara River); the provinces of Ontario and Quebec in Canada; Lake Champlain; three New England states (Vermont, Massachusetts, and Connecticut); the Atlantic Ocean, and two Mid-Atlantic States, New Jersey and Pennsylvania. In addition, Rhode Island shares a water border with New York. New York is the only state that touches both the Great Lakes and the Atlantic Ocean. In contrast with New York City's urban atmosphere, the vast majority of the state is dominated by farms, forests, rivers, mountains, and lakes. New York's Adirondack Park is the largest state park in the United States. It is larger than the Yellowstone, Yosemite, Grand Canyon, Glacier and Olympic National Parks combined.[13] New York established the first state park in the United States at Niagara Falls in 1885. Niagara Falls, on the Niagara River as it flows from Lake Erie to Lake Ontario, is a popular attraction. The Hudson River begins at Lake Tear of the Clouds and flows south through the eastern part of the state without draining Lakes George or Champlain. Lake George empties at its north end into Lake Champlain, whose northern end extends into Canada, where it drains into the Richelieu and then the St. Lawrence Rivers. Four of New York City's five boroughs are on three islands at the mouth of the Hudson River: Manhattan Island; Staten Island; and Long Island, which contains Brooklyn and Queens on its western end. Upstate and downstate are often used informally to distinguish New York City or its greater metropolitan area from the rest of New York state. The placement of a boundary between the two is a matter of great contention.[14] Unofficial and loosely defined regions of Upstate New York include the Southern Tier, which often includes the counties along the border with Pennsylvania,[15] and the North Country, which can mean anything from the strip along the Canadian border to everything north of the Mohawk River.[16] \ No newline at end of file diff --git a/gensim-develop/gensim/test/test_data/para2para_text2.txt b/gensim-develop/gensim/test/test_data/para2para_text2.txt new file mode 100644 index 0000000000..b5c80c6d8c --- /dev/null +++ b/gensim-develop/gensim/test/test_data/para2para_text2.txt @@ -0,0 +1,7 @@ +Berlin is the capital city of Germany, and is one of the sixteen states of Germany. It has a population of 3.4 million people,[1] and is Germany's largest city. It is the second most populous city proper and the eighth most populous urban area in the European Union.[3] Located in northeastern Germany, it is the center of the Berlin/Brandenburg Metropolitan Region, comprising 5 million people from over 190 nations.[4] Geographically embedded in the European Plains, Berlin is influenced by a temperate seasonal climate. Around one third of the city's territory is composed of forests, parks, gardens, rivers and lakes.[5] First documented in the 13th century, Berlin was successively the capital of the Kingdom of Prussia (1701-1918), the German Empire (1871-1918), the Weimar Republic (1919-1933) and the Third Reich (1933-1945).[6] Berlin in the 1920s was the third largest municipality in the world.[7] After World War II, the city was divided; East Berlin became the capital of East Germany while West Berlin became a de facto West German exclave, surrounded by the Berlin Wall (1961-1989).[8] Following German reunification in 1990, the city regained its status as the capital of all Germany hosting 147 foreign embassies.[9][10] Berlin is a world city of culture, politics, media, and science.[11][12][13][14] Its economy is primarily based on the service sector, encompassing a diverse range of creative industries, media corporations, congress and convention venues. Berlin serves as a continental hub for air and rail transport,[15][16] and is one of the most visited tourist destinations in the EU.[17] Significant industries include IT, pharmaceuticals, biomedical engineering, biotechnology, optoelectronics, traffic engineering, and renewable energy. The metropolis is home to renowned universities, research institutes, sporting events, orchestras, museums and personalities.[18] The urban and historical legacy has made it a popular setting for international film productions.[19] The city is recognized for its festivals, diverse architecture, nightlife, contemporary arts, public transportation networks and a high quality of living.[20] Berlin has evolved into a global focal point for young individuals and artists attracted by a liberal lifestyle and modern zeitgeist.[21] +History The name Berlin is of unknown origin, but may be related to the Old Polabian stem berl-/birl- "swamp".[22] The earliest evidence of settlements in today's Berlin central areas is a wooden beam dated from approximately 1192.[23] The first written mention of towns in the area of present-day Berlin dates from the late 12th century. Spandau is first mentioned in 1197, and Koepenick in 1209, though these areas did not join Berlin until 1920.[24] The central part of Berlin can be traced back to two towns. Coelln on the Fischerinsel is first mentioned in a 1237 document, and Berlin, across the Spree in what is now called the Nikolaiviertel, is referenced in a document from 1244.[23] The former is considered to be the "founding date". From the beginning, the two cities formed an economic and social unit. In 1307, the two cities were united politically. Over time, the twin cities came to be known simply as Berlin. In 1435, Frederick I became the elector of the Margraviate of Brandenburg, which he ruled until 1440.[25] His successor, Frederick II Irontooth, established Berlin as capital of the margraviate, and subsequent members of the Hohenzollern family ruled until 1918 in Berlin, first as electors of Brandenburg, then as kings of Prussia, and finally as German emperors. In 1448 citizens rebelled in the "Berlin Indignation" against the construction of a new royal palace by Frederick II Irontooth. This protest was not successful, however, and the citizenry lost many of its political and economic privileges. In 1451 Berlin became the royal residence of the Brandenburg electors, and Berlin had to give up its status as a free Hanseatic city. In 1539, the electors and the city +17th to 19th centuries The Thirty Years' War between 1618 and 1648 had devastating consequences for Berlin. A third of the houses were damaged and the city lost half of its population.[27] Frederick William, known as the "Great Elector", who had succeeded his father George William as ruler in 1640, initiated a policy of promoting immigration and religious tolerance. With the Edict of Potsdam in 1685, Frederick William offered asylum to the French Huguenots. More than 15,000 Huguenots went to Brandenburg, of whom 6,000 settled in Berlin. By 1700, approximately 20 percent of Berlin's residents were French, and their cultural influence on the city was immense. Many other immigrants came from Bohemia, Poland, and Salzburg. With the coronation of Frederick I in 1701 as king (in Koenigsberg), Berlin became the new capital of the Kingdom of Prussia (instead of Koenigsberg); this was a successful attempt to centralize the capital in the very outspread Prussian Kingdom, and it was the first time the city began to grow. In 1740 Frederick II, known as Frederick the Great (1740-1786), came to power. Berlin became, under the rule of the philosophically oriented Frederick II, a center of the Enlightenment. Following France's victory in the War of the Fourth Coalition, Napoleon Bonaparte marched into Berlin in 1806, but granted self-government to the city. In 1815 the city became part of the new Province of Brandenburg. The Industrial Revolution transformed Berlin during the 19th century; the city's economy and population expanded dramatically, and it became the main rail hub and economic center of Germany. Additional suburbs soon developed and increased the area and population of Berlin. In 1861, outlying suburbs including Wedding, Moabit, and several others were incorporated into Berlin. In 1871, Berlin became capital of the newly founded German Empire. On 1 April 1881 it became a city district separate from Brandenburg. +20th century At the end of World War I in 1918, a republic was proclaimed in Berlin. In 1920, the Greater Berlin Act incorporated dozens of suburban cities, villages, and estates around Berlin into an expanded city. This new area encompassed Spandau and Charlottenburg in the west, as well as several other areas that are now major municipalities. After this expansion, Berlin had a population of around four million. During the Weimar era, Berlin became internationally renowned as a center of cultural transformation, at the heart of the Roaring Twenties. On 30 January 1933 (Machtergreifung), Adolf Hitler and the Nazi Party came to power. Nazi rule destroyed Berlin's Jewish community, which had numbered 170,000 before 1933. After the Kristallnacht pogrom in 1938, thousands of the city's German Jews were imprisoned in the nearby Sachsenhausen concentration camp or, in early 1943, were shipped to death camps, such as Auschwitz. During the Second World War, large parts of Berlin were destroyed in the 1943-45 air raids and during the Battle of Berlin. Among the hundreds of thousands who died during the Battle for Berlin, an estimated 125,000 were civilians.[28] After the end of the war in Europe in 1945, Berlin received large numbers of refugees from the Eastern provinces. The victorious powers divided the city into four sectors, analogous to the occupation zones into which Germany was divided. The sectors of the Western Allies (the United States, the United Kingdom and France) formed West Berlin, while the Soviet sector formed East Berlin.[29] All four allies retained shared responsibility for Berlin. However, in 1948, when the Western allies extended the currency reform in the Western zones of Germany to the three western sectors of Berlin, the Soviet Union imposed a blockade on the access routes to and from West Berlin, which lay entirely inside Soviet controlled territory. The allies successfully overcame the blockade by the Berlin airlift, which flew in food and other supplies to the city from 24 June 1948 to 11 May 1949.[30] In 1949, the Federal Republic of Germany was founded in West Germany, and eventually included all of the American, British, and French zones, excluding those three countries' zones in Berlin, while the Marxist-Leninist German Democratic Republic was proclaimed in East Germany. West Berlin officially remained an occupied city, but for all practical purposes, it was assimilated to the Federal Republic of Germany without actually being a part of it. West Berlin issued its own postage stamps which were often the same as West German postage stamps but with the additional word 'Berlin' added. Airline service to West Berlin was granted only to American, British, and French airlines. +The fall of the Berlin Wall in 1989. The founding of the two German states increased Cold War tensions. West Berlin was surrounded by East German territory. East Germany, however, proclaimed East Berlin (which it described only as "Berlin") as its capital, a move that was not recognized by the Western powers. Although half the size and population of West Berlin, it included most of the historic center of the city. The West German government, meanwhile, established itself provisionally in Bonn.[31] The tensions between east and west culminated in the construction of the Berlin Wall between East and West Berlin and other barriers around West Berlin by East Germany on 13 August 1961 and were exacerbated by a tank standoff at Checkpoint Charlie on 27 October 1961. West Berlin was now de facto a part of West Germany with a unique legal status, while East Berlin was de facto a part of East Germany. Berlin was completely divided. It was possible for Westerners to pass from one to the other only through strictly controlled checkpoints. For most Easterners, travel to West Berlin or West Germany was no longer possible. In 1971, a Four-Power agreement guaranteed access across East Germany to West Berlin and ended the potential for harassment or closure of the routes.[32] In 1989, pressure from the East German population broke free across the Berlin Wall on 9 November 1989, which was subsequently mostly demolished. Not much is left of it today; the East Side Gallery in Friedrichshain near the Oberbaumbruecke over the Spree preserves a portion of the Wall. Democracy and market economy changed East Germany and East Berlin. On 3 October 1990 the two parts of Germany were reunified as the Federal Republic of Germany, and Berlin became the German capital according to the unification treaty. In June 1991 the German Parliament, the Bundestag, voted to move the (West) German capital back from Bonn to Berlin. In 1999, the German parliament and government began their work in Berlin. +Geography Berlin is located in eastern Germany, about 70 kilometers (43 mi) west of the border with Poland in an area with marshy terrain, and is surrounded by the federal state of Brandenburg. The Berlin-Warsaw Urstromtal (ice age melt water flow), between the low Barnim plateau to the north and the Teltow plateau to the south, was formed by water flowing from melting ice sheets at the end of the last ice age. The Spree follows this valley now. In Spandau, Berlin's westernmost borough, the Spree meets the river Havel, which flows from north to south through western Berlin. The course of the Havel is more like a chain of lakes, the largest being the Tegeler See and Grosser Wannsee. A series of lakes also feeds into the upper Spree, which flows through the Grosser Mueggelsee in eastern Berlin.[33] Substantial parts of present-day Berlin extend onto the low plateaus on both sides of the Spree Valley. Large parts of the boroughs Reinickendorf and Pankow lie on the Barnim plateau, while most of the boroughs Charlottenburg-Wilmersdorf, Steglitz-Zehlendorf, Tempelhof-Schoeneberg, and Neukoelln lie on the Teltow plateau. The borough of Spandau lies partly within the Berlin Urstromtal and partly on the Nauen Plain, which stretches to the west of Berlin. The highest elevations in Berlin are the Teufelsberg and the Mueggelberge. Both hills have an elevation of about 115 metres (377 ft). The Teufelsberg is in fact an artificial pile of rubble from the ruins of World War II. +Climate Berlin has a humid continental climate according to the Koeppen climate classification system. The city features a temperate climate. Summers are warm with average high temperatures of 22-25 C (72-77 F) and lows of 12-14 C (54-57 F). Winters are cold with average high temperatures of 4 C (39 F) and lows of -2 to 0 C (28 to 32 F). Spring and autumn are generally chilly to mild. Berlin's built-up area creates a microclimate, with heat stored by the city's buildings. Temperatures can be 4 C (7 F) higher in the city than in the surrounding areas.[34] Annual precipitation is 570 millimeters (22 in) with moderate rainfall throughout the year. Light snowfall mainly occurs from December through March, but snow cover does not usually remain for long. The recent winter of 2009/2010 was an exception as there was a permanent snow cover from late December till early March.[35] \ No newline at end of file diff --git a/gensim-develop/gensim/test/test_data/similarities0-1.txt b/gensim-develop/gensim/test/test_data/similarities0-1.txt new file mode 100644 index 0000000000..6d67f5782b --- /dev/null +++ b/gensim-develop/gensim/test/test_data/similarities0-1.txt @@ -0,0 +1,50 @@ +1 0.3 0.24 0.2 0.3 0.5 0.26 0.24 0.2 0.26 0.26 0.26 0.24 1 0.26 0.32 0.24 0.28 0.22 0.26 0.2 0.52 0.22 0.2 0.26 0.22222222 0.22 0.28 0.34 0.3 0.26 0.48 0.96 0.22 0.33333334 0.3 0.22 0.25454546 0.36 0.22 0.24 0.24 0.26 0.22 0.36 0.44 0.24 0.36 0.32 0.5 +0 1 0.28 0.2 0.24 0.24 0.24 0.3 0.26666666 0.2 0.2 0.2 0.24 0.24 0.23636364 0.2 0.22 0.3 0.26 0.3 0.22 0.46 0.24 0.24 0.2 0.2 0.28 0.2 0.24 0.22 0.22 0.3 0.4 0.2 0.2 0.2 0.26 0.22 0.28 0.24 0.22 0.32 0.22 0.24 0.22 0.25454546 0.2 0.24 0.7 0.26 +0 0 1 0.36 0.46 0.26 0.46 0.34 0.22 0.46 0.36 0.46 0.36 0.34 0.24 0.68 0.36 0.5 0.4 0.46 0.48 0.24 0.26 0.32 0.36 0.32 0.36 0.36 0.44 0.22 0.2 0.3 0.54 0.2 0.22 0.4 0.44444444 1 0.2909091 0.34 0.26 0.52 0.42 0.32 0.3 0.46 0.26 0.44 0.28 0.36 +0 0 0 1 0.46666666 0.22 0.8 0.78 0.2 0.62 0.66 0.72 0.32 0.26 0.2 0.74 0.33333334 0.42 0.26 0.26 0.6 0.22 0.52 0.58 0.3 0.46 0.54 0.62 0.62 0.2 0.32 0.24 0.24 0.24 0.24 0.8 0.28 0.34 0.38 0.28 0.2 0.58 0.37777778 0.38 0.32 0.56 0.26 0.46 0.2 0.36 +0 0 0 0 1 0.22 0.36 0.42 0.24 0.78 0.68 0.56 0.24 0.26 0.22 0.7 0.34 0.28 0.24 0.4 0.44 0.22 0.48 0.48 0.32 0.32 0.5 0.38 0.34 0.22 0.24444444 0.38 0.32 0.22 0.22 0.44 0.42 0.32 0.26 0.24 0.2 0.76 0.38 0.46 0.28 0.4 0.26 0.34 0.22 0.32 +0 0 0 0 0 1 0.2 0.32 0.2 0.2 0.24 0.22 0.24444444 0.33333334 0.54 0.2 0.22 0.24 0.48 0.4 0.2 0.2 0.38 0.2 0.26 0.34 0.24 0.26 0.2 0.42 0.3 0.24 0.26 0.2 0.34 0.28 0.2 0.2 0.4 0.26 0.22 0.26 0.3 0.22 0.22 0.22 0.23636364 0.3 0.28 0.26 +0 0 0 0 0 0 1 0.74 0.2 0.54 0.68 0.62 0.3 0.3 0.22 0.68 0.32 0.22 0.2 0.32 0.62 0.22 0.58 0.48888888 0.34 0.36 0.54 0.84 0.42 0.22 0.2 0.32 0.26 0.24 0.34 0.78 0.27272728 0.34 0.24 0.28 0.2 0.5 0.32 0.26 0.38 0.38 0.2 0.4 0.22 0.26 +0 0 0 0 0 0 0 1 0.24 0.58 0.62 0.64 0.26 0.26 0.24 0.7 0.24 0.26 0.2 0.28 0.94 0.26 0.5 0.46 0.32 0.44 0.5 0.76 0.44 0.24 0.38 0.24 0.2 0.2 0.34 0.72 0.26 0.28 0.34 0.22 0.28 0.6 0.26 0.25454546 0.26 0.44 0.22 0.56 0.22 0.22 +0 0 0 0 0 0 0 0 1 0.3 0.3 0.24 0.2 0.2 0.2 0.24 0.3 0.54 0.5 0.54 0.24 0.2 0.22 0.3 0.34 0.2 0.22 0.22 0.24 0.2 0.24 0.26 0.26 0.46 0.2 0.22 0.44 0.28 0.2 0.52 0.34 0.2 0.4 0.32 0.22 0.26 0.92 0.24 0.2 0.25454546 +0 0 0 0 0 0 0 0 0 1 0.68 0.66 0.24 0.22 0.2 0.84 0.32 0.36363636 0.28 0.34 0.62 0.2 0.43636364 0.6 0.24 0.32 0.52 0.56363636 0.46 0.2 0.3 0.32 0.22 0.22 0.26 0.64 0.28 0.32 0.24 0.24 0.2 0.62 0.26 0.32 0.32 0.4 0.3 0.46 0.2 0.2 +0 0 0 0 0 0 0 0 0 0 1 0.64 0.32 0.3 0.2 0.72 0.26 0.28 0.26 0.42 0.7 0.26 0.46666666 0.62 0.3090909 0.22 0.42 0.48 0.32 0.3 0.24 0.32 0.22 0.2 0.24 0.6 0.38 0.38 0.28 0.24 0.2 0.82 0.3 0.64 0.28 0.28 0.22 0.32 0.3 0.28 +0 0 0 0 0 0 0 0 0 0 0 1 0.26 0.32 0.2 0.85 0.28 0.32 0.2 0.3 0.78 0.26 0.44444444 0.7 0.28 0.38 0.7 0.62 0.38 0.22 0.3 0.3 0.32 0.2 0.28 0.72 0.36 0.24 0.22 0.26 0.2 0.72 0.34 0.34 0.44 0.3 0.2 0.44 0.26 0.34 +0 0 0 0 0 0 0 0 0 0 0 0 1 0.32 0.32 0.3 0.3 0.22 0.24 0.24 0.36 0.32 0.28 0.34 0.28 0.22 0.3 0.28 0.26 0.36 0.5 0.3 0.26 0.24 0.48 0.26 0.26 0.24 0.3 0.22 0.3 0.36 0.28 0.22 0.32 0.22 0.22 0.3 0.3 0.28 +0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.44 0.34 0.24 0.28 0.2 0.24 0.3 0.48 0.24 0.28888888 0.3 0.24 0.25454546 0.22 0.3 0.2 0.26 0.5 0.98 0.22 0.24 0.26 0.32 0.32 0.32 0.24 0.2 0.22 0.22 0.22 0.38 0.4 0.2 0.24 0.32 0.46 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.22 0.2 0.22 0.24 0.24 0.22222222 0.32 0.24 0.2 0.37777778 0.44 0.2 0.3 0.26 0.44 0.22 0.28 0.46 0.2 0.26 0.2 0.22 0.28 0.54 0.26 0.26 0.34 0.24 0.36 0.24 0.24 0.22 0.2 0.34 0.26 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.38 0.3 0.28 0.38 0.74 0.24 0.52 0.62 0.28 0.34 0.53333334 0.58 0.36 0.24 0.26 0.28888888 0.24 0.2 0.26 0.64 0.38 0.4 0.26666666 0.26 0.2 0.54 0.36 0.28 0.31111112 0.36 0.22 0.54 0.2 0.28 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.2 0.24 0.24 0.26 0.26 0.26 0.72 0.3 0.24 0.4 0.3 0.3 0.24 0.22 0.26 0.24 0.2 0.26 0.28 0.26 0.26 0.3 0.22 0.22 0.32 0.22 0.56 0.28 0.28 0.3 0.3 0.28 0.22 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.68 0.66666666 0.24 0.26 0.24444444 0.22 0.4 0.32 0.22 0.28 0.28888888 0.2 0.22 0.4 0.2 0.3 0.24 0.26 0.58 0.56 0.28 0.66 0.25454546 0.34 0.62 0.34 0.24 0.24 0.32 0.34 0.26 0.26 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.64 0.28 0.24 0.34545454 0.38 0.46 0.4 0.25454546 0.22 0.24 0.44 0.22 0.34 0.2 0.28 0.2 0.24 0.52 0.38 0.25454546 0.52 0.22 0.24 0.56 0.32 0.22 0.24 0.48 0.24 0.26 0.24 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.26 0.28 0.26 0.28 0.3 0.38 0.3 0.2 0.3 0.22 0.22 0.26 0.28 0.3 0.26 0.36 0.9 0.38 0.28 0.74 0.35555556 0.38 0.7 0.32 0.28 0.26 0.4 0.28 0.28 0.28 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.2 0.46666666 0.5 0.47272728 0.36 0.6 0.7 0.52 0.22 0.36 0.38 0.28 0.22 0.24 0.64 0.34 0.32 0.3 0.24 0.22 0.62 0.26 0.24 0.4 0.36 0.2 0.46 0.22 0.24 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.3 0.24 0.2 0.2 0.24 0.22 0.3 0.2 0.2 0.4 0.48 0.2 0.2 0.2 0.3 0.38 0.24 0.28 0.22 0.3 0.28 0.5 0.28 0.28 0.24 0.26 0.54 0.54 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.46 0.28 0.2 0.44 0.5 0.28 0.28 0.26 0.2 0.24 0.26 0.24 0.58 0.28 0.26 0.28 0.3 0.2 0.44 0.26 0.28 0.28 0.32 0.24 0.28 0.2 0.28 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.26 0.28 0.82 0.46 0.4 0.2 0.24 0.26 0.24444444 0.2 0.24 0.52727272 0.36 0.32 0.22 0.28 0.2 0.48 0.35555556 0.48 0.3 0.36 0.24 0.44 0.2 0.26 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0.2 0.4 0.28 0.34 0.32 0.26 0.27272728 0.2 0.24 0.26 0.4 0.4 0.32 0.24444444 0.24 0.24 0.34 0.3 0.22 0.24 0.32 0.28 0.22 0.32 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.22 0.38 0.42 0.32 0.28 0.22 0.2 0.22 0.28 0.34 0.3 0.34 0.3 0.3 0.28 0.26 0.3 0.22 0.24 0.38 0.2 0.28 0.26 0.28 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.54 0.36 0.34 0.34 0.22 0.24 0.26 0.24 0.58 0.28 0.32 0.3 0.24 0.2 0.42 0.28 0.26 0.4 0.3 0.26 0.3 0.26 0.28 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.48 0.24 0.26 0.26 0.24 0.2 0.28 0.58 0.32 0.26 0.38 0.3 0.3 0.44 0.26 0.22 0.32 0.34 0.26 0.38 0.26 0.34 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.26 0.28 0.32 0.24 0.22 0.22 0.48 0.38 0.4 0.38 0.32 0.22 0.42 0.32 0.32 0.28 0.56 0.2 0.34 0.22 0.28 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.46666666 0.24 0.24 0.2 0.44 0.24 0.22 0.26 0.42 0.22 0.2 0.28 0.22 0.2 0.4 0.24 0.28 0.24 0.2 0.28888888 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.24 0.2 0.24 0.24 0.3 0.24 0.22 0.57777778 0.22 0.22 0.2 0.22 0.2 0.3 0.28 0.28 0.22 0.22 0.22 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.42 0.24 0.2 0.34 0.22 0.26666666 0.32 0.3 0.22 0.36 0.28 0.46 0.84444444 0.24 0.22 0.3 0.36 0.92 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.24 0.24 0.24 0.28 0.4 0.26 0.3 0.2 0.24 0.28 0.22 0.3 0.26 0.22 0.42 0.28 0.68 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.2 0.22 0.58 0.22 0.22 0.58 0.7 0.28 0.36 0.26 0.22 0.2 0.36 0.2 0.2 0.22 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.2 0.2 0.22 0.22 0.28 0.24 0.22 0.2 0.24 0.34 0.24 0.22 0.2 0.2 0.22 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.32 0.38 0.28 0.3 0.2 0.48 0.32 0.28 0.26 0.42 0.28 0.52 0.24 0.3 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.36 0.28 0.74 0.44 0.34545454 0.72 0.36 0.24 0.34545454 0.6 0.38 0.22 0.32 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.22 0.34 0.2 0.36 0.28 0.3 0.22 0.3 0.24 0.32 0.22 0.4 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.26 0.2 0.22 0.28 0.22222222 0.36 0.4 0.24 0.28 0.28 0.4 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.36 0.26 0.86666666 0.36 0.24 0.28888888 0.6 0.22 0.26 0.26 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.26 0.34 0.24 0.2 0.22 0.36 0.2 0.2 0.26 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.3 0.58 0.26 0.34 0.24 0.32 0.26 0.24 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.28 0.24 0.24 0.36 0.4 0.24 0.2909091 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.38 0.28 0.3 0.26 0.42 0.28888888 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.24 0.24 0.3 0.34 0.72 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.2 0.4 0.28 0.38 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.24 0.22 0.24 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.22 0.3 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0.36 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 diff --git a/gensim-develop/gensim/test/test_data/test_corpus_ok.mm b/gensim-develop/gensim/test/test_data/test_corpus_ok.mm new file mode 100644 index 0000000000..fc8ef837c7 --- /dev/null +++ b/gensim-develop/gensim/test/test_data/test_corpus_ok.mm @@ -0,0 +1,13 @@ +%%matrixmarket matrix coordinate real general +3 5 9 +1 1 1.000000 +1 2 3.000000 +1 4 5.000000 +2 2 2.000000 +2 3 1.000000 +2 5 4.000000 +3 1 2.000000 +3 2 2.000000 +3 3 8.000000 +3 4 1.000000 +3 5 2.000000 \ No newline at end of file diff --git a/gensim-develop/gensim/test/test_data/test_corpus_small.mm b/gensim-develop/gensim/test/test_data/test_corpus_small.mm new file mode 100644 index 0000000000..8d4ae57939 --- /dev/null +++ b/gensim-develop/gensim/test/test_data/test_corpus_small.mm @@ -0,0 +1,11 @@ +%%matrixmarket matrix coordinate real general +3 5 9 +1 1 1.000000 +1 2 3.000000 +1 4 5.000000 +2 2 2.000000 +2 3 1.000000 +2 5 4.000000 +3 1 2.000000 +3 2 2.000000 +3 4 1.000000 \ No newline at end of file diff --git a/gensim-develop/gensim/test/test_data/testcorpus.blei b/gensim-develop/gensim/test/test_data/testcorpus.blei new file mode 100644 index 0000000000..68d8ffed0a --- /dev/null +++ b/gensim-develop/gensim/test/test_data/testcorpus.blei @@ -0,0 +1,9 @@ +3 0:1.000000 1:1.000000 2:1.000000 +6 2:1.000000 3:1.000000 4:1.000000 5:1.000000 6:1.000000 8:1.000000 +4 1:1.000000 3:1.000000 4:1.000000 7:1.000000 +3 0:1.000000 4:2.000000 7:1.000000 +3 3:1.000000 5:1.000000 6:1.000000 +1 9:1.000000 +2 9:1.000000 10:1.000000 +3 9:1.000000 10:1.000000 11:1.000000 +3 8:1.000000 10:1.000000 11:1.000000 diff --git a/gensim-develop/gensim/test/test_data/testcorpus.blei.vocab b/gensim-develop/gensim/test/test_data/testcorpus.blei.vocab new file mode 100644 index 0000000000..89ca7bcdd9 --- /dev/null +++ b/gensim-develop/gensim/test/test_data/testcorpus.blei.vocab @@ -0,0 +1,12 @@ +human +interface +computer +user +system +response +time +eps +survey +trees +graph +minors diff --git a/gensim-develop/gensim/test/test_data/testcorpus.low b/gensim-develop/gensim/test/test_data/testcorpus.low new file mode 100644 index 0000000000..bc1bc2ab4b --- /dev/null +++ b/gensim-develop/gensim/test/test_data/testcorpus.low @@ -0,0 +1,10 @@ +9 +computer human interface +computer response survey system time user +interface system user eps +human system system eps +response time user +trees +trees graph +trees graph minors +survey graph minors diff --git a/gensim-develop/gensim/test/test_data/testcorpus.mm b/gensim-develop/gensim/test/test_data/testcorpus.mm new file mode 100644 index 0000000000..e1d7051b0b --- /dev/null +++ b/gensim-develop/gensim/test/test_data/testcorpus.mm @@ -0,0 +1,30 @@ +%%MatrixMarket matrix coordinate real general +9 12 28 +1 1 1 +1 2 1 +1 3 1 +2 1 1 +2 4 1 +2 5 1 +2 6 1 +2 7 1 +2 8 1 +3 3 1 +3 6 1 +3 8 1 +3 9 1 +4 2 1 +4 6 2 +4 9 1 +5 4 1 +5 7 1 +5 8 1 +6 10 1 +7 10 1 +7 11 1 +8 10 1 +8 11 1 +8 12 1 +9 5 1 +9 11 1 +9 12 1 diff --git a/gensim-develop/gensim/test/test_data/testcorpus.svmlight b/gensim-develop/gensim/test/test_data/testcorpus.svmlight new file mode 100644 index 0000000000..80744adb84 --- /dev/null +++ b/gensim-develop/gensim/test/test_data/testcorpus.svmlight @@ -0,0 +1,9 @@ +0 1:1 2:1 3:1 +0 1:1 4:1 5:1 6:1 7:1 8:1 +0 3:1 6:1 8:1 9:1 +0 2:1 6:2 9:1 +0 4:1 7:1 8:1 +0 10:1 +0 10:1 11:1 +0 10:1 11:1 12:1 +0 5:1 11:1 12:1 diff --git a/gensim-develop/gensim/test/test_data/testcorpus.uci b/gensim-develop/gensim/test/test_data/testcorpus.uci new file mode 100644 index 0000000000..cffd04fe25 --- /dev/null +++ b/gensim-develop/gensim/test/test_data/testcorpus.uci @@ -0,0 +1,31 @@ +8 +12 +28 +1 1 1 +1 2 1 +1 3 1 +2 1 1 +2 4 1 +2 5 1 +2 6 1 +2 7 1 +2 8 1 +3 3 1 +3 6 1 +3 8 1 +3 9 1 +4 2 1 +4 6 2 +4 9 1 +5 4 1 +5 7 1 +5 8 1 +6 10 1 +7 10 1 +7 11 1 +8 10 1 +8 11 1 +8 12 1 +9 5 1 +9 11 1 +9 12 1 diff --git a/gensim-develop/gensim/test/test_data/testcorpus.uci.vocab b/gensim-develop/gensim/test/test_data/testcorpus.uci.vocab new file mode 100644 index 0000000000..89ca7bcdd9 --- /dev/null +++ b/gensim-develop/gensim/test/test_data/testcorpus.uci.vocab @@ -0,0 +1,12 @@ +human +interface +computer +user +system +response +time +eps +survey +trees +graph +minors diff --git a/gensim-develop/gensim/test/test_lee.py b/gensim-develop/gensim/test/test_lee.py new file mode 100644 index 0000000000..9a0d55de82 --- /dev/null +++ b/gensim-develop/gensim/test/test_lee.py @@ -0,0 +1,106 @@ +#!/usr/bin/env python +# encoding: utf-8 +# +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + +""" +Automated test to reproduce the results of Lee et al. (2005) + +Lee et al. (2005) compares different models for semantic +similarity and verifies the results with similarity judgements from humans. + +As a validation of the gensim implementation we reproduced the results +of Lee et al. (2005) in this test. + +Many thanks to Michael D. Lee (michael.lee@adelaide.edu.au) who provideded us +with his corpus and similarity data. + +If you need to reference this dataset, please cite: + +Lee, M., Pincombe, B., & Welsh, M. (2005). +An empirical evaluation of models of text document similarity. +Proceedings of the 27th Annual Conference of the Cognitive Science Society +""" + +import logging +import os.path +import unittest + +import numpy as np + +from gensim import corpora, models, matutils +from gensim.parsing.preprocessing import preprocess_documents + + +bg_corpus = None +corpus = None +human_sim_vector = None + + +class TestLeeTest(unittest.TestCase): + def setUp(self): + """setup lee test corpora""" + global bg_corpus, corpus, human_sim_vector + + pre_path = os.path.join(os.path.dirname(__file__), 'test_data') + bg_corpus_file = 'lee_background.cor' + corpus_file = 'lee.cor' + sim_file = 'similarities0-1.txt' + + # read in the corpora + with open(os.path.join(pre_path, bg_corpus_file)) as f: + bg_corpus = preprocess_documents(f) + with open(os.path.join(pre_path, corpus_file)) as f: + corpus = preprocess_documents(f) + + # read the human similarity data + sim_matrix = np.loadtxt(os.path.join(pre_path, sim_file)) + sim_m_size = np.shape(sim_matrix)[0] + human_sim_vector = sim_matrix[matutils.triu_indices(sim_m_size, 1)] + + + def test_corpus(self): + """availability and integrity of corpus""" + documents_in_bg_corpus = 300 + documents_in_corpus = 50 + len_sim_vector = 1225 + self.assertEqual(len(bg_corpus), documents_in_bg_corpus) + self.assertEqual(len(corpus), documents_in_corpus) + self.assertEqual(len(human_sim_vector), len_sim_vector) + + + def test_lee(self): + """correlation with human data > 0.6 + (this is the value which was achieved in the original paper) + """ + + global bg_corpus, corpus + + # create a dictionary and corpus (bag of words) + dictionary = corpora.Dictionary(bg_corpus) + bg_corpus = [dictionary.doc2bow(text) for text in bg_corpus] + corpus = [dictionary.doc2bow(text) for text in corpus] + + # transform the bag of words with log_entropy normalization + log_ent = models.LogEntropyModel(bg_corpus) + bg_corpus_ent = log_ent[bg_corpus] + + # initialize an LSI transformation from background corpus + lsi = models.LsiModel(bg_corpus_ent, id2word=dictionary, num_topics=200) + # transform small corpus to lsi bow->log_ent->fold-in-lsi + corpus_lsi = lsi[log_ent[corpus]] + + # compute pairwise similarity matrix and extract upper triangular + res = np.zeros((len(corpus), len(corpus))) + for i, par1 in enumerate(corpus_lsi): + for j, par2 in enumerate(corpus_lsi): + res[i, j] = matutils.cossim(par1, par2) + flat = res[matutils.triu_indices(len(corpus), 1)] + + cor = np.corrcoef(flat, human_sim_vector) + self.assertTrue(cor[0, 1] > 0.6) + + +if __name__ == '__main__': + logging.root.setLevel(logging.DEBUG) + unittest.main() diff --git a/gensim-develop/gensim/test/test_miislita.py b/gensim-develop/gensim/test/test_miislita.py new file mode 100644 index 0000000000..6da39735c8 --- /dev/null +++ b/gensim-develop/gensim/test/test_miislita.py @@ -0,0 +1,118 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + +""" +This module replicates the miislita vector spaces from +"A Linear Algebra Approach to the Vector Space Model -- A Fast Track Tutorial" +by Dr. E. Garcia, admin@miislita.com +See http://www.miislita.com for further details. +""" + +# always use floats + + +import logging +import tempfile +import unittest +import bz2 +import os + +from gensim import corpora, models, similarities + +# sample data files are located in the same folder +module_path = os.path.dirname(__file__) +datapath = lambda fname: os.path.join(module_path, 'test_data', fname) + +logger = logging.getLogger('test_miislita') + + +def get_tmpfile(suffix): + return os.path.join(tempfile.gettempdir(), suffix) + + +class CorpusMiislita(corpora.TextCorpus): + stoplist = set('for a of the and to in on'.split()) + + def get_texts(self): + """ + Parse documents from the .cor file provided in the constructor. Lowercase + each document and ignore some stopwords. + + .cor format: one document per line, words separated by whitespace. + """ + for doc in self.getstream(): + yield [word for word in doc.lower().split() + if word not in CorpusMiislita.stoplist] + + def __len__(self): + """Define this so we can use `len(corpus)`""" + if 'length' not in self.__dict__: + logger.info("caching corpus size (calculating number of documents)") + self.length = sum(1 for doc in self.get_texts()) + return self.length + + +class TestMiislita(unittest.TestCase): + def test_textcorpus(self): + """ Make sure TextCorpus can be serialized to disk. """ + # construct corpus from file + fname = datapath('head500.noblanks.cor.bz2') + miislita = CorpusMiislita(bz2.BZ2File(fname)) + + # make sure serializing works + ftmp = get_tmpfile('test_textcorpus.mm') + corpora.MmCorpus.save_corpus(ftmp, miislita) + self.assertTrue(os.path.exists(ftmp)) + + # make sure deserializing gives the same result + miislita2 = corpora.MmCorpus(ftmp) + self.assertEqual(list(miislita), list(miislita2)) + + + def test_save_load_ability(self): + """ + Make sure we can save and load (un/pickle) TextCorpus objects (as long + as the underlying input isn't a file-like object; we cannot pickle those). + """ + # construct corpus from file + corpusname = datapath('miIslita.cor') + miislita = CorpusMiislita(corpusname) + + # pickle to disk + tmpf = get_tmpfile('tc_test.cpickle') + miislita.save(tmpf) + + miislita2 = CorpusMiislita.load(tmpf) + + self.assertEqual(len(miislita), len(miislita2)) + self.assertEqual(miislita.dictionary.token2id, miislita2.dictionary.token2id) + + + def test_miislita_high_level(self): + # construct corpus from file + corpusname = datapath('miIslita.cor') + miislita = CorpusMiislita(corpusname) + + # initialize tfidf transformation and similarity index + tfidf = models.TfidfModel(miislita, miislita.dictionary, normalize=False) + index = similarities.SparseMatrixSimilarity(tfidf[miislita], num_features=len(miislita.dictionary)) + + # compare to query + query = 'latent semantic indexing' + vec_bow = miislita.dictionary.doc2bow(query.lower().split()) + vec_tfidf = tfidf[vec_bow] + + # perform a similarity query against the corpus + sims_tfidf = index[vec_tfidf] + + # for the expected results see the article + expected = [0.0, 0.2560, 0.7022, 0.1524, 0.3334] + for i, value in enumerate(expected): + self.assertAlmostEqual(sims_tfidf[i], value, 2) + + +if __name__ == '__main__': + logging.basicConfig(level=logging.WARNING) + unittest.main() diff --git a/gensim-develop/gensim/test/test_models.py b/gensim-develop/gensim/test/test_models.py new file mode 100644 index 0000000000..e4a26ed375 --- /dev/null +++ b/gensim-develop/gensim/test/test_models.py @@ -0,0 +1,286 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2010 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + +""" +Automated tests for checking transformation algorithms (the models package). +""" + +import logging +import unittest +import os +import os.path +import tempfile + +import numpy + +from gensim.corpora import mmcorpus, Dictionary +from gensim.models import lsimodel, ldamodel, tfidfmodel, rpmodel, logentropy_model +from gensim import matutils + + +module_path = os.path.dirname(__file__) # needed because sample data files are located in the same folder +datapath = lambda fname: os.path.join(module_path, 'test_data', fname) + + +# set up vars used in testing ("Deerwester" from the web tutorial) +texts = [['human', 'interface', 'computer'], + ['survey', 'user', 'computer', 'system', 'response', 'time'], + ['eps', 'user', 'interface', 'system'], + ['system', 'human', 'system', 'eps'], + ['user', 'response', 'time'], + ['trees'], + ['graph', 'trees'], + ['graph', 'minors', 'trees'], + ['graph', 'minors', 'survey']] +dictionary = Dictionary(texts) +corpus = [dictionary.doc2bow(text) for text in texts] + + +def testfile(): + # temporary data will be stored to this file + return os.path.join(tempfile.gettempdir(), 'gensim_models.tst') + + +class TestLsiModel(unittest.TestCase): + def setUp(self): + self.corpus = mmcorpus.MmCorpus(datapath('testcorpus.mm')) + + def testTransform(self): + """Test lsi[vector] transformation.""" + # create the transformation model + model = lsimodel.LsiModel(self.corpus, num_topics=2) + + # make sure the decomposition is enough accurate + u, s, vt = numpy.linalg.svd(matutils.corpus2dense(self.corpus, self.corpus.num_terms), full_matrices=False) + self.assertTrue(numpy.allclose(s[:2], model.projection.s)) # singular values must match + + # transform one document + doc = list(self.corpus)[0] + transformed = model[doc] + vec = matutils.sparse2full(transformed, 2) # convert to dense vector, for easier equality tests + expected = numpy.array([-0.6594664, 0.142115444]) # scaled LSI version + # expected = numpy.array([-0.1973928, 0.05591352]) # non-scaled LSI version + self.assertTrue(numpy.allclose(abs(vec), abs(expected))) # transformed entries must be equal up to sign + + + def testCorpusTransform(self): + """Test lsi[corpus] transformation.""" + model = lsimodel.LsiModel(self.corpus, num_topics=2) + got = numpy.vstack(matutils.sparse2full(doc, 2) for doc in model[corpus]) + expected = numpy.array([ + [0.65946639, 0.14211544], + [2.02454305, -0.42088759], + [1.54655361, 0.32358921], + [1.81114125, 0.5890525], + [0.9336738, -0.27138939], + [0.01274618, -0.49016181], + [0.04888203, -1.11294699], + [0.08063836, -1.56345594], + [0.27381003, -1.34694159]]) + self.assertTrue(numpy.allclose(abs(got), abs(expected))) # must equal up to sign + + + def testOnlineTransform(self): + corpus = list(self.corpus) + doc = corpus[0] # use the corpus' first document for testing + + # create the transformation model + model2 = lsimodel.LsiModel(corpus=corpus, num_topics=5) # compute everything at once + model = lsimodel.LsiModel(corpus=None, id2word=model2.id2word, + num_topics=5) # start with no documents, we will add them later + + # train model on a single document + model.add_documents([corpus[0]]) + + # transform the testing document with this partial transformation + transformed = model[doc] + vec = matutils.sparse2full(transformed, model.num_topics) # convert to dense vector, for easier equality tests + expected = numpy.array([-1.73205078, 0.0, 0.0, 0.0, 0.0]) # scaled LSI version + self.assertTrue( + numpy.allclose(abs(vec), abs(expected), atol=1e-6)) # transformed entries must be equal up to sign + + # train on another 4 documents + model.add_documents(corpus[1:5], chunksize=2) # train on 4 extra docs, in chunks of 2 documents, for the lols + + # transform a document with this partial transformation + transformed = model[doc] + vec = matutils.sparse2full(transformed, model.num_topics) # convert to dense vector, for easier equality tests + expected = numpy.array([-0.66493785, -0.28314203, -1.56376302, 0.05488682, 0.17123269]) # scaled LSI version + self.assertTrue( + numpy.allclose(abs(vec), abs(expected), atol=1e-6)) # transformed entries must be equal up to sign + + # train on the rest of documents + model.add_documents(corpus[5:]) + + # make sure the final transformation is the same as if we had decomposed the whole corpus at once + vec1 = matutils.sparse2full(model[doc], model.num_topics) + vec2 = matutils.sparse2full(model2[doc], model2.num_topics) + self.assertTrue( + numpy.allclose(abs(vec1), abs(vec2), atol=1e-5)) # the two LSI representations must equal up to sign + + + def testPersistence(self): + model = lsimodel.LsiModel(self.corpus, num_topics=2) + model.save(testfile()) + model2 = lsimodel.LsiModel.load(testfile()) + self.assertEqual(model.num_topics, model2.num_topics) + self.assertTrue(numpy.allclose(model.projection.u, model2.projection.u)) + self.assertTrue(numpy.allclose(model.projection.s, model2.projection.s)) + tstvec = [] + self.assertTrue(numpy.allclose(model[tstvec], model2[tstvec])) # try projecting an empty vector + + #endclass TestLsiModel + + +class TestRpModel(unittest.TestCase): + def setUp(self): + self.corpus = mmcorpus.MmCorpus(datapath('testcorpus.mm')) + + def testTransform(self): + # create the transformation model + numpy.random.seed( + 13) # HACK; set fixed seed so that we always get the same random matrix (and can compare against expected results) + model = rpmodel.RpModel(self.corpus, num_topics=2) + + # transform one document + doc = list(self.corpus)[0] + transformed = model[doc] + vec = matutils.sparse2full(transformed, 2) # convert to dense vector, for easier equality tests + + expected = numpy.array([-0.70710677, 0.70710677]) + self.assertTrue(numpy.allclose(vec, expected)) # transformed entries must be equal up to sign + + + def testPersistence(self): + model = rpmodel.RpModel(self.corpus, num_topics=2) + model.save(testfile()) + model2 = rpmodel.RpModel.load(testfile()) + self.assertEqual(model.num_topics, model2.num_topics) + self.assertTrue(numpy.allclose(model.projection, model2.projection)) + tstvec = [] + self.assertTrue(numpy.allclose(model[tstvec], model2[tstvec])) # try projecting an empty vector + + #endclass TestRpModel + + +class TestLdaModel(unittest.TestCase): + def setUp(self): + self.corpus = mmcorpus.MmCorpus(datapath('testcorpus.mm')) + + def testTransform(self): + passed = False + # sometimes, LDA training gets stuck at a local minimum + # in that case try re-training the model from scratch, hoping for a + # better random initialization + for i in range(5): # restart at most 5 times + # create the transformation model + model = ldamodel.LdaModel(id2word=dictionary, num_topics=2, passes=100) + model.update(corpus) + + # transform one document + doc = list(corpus)[0] + transformed = model[doc] + + vec = matutils.sparse2full(transformed, 2) # convert to dense vector, for easier equality tests + expected = [0.13, 0.87] + passed = numpy.allclose(sorted(vec), sorted(expected), + atol=1e-2) # must contain the same values, up to re-ordering + if passed: + break + logging.warning("LDA failed to converge on attempt %i (got %s, expected %s)" % + (i, sorted(vec), sorted(expected))) + self.assertTrue(passed) + + + def testPersistence(self): + model = ldamodel.LdaModel(self.corpus, num_topics=2) + model.save(testfile()) + model2 = ldamodel.LdaModel.load(testfile()) + self.assertEqual(model.num_topics, model2.num_topics) + self.assertTrue(numpy.allclose(model.expElogbeta, model2.expElogbeta)) + tstvec = [] + self.assertTrue(numpy.allclose(model[tstvec], model2[tstvec])) # try projecting an empty vector + + #endclass TestLdaModel + + +class TestTfidfModel(unittest.TestCase): + def setUp(self): + self.corpus = mmcorpus.MmCorpus(datapath('testcorpus.mm')) + + def testTransform(self): + # create the transformation model + model = tfidfmodel.TfidfModel(self.corpus, normalize=True) + + # transform one document + doc = list(self.corpus)[0] + transformed = model[doc] + + expected = [(0, 0.57735026918962573), (1, 0.57735026918962573), (2, 0.57735026918962573)] + self.assertTrue(numpy.allclose(transformed, expected)) + + + def testInit(self): + # create the transformation model by analyzing a corpus + # uses the global `corpus`! + model1 = tfidfmodel.TfidfModel(corpus) + + # make sure the dfs<->idfs transformation works + self.assertEqual(model1.dfs, dictionary.dfs) + self.assertEqual(model1.idfs, tfidfmodel.precompute_idfs(model1.wglobal, dictionary.dfs, len(corpus))) + + # create the transformation model by directly supplying a term->docfreq + # mapping from the global var `dictionary`. + model2 = tfidfmodel.TfidfModel(dictionary=dictionary) + self.assertEqual(model1.idfs, model2.idfs) + + + def testPersistence(self): + model = tfidfmodel.TfidfModel(self.corpus, normalize=True) + model.save(testfile()) + model2 = tfidfmodel.TfidfModel.load(testfile()) + self.assertTrue(model.idfs == model2.idfs) + tstvec = [] + self.assertTrue(numpy.allclose(model[tstvec], model2[tstvec])) # try projecting an empty vector + + #endclass TestTfidfModel + + +class TestLogEntropyModel(unittest.TestCase): + def setUp(self): + self.corpus_small = mmcorpus.MmCorpus(datapath('test_corpus_small.mm')) + self.corpus_ok = mmcorpus.MmCorpus(datapath('test_corpus_ok.mm')) + + + def testTransform(self): + # create the transformation model + model = logentropy_model.LogEntropyModel(self.corpus_ok, normalize=False) + + # transform one document + doc = list(self.corpus_ok)[0] + transformed = model[doc] + + expected = [(0, 0.3748900964125389), + (1, 0.30730215324230725), + (3, 1.20941755462856)] + self.assertTrue(numpy.allclose(transformed, expected)) + + + def testPersistence(self): + model = logentropy_model.LogEntropyModel(self.corpus_ok, normalize=True) + model.save(testfile()) + model2 = logentropy_model.LogEntropyModel.load(testfile()) + self.assertTrue(model.entr == model2.entr) + tstvec = [] + self.assertTrue(numpy.allclose(model[tstvec], model2[tstvec])) + + #endclass TestLogEntropyModel + + + +if __name__ == '__main__': + logging.root.setLevel(logging.DEBUG) + unittest.main() diff --git a/gensim-develop/gensim/test/test_parsing.py b/gensim-develop/gensim/test/test_parsing.py new file mode 100644 index 0000000000..f698a515c3 --- /dev/null +++ b/gensim-develop/gensim/test/test_parsing.py @@ -0,0 +1,85 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +""" +Automated tests for the parsing module. +""" + +import logging +import unittest +import numpy as np + +from gensim.parsing.preprocessing import * + + +# several documents +doc1 = """C'est un trou de verdure où chante une rivière, +Accrochant follement aux herbes des haillons +D'argent ; où le soleil, de la montagne fière, +Luit : c'est un petit val qui mousse de rayons.""" + +doc2 = """Un soldat jeune, bouche ouverte, tête nue, +Et la nuque baignant dans le frais cresson bleu, +Dort ; il est étendu dans l'herbe, sous la nue, +Pâle dans son lit vert où la lumière pleut.""" + +doc3 = """Les pieds dans les glaïeuls, il dort. Souriant comme +Sourirait un enfant malade, il fait un somme : +Nature, berce-le chaudement : il a froid.""" + +doc4 = """Les parfums ne font pas frissonner sa narine ; +Il dort dans le soleil, la main sur sa poitrine, +Tranquille. Il a deux trous rouges au côté droit.""" + +doc5 = """While it is quite useful to be able to search a +large collection of documents almost instantly for a joint +occurrence of a collection of exact words, +for many searching purposes, a little fuzziness would help. """ + +dataset = [strip_punctuation2(x.lower()) for x in [doc1, doc2, doc3, doc4]] +# doc1 and doc2 have class 0, doc3 and doc4 avec class 1 +classes = np.array([[1, 0], [1, 0], [0, 1], [0, 1]]) + + +class TestPreprocessing(unittest.TestCase): + def testStripNumeric(self): + self.assertEquals(strip_numeric("salut les amis du 59"), + "salut les amis du ") + + def testStripShort(self): + self.assertEquals(strip_short("salut les amis du 59", 3), + "salut les amis") + + def testStripTags(self): + self.assertEquals(strip_tags("Hello World!"), + "Hello World!") + + def testStripMultipleWhitespaces(self): + self.assertEquals(strip_multiple_whitespaces("salut les\r\nloulous!"), + "salut les loulous!") + + def testStripNonAlphanum(self): + self.assertEquals(strip_non_alphanum("toto nf-kappa titi"), + "toto nf kappa titi") + + def testSplitAlphanum(self): + self.assertEquals(split_alphanum("toto diet1 titi"), + "toto diet 1 titi") + self.assertEquals(split_alphanum("toto 1diet titi"), + "toto 1 diet titi") + + def testStripStopwords(self): + self.assertEquals(remove_stopwords("the world is square"), + "world square") + + def testStemText(self): + target = "while it is quit us to be abl to search a larg " + \ + "collect of document almost instantli for a joint occurr " + \ + "of a collect of exact words, for mani search purposes, " + \ + "a littl fuzzi would help." + self.assertEquals(stem_text(doc5), target) + + +if __name__ == "__main__": + logging.basicConfig(level=logging.WARNING) + unittest.main() diff --git a/gensim-develop/gensim/test/test_similarities.py b/gensim-develop/gensim/test/test_similarities.py new file mode 100644 index 0000000000..da9556f760 --- /dev/null +++ b/gensim-develop/gensim/test/test_similarities.py @@ -0,0 +1,190 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2011 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + +""" +Automated tests for similarity algorithms (the similarities package). +""" + +import logging +import unittest +import os +import tempfile + +import numpy + +from gensim.corpora import mmcorpus, Dictionary +from gensim import matutils, utils, similarities + + +module_path = os.path.dirname(__file__) # needed because sample data files are located in the same folder +datapath = lambda fname: os.path.join(module_path, 'test_data', fname) + + +# set up vars used in testing ("Deerwester" from the web tutorial) +texts = [['human', 'interface', 'computer'], + ['survey', 'user', 'computer', 'system', 'response', 'time'], + ['eps', 'user', 'interface', 'system'], + ['system', 'human', 'system', 'eps'], + ['user', 'response', 'time'], + ['trees'], + ['graph', 'trees'], + ['graph', 'minors', 'trees'], + ['graph', 'minors', 'survey']] +dictionary = Dictionary(texts) +corpus = [dictionary.doc2bow(text) for text in texts] + + +def testfile(): + # temporary data will be stored to this file + return os.path.join(tempfile.gettempdir(), 'gensim_similarities.tst') + + +class TestSimilarityABC(object): + """ + Base class for SparseMatrixSimilarity and MatrixSimilarity unit tests. + """ + + def testFull(self, num_best=None, shardsize=100): + if self.cls == similarities.Similarity: + index = self.cls(None, corpus, num_features=len(dictionary), shardsize=shardsize) + else: + index = self.cls(corpus, num_features=len(dictionary)) + if isinstance(index, similarities.MatrixSimilarity): + expected = numpy.array([ + [0.57735026, 0.57735026, 0.57735026, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0], + [0.40824831, 0.0, 0.0, 0.40824831, 0.40824831, 0.40824831, 0.40824831, + 0.40824831, 0.0, 0.0, 0.0, 0.0], + [0.0, 0.0, 0.5, 0.0, 0.0, 0.5, 0.0, 0.5, 0.5, 0.0, 0.0, 0.0], + [0.0, 0.40824831, 0.0, 0.0, 0.0, 0.81649661, 0.0, 0.0, 0.40824831, 0.0, 0.0, + 0.0], + [0.0, 0.0, 0.0, 0.57735026, 0.0, 0.0, 0.57735026, 0.57735026, 0.0, 0.0, 0.0, + 0.0], + [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0], + [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.70710677, 0.70710677, 0.0], + [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.57735026, 0.57735026, + 0.57735026], + [0.0, 0.0, 0.0, 0.0, 0.57735026, 0.0, 0.0, 0.0, 0.0, 0.0, 0.57735026, 0.57735026] + ], dtype=numpy.float32) + self.assertTrue(numpy.allclose(expected, index.index)) + index.num_best = num_best + query = corpus[0] + sims = index[query] + expected = [(0, 0.99999994), (2, 0.28867513), (3, 0.23570226), (1, 0.23570226)][: num_best] + + # convert sims to full numpy arrays, so we can use allclose() and ignore + # ordering of items with the same similarity value + expected = matutils.sparse2full(expected, len(index)) + if num_best is not None: # when num_best is None, sims is already a numpy array + sims = matutils.sparse2full(sims, len(index)) + self.assertTrue(numpy.allclose(expected, sims)) + + + def testNumBest(self): + for num_best in [None, 0, 1, 9, 1000]: + self.testFull(num_best=num_best) + + + def testChunking(self): + if self.cls == similarities.Similarity: + index = self.cls(None, corpus, num_features=len(dictionary), shardsize=5) + else: + index = self.cls(corpus, num_features=len(dictionary)) + query = corpus[:3] + sims = index[query] + expected = numpy.array([ + [0.99999994, 0.23570226, 0.28867513, 0.23570226, 0.0, 0.0, 0.0, 0.0, 0.0], + [0.23570226, 1.0, 0.40824831, 0.33333334, 0.70710677, 0.0, 0.0, 0.0, 0.23570226], + [0.28867513, 0.40824831, 1.0, 0.61237246, 0.28867513, 0.0, 0.0, 0.0, 0.0] + ], dtype=numpy.float32) + self.assertTrue(numpy.allclose(expected, sims)) + + # test the same thing but with num_best + index.num_best = 3 + sims = index[query] + expected = [[(0, 0.99999994), (2, 0.28867513), (3, 0.23570226)], + [(1, 1.0), (4, 0.70710677), (2, 0.40824831)], + [(2, 1.0), (3, 0.61237246), (1, 0.40824831)]] + self.assertTrue(numpy.allclose(expected, sims)) + + + def testIter(self): + if self.cls == similarities.Similarity: + index = self.cls(None, corpus, num_features=len(dictionary), shardsize=5) + else: + index = self.cls(corpus, num_features=len(dictionary)) + sims = [sim for sim in index] + expected = numpy.array([ + [0.99999994, 0.23570226, 0.28867513, 0.23570226, 0.0, 0.0, 0.0, 0.0, 0.0], + [0.23570226, 1.0, 0.40824831, 0.33333334, 0.70710677, 0.0, 0.0, 0.0, 0.23570226], + [0.28867513, 0.40824831, 1.0, 0.61237246, 0.28867513, 0.0, 0.0, 0.0, 0.0], + [0.23570226, 0.33333334, 0.61237246, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], + [0.0, 0.70710677, 0.28867513, 0.0, 0.99999994, 0.0, 0.0, 0.0, 0.0], + [0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.70710677, 0.57735026, 0.0], + [0.0, 0.0, 0.0, 0.0, 0.0, 0.70710677, 0.99999994, 0.81649655, 0.40824828], + [0.0, 0.0, 0.0, 0.0, 0.0, 0.57735026, 0.81649655, 0.99999994, 0.66666663], + [0.0, 0.23570226, 0.0, 0.0, 0.0, 0.0, 0.40824828, 0.66666663, 0.99999994] + ], dtype=numpy.float32) + self.assertTrue(numpy.allclose(expected, sims)) + + + def testPersistency(self): + fname = testfile() + '.pkl' + if self.cls == similarities.Similarity: + index = self.cls(None, corpus, num_features=len(dictionary), shardsize=5) + else: + index = self.cls(corpus, num_features=len(dictionary)) + index.save(fname) + index2 = self.cls.load(fname) + if self.cls == similarities.Similarity: + # for Similarity, only do a basic check + self.assertTrue(len(index.shards) == len(index2.shards)) + return + if isinstance(index, similarities.SparseMatrixSimilarity): + # hack SparseMatrixSim indexes so they're easy to compare + index.index = index.index.todense() + index2.index = index2.index.todense() + self.assertTrue(numpy.allclose(index.index, index2.index)) + self.assertEqual(index.num_best, index2.num_best) + + def assertTrue(self, param): + pass + + +class TestMatrixSimilarity(unittest.TestCase, TestSimilarityABC): + def setUp(self): + self.cls = similarities.MatrixSimilarity + + +class TestSparseMatrixSimilarity(unittest.TestCase, TestSimilarityABC): + def setUp(self): + self.cls = similarities.SparseMatrixSimilarity + + +class TestSimilarity(unittest.TestCase, TestSimilarityABC): + def setUp(self): + self.cls = similarities.Similarity + + def testSharding(self): + for num_best in [None, 0, 1, 9, 1000]: + for shardsize in [1, 2, 9, 1000]: + self.testFull(num_best=num_best, shardsize=shardsize) + + def testReopen(self): + """test re-opening partially full shards""" + index = similarities.Similarity(None, corpus[:5], num_features=len(dictionary), shardsize=9) + _ = index[corpus[0]] # forces shard close + index.add_documents(corpus[5:]) + query = corpus[0] + sims = index[query] + expected = [(0, 0.99999994), (2, 0.28867513), (3, 0.23570226), (1, 0.23570226)] + expected = matutils.sparse2full(expected, len(index)) + self.assertTrue(numpy.allclose(expected, sims)) + + +if __name__ == '__main__': + logging.basicConfig(level=logging.DEBUG) + unittest.main() diff --git a/gensim-develop/gensim/test/test_utils.py b/gensim-develop/gensim/test/test_utils.py new file mode 100644 index 0000000000..c04b4d5c7b --- /dev/null +++ b/gensim-develop/gensim/test/test_utils.py @@ -0,0 +1,78 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + +""" +Automated tests for checking various utils functions. +""" + +import logging +import unittest + +from gensim import utils + + +class TestIsCorpus(unittest.TestCase): + def test_None(self): + # test None + result = utils.is_corpus(None) + expected = (False, None) + self.assertEqual(expected, result) + + def test_simple_lists_of_tuples(self): + # test list words + + # one document, one word + potentialCorpus = [[(0, 4.)]] + result = utils.is_corpus(potentialCorpus) + expected = (True, potentialCorpus) + self.assertEqual(expected, result) + + # one document, several words + potentialCorpus = [[(0, 4.), (1, 2.)]] + result = utils.is_corpus(potentialCorpus) + expected = (True, potentialCorpus) + self.assertEqual(expected, result) + + potentialCorpus = [[(0, 4.), (1, 2.), (2, 5.), (3, 8.)]] + result = utils.is_corpus(potentialCorpus) + expected = (True, potentialCorpus) + self.assertEqual(expected, result) + + # several documents, one word + potentialCorpus = [[(0, 4.)], [(1, 2.)]] + result = utils.is_corpus(potentialCorpus) + expected = (True, potentialCorpus) + self.assertEqual(expected, result) + + potentialCorpus = [[(0, 4.)], [(1, 2.)], [(2, 5.)], [(3, 8.)]] + result = utils.is_corpus(potentialCorpus) + expected = (True, potentialCorpus) + self.assertEqual(expected, result) + + def test_int_tuples(self): + potentialCorpus = [[(0, 4)]] + result = utils.is_corpus(potentialCorpus) + expected = (True, potentialCorpus) + self.assertEqual(expected, result) + + def test_invalid_formats(self): + # test invalid formats + # these are no corpus, because they do not consists of 2-tuples with + # the form(int, float). + potentials = list() + potentials.append(["human"]) + potentials.append("human") + potentials.append(["human", "star"]) + potentials.append([1, 2, 3, 4, 5, 5]) + potentials.append([[(0, 'string')]]) + for noCorpus in potentials: + result = utils.is_corpus(noCorpus) + expected = (False, noCorpus) + self.assertEqual(expected, result) + + +if __name__ == '__main__': + logging.root.setLevel(logging.WARNING) + unittest.main() diff --git a/gensim-develop/gensim/utils.py b/gensim-develop/gensim/utils.py new file mode 100644 index 0000000000..93ebf2e99d --- /dev/null +++ b/gensim-develop/gensim/utils.py @@ -0,0 +1,677 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2010 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + +""" +This module contains various general utility functions. +""" + +import logging + +logger = logging.getLogger('gensim.utils') + +import re +import unicodedata +import os +import random +import pickle as modPkl +import itertools +import tempfile +from functools import wraps # for `synchronous` function lock +from html.entities import name2codepoint as n2cp # for `decode_htmlentities` +import multiprocessing +import shutil +import traceback + + +try: + from pattern.en import parse + + logger.info("'pattern' package found; utils.lemmatize() is available for English") + HAS_PATTERN = True +except ImportError: + HAS_PATTERN = False + +PAT_ALPHABETIC = re.compile('(((?![\d])\w)+)', re.UNICODE) +RE_HTML_ENTITY = re.compile(r'&(#?)(x?)(\w+);', re.UNICODE) + + +def synchronous(tlockname): + """ + A decorator to place an instance-based lock around a method. + + Adapted from http://code.activestate.com/recipes/577105-synchronization-decorator-for-class-methods/ + """ + + def _synched(func): + @wraps(func) + def _synchronizer(self, *args, **kwargs): + tlock = getattr(self, tlockname) + logger.debug("acquiring lock %r for %s" % (tlockname, func.__name__)) + + with tlock: # use lock as a context manager to perform safe acquire/release pairs + logger.debug("acquired lock %r for %s" % (tlockname, func.__name__)) + result = func(self, *args, **kwargs) + logger.debug("releasing lock %r for %s" % (tlockname, func.__name__)) + return result + + return _synchronizer + + return _synched + + +class NoCM(object): + def acquire(self): + pass + + def release(self): + pass + + def __enter__(self): + pass + + def __exit__(self, type, value, traceback): + pass + + +nocm = NoCM() + + +def deaccent(text): + """ + Remove accentuation from the given string. Input text is either a unicode string or utf8 encoded bytestring. + + Return input string with accents removed, as unicode. + + >>> deaccent("Šéf chomutovských komunistů dostal poštou bílý prášek") + u'Sef chomutovskych komunistu dostal postou bily prasek' + """ + if not isinstance(text, str): + text = str(text, 'utf8') # assume utf8 for byte strings, use default (strict) error handling + norm = unicodedata.normalize("NFD", text) + result = ''.join(ch for ch in norm if unicodedata.category(ch) != 'Mn') + return unicodedata.normalize("NFC", result) + + +def copytree_hardlink(source, dest): + """ + Recursively copy a directory ala shutils.copytree, but hardlink files + instead of copying. Available on UNIX systems only. + """ + copy2 = shutil.copy2 + try: + shutil.copy2 = os.link + shutil.copytree(source, dest) + finally: + shutil.copy2 = copy2 + + +def tokenize(text, lowercase=False, deacc=False, errors="strict", to_lower=False, lower=False): + """ + Iteratively yield tokens as unicode strings, optionally also lowercasing them + and removing accent marks. + + Input text may be either unicode or utf8-encoded byte string. + + The tokens on output are maximal contiguous sequences of alphabetic + characters (no digits!). + + >>> list(tokenize('Nic nemůže letět rychlostí vyšší, než 300 tisíc kilometrů za sekundu!', deacc = True)) + [u'Nic', u'nemuze', u'letet', u'rychlosti', u'vyssi', u'nez', u'tisic', u'kilometru', u'za', u'sekundu'] + """ + lowercase = lowercase or to_lower or lower + if not isinstance(text, str): + text = str(text, encoding='utf8', errors=errors) + if lowercase: + text = text.lower() + if deacc: + text = deaccent(text) + for match in PAT_ALPHABETIC.finditer(text): + yield match.group() + + +def simple_preprocess(doc, deacc=False): + """ + Convert a document into a list of tokens. + + This lowercases, tokenizes, stems, normalizes etc. -- the output are final, + utf8 encoded strings that won't be processed any further. + """ + tokens = [token.encode('utf8') for token in tokenize(doc, lower=True, deacc=deacc, errors='ignore') + if 2 <= len(token) <= 15 and not token.startswith('_')] + return tokens + + +def any2utf8(text, errors='strict', encoding='utf8'): + """Convert a string (unicode or bytestring in `encoding`), to bytestring in utf8. + """ + if isinstance(text, str): + return text.encode('utf8') + # do bytestring -> unicode -> utf8 full circle, to ensure valid utf8 + return str(text, encoding, errors=errors).encode('utf8') + + +to_utf8 = any2utf8 + + +def any2unicode(text, encoding='utf8', errors='strict'): + """Convert a string (bytestring in `encoding` or unicode), to unicode.""" + if isinstance(text, str): + return text + return str(text, encoding, errors=errors) + + +to_unicode = any2unicode + + +class SaveLoad(object): + """ + Objects which inherit from this class have save/load functions, which un/pickle + them to disk. + + This uses cPickle for de/serializing, so objects must not contains unpicklable + attributes, such as lambda functions etc. + """ + + @classmethod + def load(cls, fname): + """ + Load a previously saved object from file (also see `save`). + """ + logger.info("loading %s object from %s" % (cls.__name__, fname)) + return unpickle(fname) + + def save(self, fname): + """ + Save the object to file via pickling (also see `load`). + """ + logger.info("saving %s object to %s" % (self.__class__.__name__, fname)) + pickle(self, fname) + + #endclass SaveLoad + + +def identity(p): + return p + + +def get_max_id(corpus): + """ + Return highest feature id that appears in the corpus. + + For empty corpora (no features at all), return -1. + """ + maxid = -1 + for document in corpus: + maxid = max(maxid, max([-1] + [fieldid for fieldid, _ in document])) # [-1] to avoid exceptions from max(empty) + return maxid + + +class FakeDict(object): + """ + Objects of this class act as dictionaries that map integer->str(integer), for + a specified range of integers <0, num_terms). + + This is meant to avoid allocating real dictionaries when `num_terms` is huge, which + is a waste of memory. + """ + + def __init__(self, num_terms): + self.num_terms = num_terms + + + def __str__(self): + return "FakeDict(num_terms=%s)" % self.num_terms + + + def __getitem__(self, val): + if 0 <= val < self.num_terms: + return str(val) + raise ValueError("internal id out of bounds (%s, expected <0..%s))" % + (val, self.num_terms)) + + def iteritems(self): + for i in range(self.num_terms): + yield i, str(i) + + def keys(self): + """ + Override the dict.keys() function, which is used to determine the maximum + internal id of a corpus = the vocabulary dimensionality. + + HACK: To avoid materializing the whole `range(0, self.num_terms)`, this returns + `[self.num_terms - 1]` only. + """ + return [self.num_terms - 1] + + def __len__(self): + return self.num_terms + + def get(self, val, default=None): + if 0 <= val < self.num_terms: + return str(val) + return default + + +def dict_from_corpus(corpus): + """ + Scan corpus for all word ids that appear in it, then construct and return a mapping + which maps each ``wordId -> str(wordId)``. + + This function is used whenever *words* need to be displayed (as opposed to just + their ids) but no wordId->word mapping was provided. The resulting mapping + only covers words actually used in the corpus, up to the highest wordId found. + """ + num_terms = 1 + get_max_id(corpus) + id2word = FakeDict(num_terms) + return id2word + + +def is_corpus(obj): + """ + Check whether `obj` is a corpus. Return (is_corpus, new) 2-tuple, where + `new is obj` if `obj` was an iterable, or `new` yields the same sequence as + `obj` if it was an iterator. + + `obj` is a corpus if it supports iteration over documents, where a document + is in turn anything that acts as a sequence of 2-tuples (int, float). + + Note: An "empty" corpus (empty input sequence) is ambiguous, so in this case the + result is forcefully defined as `is_corpus=False`. + """ + try: + if 'Corpus' in obj.__class__.__name__: # the most common case, quick hack + return True, obj + except: + pass + try: + if hasattr(obj, 'next'): + # the input is an iterator object, meaning once we call next() + # that element could be gone forever. we must be careful to put + # whatever we retrieve back again + doc1 = next(obj) + obj = itertools.chain([doc1], obj) + else: + doc1 = next(iter(obj)) # empty corpus is resolved to False here + if len(doc1) == 0: # sparse documents must have a __len__ function (list, tuple...) + return True, obj # the first document is empty=>assume this is a corpus + id1, val1 = next(iter(doc1)) # if obj is a numpy array, it resolves to False here + id1, val1 = int(id1), float(val1) # must be a 2-tuple (integer, float) + except: + return False, obj + return True, obj + + +def get_my_ip(): + """ + Try to obtain our external ip (from the pyro nameserver's point of view) + + This tries to sidestep the issue of bogus `/etc/hosts` entries and other + local misconfigurations, which often mess up hostname resolution. + + If all else fails, fall back to simple `socket.gethostbyname()` lookup. + """ + import socket + + try: + import Pyro4 + # we know the nameserver must exist, so use it as our anchor point + ns = Pyro4.naming.locateNS() + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + s.connect((ns._pyroUri.host, ns._pyroUri.port)) + result, port = s.getsockname() + except: + try: + # see what ifconfig says about our default interface + import subprocess + + result = subprocess.getoutput("ifconfig").split("\n")[1].split()[1][5:] + if len(result.split('.')) != 4: + raise Exception() + except: + # give up, leave the resolution to gethostbyname + result = socket.gethostbyname(socket.gethostname()) + return result + + +class RepeatCorpus(SaveLoad): + """ + Used in the tutorial on distributed computing and likely not useful anywhere else. + + """ + + def __init__(self, corpus, reps): + """ + Wrap a `corpus` as another corpus of length `reps`. This is achieved by + repeating documents from `corpus` over and over again, until the requested + length `len(result)==reps` is reached. Repetition is done + on-the-fly=efficiently, via `itertools`. + + >>> corpus = [[(1, 0.5)], []] # 2 documents + >>> list(RepeatCorpus(corpus, 5)) # repeat 2.5 times to get 5 documents + [[(1, 0.5)], [], [(1, 0.5)], [], [(1, 0.5)]] + + """ + self.corpus = corpus + self.reps = reps + + def __iter__(self): + return itertools.islice(itertools.cycle(self.corpus), self.reps) + + +def decode_htmlentities(text): + """ + Decode HTML entities in text, coded as hex, decimal or named. + + Adapted from http://github.com/sku/python-twitter-ircbot/blob/321d94e0e40d0acc92f5bf57d126b57369da70de/html_decode.py + + >>> u = u'E tu vivrai nel terrore - L'aldilà (1981)' + >>> print decode_htmlentities(u).encode('UTF-8') + E tu vivrai nel terrore - L'aldilà (1981) + >>> print decode_htmlentities("l'eau") + l'eau + >>> print decode_htmlentities("foo < bar") + foo < bar + + """ + + def substitute_entity(match): + ent = match.group(3) + if match.group(1) == "#": + # decoding by number + if match.group(2) == '': + # number is in decimal + return chr(int(ent)) + elif match.group(2) == 'x': + # number is in hex + return chr(int('0x' + ent, 16)) + else: + # they were using a name + cp = n2cp.get(ent) + if cp: + return chr(cp) + else: + return match.group() + + try: + return RE_HTML_ENTITY.sub(substitute_entity, text) + except: + # in case of errors, return input + # e.g., ValueError: unichr() arg not in range(0x10000) (narrow Python build) + return text + + +def chunkize_serial(iterable, chunksize, as_numpy=False): + """ + Return elements from the iterable in `chunksize`-ed lists. The last returned + element may be smaller (if length of collection is not divisible by `chunksize`). + + >>> print list(grouper(xrange(10), 3)) + [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9]] + """ + import numpy + + it = iter(iterable) + while True: + if as_numpy: + # convert each document to a 2d numpy array (~6x faster when transmitting + # chunk data over the wire, in Pyro) + wrapped_chunk = [[numpy.array(doc) for doc in itertools.islice(it, int(chunksize))]] + else: + wrapped_chunk = [list(itertools.islice(it, int(chunksize)))] + if not wrapped_chunk[0]: + break + # memory opt: wrap the chunk and then pop(), to avoid leaving behind a dangling reference + yield wrapped_chunk.pop() + + +grouper = chunkize_serial + + +class InputQueue(multiprocessing.Process): + def __init__(self, q, corpus, chunksize, maxsize, as_numpy): + super(InputQueue, self).__init__() + self.q = q + self.maxsize = maxsize + self.corpus = corpus + self.chunksize = chunksize + self.as_numpy = as_numpy + + def run(self): + if self.as_numpy: + import numpy # don't clutter the global namespace with a dependency on numpy + it = iter(self.corpus) + while True: + chunk = itertools.islice(it, self.chunksize) + if self.as_numpy: + # HACK XXX convert documents to numpy arrays, to save memory. + # This also gives a scipy warning at runtime: + # "UserWarning: indices array has non-integer dtype (float64)" + wrapped_chunk = [[numpy.asarray(doc) for doc in chunk]] + else: + wrapped_chunk = [list(chunk)] + + if not wrapped_chunk[0]: + self.q.put(None, block=True) + break + + try: + qsize = self.q.qsize() + except NotImplementedError: + qsize = '?' + logger.debug("prepared another chunk of %i documents (qsize=%s)" % + (len(wrapped_chunk[0]), qsize)) + self.q.put(wrapped_chunk.pop(), block=True) + +#endclass InputQueue + + +if os.name == 'nt': + logger.info("detected Windows; aliasing chunkize to chunkize_serial") + + def chunkize(corpus, chunksize, as_numpy=False): + for chunk in chunkize_serial(corpus, chunksize, as_numpy=as_numpy): + yield chunk +else: + def chunkize(corpus, chunksize, maxsize=0, as_numpy=False): + """ + Split a stream of values into smaller chunks. + Each chunk is of length `chunksize`, except the last one which may be smaller. + A once-only input stream (`corpus` from a generator) is ok, chunking is done + efficiently via itertools. + + If `maxsize > 1`, don't wait idly in between successive chunk `yields`, but + rather keep filling a short queue (of size at most `maxsize`) with forthcoming + chunks in advance. This is realized by starting a separate process, and is + meant to reduce I/O delays, which can be significant when `corpus` comes + from a slow medium (like harddisk). + + If `maxsize==0`, don't fool around with parallelism and simply yield the chunksize + via `chunkize_serial()` (no I/O optimizations). + + >>> for chunk in chunkize(xrange(10), 4): print chunk + [0, 1, 2, 3] + [4, 5, 6, 7] + [8, 9] + + """ + assert chunksize > 0 + + if maxsize > 0: + q = multiprocessing.Queue(maxsize=maxsize) + worker = InputQueue(q, corpus, chunksize, maxsize=maxsize, as_numpy=as_numpy) + worker.daemon = True + worker.start() + while True: + chunk = [q.get(block=True)] + if chunk[0] is None: + break + yield chunk.pop() + else: + for chunk in chunkize_serial(corpus, chunksize, as_numpy=as_numpy): + yield chunk + + +def smart_open(fname, mode): + from os import path + + _, ext = path.splitext(fname) + if ext == '.bz2': + from bz2 import BZ2File + + return BZ2File(fname, mode) + if ext == '.gz': + from gzip import GzipFile + + return GzipFile(fname, mode) + return open(fname, mode) + + +def pickle(obj, fname, protocol=-1): + """Pickle object `obj` to file `fname`.""" + with smart_open(fname, 'wb') as fout: # 'b' for binary, needed on Windows + modPkl.dump(obj, fout, protocol=protocol) + + +def unpickle(fname): + """Load pickled object from `fname`""" + return modPkl.load(smart_open(fname, 'rb')) + + +def revdict(d): + """ + Reverse a dictionary mapping. + + When two keys map to the same value, only one of them will be kept in the + result (which one is kept is arbitrary).""" + return dict((v, k) for (k, v) in d.items()) + + +def toptexts(query, texts, index, n=10): + """ + Debug fnc to help inspect the top `n` most similar documents (according to a + similarity index `index`), to see if they are actually related to the query. + + `texts` is any object that can return something insightful for each document + via `texts[docid]`, such as its fulltext or snippet. + + Return a list of 3-tuples (docid, doc's similarity to the query, texts[docid]). + """ + sims = index[query] # perform a similarity query against the corpus + sims = sorted(enumerate(sims), key=lambda item: -item[1]) + + result = [] + for topid, topcosine in sims[:n]: # only consider top-n most similar docs + result.append((topid, topcosine, texts[topid])) + return result + + +def randfname(prefix='gensim'): + randpart = hex(random.randint(0, 0xffffff))[2:] + return os.path.join(tempfile.gettempdir(), prefix + randpart) + + +def upload_chunked(server, docs, chunksize=1000, preprocess=None): + """ + Memory-friendly upload of documents to a SimServer (or Pyro SimServer proxy). + + Use this function to train or index large collections -- avoid sending the + entire corpus over the wire as a single Pyro in-memory object. The documents + will be sent in smaller chunks, of `chunksize` documents each. + """ + start = 0 + for chunk in grouper(docs, chunksize): + end = start + len(chunk) + logger.info("uploading documents %i-%i" % (start, end - 1)) + if preprocess is not None: + pchunk = [] + for doc in chunk: + doc['tokens'] = preprocess(doc['text']) + del doc['text'] + pchunk.append(doc) + chunk = pchunk + server.buffer(chunk) + start = end + + +def getNS(): + """ + Return a Pyro name server proxy. If there is no name server running, + start one on 0.0.0.0 (all interfaces), as a background process. + """ + import Pyro4 + + try: + return Pyro4.locateNS() + except Pyro4.errors.NamingError: + logger.info("Pyro name server not found; starting a new one") + os.system("python -m Pyro4.naming -n 0.0.0.0 &") + # TODO: spawn a proper daemon ala http://code.activestate.com/recipes/278731/ ? + # like this, if there's an error somewhere, we'll never know... (and the loop + # below will block). And it probably doesn't work on windows, either. + while True: + try: + return Pyro4.locateNS() + except: + pass + + +def pyro_daemon(name, obj, random_suffix=False, ip=None, port=None): + """Register object with name server (starting the name server if not running + yet) and block until the daemon is terminated. The object is registered under + `name`, or `name`+ some random suffix if `random_suffix` is set.""" + if random_suffix: + name += '.' + hex(random.randint(0, 0xffffff))[2:] + import Pyro4 + + with getNS() as ns: + with Pyro4.Daemon(ip or get_my_ip(), port or 0) as daemon: + # register server for remote access + uri = daemon.register(obj, name) + ns.remove(name) + ns.register(name, uri) + logger.info("%s registered with nameserver (URI '%s')" % (name, uri)) + daemon.requestLoop() + + +if HAS_PATTERN: + def lemmatize(content, light=False, allowed_tags=re.compile('(NN|VB|JJ|RB)')): + """ + This function is only available when the optional 'pattern' package is installed. + + Use the English lemmatizer from `pattern` to extract tokens in + their base form=lemma, e.g. "are, is, being" -> "be" etc. + This is a smarter version of stemming. Only consider nouns, verbs, adjectives + and adverbs by default (=all other lemmas are discarded). + + >>> lemmatize('Hello World! How is it going?! Nonexistentword, 21') + ['world/NN', 'be/VB', 'go/VB', 'nonexistentword/NN'] + + From http://www.clips.ua.ac.be/pages/pattern-en#parser : + + The parser is built on a Brill lexicon of tagged words and rules to + improve the tags context-wise. With light=False, it uses Brill's contextual + rules. With light=True it uses Jason Wiener's simpler ruleset. This + ruleset is 5-10x faster but also 25% less accurate. + + """ + # tokenization in `pattern` is weird; it gets thrown off by non-letters, + # producing '==relate/VBN' or '**/NN'... try to preprocess the text a little + # FIXME this throws away all fancy parsing cues, including sentence structure, + # abbreviations etc. + content = ' '.join(tokenize(content, lower=True, errors='ignore')) + + # use simpler, modified pattern.text.en.text.parser.parse that doesn't + # collapse the output at the end: https://github.com/piskvorky/pattern + parsed = parse(content, lemmata=True, collapse=False, light=light) + result = [] + for sentence in parsed: + for token, tag, _, _, lemma in sentence: + if 2 <= len(lemma) <= 15 and not lemma.startswith('_'): + if allowed_tags.match(tag): + lemma += "/" + tag[:2] + result.append(lemma.encode('utf8')) + return result + #endif HAS_PATTERN diff --git a/gensim-develop/setup.py b/gensim-develop/setup.py new file mode 100644 index 0000000000..3b6bc9438f --- /dev/null +++ b/gensim-develop/setup.py @@ -0,0 +1,86 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (C) 2012 Radim Rehurek +# Licensed under the GNU LGPL v2.1 - http://www.gnu.org/licenses/lgpl.html + +""" +Run with: + +sudo python ./setup.py install +""" + +import os +import sys + +if sys.version_info[:2] < (2, 5): + raise Exception('This version of gensim needs Python 2.5 or later. ') + +import ez_setup + +ez_setup.use_setuptools() +from setuptools import setup, find_packages + + +def read(fname): + return open(os.path.join(os.path.dirname(__file__), fname)).read() + + +setup( + name='gensim', + version='0.8.7', + description='Python framework for fast Vector Space Modelling', + long_description=read('README.rst'), + + packages=find_packages(), + + # there is a bug in python2.5, preventing distutils from using any non-ascii characters :( http://bugs.python.org/issue2562 + author='Radim Rehurek', # u'Radim Řehůřek', # <- should really be this... + author_email='radimrehurek@seznam.cz', + + url='http://radimrehurek.com/gensim', + download_url='http://pypi.python.org/pypi/gensim', + + keywords='Singular Value Decomposition, Latent Semantic Indexing, SVD, LSA, ' + 'LSI, LDA, Latent Dirichlet Allocation, VSM, Random Projections, TFIDF', + + license='LGPL', + platforms='any', + + zip_safe=False, + + classifiers=[# from http://pypi.python.org/pypi?%3Aaction=list_classifiers + 'Development Status :: 4 - Beta', + 'Environment :: Console', + 'Intended Audience :: Science/Research', + 'License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)', + 'Operating System :: OS Independent', + 'Programming Language :: Python :: 2.5', + 'Topic :: Scientific/Engineering :: Artificial Intelligence', + 'Topic :: Scientific/Engineering :: Information Analysis', + 'Topic :: Text Processing :: Linguistic', + ], + + test_suite="gensim.test", + + install_requires=[ + 'scipy >= 0.7.0', + ], + + extras_require={ + 'distributed': ['Pyro4 >= 4.8'], + }, + + include_package_data=True, + + # lines below are commented out to avoid installing system-wide scripts + # scripts can be run by running `python -m module_name` instead: less + # flexible but more explicit and imo cleaner. + # entry_points = { + # 'console_scripts': [ + # 'lsi_worker = gensim.models.lsi_worker:main', + # 'lsi_dispatcher = gensim.models.lsi_dispatcher:main', + # ], + # }, + +) diff --git a/gensim-develop/tox.ini b/gensim-develop/tox.ini new file mode 100644 index 0000000000..c1d4a7c84b --- /dev/null +++ b/gensim-develop/tox.ini @@ -0,0 +1,6 @@ +[tox] +envlist = py25, py27 + +[testenv] +commands = python setup.py test # discover / nosetests ... +sitepackages = True