1*a466cc55SCy Schubert<p align="center"> 2*a466cc55SCy Schubert <img src="https://strcpy.net/libevent3.png" alt="libevent logo"/> 3*a466cc55SCy Schubert</p> 4*a466cc55SCy Schubert 5*a466cc55SCy Schubert 6*a466cc55SCy Schubert 7*a466cc55SCy Schubert[![Appveyor Win32 Build Status](https://ci.appveyor.com/api/projects/status/ng3jg0uhy44mp7ik?svg=true)](https://ci.appveyor.com/project/libevent/libevent) 8*a466cc55SCy Schubert[![Travis Build Status](https://travis-ci.org/libevent/libevent.svg?branch=master)](https://travis-ci.org/libevent/libevent) 9*a466cc55SCy Schubert[![Coverage Status](https://coveralls.io/repos/github/libevent/libevent/badge.svg)](https://coveralls.io/github/libevent/libevent) 10*a466cc55SCy Schubert[![Join the chat at https://gitter.im/libevent/libevent](https://badges.gitter.im/libevent/libevent.svg)](https://gitter.im/libevent/libevent?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) 11*a466cc55SCy Schubert 12*a466cc55SCy Schubert 13*a466cc55SCy Schubert 14*a466cc55SCy Schubert# 0. BUILDING AND INSTALLATION (Briefly) 15*a466cc55SCy Schubert 16*a466cc55SCy Schubert## Autoconf 17*a466cc55SCy Schubert 18*a466cc55SCy Schubert $ ./configure 19*a466cc55SCy Schubert $ make 20*a466cc55SCy Schubert $ make verify # (optional) 21*a466cc55SCy Schubert $ sudo make install 22*a466cc55SCy Schubert 23*a466cc55SCy Schubert## CMake (General) 24*a466cc55SCy Schubert 25*a466cc55SCy Schubert 26*a466cc55SCy SchubertThe following Libevent specific CMake variables are as follows (the values being 27*a466cc55SCy Schubertthe default). 28*a466cc55SCy Schubert 29*a466cc55SCy Schubert``` 30*a466cc55SCy Schubert# Type of the library to build (SHARED or STATIC) 31*a466cc55SCy Schubert# Default is: SHARED for MSVC, otherwise BOTH 32*a466cc55SCy SchubertEVENT__LIBRARY_TYPE:STRING=DEFAULT 33*a466cc55SCy Schubert 34*a466cc55SCy Schubert# Installation directory for CMake files 35*a466cc55SCy SchubertEVENT_INSTALL_CMAKE_DIR:PATH=lib/cmake/libevent 36*a466cc55SCy Schubert 37*a466cc55SCy Schubert# Enable running gcov to get a test coverage report (only works with 38*a466cc55SCy Schubert# GCC/CLang). Make sure to enable -DCMAKE_BUILD_TYPE=Debug as well. 39*a466cc55SCy SchubertEVENT__COVERAGE:BOOL=OFF 40*a466cc55SCy Schubert 41*a466cc55SCy Schubert# Defines if Libevent should build without the benchmark executables 42*a466cc55SCy SchubertEVENT__DISABLE_BENCHMARK:BOOL=OFF 43*a466cc55SCy Schubert 44*a466cc55SCy Schubert# Define if Libevent should build without support for a debug mode 45*a466cc55SCy SchubertEVENT__DISABLE_DEBUG_MODE:BOOL=OFF 46*a466cc55SCy Schubert 47*a466cc55SCy Schubert# Define if Libevent should not allow replacing the mm functions 48*a466cc55SCy SchubertEVENT__DISABLE_MM_REPLACEMENT:BOOL=OFF 49*a466cc55SCy Schubert 50*a466cc55SCy Schubert# Define if Libevent should build without support for OpenSSL encryption 51*a466cc55SCy SchubertEVENT__DISABLE_OPENSSL:BOOL=OFF 52*a466cc55SCy Schubert 53*a466cc55SCy Schubert# Disable the regress tests 54*a466cc55SCy SchubertEVENT__DISABLE_REGRESS:BOOL=OFF 55*a466cc55SCy Schubert 56*a466cc55SCy Schubert# Disable sample files 57*a466cc55SCy SchubertEVENT__DISABLE_SAMPLES:BOOL=OFF 58*a466cc55SCy Schubert 59*a466cc55SCy Schubert# If tests should be compiled or not 60*a466cc55SCy SchubertEVENT__DISABLE_TESTS:BOOL=OFF 61*a466cc55SCy Schubert 62*a466cc55SCy Schubert# Define if Libevent should not be compiled with thread support 63*a466cc55SCy SchubertEVENT__DISABLE_THREAD_SUPPORT:BOOL=OFF 64*a466cc55SCy Schubert 65*a466cc55SCy Schubert# Enables verbose debugging 66*a466cc55SCy SchubertEVENT__ENABLE_VERBOSE_DEBUG:BOOL=OFF 67*a466cc55SCy Schubert 68*a466cc55SCy Schubert# When cross compiling, forces running a test program that verifies that Kqueue 69*a466cc55SCy Schubert# works with pipes. Note that this requires you to manually run the test program 70*a466cc55SCy Schubert# on the the cross compilation target to verify that it works. See CMake 71*a466cc55SCy Schubert# documentation for try_run for more details 72*a466cc55SCy SchubertEVENT__FORCE_KQUEUE_CHECK:BOOL=OFF 73*a466cc55SCy Schubert``` 74*a466cc55SCy Schubert 75*a466cc55SCy Schubert__More variables can be found by running `cmake -LAH <sourcedir_path>`__ 76*a466cc55SCy Schubert 77*a466cc55SCy Schubert 78*a466cc55SCy Schubert## CMake (Windows) 79*a466cc55SCy Schubert 80*a466cc55SCy SchubertInstall CMake: <https://www.cmake.org> 81*a466cc55SCy Schubert 82*a466cc55SCy Schubert 83*a466cc55SCy Schubert $ md build && cd build 84*a466cc55SCy Schubert $ cmake -G "Visual Studio 10" .. # Or whatever generator you want to use cmake --help for a list. 85*a466cc55SCy Schubert $ start libevent.sln 86*a466cc55SCy Schubert 87*a466cc55SCy Schubert## CMake (Unix) 88*a466cc55SCy Schubert 89*a466cc55SCy Schubert $ mkdir build && cd build 90*a466cc55SCy Schubert $ cmake .. # Default to Unix Makefiles. 91*a466cc55SCy Schubert $ make 92*a466cc55SCy Schubert $ make verify # (optional) 93*a466cc55SCy Schubert 94*a466cc55SCy Schubert 95*a466cc55SCy Schubert# 1. BUILDING AND INSTALLATION (In Depth) 96*a466cc55SCy Schubert 97*a466cc55SCy Schubert## Autoconf 98*a466cc55SCy Schubert 99*a466cc55SCy SchubertTo build Libevent, type 100*a466cc55SCy Schubert 101*a466cc55SCy Schubert $ ./configure && make 102*a466cc55SCy Schubert 103*a466cc55SCy Schubert 104*a466cc55SCy Schubert (If you got Libevent from the git repository, you will 105*a466cc55SCy Schubert first need to run the included "autogen.sh" script in order to 106*a466cc55SCy Schubert generate the configure script.) 107*a466cc55SCy Schubert 108*a466cc55SCy SchubertYou can run the regression tests by running 109*a466cc55SCy Schubert 110*a466cc55SCy Schubert $ make verify 111*a466cc55SCy Schubert 112*a466cc55SCy SchubertInstall as root via 113*a466cc55SCy Schubert 114*a466cc55SCy Schubert $ make install 115*a466cc55SCy Schubert 116*a466cc55SCy SchubertBefore reporting any problems, please run the regression tests. 117*a466cc55SCy Schubert 118*a466cc55SCy SchubertTo enable low-level tracing, build the library as: 119*a466cc55SCy Schubert 120*a466cc55SCy Schubert $ CFLAGS=-DUSE_DEBUG ./configure [...] 121*a466cc55SCy Schubert 122*a466cc55SCy SchubertStandard configure flags should work. In particular, see: 123*a466cc55SCy Schubert 124*a466cc55SCy Schubert --disable-shared Only build static libraries. 125*a466cc55SCy Schubert --prefix Install all files relative to this directory. 126*a466cc55SCy Schubert 127*a466cc55SCy Schubert 128*a466cc55SCy SchubertThe configure script also supports the following flags: 129*a466cc55SCy Schubert 130*a466cc55SCy Schubert --enable-gcc-warnings Enable extra compiler checking with GCC. 131*a466cc55SCy Schubert --disable-malloc-replacement 132*a466cc55SCy Schubert Don't let applications replace our memory 133*a466cc55SCy Schubert management functions. 134*a466cc55SCy Schubert --disable-openssl Disable support for OpenSSL encryption. 135*a466cc55SCy Schubert --disable-thread-support Don't support multithreaded environments. 136*a466cc55SCy Schubert 137*a466cc55SCy Schubert## CMake (Windows) 138*a466cc55SCy Schubert 139*a466cc55SCy Schubert(Note that autoconf is currently the most mature and supported build 140*a466cc55SCy Schubertenvironment for Libevent; the CMake instructions here are new and 141*a466cc55SCy Schubertexperimental, though they _should_ be solid. We hope that CMake will 142*a466cc55SCy Schubertstill be supported in future versions of Libevent, and will try to 143*a466cc55SCy Schubertmake sure that happens.) 144*a466cc55SCy Schubert 145*a466cc55SCy SchubertFirst of all install <https://www.cmake.org>. 146*a466cc55SCy Schubert 147*a466cc55SCy SchubertTo build Libevent using Microsoft Visual studio open the "Visual Studio Command prompt" and type: 148*a466cc55SCy Schubert 149*a466cc55SCy Schubert``` 150*a466cc55SCy Schubert$ cd <libevent source dir> 151*a466cc55SCy Schubert$ mkdir build && cd build 152*a466cc55SCy Schubert$ cmake -G "Visual Studio 10" .. # Or whatever generator you want to use cmake --help for a list. 153*a466cc55SCy Schubert$ start libevent.sln 154*a466cc55SCy Schubert``` 155*a466cc55SCy Schubert 156*a466cc55SCy SchubertIn the above, the ".." refers to the dir containing the Libevent source code. 157*a466cc55SCy SchubertYou can build multiple versions (with different compile time settings) from the same source tree 158*a466cc55SCy Schubertby creating other build directories. 159*a466cc55SCy Schubert 160*a466cc55SCy SchubertIt is highly recommended to build "out of source" when using 161*a466cc55SCy SchubertCMake instead of "in source" like the normal behaviour of autoconf for this reason. 162*a466cc55SCy Schubert 163*a466cc55SCy SchubertThe "NMake Makefiles" CMake generator can be used to build entirely via the command line. 164*a466cc55SCy Schubert 165*a466cc55SCy SchubertTo get a list of settings available for the project you can type: 166*a466cc55SCy Schubert 167*a466cc55SCy Schubert``` 168*a466cc55SCy Schubert$ cmake -LH .. 169*a466cc55SCy Schubert``` 170*a466cc55SCy Schubert 171*a466cc55SCy Schubert### GUI 172*a466cc55SCy Schubert 173*a466cc55SCy SchubertCMake also provides a GUI that lets you specify the source directory and output (binary) directory 174*a466cc55SCy Schubertthat the build should be placed in. 175*a466cc55SCy Schubert 176*a466cc55SCy Schubert# 2. USEFUL LINKS: 177*a466cc55SCy Schubert 178*a466cc55SCy SchubertFor the latest released version of Libevent, see the official website at 179*a466cc55SCy Schubert<http://libevent.org/> . 180*a466cc55SCy Schubert 181*a466cc55SCy SchubertThere's a pretty good work-in-progress manual up at 182*a466cc55SCy Schubert <http://www.wangafu.net/~nickm/libevent-book/> . 183*a466cc55SCy Schubert 184*a466cc55SCy SchubertFor the latest development versions of Libevent, access our Git repository 185*a466cc55SCy Schubertvia 186*a466cc55SCy Schubert 187*a466cc55SCy Schubert``` 188*a466cc55SCy Schubert$ git clone https://github.com/libevent/libevent.git 189*a466cc55SCy Schubert``` 190*a466cc55SCy Schubert 191*a466cc55SCy SchubertYou can browse the git repository online at: 192*a466cc55SCy Schubert 193*a466cc55SCy Schubert<https://github.com/libevent/libevent> 194*a466cc55SCy Schubert 195*a466cc55SCy SchubertTo report bugs, issues, or ask for new features: 196*a466cc55SCy Schubert 197*a466cc55SCy Schubert__Patches__: https://github.com/libevent/libevent/pulls 198*a466cc55SCy Schubert> OK, those are not really _patches_. You fork, modify, and hit the "Create Pull Request" button. 199*a466cc55SCy Schubert> You can still submit normal git patches via the mailing list. 200*a466cc55SCy Schubert 201*a466cc55SCy Schubert__Bugs, Features [RFC], and Issues__: https://github.com/libevent/libevent/issues 202*a466cc55SCy Schubert> Or you can do it via the mailing list. 203*a466cc55SCy Schubert 204*a466cc55SCy SchubertThere's also a libevent-users mailing list for talking about Libevent 205*a466cc55SCy Schubertuse and development: 206*a466cc55SCy Schubert 207*a466cc55SCy Schubert<http://archives.seul.org/libevent/users/> 208*a466cc55SCy Schubert 209*a466cc55SCy Schubert# 3. ACKNOWLEDGMENTS 210*a466cc55SCy Schubert 211*a466cc55SCy SchubertThe following people have helped with suggestions, ideas, code or 212*a466cc55SCy Schubertfixing bugs: 213*a466cc55SCy Schubert 214*a466cc55SCy Schubert * Samy Al Bahra 215*a466cc55SCy Schubert * Antony Antony 216*a466cc55SCy Schubert * Jacob Appelbaum 217*a466cc55SCy Schubert * Arno Bakker 218*a466cc55SCy Schubert * Weston Andros Adamson 219*a466cc55SCy Schubert * William Ahern 220*a466cc55SCy Schubert * Ivan Andropov 221*a466cc55SCy Schubert * Sergey Avseyev 222*a466cc55SCy Schubert * Avi Bab 223*a466cc55SCy Schubert * Joachim Bauch 224*a466cc55SCy Schubert * Andrey Belobrov 225*a466cc55SCy Schubert * Gilad Benjamini 226*a466cc55SCy Schubert * Stas Bekman 227*a466cc55SCy Schubert * Denis Bilenko 228*a466cc55SCy Schubert * Julien Blache 229*a466cc55SCy Schubert * Kevin Bowling 230*a466cc55SCy Schubert * Tomash Brechko 231*a466cc55SCy Schubert * Kelly Brock 232*a466cc55SCy Schubert * Ralph Castain 233*a466cc55SCy Schubert * Adrian Chadd 234*a466cc55SCy Schubert * Lawnstein Chan 235*a466cc55SCy Schubert * Shuo Chen 236*a466cc55SCy Schubert * Ka-Hing Cheung 237*a466cc55SCy Schubert * Andrew Cox 238*a466cc55SCy Schubert * Paul Croome 239*a466cc55SCy Schubert * George Danchev 240*a466cc55SCy Schubert * Andrew Danforth 241*a466cc55SCy Schubert * Ed Day 242*a466cc55SCy Schubert * Christopher Davis 243*a466cc55SCy Schubert * Mike Davis 244*a466cc55SCy Schubert * Frank Denis 245*a466cc55SCy Schubert * Antony Dovgal 246*a466cc55SCy Schubert * Mihai Draghicioiu 247*a466cc55SCy Schubert * Alexander Drozdov 248*a466cc55SCy Schubert * Mark Ellzey 249*a466cc55SCy Schubert * Shie Erlich 250*a466cc55SCy Schubert * Leonid Evdokimov 251*a466cc55SCy Schubert * Juan Pablo Fernandez 252*a466cc55SCy Schubert * Christophe Fillot 253*a466cc55SCy Schubert * Mike Frysinger 254*a466cc55SCy Schubert * Remi Gacogne 255*a466cc55SCy Schubert * Artem Germanov 256*a466cc55SCy Schubert * Alexander von Gernler 257*a466cc55SCy Schubert * Diego Giagio 258*a466cc55SCy Schubert * Artur Grabowski 259*a466cc55SCy Schubert * Diwaker Gupta 260*a466cc55SCy Schubert * Kuldeep Gupta 261*a466cc55SCy Schubert * Sebastian Hahn 262*a466cc55SCy Schubert * Dave Hart 263*a466cc55SCy Schubert * Greg Hazel 264*a466cc55SCy Schubert * Nicholas Heath 265*a466cc55SCy Schubert * Michael Herf 266*a466cc55SCy Schubert * Savg He 267*a466cc55SCy Schubert * Mark Heily 268*a466cc55SCy Schubert * Maxime Henrion 269*a466cc55SCy Schubert * Michael Herf 270*a466cc55SCy Schubert * Greg Hewgill 271*a466cc55SCy Schubert * Andrew Hochhaus 272*a466cc55SCy Schubert * Aaron Hopkins 273*a466cc55SCy Schubert * Tani Hosokawa 274*a466cc55SCy Schubert * Jamie Iles 275*a466cc55SCy Schubert * Xiuqiang Jiang 276*a466cc55SCy Schubert * Claudio Jeker 277*a466cc55SCy Schubert * Evan Jones 278*a466cc55SCy Schubert * Marcin Juszkiewicz 279*a466cc55SCy Schubert * George Kadianakis 280*a466cc55SCy Schubert * Makoto Kato 281*a466cc55SCy Schubert * Phua Keat 282*a466cc55SCy Schubert * Azat Khuzhin 283*a466cc55SCy Schubert * Alexander Klauer 284*a466cc55SCy Schubert * Kevin Ko 285*a466cc55SCy Schubert * Brian Koehmstedt 286*a466cc55SCy Schubert * Marko Kreen 287*a466cc55SCy Schubert * Ondřej Kuzník 288*a466cc55SCy Schubert * Valery Kyholodov 289*a466cc55SCy Schubert * Ross Lagerwall 290*a466cc55SCy Schubert * Scott Lamb 291*a466cc55SCy Schubert * Christopher Layne 292*a466cc55SCy Schubert * Adam Langley 293*a466cc55SCy Schubert * Graham Leggett 294*a466cc55SCy Schubert * Volker Lendecke 295*a466cc55SCy Schubert * Philip Lewis 296*a466cc55SCy Schubert * Zhou Li 297*a466cc55SCy Schubert * David Libenzi 298*a466cc55SCy Schubert * Yan Lin 299*a466cc55SCy Schubert * Moshe Litvin 300*a466cc55SCy Schubert * Simon Liu 301*a466cc55SCy Schubert * Mitchell Livingston 302*a466cc55SCy Schubert * Hagne Mahre 303*a466cc55SCy Schubert * Lubomir Marinov 304*a466cc55SCy Schubert * Abilio Marques 305*a466cc55SCy Schubert * Nicolas Martyanoff 306*a466cc55SCy Schubert * Abel Mathew 307*a466cc55SCy Schubert * Nick Mathewson 308*a466cc55SCy Schubert * James Mansion 309*a466cc55SCy Schubert * Nicholas Marriott 310*a466cc55SCy Schubert * Andrey Matveev 311*a466cc55SCy Schubert * Caitlin Mercer 312*a466cc55SCy Schubert * Dagobert Michelsen 313*a466cc55SCy Schubert * Andrea Montefusco 314*a466cc55SCy Schubert * Mansour Moufid 315*a466cc55SCy Schubert * Mina Naguib 316*a466cc55SCy Schubert * Felix Nawothnig 317*a466cc55SCy Schubert * Trond Norbye 318*a466cc55SCy Schubert * Linus Nordberg 319*a466cc55SCy Schubert * Richard Nyberg 320*a466cc55SCy Schubert * Jon Oberheide 321*a466cc55SCy Schubert * John Ohl 322*a466cc55SCy Schubert * Phil Oleson 323*a466cc55SCy Schubert * Alexey Ozeritsky 324*a466cc55SCy Schubert * Dave Pacheco 325*a466cc55SCy Schubert * Derrick Pallas 326*a466cc55SCy Schubert * Tassilo von Parseval 327*a466cc55SCy Schubert * Catalin Patulea 328*a466cc55SCy Schubert * Patrick Pelletier 329*a466cc55SCy Schubert * Simon Perreault 330*a466cc55SCy Schubert * Dan Petro 331*a466cc55SCy Schubert * Pierre Phaneuf 332*a466cc55SCy Schubert * Amarin Phaosawasdi 333*a466cc55SCy Schubert * Ryan Phillips 334*a466cc55SCy Schubert * Dimitre Piskyulev 335*a466cc55SCy Schubert * Pavel Plesov 336*a466cc55SCy Schubert * Jon Poland 337*a466cc55SCy Schubert * Roman Puls 338*a466cc55SCy Schubert * Nate R 339*a466cc55SCy Schubert * Robert Ransom 340*a466cc55SCy Schubert * Balint Reczey 341*a466cc55SCy Schubert * Bert JW Regeer 342*a466cc55SCy Schubert * Nate Rosenblum 343*a466cc55SCy Schubert * Peter Rosin 344*a466cc55SCy Schubert * Maseeb Abdul Qadir 345*a466cc55SCy Schubert * Wang Qin 346*a466cc55SCy Schubert * Alex S 347*a466cc55SCy Schubert * Gyepi Sam 348*a466cc55SCy Schubert * Hanna Schroeter 349*a466cc55SCy Schubert * Ralf Schmitt 350*a466cc55SCy Schubert * Mike Smellie 351*a466cc55SCy Schubert * Steve Snyder 352*a466cc55SCy Schubert * Nir Soffer 353*a466cc55SCy Schubert * Dug Song 354*a466cc55SCy Schubert * Dongsheng Song 355*a466cc55SCy Schubert * Hannes Sowa 356*a466cc55SCy Schubert * Joakim Soderberg 357*a466cc55SCy Schubert * Joseph Spadavecchia 358*a466cc55SCy Schubert * Kevin Springborn 359*a466cc55SCy Schubert * Harlan Stenn 360*a466cc55SCy Schubert * Andrew Sweeney 361*a466cc55SCy Schubert * Ferenc Szalai 362*a466cc55SCy Schubert * Brodie Thiesfield 363*a466cc55SCy Schubert * Jason Toffaletti 364*a466cc55SCy Schubert * Brian Utterback 365*a466cc55SCy Schubert * Gisle Vanem 366*a466cc55SCy Schubert * Bas Verhoeven 367*a466cc55SCy Schubert * Constantine Verutin 368*a466cc55SCy Schubert * Colin Watt 369*a466cc55SCy Schubert * Zack Weinberg 370*a466cc55SCy Schubert * Jardel Weyrich 371*a466cc55SCy Schubert * Jay R. Wren 372*a466cc55SCy Schubert * Zack Weinberg 373*a466cc55SCy Schubert * Mobai Zhang 374*a466cc55SCy Schubert * Alejo 375*a466cc55SCy Schubert * Alex 376*a466cc55SCy Schubert * Taral 377*a466cc55SCy Schubert * propanbutan 378*a466cc55SCy Schubert * masksqwe 379*a466cc55SCy Schubert * mmadia 380*a466cc55SCy Schubert * yangacer 381*a466cc55SCy Schubert * Andrey Skriabin 382*a466cc55SCy Schubert * basavesh.as 383*a466cc55SCy Schubert * billsegall 384*a466cc55SCy Schubert * Bill Vaughan 385*a466cc55SCy Schubert * Christopher Wiley 386*a466cc55SCy Schubert * David Paschich 387*a466cc55SCy Schubert * Ed Schouten 388*a466cc55SCy Schubert * Eduardo Panisset 389*a466cc55SCy Schubert * Jan Heylen 390*a466cc55SCy Schubert * jer-gentoo 391*a466cc55SCy Schubert * Joakim Söderberg 392*a466cc55SCy Schubert * kirillDanshin 393*a466cc55SCy Schubert * lzmths 394*a466cc55SCy Schubert * Marcus Sundberg 395*a466cc55SCy Schubert * Mark Mentovai 396*a466cc55SCy Schubert * Mattes D 397*a466cc55SCy Schubert * Matyas Dolak 398*a466cc55SCy Schubert * Neeraj Badlani 399*a466cc55SCy Schubert * Nick Mathewson 400*a466cc55SCy Schubert * Rainer Keller 401*a466cc55SCy Schubert * Seungmo Koo 402*a466cc55SCy Schubert * Thomas Bernard 403*a466cc55SCy Schubert * Xiao Bao Clark 404*a466cc55SCy Schubert * zeliard 405*a466cc55SCy Schubert * Zonr Chang 406*a466cc55SCy Schubert * Kurt Roeckx 407*a466cc55SCy Schubert * Seven 408*a466cc55SCy Schubert * Simone Basso 409*a466cc55SCy Schubert * Vlad Shcherban 410*a466cc55SCy Schubert * Tim Hentenaar 411*a466cc55SCy Schubert * Breaker 412*a466cc55SCy Schubert * johnsonlee 413*a466cc55SCy Schubert * Philip Prindeville 414*a466cc55SCy Schubert * Vis Virial 415*a466cc55SCy Schubert * Andreas Gustafsson 416*a466cc55SCy Schubert * Andrey Okoshkin 417*a466cc55SCy Schubert * an-tao 418*a466cc55SCy Schubert * baixiangcpp 419*a466cc55SCy Schubert * Bernard Spil 420*a466cc55SCy Schubert * Bogdan Harjoc 421*a466cc55SCy Schubert * Carlo Marcelo Arenas Belón 422*a466cc55SCy Schubert * David Benjamin 423*a466cc55SCy Schubert * David Disseldorp 424*a466cc55SCy Schubert * Dmitry Alimov 425*a466cc55SCy Schubert * Dominic Chen 426*a466cc55SCy Schubert * dpayne 427*a466cc55SCy Schubert * ejurgensen 428*a466cc55SCy Schubert * Fredrik Strupe 429*a466cc55SCy Schubert * Gonçalo Ribeiro 430*a466cc55SCy Schubert * James Synge 431*a466cc55SCy Schubert * Jan Beich 432*a466cc55SCy Schubert * Jesse Fang 433*a466cc55SCy Schubert * Jiri Luznicky 434*a466cc55SCy Schubert * José Luis Millán 435*a466cc55SCy Schubert * Kiyoshi Aman 436*a466cc55SCy Schubert * Leo Zhang 437*a466cc55SCy Schubert * lightningkay 438*a466cc55SCy Schubert * Luke Dashjr 439*a466cc55SCy Schubert * Marcin Szewczyk 440*a466cc55SCy Schubert * Maximilian Brunner 441*a466cc55SCy Schubert * Maya Rashish 442*a466cc55SCy Schubert * Murat Demirten 443*a466cc55SCy Schubert * Nathan French 444*a466cc55SCy Schubert * Nikolay Edigaryev 445*a466cc55SCy Schubert * Philip Herron 446*a466cc55SCy Schubert * Redfoxmoon 447*a466cc55SCy Schubert * stenn 448*a466cc55SCy Schubert * SuckShit 449*a466cc55SCy Schubert * The Gitter Badger 450*a466cc55SCy Schubert * tim-le 451*a466cc55SCy Schubert * Vincent JARDIN 452*a466cc55SCy Schubert * Xiang Zhang 453*a466cc55SCy Schubert * Xiaozhou Liu 454*a466cc55SCy Schubert * yongqing.jiao 455*a466cc55SCy Schubert * Enji Cooper 456*a466cc55SCy Schubert * linxiaohui 457*a466cc55SCy Schubert * Seong-Joong Kim 458*a466cc55SCy Schubert * Tobias Stoeckmann 459*a466cc55SCy Schubert * Yury Korzhetsky 460*a466cc55SCy Schubert * zhuizhuhaomeng 461*a466cc55SCy Schubert * Pierce Lopez 462*a466cc55SCy Schubert * yuangongji 463*a466cc55SCy Schubert * Keith Smiley 464*a466cc55SCy Schubert * jeremyerb 465*a466cc55SCy Schubert * Fabrice Fontaine 466*a466cc55SCy Schubert * wenyg 467*a466cc55SCy Schubert * Aleksandr-Melnikov 468*a466cc55SCy Schubert * ayuseleznev 469*a466cc55SCy Schubert * chenguolong 470*a466cc55SCy Schubert * Dimo Markov 471*a466cc55SCy Schubert * dota17 472*a466cc55SCy Schubert * fanquake 473*a466cc55SCy Schubert * Jan Kasiak 474*a466cc55SCy Schubert * Kamil Rytarowski 475*a466cc55SCy Schubert * Mario Emmenlauer 476*a466cc55SCy Schubert * Michael Davidsaver 477*a466cc55SCy Schubert * mohuang 478*a466cc55SCy Schubert * Nick Grifka 479*a466cc55SCy Schubert * Nicolas J. Bouliane 480*a466cc55SCy Schubert * Paul Osborne 481*a466cc55SCy Schubert * Philip Homburg 482*a466cc55SCy Schubert * Wataru Ashihara 483*a466cc55SCy Schubert * William A Rowe Jr 484*a466cc55SCy Schubert * yangyongsheng 485*a466cc55SCy Schubert 486*a466cc55SCy Schubert 487*a466cc55SCy SchubertIf we have forgotten your name, please contact us. 488