1a2b2e1e6SMark Ellzey<p align="center"> 221bfaa70SAzat Khuzhin <img src="https://strcpy.net/libevent3.png" alt="libevent logo"/> 3a2b2e1e6SMark Ellzey</p> 4a2b2e1e6SMark Ellzey 5a2b2e1e6SMark Ellzey 680faee9fSMark Ellzey 75991f5b2SAzat Khuzhin[](https://ci.appveyor.com/project/libevent/libevent) 8ad4a897aSMark Ellzey[](https://travis-ci.org/libevent/libevent) 99ac000c7SAzat Khuzhin[](https://coveralls.io/github/libevent/libevent) 108886eed4SThe Gitter Badger[](https://gitter.im/libevent/libevent?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) 1180faee9fSMark Ellzey 12ad4a897aSMark Ellzey 13ad4a897aSMark Ellzey 14604b8cc4SJoakim Soderberg# 0. BUILDING AND INSTALLATION (Briefly) 15d2bc39afSJoakim Soderberg 16604b8cc4SJoakim Soderberg## Autoconf 17604b8cc4SJoakim Soderberg 18d2bc39afSJoakim Soderberg $ ./configure 19d2bc39afSJoakim Soderberg $ make 20d2bc39afSJoakim Soderberg $ make verify # (optional) 21d2bc39afSJoakim Soderberg $ sudo make install 22d2bc39afSJoakim Soderberg 2321bfaa70SAzat Khuzhin## CMake (General) 248b228e27SMark Ellzey 258b228e27SMark Ellzey 2621bfaa70SAzat KhuzhinThe following Libevent specific CMake variables are as follows (the values being 278b228e27SMark Ellzeythe default). 288b228e27SMark Ellzey 298b228e27SMark Ellzey``` 30eb10a738SAzat Khuzhin# Type of the library to build (SHARED or STATIC) 31bc7f2fd9SAzat Khuzhin# Default is: SHARED for MSVC, otherwise BOTH 32eb10a738SAzat KhuzhinEVENT__LIBRARY_TYPE:STRING=DEFAULT 33eb10a738SAzat Khuzhin 348b228e27SMark Ellzey# Installation directory for CMake files 358b228e27SMark EllzeyEVENT_INSTALL_CMAKE_DIR:PATH=lib/cmake/libevent 368b228e27SMark Ellzey 378b228e27SMark Ellzey# Enable running gcov to get a test coverage report (only works with 388b228e27SMark Ellzey# GCC/CLang). Make sure to enable -DCMAKE_BUILD_TYPE=Debug as well. 398b228e27SMark EllzeyEVENT__COVERAGE:BOOL=OFF 408b228e27SMark Ellzey 4121bfaa70SAzat Khuzhin# Defines if Libevent should build without the benchmark executables 428b228e27SMark EllzeyEVENT__DISABLE_BENCHMARK:BOOL=OFF 438b228e27SMark Ellzey 4421bfaa70SAzat Khuzhin# Define if Libevent should build without support for a debug mode 458b228e27SMark EllzeyEVENT__DISABLE_DEBUG_MODE:BOOL=OFF 468b228e27SMark Ellzey 4721bfaa70SAzat Khuzhin# Define if Libevent should not allow replacing the mm functions 488b228e27SMark EllzeyEVENT__DISABLE_MM_REPLACEMENT:BOOL=OFF 498b228e27SMark Ellzey 5021bfaa70SAzat Khuzhin# Define if Libevent should build without support for OpenSSL encryption 513821cca1SBreakerEVENT__DISABLE_OPENSSL:BOOL=OFF 528b228e27SMark Ellzey 538b228e27SMark Ellzey# Disable the regress tests 548b228e27SMark EllzeyEVENT__DISABLE_REGRESS:BOOL=OFF 558b228e27SMark Ellzey 568b228e27SMark Ellzey# Disable sample files 578b228e27SMark EllzeyEVENT__DISABLE_SAMPLES:BOOL=OFF 588b228e27SMark Ellzey 598b228e27SMark Ellzey# If tests should be compiled or not 608b228e27SMark EllzeyEVENT__DISABLE_TESTS:BOOL=OFF 618b228e27SMark Ellzey 6221bfaa70SAzat Khuzhin# Define if Libevent should not be compiled with thread support 638b228e27SMark EllzeyEVENT__DISABLE_THREAD_SUPPORT:BOOL=OFF 648b228e27SMark Ellzey 658b228e27SMark Ellzey# Enables verbose debugging 668b228e27SMark EllzeyEVENT__ENABLE_VERBOSE_DEBUG:BOOL=OFF 678b228e27SMark Ellzey 6821bfaa70SAzat Khuzhin# When cross compiling, forces running a test program that verifies that Kqueue 698b228e27SMark Ellzey# works with pipes. Note that this requires you to manually run the test program 7021bfaa70SAzat Khuzhin# on the the cross compilation target to verify that it works. See CMake 718b228e27SMark Ellzey# documentation for try_run for more details 728b228e27SMark EllzeyEVENT__FORCE_KQUEUE_CHECK:BOOL=OFF 738b228e27SMark Ellzey``` 748b228e27SMark Ellzey 758b228e27SMark Ellzey__More variables can be found by running `cmake -LAH <sourcedir_path>`__ 768b228e27SMark Ellzey 778b228e27SMark Ellzey 78604b8cc4SJoakim Soderberg## CMake (Windows) 79604b8cc4SJoakim Soderberg 8021bfaa70SAzat KhuzhinInstall CMake: <https://www.cmake.org> 81604b8cc4SJoakim Soderberg 828d4cb35dSJoakimSoderberg 83604b8cc4SJoakim Soderberg $ md build && cd build 84604b8cc4SJoakim Soderberg $ cmake -G "Visual Studio 10" .. # Or whatever generator you want to use cmake --help for a list. 85604b8cc4SJoakim Soderberg $ start libevent.sln 86604b8cc4SJoakim Soderberg 87604b8cc4SJoakim Soderberg## CMake (Unix) 88604b8cc4SJoakim Soderberg 89604b8cc4SJoakim Soderberg $ mkdir build && cd build 90604b8cc4SJoakim Soderberg $ cmake .. # Default to Unix Makefiles. 91604b8cc4SJoakim Soderberg $ make 92604b8cc4SJoakim Soderberg $ make verify # (optional) 938d4cb35dSJoakimSoderberg 94604b8cc4SJoakim Soderberg 95604b8cc4SJoakim Soderberg# 1. BUILDING AND INSTALLATION (In Depth) 96604b8cc4SJoakim Soderberg 97604b8cc4SJoakim Soderberg## Autoconf 98d2bc39afSJoakim Soderberg 9921bfaa70SAzat KhuzhinTo build Libevent, type 100d2bc39afSJoakim Soderberg 101d2bc39afSJoakim Soderberg $ ./configure && make 102d2bc39afSJoakim Soderberg 1038d4cb35dSJoakimSoderberg 10421bfaa70SAzat Khuzhin (If you got Libevent from the git repository, you will 105d2bc39afSJoakim Soderberg first need to run the included "autogen.sh" script in order to 106d2bc39afSJoakim Soderberg generate the configure script.) 107d2bc39afSJoakim Soderberg 108d2bc39afSJoakim SoderbergYou can run the regression tests by running 109d2bc39afSJoakim Soderberg 110d2bc39afSJoakim Soderberg $ make verify 111d2bc39afSJoakim Soderberg 112d2bc39afSJoakim SoderbergInstall as root via 113d2bc39afSJoakim Soderberg 114604b8cc4SJoakim Soderberg $ make install 115d2bc39afSJoakim Soderberg 116d2bc39afSJoakim SoderbergBefore reporting any problems, please run the regression tests. 117d2bc39afSJoakim Soderberg 11821bfaa70SAzat KhuzhinTo enable low-level tracing, build the library as: 119d2bc39afSJoakim Soderberg 1208d4cb35dSJoakimSoderberg $ CFLAGS=-DUSE_DEBUG ./configure [...] 121d2bc39afSJoakim Soderberg 122d2bc39afSJoakim SoderbergStandard configure flags should work. In particular, see: 123d2bc39afSJoakim Soderberg 12421bfaa70SAzat Khuzhin --disable-shared Only build static libraries. 125d2bc39afSJoakim Soderberg --prefix Install all files relative to this directory. 126d2bc39afSJoakim Soderberg 127d2bc39afSJoakim Soderberg 128d2bc39afSJoakim SoderbergThe configure script also supports the following flags: 129d2bc39afSJoakim Soderberg 130d2bc39afSJoakim Soderberg --enable-gcc-warnings Enable extra compiler checking with GCC. 131d2bc39afSJoakim Soderberg --disable-malloc-replacement 132d2bc39afSJoakim Soderberg Don't let applications replace our memory 13321bfaa70SAzat Khuzhin management functions. 134d2bc39afSJoakim Soderberg --disable-openssl Disable support for OpenSSL encryption. 135d2bc39afSJoakim Soderberg --disable-thread-support Don't support multithreaded environments. 136d2bc39afSJoakim Soderberg 137604b8cc4SJoakim Soderberg## CMake (Windows) 138604b8cc4SJoakim Soderberg 139d03b5bf0SNick Mathewson(Note that autoconf is currently the most mature and supported build 14021bfaa70SAzat Khuzhinenvironment for Libevent; the CMake instructions here are new and 14121bfaa70SAzat Khuzhinexperimental, though they _should_ be solid. We hope that CMake will 142d03b5bf0SNick Mathewsonstill be supported in future versions of Libevent, and will try to 143d03b5bf0SNick Mathewsonmake sure that happens.) 144d03b5bf0SNick Mathewson 14521bfaa70SAzat KhuzhinFirst of all install <https://www.cmake.org>. 146604b8cc4SJoakim Soderberg 14721bfaa70SAzat KhuzhinTo build Libevent using Microsoft Visual studio open the "Visual Studio Command prompt" and type: 148604b8cc4SJoakim Soderberg 149604b8cc4SJoakim Soderberg``` 150604b8cc4SJoakim Soderberg$ cd <libevent source dir> 1518d4cb35dSJoakimSoderberg$ mkdir build && cd build 152604b8cc4SJoakim Soderberg$ cmake -G "Visual Studio 10" .. # Or whatever generator you want to use cmake --help for a list. 153604b8cc4SJoakim Soderberg$ start libevent.sln 154604b8cc4SJoakim Soderberg``` 155604b8cc4SJoakim Soderberg 1568d4cb35dSJoakimSoderbergIn the above, the ".." refers to the dir containing the Libevent source code. 1578d4cb35dSJoakimSoderbergYou can build multiple versions (with different compile time settings) from the same source tree 1588d4cb35dSJoakimSoderbergby creating other build directories. 159604b8cc4SJoakim Soderberg 1608d4cb35dSJoakimSoderbergIt is highly recommended to build "out of source" when using 1618d4cb35dSJoakimSoderbergCMake instead of "in source" like the normal behaviour of autoconf for this reason. 1628d4cb35dSJoakimSoderberg 1638d4cb35dSJoakimSoderbergThe "NMake Makefiles" CMake generator can be used to build entirely via the command line. 164604b8cc4SJoakim Soderberg 165604b8cc4SJoakim SoderbergTo get a list of settings available for the project you can type: 166604b8cc4SJoakim Soderberg 167604b8cc4SJoakim Soderberg``` 168604b8cc4SJoakim Soderberg$ cmake -LH .. 169604b8cc4SJoakim Soderberg``` 170604b8cc4SJoakim Soderberg 1718d4cb35dSJoakimSoderberg### GUI 1728d4cb35dSJoakimSoderberg 173604b8cc4SJoakim SoderbergCMake also provides a GUI that lets you specify the source directory and output (binary) directory 174604b8cc4SJoakim Soderbergthat the build should be placed in. 175604b8cc4SJoakim Soderberg 176604b8cc4SJoakim Soderberg# 2. USEFUL LINKS: 177d2bc39afSJoakim Soderberg 178d2bc39afSJoakim SoderbergFor the latest released version of Libevent, see the official website at 1798d4cb35dSJoakimSoderberg<http://libevent.org/> . 180d2bc39afSJoakim Soderberg 181d2bc39afSJoakim SoderbergThere's a pretty good work-in-progress manual up at 182604b8cc4SJoakim Soderberg <http://www.wangafu.net/~nickm/libevent-book/> . 183d2bc39afSJoakim Soderberg 184d2bc39afSJoakim SoderbergFor the latest development versions of Libevent, access our Git repository 185d2bc39afSJoakim Soderbergvia 186d2bc39afSJoakim Soderberg 187604b8cc4SJoakim Soderberg``` 188b8ec70c4SMark Ellzey$ git clone https://github.com/libevent/libevent.git 189604b8cc4SJoakim Soderberg``` 190604b8cc4SJoakim Soderberg 191604b8cc4SJoakim SoderbergYou can browse the git repository online at: 1928d4cb35dSJoakimSoderberg 19321bfaa70SAzat Khuzhin<https://github.com/libevent/libevent> 194d2bc39afSJoakim Soderberg 195b8ec70c4SMark EllzeyTo report bugs, issues, or ask for new features: 1968d4cb35dSJoakimSoderberg 197b8ec70c4SMark Ellzey__Patches__: https://github.com/libevent/libevent/pulls 19821bfaa70SAzat Khuzhin> OK, those are not really _patches_. You fork, modify, and hit the "Create Pull Request" button. 19921bfaa70SAzat Khuzhin> You can still submit normal git patches via the mailing list. 200b8ec70c4SMark Ellzey 20121bfaa70SAzat Khuzhin__Bugs, Features [RFC], and Issues__: https://github.com/libevent/libevent/issues 202b8ec70c4SMark Ellzey> Or you can do it via the mailing list. 203d2bc39afSJoakim Soderberg 204d2bc39afSJoakim SoderbergThere's also a libevent-users mailing list for talking about Libevent 2058d4cb35dSJoakimSoderberguse and development: 2068d4cb35dSJoakimSoderberg 2078d4cb35dSJoakimSoderberg<http://archives.seul.org/libevent/users/> 208d2bc39afSJoakim Soderberg 209604b8cc4SJoakim Soderberg# 3. ACKNOWLEDGMENTS 210d2bc39afSJoakim Soderberg 211d2bc39afSJoakim SoderbergThe following people have helped with suggestions, ideas, code or 212d2bc39afSJoakim Soderbergfixing bugs: 213d2bc39afSJoakim Soderberg 2148d4cb35dSJoakimSoderberg * Samy Al Bahra 215e6c6f120SNick Mathewson * Antony Antony 2168d4cb35dSJoakimSoderberg * Jacob Appelbaum 2178d4cb35dSJoakimSoderberg * Arno Bakker 2188d4cb35dSJoakimSoderberg * Weston Andros Adamson 2198d4cb35dSJoakimSoderberg * William Ahern 2208d4cb35dSJoakimSoderberg * Ivan Andropov 2218d4cb35dSJoakimSoderberg * Sergey Avseyev 2228d4cb35dSJoakimSoderberg * Avi Bab 2238d4cb35dSJoakimSoderberg * Joachim Bauch 224e6c6f120SNick Mathewson * Andrey Belobrov 2258d4cb35dSJoakimSoderberg * Gilad Benjamini 2268d4cb35dSJoakimSoderberg * Stas Bekman 2278d4cb35dSJoakimSoderberg * Denis Bilenko 2288d4cb35dSJoakimSoderberg * Julien Blache 2298d4cb35dSJoakimSoderberg * Kevin Bowling 2308d4cb35dSJoakimSoderberg * Tomash Brechko 2318d4cb35dSJoakimSoderberg * Kelly Brock 2328d4cb35dSJoakimSoderberg * Ralph Castain 2338d4cb35dSJoakimSoderberg * Adrian Chadd 2348d4cb35dSJoakimSoderberg * Lawnstein Chan 2358d4cb35dSJoakimSoderberg * Shuo Chen 2368d4cb35dSJoakimSoderberg * Ka-Hing Cheung 2378d4cb35dSJoakimSoderberg * Andrew Cox 2388d4cb35dSJoakimSoderberg * Paul Croome 2398d4cb35dSJoakimSoderberg * George Danchev 2408d4cb35dSJoakimSoderberg * Andrew Danforth 2418d4cb35dSJoakimSoderberg * Ed Day 2428d4cb35dSJoakimSoderberg * Christopher Davis 2438d4cb35dSJoakimSoderberg * Mike Davis 244e6c6f120SNick Mathewson * Frank Denis 2458d4cb35dSJoakimSoderberg * Antony Dovgal 2468d4cb35dSJoakimSoderberg * Mihai Draghicioiu 2478d4cb35dSJoakimSoderberg * Alexander Drozdov 2488d4cb35dSJoakimSoderberg * Mark Ellzey 2498d4cb35dSJoakimSoderberg * Shie Erlich 2508d4cb35dSJoakimSoderberg * Leonid Evdokimov 2518d4cb35dSJoakimSoderberg * Juan Pablo Fernandez 2528d4cb35dSJoakimSoderberg * Christophe Fillot 2538d4cb35dSJoakimSoderberg * Mike Frysinger 2548d4cb35dSJoakimSoderberg * Remi Gacogne 2558d4cb35dSJoakimSoderberg * Artem Germanov 2568d4cb35dSJoakimSoderberg * Alexander von Gernler 257e6c6f120SNick Mathewson * Diego Giagio 2588d4cb35dSJoakimSoderberg * Artur Grabowski 2598d4cb35dSJoakimSoderberg * Diwaker Gupta 260e6c6f120SNick Mathewson * Kuldeep Gupta 2618d4cb35dSJoakimSoderberg * Sebastian Hahn 2628d4cb35dSJoakimSoderberg * Dave Hart 2638d4cb35dSJoakimSoderberg * Greg Hazel 2648d4cb35dSJoakimSoderberg * Nicholas Heath 2658d4cb35dSJoakimSoderberg * Michael Herf 2668d4cb35dSJoakimSoderberg * Savg He 2678d4cb35dSJoakimSoderberg * Mark Heily 2688d4cb35dSJoakimSoderberg * Maxime Henrion 2698d4cb35dSJoakimSoderberg * Michael Herf 2708d4cb35dSJoakimSoderberg * Greg Hewgill 2718d4cb35dSJoakimSoderberg * Andrew Hochhaus 2728d4cb35dSJoakimSoderberg * Aaron Hopkins 2738d4cb35dSJoakimSoderberg * Tani Hosokawa 2748d4cb35dSJoakimSoderberg * Jamie Iles 2758d4cb35dSJoakimSoderberg * Xiuqiang Jiang 2768d4cb35dSJoakimSoderberg * Claudio Jeker 2778d4cb35dSJoakimSoderberg * Evan Jones 278e6c6f120SNick Mathewson * Marcin Juszkiewicz 2798d4cb35dSJoakimSoderberg * George Kadianakis 280e6c6f120SNick Mathewson * Makoto Kato 2818d4cb35dSJoakimSoderberg * Phua Keat 2828d4cb35dSJoakimSoderberg * Azat Khuzhin 2838d4cb35dSJoakimSoderberg * Alexander Klauer 2848d4cb35dSJoakimSoderberg * Kevin Ko 2858d4cb35dSJoakimSoderberg * Brian Koehmstedt 2868d4cb35dSJoakimSoderberg * Marko Kreen 287e6c6f120SNick Mathewson * Ondřej Kuzník 2888d4cb35dSJoakimSoderberg * Valery Kyholodov 2898d4cb35dSJoakimSoderberg * Ross Lagerwall 2908d4cb35dSJoakimSoderberg * Scott Lamb 2918d4cb35dSJoakimSoderberg * Christopher Layne 2928d4cb35dSJoakimSoderberg * Adam Langley 2938d4cb35dSJoakimSoderberg * Graham Leggett 2948d4cb35dSJoakimSoderberg * Volker Lendecke 2958d4cb35dSJoakimSoderberg * Philip Lewis 2968d4cb35dSJoakimSoderberg * Zhou Li 2978d4cb35dSJoakimSoderberg * David Libenzi 2988d4cb35dSJoakimSoderberg * Yan Lin 2998d4cb35dSJoakimSoderberg * Moshe Litvin 3008d4cb35dSJoakimSoderberg * Simon Liu 3018d4cb35dSJoakimSoderberg * Mitchell Livingston 3028d4cb35dSJoakimSoderberg * Hagne Mahre 3038d4cb35dSJoakimSoderberg * Lubomir Marinov 3048d4cb35dSJoakimSoderberg * Abilio Marques 305e6c6f120SNick Mathewson * Nicolas Martyanoff 3068d4cb35dSJoakimSoderberg * Abel Mathew 3078d4cb35dSJoakimSoderberg * Nick Mathewson 3088d4cb35dSJoakimSoderberg * James Mansion 3098d4cb35dSJoakimSoderberg * Nicholas Marriott 3108d4cb35dSJoakimSoderberg * Andrey Matveev 3118d4cb35dSJoakimSoderberg * Caitlin Mercer 3128d4cb35dSJoakimSoderberg * Dagobert Michelsen 3138d4cb35dSJoakimSoderberg * Andrea Montefusco 3148d4cb35dSJoakimSoderberg * Mansour Moufid 3158d4cb35dSJoakimSoderberg * Mina Naguib 3168d4cb35dSJoakimSoderberg * Felix Nawothnig 3178d4cb35dSJoakimSoderberg * Trond Norbye 3188d4cb35dSJoakimSoderberg * Linus Nordberg 3198d4cb35dSJoakimSoderberg * Richard Nyberg 3208d4cb35dSJoakimSoderberg * Jon Oberheide 321e6c6f120SNick Mathewson * John Ohl 3228d4cb35dSJoakimSoderberg * Phil Oleson 323e6c6f120SNick Mathewson * Alexey Ozeritsky 3248d4cb35dSJoakimSoderberg * Dave Pacheco 3258d4cb35dSJoakimSoderberg * Derrick Pallas 3268d4cb35dSJoakimSoderberg * Tassilo von Parseval 3278d4cb35dSJoakimSoderberg * Catalin Patulea 3288d4cb35dSJoakimSoderberg * Patrick Pelletier 3298d4cb35dSJoakimSoderberg * Simon Perreault 3308d4cb35dSJoakimSoderberg * Dan Petro 3318d4cb35dSJoakimSoderberg * Pierre Phaneuf 3328d4cb35dSJoakimSoderberg * Amarin Phaosawasdi 3338d4cb35dSJoakimSoderberg * Ryan Phillips 3348d4cb35dSJoakimSoderberg * Dimitre Piskyulev 3358d4cb35dSJoakimSoderberg * Pavel Plesov 3368d4cb35dSJoakimSoderberg * Jon Poland 3378d4cb35dSJoakimSoderberg * Roman Puls 3388d4cb35dSJoakimSoderberg * Nate R 3398d4cb35dSJoakimSoderberg * Robert Ransom 340e6c6f120SNick Mathewson * Balint Reczey 3418d4cb35dSJoakimSoderberg * Bert JW Regeer 3428d4cb35dSJoakimSoderberg * Nate Rosenblum 3438d4cb35dSJoakimSoderberg * Peter Rosin 3448d4cb35dSJoakimSoderberg * Maseeb Abdul Qadir 3458d4cb35dSJoakimSoderberg * Wang Qin 3468d4cb35dSJoakimSoderberg * Alex S 3478d4cb35dSJoakimSoderberg * Gyepi Sam 3488d4cb35dSJoakimSoderberg * Hanna Schroeter 3498d4cb35dSJoakimSoderberg * Ralf Schmitt 3508d4cb35dSJoakimSoderberg * Mike Smellie 3518d4cb35dSJoakimSoderberg * Steve Snyder 352e6c6f120SNick Mathewson * Nir Soffer 3538d4cb35dSJoakimSoderberg * Dug Song 3548d4cb35dSJoakimSoderberg * Dongsheng Song 3558d4cb35dSJoakimSoderberg * Hannes Sowa 3568d4cb35dSJoakimSoderberg * Joakim Soderberg 357e6c6f120SNick Mathewson * Joseph Spadavecchia 358e6c6f120SNick Mathewson * Kevin Springborn 359e6c6f120SNick Mathewson * Harlan Stenn 360e6c6f120SNick Mathewson * Andrew Sweeney 3618d4cb35dSJoakimSoderberg * Ferenc Szalai 3628d4cb35dSJoakimSoderberg * Brodie Thiesfield 3638d4cb35dSJoakimSoderberg * Jason Toffaletti 364e6c6f120SNick Mathewson * Brian Utterback 3658d4cb35dSJoakimSoderberg * Gisle Vanem 3668d4cb35dSJoakimSoderberg * Bas Verhoeven 3678d4cb35dSJoakimSoderberg * Constantine Verutin 3688d4cb35dSJoakimSoderberg * Colin Watt 3698d4cb35dSJoakimSoderberg * Zack Weinberg 3708d4cb35dSJoakimSoderberg * Jardel Weyrich 3718d4cb35dSJoakimSoderberg * Jay R. Wren 3728d4cb35dSJoakimSoderberg * Zack Weinberg 373e6c6f120SNick Mathewson * Mobai Zhang 3748d4cb35dSJoakimSoderberg * Alejo 3758d4cb35dSJoakimSoderberg * Alex 3768d4cb35dSJoakimSoderberg * Taral 3778d4cb35dSJoakimSoderberg * propanbutan 378e6c6f120SNick Mathewson * masksqwe 3798d4cb35dSJoakimSoderberg * mmadia 3808d4cb35dSJoakimSoderberg * yangacer 3813298c254SAzat Khuzhin * Andrey Skriabin 3823298c254SAzat Khuzhin * basavesh.as 3833298c254SAzat Khuzhin * billsegall 3843298c254SAzat Khuzhin * Bill Vaughan 3853298c254SAzat Khuzhin * Christopher Wiley 3863298c254SAzat Khuzhin * David Paschich 3873298c254SAzat Khuzhin * Ed Schouten 3883298c254SAzat Khuzhin * Eduardo Panisset 3893298c254SAzat Khuzhin * Jan Heylen 3903298c254SAzat Khuzhin * jer-gentoo 3913298c254SAzat Khuzhin * Joakim Söderberg 3923298c254SAzat Khuzhin * kirillDanshin 3933298c254SAzat Khuzhin * lzmths 3943298c254SAzat Khuzhin * Marcus Sundberg 3953298c254SAzat Khuzhin * Mark Mentovai 3963298c254SAzat Khuzhin * Mattes D 3973298c254SAzat Khuzhin * Matyas Dolak 3983298c254SAzat Khuzhin * Neeraj Badlani 3993298c254SAzat Khuzhin * Nick Mathewson 4003298c254SAzat Khuzhin * Rainer Keller 4013298c254SAzat Khuzhin * Seungmo Koo 4023298c254SAzat Khuzhin * Thomas Bernard 4033298c254SAzat Khuzhin * Xiao Bao Clark 4043298c254SAzat Khuzhin * zeliard 4053298c254SAzat Khuzhin * Zonr Chang 4065904dd53SAzat Khuzhin * Kurt Roeckx 4075904dd53SAzat Khuzhin * Seven 4085904dd53SAzat Khuzhin * Simone Basso 4095904dd53SAzat Khuzhin * Vlad Shcherban 4105904dd53SAzat Khuzhin * Tim Hentenaar 41150824ae2SAzat Khuzhin * Breaker 41250824ae2SAzat Khuzhin * johnsonlee 41350824ae2SAzat Khuzhin * Philip Prindeville 41450824ae2SAzat Khuzhin * Vis Virial 4159e0a1e06SAzat Khuzhin * Andreas Gustafsson 4169e0a1e06SAzat Khuzhin * Andrey Okoshkin 4179e0a1e06SAzat Khuzhin * an-tao 4189e0a1e06SAzat Khuzhin * baixiangcpp 4199e0a1e06SAzat Khuzhin * Bernard Spil 4209e0a1e06SAzat Khuzhin * Bogdan Harjoc 4219e0a1e06SAzat Khuzhin * Carlo Marcelo Arenas Belón 4229e0a1e06SAzat Khuzhin * David Benjamin 4239e0a1e06SAzat Khuzhin * David Disseldorp 4249e0a1e06SAzat Khuzhin * Dmitry Alimov 4259e0a1e06SAzat Khuzhin * Dominic Chen 4269e0a1e06SAzat Khuzhin * dpayne 4279e0a1e06SAzat Khuzhin * ejurgensen 4289e0a1e06SAzat Khuzhin * Fredrik Strupe 4299e0a1e06SAzat Khuzhin * Gonçalo Ribeiro 4309e0a1e06SAzat Khuzhin * James Synge 4319e0a1e06SAzat Khuzhin * Jan Beich 4329e0a1e06SAzat Khuzhin * Jesse Fang 4339e0a1e06SAzat Khuzhin * Jiri Luznicky 4349e0a1e06SAzat Khuzhin * José Luis Millán 4359e0a1e06SAzat Khuzhin * Kiyoshi Aman 4369e0a1e06SAzat Khuzhin * Leo Zhang 4379e0a1e06SAzat Khuzhin * lightningkay 4389e0a1e06SAzat Khuzhin * Luke Dashjr 4399e0a1e06SAzat Khuzhin * Marcin Szewczyk 4409e0a1e06SAzat Khuzhin * Maximilian Brunner 4419e0a1e06SAzat Khuzhin * Maya Rashish 4429e0a1e06SAzat Khuzhin * Murat Demirten 4439e0a1e06SAzat Khuzhin * Nathan French 4449e0a1e06SAzat Khuzhin * Nikolay Edigaryev 4459e0a1e06SAzat Khuzhin * Philip Herron 4469e0a1e06SAzat Khuzhin * Redfoxmoon 4479e0a1e06SAzat Khuzhin * stenn 4489e0a1e06SAzat Khuzhin * SuckShit 4499e0a1e06SAzat Khuzhin * The Gitter Badger 4509e0a1e06SAzat Khuzhin * tim-le 4519e0a1e06SAzat Khuzhin * Vincent JARDIN 4529e0a1e06SAzat Khuzhin * Xiang Zhang 4539e0a1e06SAzat Khuzhin * Xiaozhou Liu 4549e0a1e06SAzat Khuzhin * yongqing.jiao 4558a24ff20SAzat Khuzhin * Enji Cooper 4568a24ff20SAzat Khuzhin * linxiaohui 4578a24ff20SAzat Khuzhin * Seong-Joong Kim 4588a24ff20SAzat Khuzhin * Tobias Stoeckmann 4598a24ff20SAzat Khuzhin * Yury Korzhetsky 4608a24ff20SAzat Khuzhin * zhuizhuhaomeng 4618a24ff20SAzat Khuzhin * Pierce Lopez 462b9c364e4SAzat Khuzhin * yuangongji 463b9c364e4SAzat Khuzhin * Keith Smiley 464b9c364e4SAzat Khuzhin * jeremyerb 465b9c364e4SAzat Khuzhin * Fabrice Fontaine 466b9c364e4SAzat Khuzhin * wenyg 467*742bb5f5SAzat Khuzhin * Aleksandr-Melnikov 468*742bb5f5SAzat Khuzhin * ayuseleznev 469*742bb5f5SAzat Khuzhin * chenguolong 470*742bb5f5SAzat Khuzhin * Dimo Markov 471*742bb5f5SAzat Khuzhin * dota17 472*742bb5f5SAzat Khuzhin * fanquake 473*742bb5f5SAzat Khuzhin * Jan Kasiak 474*742bb5f5SAzat Khuzhin * Kamil Rytarowski 475*742bb5f5SAzat Khuzhin * Mario Emmenlauer 476*742bb5f5SAzat Khuzhin * Michael Davidsaver 477*742bb5f5SAzat Khuzhin * mohuang 478*742bb5f5SAzat Khuzhin * Nick Grifka 479*742bb5f5SAzat Khuzhin * Nicolas J. Bouliane 480*742bb5f5SAzat Khuzhin * Paul Osborne 481*742bb5f5SAzat Khuzhin * Philip Homburg 482*742bb5f5SAzat Khuzhin * Wataru Ashihara 483*742bb5f5SAzat Khuzhin * William A Rowe Jr 484*742bb5f5SAzat Khuzhin * yangyongsheng 485b9c364e4SAzat Khuzhin 486d2bc39afSJoakim Soderberg 487d2bc39afSJoakim SoderbergIf we have forgotten your name, please contact us. 488