From d9d329bec8984723dfad97d496278c4c9e35d5d5 Mon Sep 17 00:00:00 2001 From: Unknwon Date: Thu, 9 Feb 2017 23:53:57 -0500 Subject: [PATCH] modules/setting: add Slack logger Conn and email loggers are removed for now unless people requested for them, then try to add back in gopkg.in/clog.v1 --- conf/app.ini | 10 ++++++++++ modules/bindata/bindata.go | 4 ++-- modules/setting/setting.go | 35 ++++++++++++++++++++++------------- 3 files changed, 34 insertions(+), 15 deletions(-) diff --git a/conf/app.ini b/conf/app.ini index 15f674bbb..48e483dc6 100644 --- a/conf/app.ini +++ b/conf/app.ini @@ -298,6 +298,7 @@ MAX_FILES = 5 ; For more information about the format see http://golang.org/pkg/time/#pkg-constants FORMAT = +; General settings of loggers [log] ROOT_PATH = ; Can be "console" and "file", default is "console" @@ -310,10 +311,12 @@ LEVEL = Trace ; For "console" mode only [log.console] +; leave empty to inherit LEVEL = ; For "file" mode only [log.file] +; leave empty to inherit LEVEL = ; This enables automated log rotate (switch of following options) LOG_ROTATE = true @@ -326,6 +329,13 @@ MAX_LINES = 1000000 ; Expired days of log file (delete after max days) MAX_DAYS = 7 +; For "slack" mode only +[log.slack] +; leave empty to inherit +LEVEL = +; Webhook URL +URL = + [cron] ; Enable running cron tasks periodically. ENABLED = true diff --git a/modules/bindata/bindata.go b/modules/bindata/bindata.go index bec1196a0..a140d6a32 100644 --- a/modules/bindata/bindata.go +++ b/modules/bindata/bindata.go @@ -291,7 +291,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _confAppIni = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xb4\x7b\x5f\x8f\xe3\x48\x92\xdf\x7b\x7e\x8a\x9c\x5a\xaf\xa7\xdb\xa0\xa4\xaa\xea\x3f\x53\xd3\xb5\x5a\x2c\x5b\xa2\x54\xbc\xd6\xbf\x21\xa9\xee\xe9\x69\x14\xd8\x59\x64\x4a\xca\x2d\x32\x93\xc3\x4c\x56\xb5\x06\xc6\x61\x17\x7e\xf0\x1f\xc0\xf0\x83\xed\x33\x0c\x1c\x0c\xef\x83\x7d\xc0\xd9\x67\xdf\xc1\x36\xb0\x6b\xaf\xed\x87\xf1\xbd\xf7\x7c\x87\xf3\x9c\xcf\xb0\x71\x5f\xc1\x88\x48\x52\xa2\x6a\x6a\xda\x73\x80\x3d\x03\x94\x24\x32\x33\x32\x33\xf2\x17\x11\xbf\x88\xcc\xfe\x11\xfd\xe8\xa3\x8f\xe8\xcc\x7b\xe9\x05\x14\xff\x4c\xe7\x43\x7f\xf4\x9a\x46\x17\x7e\x48\x47\xfe\xc4\x83\xf7\xc4\xb6\x5a\x4c\x3c\x37\xf4\xe8\xd4\x7d\xe1\xd1\xc1\x85\x3b\x1b\x7b\x21\x9d\xcf\xe8\x60\x1e\x04\x5e\xb8\x98\xcf\x86\xfe\x6c\x4c\x07\xcb\x30\x9a\x4f\xe9\x60\x3e\x1b\xf9\xe3\xbb\x12\xfc\x11\x7d\x3d\x5f\x52\x37\xf0\xe8\xc2\x1d\xbc\x70\xc7\xd0\x63\x11\xcc\x5f\xfa\x43\x2f\x70\x0e\x06\x98\xbf\x02\xc9\x8b\xd7\x74\x3e\xa2\x7e\x84\x32\xc8\x39\x75\x8b\x82\x4a\x96\x73\x6a\x36\xcc\x50\xbd\x51\xb7\x9a\x2a\x49\xf9\x0d\x2f\xb7\xb4\x60\x6b\x4e\x8d\x30\x19\x27\xee\x62\x11\xcf\xdc\xa9\x47\xfb\x74\xac\xd6\xfa\x19\x1d\x2b\x3a\x16\x86\x86\xbc\xbc\x11\x09\x27\xe7\x34\xda\x70\x2b\x49\xad\xa8\xd9\x70\xaa\xb7\xda\xf0\x9c\x56\x9a\x97\x56\x78\x59\x49\x8d\x9d\x49\xb0\x9c\xc5\xcb\xd0\x0b\x68\x9f\xae\x85\x21\xe7\xd4\x13\x66\xc3\x4b\x7a\x94\xf2\x9b\x23\x87\x1e\x15\xa5\x4a\x8f\xa8\x2a\xe9\x91\xe1\xda\x1c\x61\xfb\xe9\x7c\x08\x83\xa7\xfc\x86\x90\x37\x25\x2f\x94\x16\x46\x95\xdb\x4b\x72\x4e\x03\xa5\x0c\x2d\x98\xd9\xd0\x95\x2a\xa9\x36\xaa\x14\x72\x4d\x77\x6d\x04\xd7\x1f\x6b\x9a\x32\xc3\x1c\x9a\xf2\x15\xab\x32\x43\x85\xa6\x47\xbf\xdb\xfb\x09\x4c\x0e\xe6\xfc\xd3\xde\x5a\xad\x75\xa7\xdd\xe5\x88\x04\xf3\x79\x44\xfb\xf5\xca\x74\x52\x8a\xc2\x50\xb3\x2d\x38\xd5\xbc\xbc\xe1\x25\xd5\x55\x51\xa8\xd2\x68\x87\x6a\x95\x73\x23\x72\xae\x69\xa2\xaa\x2c\xa5\x57\x9c\x1e\xe9\xcd\x11\x09\x07\x81\xbf\x88\xe2\xe8\xf5\x02\xa6\x7e\xc5\xf4\x86\x9c\xd3\x61\x3d\x05\x77\x16\xfa\x34\xd9\xb0\x52\x73\x83\x13\x67\x92\x56\xb2\xe4\x89\x5a\x4b\xf1\x15\x4f\x9b\x77\x04\x1a\xc6\x83\x0b\x37\x08\x3d\x3b\x9f\x91\x2a\x13\x5e\x6f\x91\xe4\xb7\xfb\x95\x6e\xa9\x51\x30\x78\x51\x8a\x1b\x66\x38\x19\xcd\x83\x81\x17\x2f\x02\xff\xa5\x1b\xc1\x0c\x56\x2c\xd3\xb0\x55\xe3\x4c\x5d\xb1\x8c\xe6\xec\x9d\xc8\xab\x9c\x26\x25\x67\x46\x28\x49\x33\x91\x0b\x03\xfb\xd7\x92\x58\xf0\x12\xf7\xd0\xa1\x9d\x13\x9a\x73\x26\x35\x95\xca\xb6\x24\x53\xf7\xf3\x78\x10\x78\x6e\xe4\xcf\x67\xf1\xc4\x9f\xfa\x11\xed\xd3\xce\x09\x39\xa7\x53\x51\x96\xb0\x17\x5b\x99\xd0\x2f\x2b\x5e\x71\x9a\x71\xb9\x36\x1b\x87\x0a\x09\xc3\x69\x4e\xc5\x8a\xe6\xfb\x56\xb0\x63\xda\xb0\xd2\x68\xba\x61\x72\x2d\xe4\x9a\x4c\xfd\x20\x98\x07\xf1\x67\x4b\x6f\xe9\xc5\x13\x6f\x36\x8e\x2e\x68\x9f\x9e\x1c\x1f\x1f\x93\x73\xba\x60\x26\xd9\x50\x80\xc7\x07\xe4\x17\x55\x96\xd1\x92\x7f\x59\x41\xb3\x62\xd7\xe3\x9e\xb1\x16\xcb\xc9\x24\x0e\xbc\xcf\x96\x5e\x18\x7d\xdf\x88\x25\x5f\xf1\xb2\xe4\x29\x9d\x88\x84\x4b\xcd\x35\x68\xbb\xc8\x58\xc2\x29\x33\x08\x79\xa3\x8a\x06\xfd\x99\xd0\x00\xec\x19\x18\x44\x5e\x69\x43\x73\x1c\x7e\x25\xb2\xda\x4a\x84\xa4\x89\x92\xab\x5e\x66\x85\x01\xda\x93\x4a\x1b\x95\xf7\xda\x8f\xc9\x22\xf0\x46\x5e\x10\x78\xc3\x78\xe2\x0f\xbc\x59\xe8\x85\xb4\x4f\xdd\x82\x25\x1b\xde\xcc\x83\x9e\x76\x8f\x1d\xd0\x7d\xfd\x1b\x30\x26\x34\xbb\xca\x38\x65\x57\x22\x13\x06\x61\x21\xa4\xe1\x25\x4b\x0c\xbd\x15\x66\x73\x60\x1c\xf4\x6a\x4b\x2f\xa2\x68\x41\x8b\x52\x19\x95\xa8\x8c\x0c\xfd\xd0\x7d\x3e\xf1\x62\x78\x1a\x8f\x71\x57\x1b\xe8\x78\xf2\xae\xe0\x5c\xac\x4b\x66\x78\x1b\x33\x57\x5b\x9a\xa9\x84\x65\x68\x94\xc4\x9b\xa1\xb0\xc9\x7c\xe0\x4e\xe2\x85\x1b\x5d\xc4\x53\x7f\x1c\x20\x68\x76\x82\xdb\x26\xdd\xe5\x29\x7c\x82\x65\x4f\x84\x46\x3c\xa2\xda\xf8\x3b\xc3\xa5\x16\x4a\xea\x9d\xb3\x02\x63\xdb\xb0\x1b\x50\xb7\xe4\xf4\xb6\x64\x85\x06\xc5\xc2\x06\x0c\x54\xca\x6b\x14\x5a\x79\x5d\x72\x4e\x43\x5e\x30\x9c\x6c\x4b\x16\xea\x83\xd1\x44\xe5\x39\xeb\xd2\x48\xed\x65\xe1\xb0\xb6\x81\xaa\xcc\xbe\x8f\x43\x7f\x0e\x3b\x5a\x54\xa6\xe9\x47\x26\xfe\xcc\x8b\x5f\x05\xee\x22\xf6\x3e\x8f\xbc\x59\xe8\xcf\x67\xb0\x51\x5d\xf3\xce\x38\xdd\x3c\x75\xba\x39\x2b\xaf\x53\x75\x2b\xe1\x97\xfd\xb8\x4e\x1d\x72\x4e\x5f\xb2\x4c\xa4\x76\x7d\xb9\x4a\x79\xbd\x34\x5c\x13\xa3\x45\xc9\x6f\x04\xbf\xa5\xee\xc2\xa7\x4c\x6b\x95\x08\x66\x78\x6a\x67\x6c\x36\x3c\x77\xa8\xae\x92\x0d\x65\x9a\xb2\x42\xf4\x6e\x4e\x7a\xcd\x28\x07\x6b\xbd\x61\x59\x65\x77\x19\xe7\xaa\xbb\x00\x65\x94\x6b\xd8\x15\xa8\x0b\xf4\x83\xa3\xd3\x5b\x25\x3f\xb6\x51\x00\xcc\x07\xd4\x78\xa8\x79\x9a\x2a\xae\xa1\x09\xa2\x19\xc0\xf9\xd2\xf7\x5e\xe1\xf6\x42\x60\x42\x27\x0d\xeb\x6e\xe6\x71\xb8\xaf\x55\x91\x29\x96\x5e\xee\x51\xd4\x82\x0c\x8e\x63\x1b\xe8\x6e\x0d\x99\x21\xed\x53\x53\x56\xdc\x9a\xfb\x06\xc0\x66\x78\x5e\xa8\x92\x95\x22\xdb\xa2\xa3\xdf\xf5\xa1\x0f\x1a\xd7\x8e\x81\x60\xcd\x8d\xa6\x49\xc6\x99\xe4\x29\xac\x1c\xc2\x0e\x2e\x15\x9d\x26\x1a\xff\x43\x12\x79\xd3\x05\x02\x12\xe2\x0a\x33\xac\x67\xf2\xa2\x57\xcb\x03\x37\x0b\x53\x02\x87\x5f\x6f\x0a\x2b\x39\x65\x59\xa6\x6e\x79\x5a\xfb\x59\xdb\x96\xa7\x0e\xe5\xdd\x75\x97\x8a\x9c\xad\x79\xef\xe7\x05\x5f\xff\x4d\xfb\xb5\x90\xeb\x2e\x9d\x70\xd8\x4c\x9e\x17\x66\x5b\xfb\x4f\x14\x42\x99\xac\x57\x0d\x43\x10\x77\x32\x99\xbf\xf2\x86\x18\x2b\x42\xf4\xf2\xd3\xda\x3b\x6b\xf1\x15\xc6\x54\xce\x1a\xff\x21\x24\x9d\x3e\x27\x56\xe1\xee\xe7\x71\xe8\x7f\x01\xce\xfd\x51\xab\x8f\xac\xf2\x2b\x5e\x36\x96\xa3\xad\x13\xc7\xc9\xa2\xcf\x86\xae\xb0\x4d\x4f\x08\x79\x53\x09\xd8\x90\xd9\xae\xc3\x81\x67\xd8\xad\x1b\x20\xc1\x53\x18\x59\x49\xc0\x43\x91\x81\xee\x81\x1f\x10\xef\xf3\xc5\x64\x1e\x78\xf1\x02\xc9\x47\x3c\x5b\x4e\x69\x9f\x9e\x1e\x1f\x08\x15\x5a\x57\xdf\x2f\x0e\xc5\xf8\x61\xb8\xbc\x23\xe4\xe4\x50\xc8\x2e\x5c\xa9\x3c\x17\x46\xdf\x11\xc2\x12\x23\x6e\xc0\x25\xad\x38\x4f\xc9\xc8\xf3\x86\xa8\x9c\xc1\x7c\x3a\xf5\xa3\x5a\xe0\x13\x6b\x70\x15\xea\xf3\x08\x2c\x88\x77\x12\x95\xa9\xf2\x88\xe6\xdc\x30\x6a\xd8\xda\x81\x60\x87\x90\x71\x65\x5a\x2a\x91\xd2\x9f\xf6\xe9\x93\x2e\xcc\xc4\x95\x54\xc8\x1b\xb4\x57\xec\x44\x33\x71\xcd\xe9\x91\x54\x92\x5b\xb2\x92\x5a\xaf\x7b\x44\x6f\x45\x96\x59\x1b\x06\x13\x6a\x80\xa9\xcd\x36\x03\x2c\x4f\x41\x75\x42\xae\xd4\x33\xba\x31\xa6\xd0\xcf\x7a\xbd\x94\xdf\xf0\x4c\x15\xbc\xd4\xdd\xb5\x52\xeb\x8c\x77\x13\x95\xf7\x6e\xf9\x55\xaf\x2a\x52\x66\xb8\xee\x9d\x1e\x9f\x3c\xee\x9d\x9c\xf4\x42\x4b\x3a\x3a\x2b\x55\x76\x5a\x0b\xe8\x08\xd9\x19\x6c\x4a\x95\xf3\xce\xa3\x4f\xf1\x65\x3d\x7d\x12\x5d\x78\x53\x2f\x1e\xcc\x27\xf3\x20\x9e\x7a\x91\x1b\x47\xee\x98\xf6\xe9\xdb\x1f\xad\x56\x4f\x1e\x3d\x7e\xf4\xd6\xa2\xc6\xa2\x4c\x48\x7a\xb5\x35\x5c\xef\x81\x63\x71\x9e\x0a\x5d\x64\x6c\xcb\xd3\xbd\x95\x09\x4d\xcf\xa6\xcf\x1f\x22\x9c\x86\x7e\xb8\x98\xb8\xaf\xad\x0b\xa8\xd1\x78\xf6\xe8\xec\xec\xe9\xf1\x19\x02\xac\xcb\xd2\x5c\xc8\x43\x98\x01\xa5\xf8\x30\x20\x80\x20\x1e\xe2\xe1\xc9\xf1\x77\x91\xfa\x41\x11\x81\xb7\x98\x7f\x50\x84\x54\x46\x24\xff\x17\x60\xce\xe6\x91\x3f\xb8\x0b\xef\x27\x07\x62\x54\xb9\x66\x52\x7c\x65\x49\xd4\x87\x64\xcd\x83\xf1\x77\xe6\x83\x1a\x02\x75\xdc\x63\x87\x7f\xc5\xd5\x9d\x80\x41\x37\xbe\xb7\xe5\x67\x37\xac\x4c\x6d\x58\xbb\x2a\x39\xbb\xde\xfb\xf3\x26\x36\x5f\xb8\x01\x10\x8c\x99\x17\x3f\x0f\x3c\xf7\x45\x2b\xde\x37\x11\xd8\x72\x13\xba\x0c\x26\x9d\x30\x01\xdc\xdd\xe3\x14\x99\x86\x41\xae\x35\xbd\xdd\x70\x49\x4b\x2e\x53\x8e\x4c\x7c\xda\x44\x83\x73\xe4\xb9\xfc\x1d\xcb\x8b\x8c\x03\xf5\x77\x72\xb6\x96\xdc\x10\x9b\xe3\xc4\xcb\x60\x12\x87\x03\x00\xac\x75\x81\x3f\x24\xfc\x5f\xf1\x7a\x24\x9e\xf6\x20\x90\xd9\x79\xb4\x86\xfc\x41\x31\xdf\x8a\x68\x02\x7e\x4f\xb5\x42\x1e\xd3\xbb\x70\x76\x4f\xe0\x47\xcc\x1f\xc6\xfc\xef\x0b\xf7\x84\xbc\xb1\x99\xc3\x25\x59\x04\xf3\x68\x3e\x98\x4f\x68\x1f\x5d\x00\x19\xce\xa7\xae\x0f\x6c\x08\x69\xd3\x46\x69\x83\xd9\x07\x28\x84\xf6\xe9\x8f\x1f\x34\xed\x1f\x82\xb3\xf8\xf1\x03\xdb\xfc\xa1\x7e\xf6\xe3\x07\x48\xd1\x16\xf3\x20\x7a\xa8\x7b\x04\x7f\xb8\xc3\x21\x24\x56\xc7\x5d\xfc\x9f\xec\x1a\x40\x88\xa8\x99\x2c\x2f\x73\xa1\x71\x71\xb0\x1f\x95\x14\xef\xa8\x56\xc9\x35\x37\x64\x39\xf3\x3f\x8f\xc3\xf9\xe0\x85\x17\xc5\x0b\x2f\x98\xfa\x61\x68\x69\xda\xd3\xa7\x4f\x61\x43\x90\xd5\x3d\x18\x4e\xbf\x78\x08\x50\xc0\xee\x18\x5a\x6f\x55\x79\x0d\x06\xfd\xa0\x21\x24\x61\x78\x41\xad\xef\x7a\x48\x59\x92\x70\xad\x01\x09\xb7\xfc\x0a\xb3\x27\x91\x70\xa0\x28\xbe\xa4\xb9\xd2\x86\x26\x0c\xd8\xf4\x56\x55\x34\x55\x60\x93\x54\x72\x1b\x63\x13\xe0\xe7\x87\x5e\x14\xd9\x0c\x74\x76\x33\xc3\x4b\x0a\xf9\x8a\xcc\xb6\x40\x57\xb6\xaa\x2a\x71\xdc\x3a\x3f\x93\xc0\x68\x84\x46\x81\x98\x90\x02\xed\x66\xda\x72\x5d\x78\xd9\x25\x96\x93\x7e\x48\xd5\x3b\x95\x7e\x57\xdb\x7b\x9a\x0d\x83\xae\x38\x33\x55\xc9\x2d\xf6\x61\x48\x76\xc3\x44\x06\xaf\x77\x74\x1a\x9a\xed\x2d\xeb\xd5\x86\x63\xd2\x5b\x69\x4e\xaf\x2a\x91\x19\x21\xdb\xb3\x57\xb0\x00\xd3\x25\x61\xe4\x06\x11\x74\x8d\x43\x2f\x78\x89\x39\x73\x23\x61\xa8\x72\x26\x64\x9d\xbe\xa3\xa3\xe6\xef\x0a\xa5\xad\x9b\x00\x51\x49\x06\xce\x62\x19\x4c\x08\xf4\xdf\x81\x6c\x0f\x20\x00\x83\x2a\x4d\xc3\x17\x7e\x80\x90\x1a\x49\xa7\xa7\xe0\xac\xb8\x81\x7d\xb7\xa9\xc5\x0a\xf2\xa0\x7b\xd6\x01\x89\x10\x97\x9a\x2a\x89\xfd\x27\x7e\x18\x79\xb3\xf8\x62\x1e\x46\x2d\x90\x1e\x4e\xe3\x07\x4b\xa9\x27\xf3\xe3\x07\xcd\xcc\x70\x45\xfb\x72\x80\x5a\xa1\x8c\x54\x94\x3c\x01\x96\x79\x90\xff\x7f\xfc\xbb\xbd\xae\xd6\x9b\x8f\x1d\x7a\x55\x19\x04\x9f\x8d\xd8\x0a\x77\xe4\xe3\xde\x46\xe5\xbc\xb7\x16\xc6\xb6\xea\xe2\xb8\x88\x14\xcb\x18\x71\xfb\x6b\xb9\x08\x55\x48\xa2\xf9\x8e\xa0\x6e\x1b\x5f\x02\x70\xc0\x34\xb5\xa8\xae\x32\x91\x5c\xd3\x6b\xbe\xa5\x15\x5a\x83\xd6\x9b\xce\x35\xdf\xae\xb9\x84\x4c\xa0\x35\xb5\xba\x74\xb2\x97\xb5\x5b\x81\x9d\xc6\x0b\xef\x75\x1c\x41\xa6\xba\x9b\x4a\xc3\x8f\x5b\x22\x0f\xd6\xba\x7f\xfe\x31\x65\x32\xa5\x19\x07\x07\xca\xb3\x8c\xae\x84\x4c\x29\xa4\x37\xb7\x1b\x91\x6c\x30\xba\xc0\x6a\x58\x96\xed\xc6\x1a\x83\xaa\x2d\x4d\xde\xcb\x41\xf3\x4d\x45\x02\x8b\xbe\xad\xa1\x8c\x16\xcb\x93\x6b\x9a\x0b\x89\x54\x0d\xd6\x8a\xcc\x02\x1d\x6e\xa2\xca\x92\xeb\x42\xc9\x14\x56\x8f\xb4\x77\xea\xcf\xfc\xe9\x72\x8a\x2b\x02\xe6\x10\x0f\x2e\xbc\x41\x3b\xfe\x34\x26\x36\x18\xce\x80\xbc\x03\x05\x6b\xea\x43\x90\xb1\x90\xf9\x68\x84\x71\xab\x2e\x0f\xd9\x6e\x8d\xc1\x05\xf3\x65\xe4\x05\xf1\x64\x3e\x6e\x17\x3f\xb8\xe4\x18\x0f\xb4\xe1\x85\x7e\x46\xce\xe9\x5f\xa3\x5d\xac\xff\xd0\x84\x97\x86\x76\x12\xd6\x87\xac\x83\x76\xd2\xaa\xc4\x90\xde\x3f\xfb\xe4\xe9\xf1\xe6\x38\x3f\xd6\xb4\x03\xbe\xb9\x9f\x6f\xe1\xa3\x5b\x07\x32\xe0\x6a\xe4\x9c\x9c\xd3\x79\x49\x57\xa5\xca\x29\xa3\xdd\x62\xf5\xae\x89\x5a\x40\xd7\x78\x6a\xdf\x80\x1b\x7a\x25\x64\xaa\x6e\xed\x60\x62\x65\x15\x68\x53\x99\x07\xa9\x22\xe7\xe8\x3b\x56\xaa\x5c\x73\x03\xfa\xb4\xfd\xb1\x63\x5d\xd5\x01\xa5\x3e\xb4\xd3\x56\x05\x97\x5a\x67\xb4\xb8\x4e\xf4\xc9\x29\xed\x08\x89\x52\x71\xf4\x0e\xec\xa9\xfd\xc5\x73\xda\x91\xea\x9a\x6f\xf5\x0f\xeb\x75\xcd\xb7\x4d\x27\x78\xa1\xe1\x4b\xca\x35\x19\x78\x41\x84\x24\x8f\xf6\x9b\x5a\x05\x12\xd8\x5e\x33\x0c\x81\x6d\xbc\xaf\x41\x2d\x91\x9c\xd3\x65\x01\xb9\x48\x06\x7c\x17\x4b\x25\x3c\x2f\x32\x58\x14\x80\x52\x1b\x66\x44\x62\xf5\x86\x95\x83\x03\xa3\x40\x15\x00\xcc\x6f\x37\xbc\xe4\x75\x46\xa7\x29\x7f\xc7\x93\xca\xf0\x14\x1c\x65\xe4\x0f\xee\x9a\x68\x3b\x29\x84\x68\xe5\x16\x05\xe6\x7a\x58\xd0\x1c\xba\x91\xdb\x4e\x00\x6d\x3d\x34\x83\x3d\xc1\x72\x18\xce\x72\xfc\x85\xbf\x68\x6a\x7d\x0d\x5f\xc2\x67\x2d\x92\xc4\x2c\xa4\xb1\x5e\xba\x42\xcf\x2d\x3b\x99\x5a\xaf\x79\x6a\x89\xae\x43\x13\x26\xb1\x2c\x08\x5e\xc5\x66\x0b\x75\x12\x75\x44\x26\x2e\x16\x7a\x81\xca\x81\xe2\xa0\x05\x21\x6f\x40\x71\x97\xbb\x7c\x05\xa7\x8e\x61\xb4\x33\x50\xd2\x94\x2a\xeb\xb8\xc0\xba\x3a\xf3\x52\xac\x85\xa4\x1b\xce\x52\x5e\x1e\xd8\x3c\x86\x3d\x45\x8b\x92\x6b\x2e\x0d\x71\x07\x03\x2f\x0c\xe3\xc1\x7c\x16\x05\xf3\x49\x8c\xf9\x66\x3c\x0f\xfc\x31\x86\x04\x62\x75\x05\x14\x71\xc7\xe6\xb2\xb5\x2a\x85\xd9\xe4\x1a\x37\xc7\x6c\xb8\x28\x0f\x0c\xdb\x56\xdc\xe8\x03\x70\x97\x9d\x13\x18\x2b\x6d\xca\x4e\x68\xdc\x0f\xc9\x1b\xad\x37\xdd\xba\x4b\x7c\xcd\xb7\x31\xf8\x02\x7d\x49\xbc\xe1\xe9\x93\x27\x27\x9f\x22\x91\x7e\x4a\xbc\xc1\x30\x74\x29\xad\x7f\x05\xf8\x1d\x7f\x1d\x3f\x3e\x23\xc3\xdd\xcf\x93\xe3\xd3\xc7\x84\xbc\x81\x7d\xba\x62\x9a\x5f\xb6\xca\xc6\xf9\x56\x7f\x99\x61\xe1\x58\x69\xb3\x2e\xb9\xb6\x1a\xd6\x5f\x66\xc2\xf0\x47\x47\x0e\x7a\x77\xd8\x81\x44\x49\xc9\x13\xd4\x4b\x24\x86\xcf\xad\x5b\x9a\x6e\xc3\xcf\x26\xad\xe2\xd7\xf3\xa6\x60\x8b\x62\x49\x1d\xaa\x4e\x4e\x3f\xc1\x60\x75\xf2\xec\xd1\xa3\xe3\xa7\xa4\xae\x85\x83\xdb\x20\x75\x29\xbb\x54\xca\x90\x85\x1b\x86\xaf\x86\x4d\x99\xf6\x60\x46\x32\xdb\x3a\x94\x37\x95\xee\x3a\x57\x74\xe8\x51\xc9\xbf\xac\x44\x59\xa3\xe2\x86\x97\x62\xb5\xed\xac\xaa\x2c\x3b\x22\x61\x38\xd9\xd5\xbd\x6d\xfb\x46\x6c\xb3\x34\xdc\x9a\x23\x23\xd2\xab\x23\xcc\x5c\x29\xbb\xd2\x2a\xab\xcc\xde\x54\x24\x2e\x1e\x2b\x1e\x40\x7e\x6a\xf6\x45\xda\x65\x0f\x58\x44\x37\xbd\x22\xe4\x4d\x9d\xa8\x01\x51\x4d\xaa\x52\x98\xed\x25\xf1\x67\x61\xe4\x4e\x26\xf1\x64\x7e\xe0\x97\x3f\xfa\xc8\x1e\x58\xd8\x73\x8d\x68\x4e\x5f\x78\xde\x82\xbe\x9e\x2f\x03\x8a\xea\x00\xd3\xa2\xa1\x3b\xf2\x3e\xfa\x88\x84\xde\x20\xf0\x22\xf0\xf1\xb4\x4f\x3f\xfa\xd1\xcf\x46\x43\xef\x55\xe0\xbd\x0a\xfe\xfa\xdf\x78\x00\x16\x57\x19\x05\xc6\x22\x20\x65\xc8\x39\x32\x80\x94\x6d\x35\x99\xcc\xc7\xfe\x2c\x0e\xbc\xa9\x37\x7d\xee\x05\xf1\xd0\x7d\x0d\xf4\xfa\x13\x32\x98\xcf\x5f\xf8\x1e\x1e\x20\xb4\x76\x21\x66\xb7\x5c\x83\xe9\xd4\xaf\x77\xfd\xda\x6d\xb0\x38\x9c\x0a\xab\xc8\x80\xdf\xf0\x52\x83\x5f\x55\xef\xb6\x94\x55\x66\xc3\xa5\x69\x6c\xdf\x1a\xd4\xee\x40\x03\x4f\x31\xe0\x07\x09\xbc\x97\x5e\x10\x7a\xf1\x22\x98\x7f\xfe\x3a\x76\x97\xd1\x85\x37\x8b\xfc\x81\xad\x81\xd7\x48\xf8\xbc\xf3\xca\x7b\x0e\xaf\x3a\xf0\xa0\xe6\xfd\x22\xe1\x97\xc4\x1d\x44\xfe\x4b\x48\xc7\x87\x5e\x3c\x81\x6f\x53\x7f\xb6\x8c\xb0\x18\x73\x72\x76\x4c\x02\x2f\x04\xe2\x8d\x18\xfa\xde\x46\xe7\x74\x89\xb3\x69\x38\xb2\x92\x2b\x51\xe6\x94\x77\x72\x26\x32\xf4\x14\x25\x5f\x0b\x6d\x6c\xf0\x22\x81\x37\x06\xb6\x14\xc4\xde\xd4\xf5\x27\x31\x9e\x23\x05\xd3\x03\x1a\xc9\xad\xb7\xb0\x75\x29\xdb\x99\x97\x08\x2d\x04\x44\xc3\x6d\x58\x92\xa8\x4a\x5a\xc2\xbd\x8f\xb1\x28\xfe\x4e\x39\xb7\x9e\x22\x16\xbe\xb5\x58\x63\xd4\x36\x8a\x62\xd1\x91\xc9\xad\xd9\x08\xb9\xee\x92\xc0\xfb\x6c\xe9\x07\x5e\x1c\xfa\xe3\x99\x3f\x8b\x5f\xfa\xde\xab\x96\x84\x29\xac\x06\x12\xf4\x55\xbd\x27\x8d\xf3\x85\x84\x7c\xf4\x3a\x86\xd5\xb4\x9b\x43\x04\x4d\xb9\x61\x22\xdb\xd7\x55\xd6\xc2\x6c\xaa\x2b\x2c\xa6\xac\xd5\x5a\x18\x8d\x58\xef\xd9\x72\x54\xef\xe4\xe9\x93\x46\xe6\x87\x76\x75\x37\xc8\xf7\xb5\x9d\x7f\x9f\x12\xea\xf4\x3b\x61\x85\x49\x36\x8c\x62\xed\xc8\xc2\xeb\x3b\xbb\x54\xcb\x1e\xb8\x8b\x68\x70\xe1\x36\x85\x4f\xf2\xe6\x96\x5f\x6d\x94\xba\x06\x6f\x77\xa1\xd4\x35\x35\x4c\x5f\x7f\xe0\xc4\xa3\x6e\x0e\xc9\xb1\xba\xef\x9c\xe3\xfe\xa3\x8d\x21\xcf\x04\xb0\x6c\x23\x72\x0e\x04\x40\x48\xaa\x79\xa2\x64\xaa\xc9\xd0\x03\x04\x06\x71\xe4\x4f\xbd\xf9\x32\xaa\x8b\x68\x18\x7b\xa8\x90\xe8\x26\x78\x8b\xca\xc0\x52\xc2\x17\xfe\x22\x8e\x26\x61\xfc\xd2\x0b\xfc\xd1\xeb\x96\x3e\xf6\xd5\x8d\x8d\xd0\x48\x9c\x85\x5c\xa9\x32\xb7\x3a\x11\xd2\xd6\x38\xb1\xb8\x71\xb7\x10\x48\xde\x00\xba\x21\x77\xde\xd7\x86\x1b\xb1\xcf\xab\xd5\x0a\x49\x05\xc6\x23\xb5\xc2\xb4\x51\xf2\xcc\xa1\xd7\x9c\x17\x90\x22\x32\x0d\x7f\x85\xae\xd3\x44\x9a\x62\x9d\xfb\x5a\xaa\x5b\x7a\xbb\x61\xc6\xbe\xec\x92\xd0\x9b\x0d\xe3\xe7\xcb\xd1\x08\x48\xa3\x37\xb3\x0a\x6a\x4e\x71\xf6\x45\x30\x21\x29\x9a\x9a\x3d\x19\x0d\x97\xcf\x7f\xc7\x1b\xd8\x3c\xa4\x39\x25\xc5\x3c\x04\x01\x6c\xf3\x17\xa0\x9d\x39\x22\x53\xe7\xa6\xe8\xae\xe1\x3b\xa0\xf2\xd9\x93\xb3\x4f\xc8\x39\xfd\xec\xb3\xfa\xc5\x97\x5f\xe2\xd3\xc7\x4f\xb1\xbe\xa4\x0c\x77\x9a\x3a\x3c\xb2\x40\x2e\xd3\xba\x76\x71\xf4\xf8\xe9\x93\x23\x87\x86\xd3\x68\x11\xda\x72\xe3\x15\xc7\xca\x65\x97\x2e\x31\xb7\xc0\xb4\x31\x9a\x84\x54\x49\xdb\xf7\xc9\xd9\x27\xa0\x80\x92\x27\x2a\xcf\xb9\x4c\x79\x8a\x55\xe1\x60\x34\xa0\x4f\x1f\x1f\x7f\xda\xa5\x7e\x7d\x6c\x7b\x78\xb8\xb9\x17\x24\x8c\x1d\x88\x65\xb7\x6c\xab\x77\xe3\xd5\xf1\xb1\x45\xd5\x2f\xbc\xc9\x1c\x48\xa6\x45\xb6\x8d\x41\xc0\x97\xd1\x97\x32\xb0\x52\x01\xfb\xc5\xa5\xe9\xee\x4f\x9a\xa0\x0f\x08\x19\xd8\x3a\xd3\xae\x3d\x18\xca\xa1\xc0\x03\x92\x83\xac\xda\xa6\x4b\x5d\x02\xed\x30\xb3\xb4\x2e\x1f\x5d\x1b\x3a\x36\x1b\x54\x71\x79\x6d\xd6\xad\xda\x2b\xee\xd2\xb9\xcc\xb6\x18\x43\xcd\x06\x24\xab\x92\x6a\x9e\xad\x3a\xe0\xbf\x78\xda\xee\xa8\x2d\xc4\x1b\x78\x5b\x6f\x47\x93\x4c\x70\x69\xda\xed\x80\x18\xc4\x40\x9a\xfd\x11\xb8\x92\x7d\x7e\x72\x0f\x91\xb6\xe8\xfe\x10\x93\xae\x5b\xec\xa9\x34\xe2\xcb\x26\x1c\x69\x5a\x72\xad\x1d\xdc\xcd\x27\x8f\x4e\x4f\xbb\x34\x82\x35\xd4\xa4\x13\x8b\x56\x4c\x52\x8e\xa8\xdd\x35\x56\x25\x2e\xff\xed\x11\xc0\xfb\x88\xfe\x04\x5f\xff\xac\x95\xd4\xfc\xf4\x2d\xb5\xd6\x49\x46\xc1\x7c\x5a\x1f\x4a\xc0\x24\xf6\xe1\x10\x83\x44\xc1\xb4\xbe\x55\x65\x5a\x13\xa1\x36\x07\x02\xc5\x18\xfe\xce\xf4\x36\x26\xcf\xf0\xa0\x2a\x33\xbc\x94\xcc\x88\x1b\x5e\x0b\x47\x83\x55\xd2\x00\x49\x6d\xca\x91\xd1\x14\x18\x6a\x04\x01\x1e\xe2\x65\xeb\x98\x30\x61\xc9\xe6\x90\xfb\xf1\x5c\x95\x5b\xcb\xa3\x52\xa1\x8f\x70\x5d\xf0\x14\x5b\x1e\x1d\x1e\xf9\xd7\x8d\x89\x3b\x74\x17\x11\x86\x6a\xfb\xa4\xa1\x55\xf5\xfb\x9a\xab\x8d\x07\xb6\xb4\x71\xc3\xb2\x96\x4b\x3c\x90\xf8\xf4\x98\xf8\xb3\xc8\x0b\x5e\xba\x10\x8b\x9e\x1e\x37\x82\xec\x5c\x2c\x3b\x6b\xcd\xa5\xe6\x9f\x48\x30\x14\x6c\x8a\xdd\x0b\x72\x4e\xb1\xc3\x33\x2a\x6d\x49\xa5\x6f\x92\xc2\x81\x97\xfd\x67\x4f\x1f\x7d\xf2\xa9\xd3\x68\xb8\x9f\xb3\x84\x95\x4a\x3a\xe9\x55\xff\xd8\x29\x94\xca\x90\x52\xf7\x4f\x8e\x8f\x1d\x91\x66\x3c\xae\x3d\x78\xdf\xf2\x84\x66\xe4\x67\xf4\xed\x9e\xbe\x9e\x9c\x9c\x9e\x9c\xbc\x6d\xcc\x16\xb8\x09\x96\x02\xef\xd7\x29\xe4\x62\xb5\x4a\x1b\xf5\xde\xa7\xcf\xe6\xc6\x49\x5b\xa1\x8b\x52\xdd\x08\xe0\x50\x48\x50\xd6\x54\x15\xb0\x6e\x6d\xa7\xa5\xca\xed\x33\x34\x4d\x7b\xd2\x29\xb7\x4d\xab\x2d\x37\xe4\x1c\x53\xc0\x67\xb4\x9e\xd9\x3e\x21\xac\xcf\xd9\xde\x22\x6b\xad\xdf\xea\xb7\xff\xdf\xb4\x07\xf4\xff\x19\x5d\xab\x8e\xfe\x32\xeb\xa4\x25\x84\xc8\x1e\x3e\xa4\xa9\x96\xcd\x84\xb5\x29\x85\x5c\x37\x33\x83\x1c\xe0\x59\x33\xde\xcf\x9a\x39\xc6\x06\x1c\xe3\xdb\x9d\x9a\xe2\xfa\x32\x4f\xcd\xbf\x9b\x95\x60\xb1\xda\x2e\x39\x51\xea\x5a\xd8\x9b\x02\x0d\xa1\xad\x79\xac\x88\x33\x71\xcd\x63\x4b\x67\xc8\x39\xb8\x6d\x88\x68\xe0\xb7\x1a\x7d\x41\x3e\x08\x04\xa8\x86\x71\xdb\x5d\x5a\xf7\x63\x05\x86\xde\x60\x19\x78\xdf\xa5\x2b\x9a\x9b\x7a\xfc\x83\xbe\x48\x48\x6a\x03\x05\x96\x6a\xa5\xec\x8f\x68\x9b\xa9\x8f\x07\xc8\x23\x76\xa6\x73\x20\xe4\xec\xe9\xe3\xe3\x63\x32\x1e\xc4\x8d\xd5\x20\xb1\xa0\xfd\xfa\xc5\x5e\x4a\x26\x56\x1c\xe5\xdc\xd3\x3d\xf4\xb0\x2a\x1d\x4f\xfc\x91\x77\xd8\x9f\xbc\x29\x44\x62\xaa\x12\x3d\xc4\xae\x26\x66\xcf\x89\xf5\xee\x0c\x14\x92\xdb\x1b\x66\x58\xa9\x89\xfb\xd2\x8d\xdc\x20\x5e\x2e\x26\x73\x77\x78\x70\x16\xdc\xb4\x38\xa7\x83\x8d\x90\x5c\xf3\xfa\xc8\x0a\xd3\xc8\x8d\x52\x9a\xd3\xa3\xb4\x52\x7a\x53\xa9\x23\x72\x0e\x16\xc2\x9a\x43\x12\xdb\x95\x6a\x55\x95\x09\x77\xf0\x98\xd0\x52\xd2\x67\xbd\x5e\x22\xbb\xeb\xd2\x36\x40\x5a\x6a\xbf\xf6\xc8\x38\xa8\xa7\x12\xce\x97\xc1\x00\x13\x96\xba\x19\x5e\x40\x12\xda\x16\xbe\x77\xb1\x7e\xa5\xca\x64\x77\x0e\x8d\xe5\x2a\x21\xa9\x5a\xad\xf0\x94\x27\xc7\xe2\x76\x13\x5b\x1b\xd1\xad\x9d\x1e\xf1\x14\x6b\x60\x8d\x22\x68\xa6\xd4\x75\x55\xc0\x12\x35\x1d\xce\xc2\x3a\x99\x4f\x14\x50\x81\xba\xc9\xfe\x02\x02\x39\xb7\x24\x04\x03\x86\x76\xa8\xe6\x7c\xc7\xb8\x6f\x6f\x6f\xbb\x99\xb8\x6a\x96\xa8\xca\xf5\x0f\x98\x3f\x4e\xeb\xee\x02\x40\xa5\xe3\x5a\x0e\xec\x7d\x2a\xf4\x15\xcb\x80\x71\xd4\x20\x1c\x79\x43\x2f\x70\x23\x6f\x18\xef\xd6\x57\x93\x66\x66\x0c\x4b\x36\x39\x97\xe6\xb2\x55\x68\xdf\x3f\xd5\x48\x43\x38\xc2\x3d\xed\x36\x45\x22\x3c\xed\x7c\x0b\x22\xde\xd6\x43\xdc\xb9\x7f\x80\x97\xb4\xf6\x42\xee\x74\xb4\xa8\xd9\xbf\x7e\x7b\x90\x63\xb7\x5e\x90\x73\x3a\x97\xb8\xbc\x5c\xb5\xaf\x14\x6c\x0b\xae\x3f\x70\x93\xe0\xee\x15\x81\xfb\x1b\xb5\x4e\x73\xdb\x77\x06\x0e\xe7\xfa\xe8\x74\xfa\x9c\xb4\xae\x0e\x3c\xae\xbb\x7d\xff\xb5\x81\xc3\xfe\x27\xc7\xdf\xb9\x46\x00\xa6\x0a\xca\x0e\x0b\x9e\x88\x95\xbd\x3b\xb0\x8b\xf0\xa0\xb8\x55\x95\x65\x5b\xaa\x2a\x53\x54\x80\x3b\x3c\xd5\x3e\x94\x1a\x8c\x06\x27\x27\xa7\x8f\x1a\x21\x2c\x6b\x48\x28\x4f\x9b\x3b\x2c\xb0\x6d\xee\x2c\xf4\x07\x0e\x5d\x4a\xf1\x6e\xc8\x80\x21\x07\xd5\xd5\xb6\xfe\x36\x1a\x9c\x9d\x9e\x36\x9f\x5f\xd8\x2f\x4f\x8e\x9d\x46\xf4\xee\x8b\x7d\xf5\xe8\xd1\xa3\x4f\x77\x5f\x66\x4c\x2a\x87\xbe\x10\x26\xd9\x70\xe9\xd0\xd0\xb0\xbc\xa8\x3f\xa6\x22\xcb\xc4\xee\x7b\x52\x2a\x8c\xeb\xf8\x13\x7a\xd5\x31\x3f\x6f\x8e\xf5\x9b\x7c\x86\x5d\x41\x2e\xd5\x52\x43\x63\x27\x90\x98\xaa\x8c\xc9\x35\x98\x47\xaf\xb8\x5e\xf7\x40\x7b\xbd\x1f\x15\xd7\xeb\x4e\xa2\xa4\x36\x0c\x50\x32\x9a\x07\x53\xd7\x86\xe8\x4c\xad\x2f\xc9\x61\x61\x73\x50\xd7\x13\xa1\xbd\xca\x78\x4d\x35\xea\x70\xdd\x0e\xd1\x4d\x83\x86\xa5\xaa\x3c\x67\xe8\x15\x9b\x63\xd1\xbc\xca\x8c\x28\x9a\xfb\x47\x35\x00\x9b\x6e\x0e\x22\xe1\x88\xd4\x55\xa8\xfa\xe9\xff\xcb\x9c\xeb\x9e\x74\xab\xa1\x21\x51\xc9\x12\xac\x90\xf9\x72\xa5\xe0\xf3\x15\x2b\x25\x7c\x7a\x65\xa9\x4a\xf8\x32\x62\x86\x65\x77\x16\x6c\x7b\x91\x89\xf7\xd2\x03\x4e\x86\x3f\x49\xc3\xcb\x76\xea\xb2\x1e\x46\x66\x5b\xd4\x6e\xb7\x7e\x7e\xd9\x74\xdb\x75\xc0\xe5\xdf\x6d\x0d\x0f\xf7\x4d\x6b\xff\x66\xdd\x89\xa6\xac\x32\x2a\x47\xdf\x9a\xa9\x35\x2d\x95\x01\x25\x3f\xd0\xb7\x80\x2c\x34\x2d\x05\x06\x0f\x39\x5a\xcd\x88\x1e\x92\xc9\x7c\x1c\x07\xf3\xc8\xa6\x08\xbb\x70\xba\x06\x6f\x81\x42\x52\x26\xb2\x2d\x19\xba\xfe\xe4\xf5\x77\xda\xed\xcc\x5d\x6f\xc4\x0a\xc9\x34\xe4\x7f\x99\xbd\xb9\x75\xa0\x99\xd3\xb3\xfa\xfe\xd1\x09\xfd\xc9\x4f\xe8\xe9\x99\x43\x4f\x9f\x3c\x6d\x39\x82\x38\xbc\xf0\x47\x78\xb8\x77\x56\xcb\x45\x5f\xbc\x77\x0a\x2d\xc1\xd8\x69\xe2\xcf\x6c\x51\xea\x18\xff\x83\x9d\x7b\x57\x88\x12\xad\x7b\x8b\x97\x48\x60\xf2\xc8\xde\x1e\xa4\x3c\xe3\x86\x53\xb6\x32\xbc\xa4\x39\x7b\x87\x4d\xea\xeb\x23\x4d\x61\x8f\xbc\x49\x4a\xd5\xbe\xb7\x50\x56\x52\x82\xa2\xe0\x31\x56\x3e\xd0\x25\x09\x95\x8a\x84\x65\xd9\xf6\x9e\x7b\x62\x41\x25\xdb\xad\x31\xf7\xc4\x93\x02\x5b\x07\xe9\xe2\x55\x62\x37\x8a\x31\xab\xdd\xa7\x15\xe7\x74\x89\x67\xd5\xf5\x8d\x54\x6d\x67\xd2\xb5\x07\xd8\x71\xfd\xf0\x92\x84\x83\x0b\x6f\xb8\xc4\xb8\xf0\x33\x7b\x93\xec\xe4\x38\x27\x58\x4a\xdc\x5d\x64\xdb\x70\x96\x99\x8d\x3d\x07\xab\xc5\x94\xbc\x50\xb1\x7d\x1e\xe3\xf3\xfb\x24\x9d\x3e\xde\x90\x7d\x91\xe5\xe9\x31\x84\x09\xb7\x5c\x57\x36\x5e\x81\x07\x45\xd3\x95\x29\xfd\x78\x2d\x0c\x5d\xe9\xe4\xfa\xe3\xc6\x58\x3b\x9d\x4a\x96\xe0\xeb\x51\x6b\x9d\x8e\x61\x6b\x0d\x06\x0f\x0e\x07\xdd\x92\x92\x3b\xc7\x23\x4c\x47\x27\x39\x72\x8f\x54\x25\x1a\x1f\x80\xb0\xde\x49\xf7\x93\xee\x13\xe2\x06\xe3\xd0\xc2\x7f\x80\x27\x79\xad\x2b\x7a\x78\x3c\xa3\x8d\x48\x1a\xf5\xe0\x5a\x62\x5c\x1d\xbc\xd3\x97\x77\xb5\x8b\x9b\x72\xff\x52\xc9\x9b\xb5\xc0\xe8\x5c\x57\x0d\x34\xdd\x88\xf5\x26\x13\xeb\x0d\x62\x98\xa5\xc8\xd2\x64\x4a\x4b\x9e\xab\x1b\x7b\x1b\x5a\xae\xb9\xde\xb1\x9a\xa1\x3f\x1a\xc5\x17\xfe\xf8\x62\xe2\x8f\x2f\xa2\x83\xba\x61\x3b\x90\x01\x84\xf5\x2e\xc6\x82\xe4\x36\x8c\x81\x73\xa4\x62\xb5\xc2\xca\x24\x82\x71\xec\x47\x56\x74\x1b\xdc\xdf\x91\x9a\x6c\x58\xc9\x12\x03\x7c\x10\x45\x66\xed\x83\x93\x0f\xcb\xc4\x9b\xdc\xee\x20\xf2\x02\x0c\x9d\xf7\x08\xb7\xb1\x57\x6f\xd4\xad\xfc\x80\xac\x26\xf8\x5a\x97\xf9\x01\xa4\xac\x93\x16\x4e\xd8\x7a\x0d\x09\x27\x64\xdf\x9d\x0e\x78\xaa\xbf\x0a\x4c\xd6\x49\x0d\x92\xf1\x20\xde\xe3\x64\xbe\xab\xf4\xdc\x53\x3e\x84\x5d\xee\xd6\xcf\x2f\x89\xbd\xf7\xeb\x21\xbe\x8f\xeb\xfb\xdd\xf6\x5a\x0a\x19\x4c\xe6\x33\xaf\xfe\xbe\x58\x4e\x26\xf5\xd7\xf1\xc0\xa6\xd5\xe4\x8d\x35\xc2\xcb\xd6\x99\x5e\x3b\x37\xdf\xa8\xaa\xd4\xf4\x8a\x9b\x5b\xce\xeb\x32\xa2\xb5\xc0\xa1\x37\x72\x97\x93\x28\x6e\x65\xe9\x67\xc0\x10\x0b\xbc\xf6\x78\xa8\x78\x61\x78\xae\x2d\x43\xb5\xe7\xd4\x96\x94\x32\x5b\x91\x04\xed\xdb\x7f\x96\x11\x7a\xb1\x1f\x79\xd3\xb0\xb9\xbf\x25\x4e\xce\xe4\x25\x99\xb8\x33\x50\x09\xe5\xb2\xb3\x0c\x9d\xaf\x36\x9d\xc1\x0c\xfe\x5e\xbc\x80\xbf\xd1\x2b\x27\xe5\x9d\xa1\xe7\xac\xca\xce\x28\x70\x64\xd6\x99\x4d\x9c\xec\xa6\x33\x79\xe9\x94\x55\x27\x58\x3a\x3f\x67\x9d\xdf\x59\x38\x5c\x77\xbc\xd0\x29\x4c\xe7\x79\xe0\x14\x59\x67\x31\x71\xae\xd6\x9d\xe7\x63\x47\x98\x8e\x1f\x39\x2b\xd1\x19\xf9\x8e\x29\x3b\x51\xe0\x24\xba\x33\xf8\xc2\xd1\x65\x27\x5c\x38\xfa\xa6\x13\x7a\xce\xb5\xea\xbc\x08\x9c\x75\xd6\xf1\x42\x3c\x9d\x82\xb9\x78\x72\x9d\x09\xbd\x71\xfe\xfc\xdf\xfc\xe2\xcf\xfe\xf3\x3f\xfc\xb3\x5f\xff\xd1\xb7\xbf\xf7\xb7\x9d\x3f\xff\xcd\x2f\xff\xe2\x5f\xfd\x23\xfb\xe3\x2f\x7f\xfb\x77\xfe\xe2\x5f\xfe\xd3\x6f\x7f\xfd\x6f\xff\xf2\xb7\x7f\xf7\xee\x8b\xff\xfe\x0f\xfe\xf8\xdb\xdf\xfc\x17\x78\x31\xe4\x95\xd1\xc9\xc6\x19\x95\x4c\x7e\xfd\x07\x4c\x68\x67\x06\x09\x44\xc6\x64\xaa\x9d\x09\x33\x37\x82\xff\xe9\xaf\x2a\xe7\xfd\x3f\xff\xe6\x6f\x7d\xf3\xcb\x6f\x7e\xf9\xfe\x3f\xbe\xff\xf5\xfb\xdf\x38\xdf\xfe\x93\x7f\xf1\xed\xef\xff\xeb\xff\xf1\x87\xff\xcc\xf1\x74\xc1\xbe\xfe\x13\x95\x39\x0b\x55\x9a\x6a\x5d\x7d\xfd\x87\x9a\xa6\x8a\x3e\x2f\x99\x16\xf0\x30\xd3\xd7\xc2\x79\xff\x27\xdf\xfc\xbd\xf7\xff\xe9\xfd\xbf\x7b\xff\xc7\xdf\xfc\xc2\xca\x70\x7c\xc3\x32\x01\xbc\x2c\xac\x54\xce\x32\x26\x24\x97\x4e\xf4\xf5\x6f\xcb\xeb\xaf\xff\x80\x3b\xff\xed\xef\xf3\x3f\xfd\x95\x11\x92\x39\xef\x7f\xf5\xcd\x2f\xde\xff\xd7\xba\x53\x78\xc3\xa5\xbe\x66\xce\xff\xfe\xc7\xbf\xff\x3f\xff\xc3\x1f\xfd\xaf\xdf\xfb\xf7\xce\x98\x65\x7c\xad\x88\x65\x40\x29\x5a\x08\xf8\x75\x80\x65\x21\x92\x6b\x5e\xda\x2d\xec\xc2\x43\xa0\x65\x97\x04\xf7\x10\xf7\x92\xe0\x46\xd2\x3e\xfd\x6a\x43\x70\x37\xf1\x6b\x27\x7a\x45\xf0\xef\xee\x17\xee\x2e\xfe\xfb\x14\x82\x5b\x0c\x0e\xa9\x24\xb8\xcf\xb4\x4f\x65\x46\x70\xb3\x69\x9f\x66\x37\x04\x77\x9c\xf6\x69\x59\x11\xdc\x76\xda\xa7\x3f\x67\x04\xf7\x1e\xc6\xd4\x04\x01\x40\xfb\x14\x3f\x09\x02\x01\x7e\x65\x04\xd1\x40\xfb\xf4\x6a\x4d\x10\x12\x90\x05\x18\x82\xb8\x80\x01\x05\x41\x70\xa0\xe7\x25\x88\x10\xe0\x6c\xf0\x49\x10\x29\xb4\x4f\x75\x49\x10\x2e\xf0\xf5\x86\x20\x66\x68\x9f\x5e\x2b\x82\xc0\x81\xb4\x33\x23\x18\xc8\x9b\xeb\x6f\x39\x2b\x0a\xbc\xae\xa1\x5a\x1e\x3a\xc9\x18\x56\xad\xd0\xad\x74\x8d\xca\xb3\xbe\x90\x82\xbc\xd9\xb5\xe8\xd6\xdd\x2e\x09\x79\xa3\x80\xcd\x5d\x92\xf0\x62\xfe\x2a\x1e\xcd\xe7\x91\x17\xc4\xcf\x03\x7b\xe6\xdd\x72\xdb\xe1\x46\xdd\xd2\x1b\x5e\xd6\x15\x8c\xbb\x34\x1a\x83\x38\xf8\xb4\xb1\x6a\x6e\xf8\xaf\x94\x32\xbc\x3c\x90\xfb\xd2\x0b\xea\xfb\x6a\x0d\x8b\x02\xa9\x58\x8e\x68\x5f\x36\xb0\x77\x06\xea\x52\xc9\xf7\x88\x8a\xbc\xe9\x62\xe2\x46\x5e\x8c\x95\x81\xba\xca\x80\x52\xff\x4f\x00\x00\x00\xff\xff\x09\x25\x85\x94\xe2\x35\x00\x00") +var _confAppIni = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xb4\x7b\xed\x8f\xe4\x48\x9a\xd7\xf7\xf8\x2b\x62\x6a\x59\xa6\x1b\x39\x33\xab\xaa\x5f\xa6\xa6\x6b\x73\xb5\xee\x4c\x67\x96\xaf\xf3\x6d\x6c\x67\xf7\xf4\xb4\x4a\xee\x28\x3b\x32\x33\xb6\xec\x08\x8f\x23\x5c\xd5\x39\x42\xa7\x5d\xf1\x81\x17\x09\xf1\x01\x38\x84\x74\x42\xec\x07\x38\xe9\xe0\xe0\x4e\x80\xb4\x0b\x0b\x7c\x18\xee\x7b\xcf\xff\x70\xcc\x71\x08\x74\xff\x02\x7a\x9e\xb0\x33\x9d\x35\x35\xcd\x9c\x04\x33\x52\xa5\xed\x88\x78\x22\xe2\x79\xfd\x3d\x4f\x44\xff\x88\x7e\xf4\xd1\x47\x74\xe6\xbd\xf4\x02\x8a\x7f\xa6\xf3\xa1\x3f\x7a\x4d\xa3\x0b\x3f\xa4\x23\x7f\xe2\x41\x3b\xb1\xbd\x16\x13\xcf\x0d\x3d\x3a\x75\x5f\x78\x74\x70\xe1\xce\xc6\x5e\x48\xe7\x33\x3a\x98\x07\x81\x17\x2e\xe6\xb3\xa1\x3f\x1b\xd3\xc1\x32\x8c\xe6\x53\x3a\x98\xcf\x46\xfe\xf8\x2e\x05\x7f\x44\x5f\xcf\x97\xd4\x0d\x3c\xba\x70\x07\x2f\xdc\x31\x8c\x58\x04\xf3\x97\xfe\xd0\x0b\x9c\x83\x09\xe6\xaf\x80\xf2\xe2\x35\x9d\x8f\xa8\x1f\x21\x0d\x72\x4e\xdd\xa2\xa0\x92\xe5\x9c\x9a\x0d\x33\x54\x6f\xd4\xad\xa6\x4a\x52\x7e\xc3\xcb\x2d\x2d\xd8\x9a\x53\x23\x4c\xc6\x89\xbb\x58\xc4\x33\x77\xea\xd1\x3e\x1d\xab\xb5\x7e\x46\xc7\x8a\x8e\x85\xa1\x21\x2f\x6f\x44\xc2\xc9\x39\x8d\x36\xdc\x52\x52\x2b\x6a\x36\x9c\xea\xad\x36\x3c\xa7\x95\xe6\xa5\x25\x5e\x56\x52\xe3\x60\x12\x2c\x67\xf1\x32\xf4\x02\xda\xa7\x6b\x61\xc8\x39\xf5\x84\xd9\xf0\x92\x1e\xa5\xfc\xe6\xc8\xa1\x47\x45\xa9\xd2\x23\xaa\x4a\x7a\x64\xb8\x36\x47\xd8\x7f\x3a\x1f\xc2\xe4\x29\xbf\x21\xe4\x4d\xc9\x0b\xa5\x85\x51\xe5\xf6\x92\x9c\xd3\x40\x29\x43\x0b\x66\x36\x74\xa5\x4a\xaa\x8d\x2a\x85\x5c\xd3\x5d\x1f\xc1\xf5\xc7\x9a\xa6\xcc\x30\x87\xa6\x7c\xc5\xaa\xcc\x50\xa1\xe9\xd1\xef\xf6\x7e\x02\x8b\x83\x35\xff\xb4\xb7\x56\x6b\xdd\x69\x0f\x39\x22\xc1\x7c\x1e\xd1\x7e\xbd\x33\x9d\x94\xa2\x30\xd4\x6c\x0b\x4e\x35\x2f\x6f\x78\x49\x75\x55\x14\xaa\x34\xda\xa1\x5a\xe5\xdc\x88\x9c\x6b\x9a\xa8\x2a\x4b\xe9\x15\xa7\x47\x7a\x73\x44\xc2\x41\xe0\x2f\xa2\x38\x7a\xbd\x80\xa5\x5f\x31\xbd\x21\xe7\x74\x58\x2f\xc1\x9d\x85\x3e\x4d\x36\xac\xd4\xdc\xe0\xc2\x99\xa4\x95\x2c\x79\xa2\xd6\x52\x7c\xc5\xd3\xa6\x8d\x40\xc7\x78\x70\xe1\x06\xa1\x67\xd7\x33\x52\x65\xc2\x6b\x11\x49\x7e\xbb\xdf\xe9\x96\x1a\x05\x93\x17\xa5\xb8\x61\x86\x93\xd1\x3c\x18\x78\xf1\x22\xf0\x5f\xba\x11\xac\x60\xc5\x32\x0d\xa2\x1a\x67\xea\x8a\x65\x34\x67\xef\x44\x5e\xe5\x34\x29\x39\x33\x42\x49\x9a\x89\x5c\x18\x90\x5f\x8b\x62\xc1\x4b\x94\xa1\x43\x3b\x27\x34\xe7\x4c\x6a\x2a\x95\xed\x49\xa6\xee\xe7\xf1\x20\xf0\xdc\xc8\x9f\xcf\xe2\x89\x3f\xf5\x23\xda\xa7\x9d\x13\x72\x4e\xa7\xa2\x2c\x41\x16\x5b\x99\xd0\x2f\x2b\x5e\x71\x9a\x71\xb9\x36\x1b\x87\x0a\x09\xd3\x69\x4e\xc5\x8a\xe6\xfb\x5e\x20\x31\x6d\x58\x69\x34\xdd\x30\xb9\x16\x72\x4d\xa6\x7e\x10\xcc\x83\xf8\xb3\xa5\xb7\xf4\xe2\x89\x37\x1b\x47\x17\xb4\x4f\x4f\x8e\x8f\x8f\xc9\x39\x5d\x30\x93\x6c\x28\xa8\xc7\x07\xe8\x17\x55\x96\xd1\x92\x7f\x59\x41\xb7\x62\x37\xe2\x9e\xb9\x16\xcb\xc9\x24\x0e\xbc\xcf\x96\x5e\x18\x7d\xdf\x8c\x25\x5f\xf1\xb2\xe4\x29\x9d\x88\x84\x4b\xcd\x35\x70\xbb\xc8\x58\xc2\x29\x33\xa8\xf2\x46\x15\x8d\xf6\x67\x42\x83\x62\xcf\xc0\x20\xf2\x4a\x1b\x9a\xe3\xf4\x2b\x91\xd5\x56\x22\x24\x4d\x94\x5c\xf5\x32\x4b\x0c\xb4\x3d\xa9\xb4\x51\x79\xaf\xfd\x99\x2c\x02\x6f\xe4\x05\x81\x37\x8c\x27\xfe\xc0\x9b\x85\x5e\x48\xfb\xd4\x2d\x58\xb2\xe1\xcd\x3a\xe8\x69\xf7\xd8\x01\xde\xd7\xef\xa0\x63\x42\xb3\xab\x8c\x53\x76\x25\x32\x61\x50\x2d\x84\x34\xbc\x64\x89\xa1\xb7\xc2\x6c\x0e\x8c\x83\x5e\x6d\xe9\x45\x14\x2d\x68\x51\x2a\xa3\x12\x95\x91\xa1\x1f\xba\xcf\x27\x5e\x0c\x5f\xe3\x31\x4a\xb5\x51\x1d\x4f\xde\x25\x9c\x8b\x75\xc9\x0c\x6f\xeb\xcc\xd5\x96\x66\x2a\x61\x19\x1a\x25\xf1\x66\x48\x6c\x32\x1f\xb8\x93\x78\xe1\x46\x17\xf1\xd4\x1f\x07\xa8\x34\x3b\xc2\x6d\x93\xee\xf2\x14\x7e\xc1\xb2\x27\x42\xa3\x3e\x22\xdb\xf8\x3b\xc3\xa5\x16\x4a\xea\x9d\xb3\x02\x63\xdb\xb0\x1b\x60\xb7\xe4\xf4\xb6\x64\x85\x06\xc6\x82\x00\x06\x2a\xe5\xb5\x16\x5a\x7a\x5d\x72\x4e\x43\x5e\x30\x5c\x6c\x8b\x16\xf2\x83\xd1\x44\xe5\x39\xeb\xd2\x48\xed\x69\xe1\xb4\xb6\x83\xaa\xcc\x7e\x8c\x43\x7f\x0e\x12\x2d\x2a\xd3\x8c\x23\x13\x7f\xe6\xc5\xaf\x02\x77\x11\x7b\x9f\x47\xde\x2c\xf4\xe7\x33\x10\x54\xd7\xbc\x33\x4e\x37\x4f\x9d\x6e\xce\xca\xeb\x54\xdd\x4a\x78\xb3\x3f\xd7\xa9\x43\xce\xe9\x4b\x96\x89\xd4\xee\x2f\x57\x29\xaf\xb7\x86\x7b\x62\xb4\x28\xf9\x8d\xe0\xb7\xd4\x5d\xf8\x94\x69\xad\x12\xc1\x0c\x4f\xed\x8a\xcd\x86\xe7\x0e\xd5\x55\xb2\xa1\x4c\x53\x56\x88\xde\xcd\x49\xaf\x99\xe5\x60\xaf\x37\x2c\xab\xac\x94\x71\xad\xba\x0b\xaa\x8c\x74\x0d\xbb\x02\x76\x01\x7f\x70\x76\x7a\xab\xe4\xc7\x36\x0a\x80\xf9\x00\x1b\x0f\x39\x4f\x53\xc5\x35\x74\x41\x6d\x06\xe5\x7c\xe9\x7b\xaf\x50\xbc\x10\x98\xd0\x49\xc3\xbe\x9b\x75\x1c\xca\xb5\x2a\x32\xc5\xd2\xcb\xbd\x16\xb5\x54\x06\xe7\xb1\x1d\x74\xb7\x56\x99\x21\xed\x53\x53\x56\xdc\x9a\xfb\x06\x94\xcd\xf0\xbc\x50\x25\x2b\x45\xb6\x45\x47\xbf\x1b\x43\x1f\x34\xae\x1d\x03\xc1\x9a\x1b\x4d\x93\x8c\x33\xc9\x53\xd8\x39\x84\x1d\xdc\x2a\x3a\x4d\x34\xfe\x87\x24\xf2\xa6\x0b\x54\x48\x88\x2b\xcc\xb0\x9e\xc9\x8b\x5e\x4d\x0f\xdc\x2c\x2c\x09\x1c\x7e\x2d\x14\x56\x72\xca\xb2\x4c\xdd\xf2\xb4\xf6\xb3\xb6\x2f\x4f\x1d\xca\xbb\xeb\x2e\x15\x39\x5b\xf3\xde\xcf\x0b\xbe\xfe\x9b\xf6\xb1\x90\xeb\x2e\x9d\x70\x10\x26\xcf\x0b\xb3\xad\xfd\x27\x12\xa1\x4c\xd6\xbb\x86\x29\x88\x3b\x99\xcc\x5f\x79\x43\x8c\x15\x21\x7a\xf9\x69\xed\x9d\xb5\xf8\x0a\x63\x2a\x67\x8d\xff\x10\x92\x4e\x9f\x13\xcb\x70\xf7\xf3\x38\xf4\xbf\x00\xe7\xfe\xa8\x35\x46\x56\xf9\x15\x2f\x1b\xcb\xd1\xd6\x89\xe3\x62\xd1\x67\xc3\x50\x10\xd3\x13\x42\xde\x54\x02\x04\x32\xdb\x0d\x38\xf0\x0c\xbb\x7d\x83\x4a\xf0\x14\x66\x56\x12\xf4\xa1\xc8\x80\xf7\x80\x0f\x88\xf7\xf9\x62\x32\x0f\xbc\x78\x81\xe0\x23\x9e\x2d\xa7\xb4\x4f\x4f\x8f\x0f\x88\x0a\xad\xab\xef\x27\x87\x64\xfc\x30\x5c\xde\x21\x72\x72\x48\x64\x17\xae\x54\x9e\x0b\xa3\xef\x10\x61\x89\x11\x37\xe0\x92\x56\x9c\xa7\x64\xe4\x79\x43\x64\xce\x60\x3e\x9d\xfa\x51\x4d\xf0\x89\x35\xb8\x0a\xf9\x79\x04\x16\xc4\x3b\x89\xca\x54\x79\x44\x73\x6e\x18\x35\x6c\xed\x40\xb0\x43\x95\x71\x65\x5a\x2a\x91\xd2\x9f\xf6\xe9\x93\x2e\xac\xc4\x95\x54\xc8\x1b\xb4\x57\x1c\x44\x33\x71\xcd\xe9\x91\x54\x92\x5b\xb0\x92\x5a\xaf\x7b\x44\x6f\x45\x96\x59\x1b\x06\x13\x6a\x14\x53\x9b\x6d\x06\xba\x3c\x05\xd6\x09\xb9\x52\xcf\xe8\xc6\x98\x42\x3f\xeb\xf5\x52\x7e\xc3\x33\x55\xf0\x52\x77\xd7\x4a\xad\x33\xde\x4d\x54\xde\xbb\xe5\x57\xbd\xaa\x48\x99\xe1\xba\x77\x7a\x7c\xf2\xb8\x77\x72\xd2\x0b\x2d\xe8\xe8\xac\x54\xd9\x69\x6d\xa0\x23\x64\x67\xb0\x29\x55\xce\x3b\x8f\x3e\xc5\xc6\x7a\xf9\x24\xba\xf0\xa6\x5e\x3c\x98\x4f\xe6\x41\x3c\xf5\x22\x37\x8e\xdc\x31\xed\xd3\xb7\x3f\x5a\xad\x9e\x3c\x7a\xfc\xe8\xad\xd5\x1a\xab\x65\x42\xd2\xab\xad\xe1\x7a\xaf\x38\x56\xcf\x53\xa1\x8b\x8c\x6d\x79\xba\xb7\x32\xa1\xe9\xd9\xf4\xf9\x43\x54\xa7\xa1\x1f\x2e\x26\xee\x6b\xeb\x02\x6a\x6d\x3c\x7b\x74\x76\xf6\xf4\xf8\x0c\x15\xac\xcb\xd2\x5c\xc8\x43\x35\x03\x48\xf1\x61\x85\x00\x80\x78\xa8\x0f\x4f\x8e\xbf\xab\xa9\x1f\x24\x11\x78\x8b\xf9\x07\x49\x48\x65\x44\xf2\x7f\x51\xcc\xd9\x3c\xf2\x07\x77\xd5\xfb\xc9\x01\x19\x55\xae\x99\x14\x5f\x59\x10\xf5\x21\x5a\xf3\x60\xfc\x9d\xf5\x20\x87\x80\x1d\xf7\xd8\xe1\x5f\x71\x77\x27\x60\xd0\x8d\xef\x6d\xf9\xd9\x0d\x2b\x53\x1b\xd6\xae\x4a\xce\xae\xf7\xfe\xbc\x89\xcd\x17\x6e\x00\x00\x63\xe6\xc5\xcf\x03\xcf\x7d\xd1\x8a\xf7\x4d\x04\xb6\xd8\x84\x2e\x83\x49\x27\x4c\x40\xef\xee\x71\x8a\x4c\xc3\x24\xd7\x9a\xde\x6e\xb8\xa4\x25\x97\x29\x47\x24\x3e\x6d\xa2\xc1\x39\xe2\x5c\xfe\x8e\xe5\x45\xc6\x01\xfa\x3b\x39\x5b\x4b\x6e\x88\xcd\x71\xe2\x65\x30\x89\xc3\x01\x28\xac\x75\x81\x3f\x24\xfc\x5f\xf1\x7a\x26\x9e\xf6\x20\x90\xd9\x75\xb4\xa6\xfc\x41\x31\xdf\x92\x68\x02\x7e\x4f\xb5\x42\x1e\xd3\xbb\x70\x76\x4f\xe0\x47\x9d\x3f\x8c\xf9\xdf\x17\xee\x09\x79\x63\x33\x87\x4b\xb2\x08\xe6\xd1\x7c\x30\x9f\xd0\x3e\xba\x00\x32\x9c\x4f\x5d\x1f\xd0\x10\xc2\xa6\x8d\xd2\x06\xb3\x0f\x60\x08\xed\xd3\x1f\x3f\x68\xfa\x3f\x04\x67\xf1\xe3\x07\xb6\xfb\x43\xfd\xec\xc7\x0f\x10\xa2\x2d\xe6\x41\xf4\x50\xf7\x08\xbe\xb8\xc3\x21\x24\x56\xc7\x5d\xfc\x9f\xec\x3a\x40\x88\xa8\x91\x2c\x2f\x73\xa1\x71\x73\x20\x8f\x4a\x8a\x77\x54\xab\xe4\x9a\x1b\xb2\x9c\xf9\x9f\xc7\xe1\x7c\xf0\xc2\x8b\xe2\x85\x17\x4c\xfd\x30\xb4\x30\xed\xe9\xd3\xa7\x20\x10\x44\x75\x0f\x86\xd3\x2f\x1e\x82\x2a\xe0\x70\x0c\xad\xb7\xaa\xbc\x06\x83\x7e\xd0\x00\x92\x30\xbc\xa0\xd6\x77\x3d\xa4\x2c\x49\xb8\xd6\xa0\x09\xb7\xfc\x0a\xb3\x27\x91\x70\x80\x28\xbe\xa4\xb9\xd2\x86\x26\x0c\xd0\xf4\x56\x55\x34\x55\x60\x93\x54\x72\x1b\x63\x13\xc0\xe7\x87\x5e\x14\xd1\x0c\x0c\x76\x33\xc3\x4b\x0a\xf9\x8a\xcc\xb6\x00\x57\xb6\xaa\x2a\x71\xde\x3a\x3f\x93\x80\x68\x84\x46\x82\x98\x90\x02\xec\x66\xda\x62\x5d\x68\xec\x12\x8b\x49\x3f\xc4\xea\x1d\x4b\xbf\xcb\xed\x3d\xcc\x86\x49\x57\x9c\x99\xaa\xe4\x56\xf7\x61\x4a\x76\xc3\x44\x06\xcd\x3b\x38\x0d\xdd\xf6\x96\xf5\x6a\xc3\x31\xe9\xad\x34\xa7\x57\x95\xc8\x8c\x90\xed\xd5\x2b\xd8\x80\xe9\x92\x30\x72\x83\x08\x86\xc6\xa1\x17\xbc\xc4\x9c\xb9\xa1\x30\x54\x39\x13\xb2\x4e\xdf\xd1\x51\xf3\x77\x85\xd2\xd6\x4d\x00\xa9\x24\x03\x67\xb1\x0c\x26\x04\xc6\xef\x94\x6c\xaf\x40\xa0\x0c\xaa\x34\x0d\x5e\xf8\x01\x44\x6a\x4d\x3a\x3d\x05\x67\xc5\x0d\xc8\xdd\xa6\x16\x2b\xc8\x83\xee\xd9\x07\x24\x42\x5c\x6a\xaa\x24\x8e\x9f\xf8\x61\xe4\xcd\xe2\x8b\x79\x18\xb5\x94\xf4\x70\x19\x3f\x98\x4a\xbd\x98\x1f\x3f\x68\x56\x86\x3b\xda\x97\x03\xd4\x0a\x69\xa4\xa2\xe4\x09\xa0\xcc\x83\xfc\xff\xe3\xdf\xed\x75\xb5\xde\x7c\xec\xd0\xab\xca\xa0\xf2\xd9\x88\xad\x50\x22\x1f\xf7\x36\x2a\xe7\xbd\xb5\x30\xb6\x57\x17\xe7\x45\x4d\xb1\x88\x11\xc5\x5f\xd3\x45\x55\x85\x24\x9a\xef\x00\xea\xb6\xf1\x25\xa0\x0e\x98\xa6\x16\xd5\x55\x26\x92\x6b\x7a\xcd\xb7\xb4\x42\x6b\xd0\x7a\xd3\xb9\xe6\xdb\x35\x97\x90\x09\xb4\x96\x56\x97\x4e\xf6\xb4\x76\x3b\xb0\xcb\x78\xe1\xbd\x8e\x23\xc8\x54\x77\x4b\x69\xf0\x71\x8b\xe4\xc1\x5e\xf7\xdf\x3f\xa6\x4c\xa6\x34\xe3\xe0\x40\x79\x96\xd1\x95\x90\x29\x85\xf4\xe6\x76\x23\x92\x0d\x46\x17\xd8\x0d\xcb\xb2\xdd\x5c\x63\x60\xb5\x85\xc9\x7b\x3a\x68\xbe\xa9\x48\x60\xd3\xb7\xb5\x2a\xa3\xc5\xf2\xe4\x9a\xe6\x42\x22\x54\x83\xbd\x22\xb2\x40\x87\x9b\xa8\xb2\xe4\xba\x50\x32\x85\xdd\x23\xec\x9d\xfa\x33\x7f\xba\x9c\xe2\x8e\x00\x39\xc4\x83\x0b\x6f\xd0\x8e\x3f\x8d\x89\x0d\x86\x33\x00\xef\x00\xc1\x9a\xfa\x10\x64\x2c\x64\x3e\x1a\x61\xdc\xaa\xcb\x43\x76\x58\x63\x70\xc1\x7c\x19\x79\x41\x3c\x99\x8f\xdb\xc5\x0f\x2e\x39\xc6\x03\x6d\x78\xa1\x9f\x91\x73\xfa\xd7\x68\x17\xeb\x3f\x34\xe1\xa5\xa1\x9d\x84\xf5\x21\xeb\xa0\x9d\xb4\x2a\x31\xa4\xf7\xcf\x3e\x79\x7a\xbc\x39\xce\x8f\x35\xed\x80\x6f\xee\xe7\x5b\xf8\xe9\xd6\x81\x0c\xb0\x1a\x39\x27\xe7\x74\x5e\xd2\x55\xa9\x72\xca\x68\xb7\x58\xbd\x6b\xa2\x16\xc0\x35\x9e\xda\x16\x70\x43\xaf\x84\x4c\xd5\xad\x9d\x4c\xac\x2c\x03\x6d\x2a\xf3\x20\x55\xe4\x1c\x7d\xc7\x4a\x95\x6b\x6e\x80\x9f\x76\x3c\x0e\xac\xab\x3a\xc0\xd4\x87\x76\xd9\xaa\xe0\x52\xeb\x8c\x16\xd7\x89\x3e\x39\xa5\x1d\x21\x91\x2a\xce\xde\x01\x99\xda\x37\x9e\xd3\x8e\x54\xd7\x7c\xab\x7f\xd8\xa8\x6b\xbe\x6d\x06\x41\x83\x86\x87\x94\x6b\x32\xf0\x82\x08\x41\x1e\xed\x37\xb5\x0a\x04\xb0\xbd\x66\x1a\x02\x62\xbc\xaf\x43\x4d\x91\x9c\xd3\x65\x01\xb9\x48\x06\x78\x17\x4b\x25\x3c\x2f\x32\xd8\x14\x28\xa5\x36\xcc\x88\xc4\xf2\x0d\x2b\x07\x07\x46\x81\x2c\x00\x35\xbf\xdd\xf0\x92\xd7\x19\x9d\xa6\xfc\x1d\x4f\x2a\xc3\x53\x70\x94\x91\x3f\xb8\x6b\xa2\xed\xa4\x10\xa2\x95\x5b\x14\x98\xeb\x61\x41\x73\xe8\x46\x6e\x3b\x01\xb4\xf5\xd0\x0c\x64\x82\xe5\x30\x5c\xe5\xf8\x0b\x7f\xd1\xd4\xfa\x1a\xbc\x84\xdf\x5a\x20\x89\x59\x95\xc6\x7a\xe9\x0a\x3d\xb7\xec\x64\x6a\xbd\xe6\xa9\x05\xba\x0e\x4d\x98\xc4\xb2\x20\x78\x15\x9b\x2d\xd4\x49\xd4\x11\x99\xb8\x58\xe8\x05\x28\x07\x8c\x83\x1e\x84\xbc\x01\xc6\x5d\xee\xf2\x15\x5c\x3a\x86\xd1\xce\x40\x49\x53\xaa\xac\xe3\x02\xea\xea\xcc\x4b\xb1\x16\x92\x6e\x38\x4b\x79\x79\x60\xf3\x18\xf6\x14\x2d\x4a\xae\xb9\x34\xc4\x1d\x0c\xbc\x30\x8c\x07\xf3\x59\x14\xcc\x27\x31\xe6\x9b\xf1\x3c\xf0\xc7\x18\x12\x88\xe5\x15\x40\xc4\x1d\x9a\xcb\xd6\xaa\x14\x66\x93\x6b\x14\x8e\xd9\x70\x51\x1e\x18\xb6\xad\xb8\xd1\x07\xe0\x2e\x3b\x27\x30\x57\xda\x94\x9d\xd0\xb8\x1f\x92\x37\x5a\x6f\xba\xf5\x90\xf8\x9a\x6f\x63\xf0\x05\xfa\x92\x78\xc3\xd3\x27\x4f\x4e\x3e\x45\x20\xfd\x94\x78\x83\x61\xe8\x52\x5a\xbf\x05\xf8\x8c\x6f\xc7\x8f\xcf\xc8\x70\xf7\x7a\x72\x7c\xfa\x98\x90\x37\x20\xa7\x2b\xa6\xf9\x65\xab\x6c\x9c\x6f\xf5\x97\x19\x16\x8e\x95\x36\xeb\x92\x6b\xcb\x61\xfd\x65\x26\x0c\x7f\x74\xe4\xa0\x77\x07\x09\x24\x4a\x4a\x9e\x20\x5f\x22\x31\x7c\x6e\xdd\xd2\x74\x1b\x7e\x36\x69\x15\xbf\x9e\x37\x05\x5b\x24\x4b\xea\x50\x75\x72\xfa\x09\x06\xab\x93\x67\x8f\x1e\x1d\x3f\x25\x75\x2d\x1c\xdc\x06\xa9\x4b\xd9\xa5\x52\x86\x2c\xdc\x30\x7c\x35\x6c\xca\xb4\x07\x2b\x92\xd9\xd6\xa1\xbc\xa9\x74\xd7\xb9\xa2\x43\x8f\x4a\xfe\x65\x25\xca\x5a\x2b\x6e\x78\x29\x56\xdb\xce\xaa\xca\xb2\x23\x12\x86\x93\x5d\xdd\xdb\xf6\x6f\xc8\x36\x5b\x43\xd1\x1c\x19\x91\x5e\x1d\x61\xe6\x4a\xd9\x95\x56\x59\x65\xf6\xa6\x22\x71\xf3\x58\xf1\x00\xf0\x53\xa3\x2f\xd2\x2e\x7b\xc0\x26\xba\xe9\x15\x21\x6f\xea\x44\x0d\x80\x6a\x52\x95\xc2\x6c\x2f\x89\x3f\x0b\x23\x77\x32\x89\x27\xf3\x03\xbf\xfc\xd1\x47\xf6\xc0\xc2\x9e\x6b\x44\x73\xfa\xc2\xf3\x16\xf4\xf5\x7c\x19\x50\x64\x07\x98\x16\x0d\xdd\x91\xf7\xd1\x47\x24\xf4\x06\x81\x17\x81\x8f\xa7\x7d\xfa\xd1\x8f\x7e\x36\x1a\x7a\xaf\x02\xef\x55\xf0\xd7\xff\xc6\x03\xb0\xb8\xca\x28\x30\x16\x01\x29\x43\xce\x11\x01\xa4\x6c\xab\xc9\x64\x3e\xf6\x67\x71\xe0\x4d\xbd\xe9\x73\x2f\x88\x87\xee\x6b\x80\xd7\x9f\x90\xc1\x7c\xfe\xc2\xf7\xf0\x00\xa1\x25\x85\x98\xdd\x72\x0d\xa6\x53\x37\xef\xc6\xb5\xfb\x60\x71\x38\x15\x96\x91\x01\xbf\xe1\xa5\x06\xbf\xaa\xde\x6d\x29\xab\xcc\x86\x4b\xd3\xd8\xbe\x35\xa8\xdd\x81\x06\x9e\x62\xc0\x0b\x09\xbc\x97\x5e\x10\x7a\xf1\x22\x98\x7f\xfe\x3a\x76\x97\xd1\x85\x37\x8b\xfc\x81\xad\x81\xd7\x9a\xf0\x79\xe7\x95\xf7\x1c\x9a\x3a\xf0\xa1\xc6\xfd\x22\xe1\x97\xc4\x1d\x44\xfe\x4b\x48\xc7\x87\x5e\x3c\x81\xa7\xa9\x3f\x5b\x46\x58\x8c\x39\x39\x3b\x26\x81\x17\x02\xf0\x46\x1d\xfa\xde\x4e\xe7\x74\x89\xab\x69\x30\xb2\x92\x2b\x51\xe6\x94\x77\x72\x26\x32\xf4\x14\x25\x5f\x0b\x6d\x6c\xf0\x22\x81\x37\x06\xb4\x14\xc4\xde\xd4\xf5\x27\x31\x9e\x23\x05\xd3\x03\x18\xc9\xad\xb7\xb0\x75\x29\x3b\x98\x97\xa8\x5a\xa8\x10\x0d\xb6\x61\x49\xa2\x2a\x69\x01\xf7\x3e\xc6\x22\xf9\x3b\xe5\xdc\x7a\x89\x58\xf8\xd6\x62\x8d\x51\xdb\x28\x8a\x45\x47\x26\xb7\x66\x23\xe4\xba\x4b\x02\xef\xb3\xa5\x1f\x78\x71\xe8\x8f\x67\xfe\x2c\x7e\xe9\x7b\xaf\x5a\x14\xa6\xb0\x1b\x48\xd0\x57\xb5\x4c\x1a\xe7\x0b\x09\xf9\xe8\x75\x0c\xbb\x69\x77\x87\x08\x9a\x72\xc3\x44\xb6\xaf\xab\xac\x85\xd9\x54\x57\x58\x4c\x59\xab\xb5\x30\x1a\x75\xbd\x67\xcb\x51\xbd\x93\xa7\x4f\x1a\x9a\x1f\x92\xea\x6e\x92\xef\xeb\x3b\xff\x3e\x26\xd4\xe9\x77\xc2\x0a\x93\x6c\x18\xc5\xda\x91\x55\xaf\xef\x48\xa9\xa6\x3d\x70\x17\xd1\xe0\xc2\x6d\x0a\x9f\xe4\xcd\x2d\xbf\xda\x28\x75\x0d\xde\xee\x42\xa9\x6b\x6a\x98\xbe\xfe\xc0\x89\x47\xdd\x1d\x92\x63\x75\xdf\x39\xc7\xfd\x47\x1b\x43\x9e\x09\x40\xd9\x46\xe4\x1c\x00\x80\x90\x54\xf3\x44\xc9\x54\x93\xa1\x07\x1a\x18\xc4\x91\x3f\xf5\xe6\xcb\xa8\x2e\xa2\x61\xec\xa1\x42\xa2\x9b\xe0\x2d\x28\x03\x5b\x09\x5f\xf8\x8b\x38\x9a\x84\xf1\x4b\x2f\xf0\x47\xaf\x5b\xfc\xd8\x57\x37\x36\x42\x23\x70\x16\x72\xa5\xca\xdc\xf2\x44\x48\x5b\xe3\xc4\xe2\xc6\xdd\x42\x20\x79\x03\xda\x0d\xb9\xf3\xbe\x36\xdc\x90\x7d\x5e\xad\x56\x08\x2a\x30\x1e\xa9\x15\xa6\x8d\x92\x67\x0e\xbd\xe6\xbc\x80\x14\x91\x69\xf8\x2b\x74\x9d\x26\xd2\x14\xeb\xdc\xd7\x52\xdd\xd2\xdb\x0d\x33\xb6\xb1\x4b\x42\x6f\x36\x8c\x9f\x2f\x47\x23\x00\x8d\xde\xcc\x32\xa8\x39\xc5\xd9\x17\xc1\x84\xa4\x68\x6a\xf6\x64\x34\x5c\x3e\xff\x1d\x6f\x60\xf3\x90\xe6\x94\x14\xf3\x10\x54\x60\x9b\xbf\x00\xec\xcc\x51\x33\x75\x6e\x8a\xee\x1a\x9e\x41\x2b\x9f\x3d\x39\xfb\x84\x9c\xd3\xcf\x3e\xab\x1b\xbe\xfc\x12\xbf\x3e\x7e\x8a\xf5\x25\x65\xb8\xd3\xd4\xe1\x11\x05\x72\x99\xd6\xb5\x8b\xa3\xc7\x4f\x9f\x1c\x39\x34\x9c\x46\x8b\xd0\x96\x1b\xaf\x38\x56\x2e\xbb\x74\x89\xb9\x05\xa6\x8d\xd1\x24\xa4\x4a\xda\xb1\x4f\xce\x3e\x01\x06\x94\x3c\x51\x79\xce\x65\xca\x53\xac\x0a\x07\xa3\x01\x7d\xfa\xf8\xf8\xd3\x2e\xf5\xeb\x63\xdb\xc3\xc3\xcd\x3d\x21\x61\xec\x44\x2c\xbb\x65\x5b\xbd\x9b\xaf\x8e\x8f\x2d\xa8\x7e\xe1\x4d\xe6\x00\x32\xad\x66\xdb\x18\x04\x78\x19\x7d\x29\x03\x2b\x15\x20\x2f\x2e\x4d\x77\x7f\xd2\x04\x63\x80\xc8\xc0\xd6\x99\x76\xfd\xc1\x50\x0e\x09\x1e\x80\x1c\x44\xd5\x36\x5d\xea\x12\xe8\x87\x99\xa5\x75\xf9\xe8\xda\xd0\xb1\xd9\xa0\x8a\xdb\x6b\xa3\x6e\xd5\xde\x71\x97\xce\x65\xb6\xc5\x18\x6a\x36\x40\x59\x95\x54\xf3\x6c\xd5\x01\xff\xc5\xd3\xf6\x40\x6d\x55\xbc\x51\x6f\xeb\xed\x68\x92\x09\x2e\x4d\xbb\x1f\x00\x83\x18\x40\xb3\x3f\x02\x57\xb2\xcf\x4f\xee\x01\xd2\x56\xbb\x3f\x84\xa4\xeb\x1e\x7b\x28\x8d\xfa\x65\x13\x8e\x34\x2d\xb9\xd6\x0e\x4a\xf3\xc9\xa3\xd3\xd3\x2e\x8d\x60\x0f\x35\xe8\xc4\xa2\x15\x93\x94\xa3\xd6\xee\x3a\xab\x12\xb7\xff\xf6\x08\xd4\xfb\x88\xfe\x04\x9b\x7f\xd6\x4a\x6a\x7e\xfa\x96\x5a\xeb\x24\xa3\x60\x3e\xad\x0f\x25\x60\x11\xfb\x70\x88\x41\xa2\x60\x5a\xdf\xaa\x32\xad\x81\x50\x1b\x03\x01\x63\x0c\x7f\x67\x7a\x1b\x93\x67\x78\x50\x95\x19\x5e\x4a\x66\xc4\x0d\xaf\x89\xa3\xc1\x2a\x69\x00\xa4\x36\xe5\xc8\x68\x0a\x08\x35\x82\x00\x0f\xf1\xb2\x75\x4c\x98\xb0\x64\x73\x88\xfd\x78\xae\xca\xad\xc5\x51\xa9\xd0\x47\xb8\x2f\xf8\x8a\x3d\x8f\x0e\x8f\xfc\xeb\xce\xc4\x1d\xba\x8b\x08\x43\xb5\xfd\xd2\xc0\xaa\xba\xbd\xc6\x6a\xe3\x81\x2d\x6d\xdc\xb0\xac\xe5\x12\x0f\x28\x3e\x3d\x26\xfe\x2c\xf2\x82\x97\x2e\xc4\xa2\xa7\xc7\x0d\x21\xbb\x16\x8b\xce\x5a\x6b\xa9\xf1\x27\x02\x0c\x05\x42\xb1\xb2\x20\xe7\x14\x07\x3c\xa3\xd2\x96\x54\xfa\x26\x29\x1c\x68\xec\x3f\x7b\xfa\xe8\x93\x4f\x9d\x86\xc3\xfd\x9c\x25\xac\x54\xd2\x49\xaf\xfa\xc7\x4e\xa1\x54\x86\x90\xba\x7f\x72\x7c\xec\x88\x34\xe3\x71\xed\xc1\xfb\x16\x27\x34\x33\x3f\xa3\x6f\xf7\xf0\xf5\xe4\xe4\xf4\xe4\xe4\x6d\x63\xb6\x80\x4d\xb0\x14\x78\x3f\x4f\x21\x17\xab\x59\xda\xb0\xf7\x3e\x7e\x36\x37\x4e\xda\x0c\x5d\x94\xea\x46\x00\x86\x42\x80\xb2\xa6\xaa\x80\x7d\x6b\xbb\x2c\x55\x6e\x9f\xa1\x69\xda\x93\x4e\xb9\x6d\x7a\x6d\xb9\x21\xe7\x98\x02\x3e\xa3\xf5\xca\xf6\x09\x61\x7d\xce\xf6\x16\x51\x6b\xdd\xaa\xdf\xfe\x7f\xe3\x1e\xc0\xff\x67\x74\xad\x3a\xfa\xcb\xac\x93\x96\x10\x22\x7b\xf8\x91\xa6\x5a\x36\x0b\xd6\xa6\x14\x72\xdd\xac\x0c\x72\x80\x67\xcd\x7c\x3f\x6b\xd6\x18\x1b\x70\x8c\x6f\x77\x6c\x8a\xeb\xcb\x3c\x35\xfe\x6e\x76\x82\xc5\x6a\xbb\xe5\x44\xa9\x6b\x61\x6f\x0a\x34\x80\xb6\xc6\xb1\x22\xce\xc4\x35\x8f\x2d\x9c\x21\xe7\xe0\xb6\x21\xa2\x81\xdf\x6a\xf8\x05\xf9\x20\x00\xa0\x5a\x8d\xdb\xee\xd2\xba\x1f\x4b\x30\xf4\x06\xcb\xc0\xfb\x2e\x5c\xd1\xdc\xd4\xf3\x1f\x8c\x45\x40\x52\x1b\x28\xa0\x54\x4b\x65\x7f\x44\xdb\x2c\x7d\x3c\x40\x1c\xb1\x33\x9d\x03\x22\x67\x4f\x1f\x1f\x1f\x93\xf1\x20\x6e\xac\x06\x81\x05\xed\xd7\x0d\x7b\x2a\x99\x58\x71\xa4\x73\xcf\xf0\xd0\xc3\xaa\x74\x3c\xf1\x47\xde\xe1\x78\xf2\xa6\x10\x89\xa9\x4a\xf4\x10\xbb\x9a\x98\x3d\x27\xd6\xbb\x33\x50\x48\x6e\x6f\x98\x61\xa5\x26\xee\x4b\x37\x72\x83\x78\xb9\x98\xcc\xdd\xe1\xc1\x59\x70\xd3\xe3\x9c\x0e\x36\x42\x72\xcd\xeb\x23\x2b\x4c\x23\x37\x4a\x69\x4e\x8f\xd2\x4a\xe9\x4d\xa5\x8e\xc8\x39\x58\x08\x6b\x0e\x49\xec\x50\xaa\x55\x55\x26\xdc\xc1\x63\x42\x0b\x49\x9f\xf5\x7a\x89\xec\xae\x4b\xdb\x01\x61\xa9\x7d\xec\x91\x71\x50\x2f\x25\x9c\x2f\x83\x01\x26\x2c\x75\x37\xbc\x80\x24\xb4\x2d\x7c\xef\x62\xfd\x4a\x95\xc9\xee\x1c\x1a\xcb\x55\x42\x52\xb5\x5a\xe1\x29\x4f\x8e\xc5\xed\x26\xb6\x36\xa4\x5b\x92\x1e\xf1\x14\x6b\x60\x0d\x23\x68\xa6\xd4\x75\x55\xc0\x16\x35\x1d\xce\xc2\x3a\x99\x4f\x14\x40\x81\xba\xcb\xfe\x02\x02\x39\xb7\x20\x04\x03\x86\x76\xa8\xe6\x7c\x87\xb8\x6f\x6f\x6f\xbb\x99\xb8\x6a\xb6\xa8\xca\xf5\x0f\x58\x3f\x2e\xeb\xee\x06\x80\xa5\xe3\x9a\x0e\xc8\x3e\x15\xfa\x8a\x65\x80\x38\x6a\x25\x1c\x79\x43\x2f\x70\x23\x6f\x18\xef\xf6\x57\x83\x66\x66\x0c\x4b\x36\x39\x97\xe6\xb2\x55\x68\xdf\x7f\xd5\x08\x43\x38\xaa\x7b\xda\x6d\x8a\x44\x78\xda\xf9\x16\x48\xbc\xad\xa7\xb8\x73\xff\x00\x2f\x69\xed\x89\xdc\x19\x68\xb5\x66\xdf\xfc\xf6\x20\xc7\x6e\x35\x90\x73\x3a\x97\xb8\xbd\x5c\xb5\xaf\x14\x6c\x0b\xae\x3f\x70\x93\xe0\xee\x15\x81\xfb\x3b\xb5\x4e\x73\xdb\x77\x06\x0e\xd7\xfa\xe8\x74\xfa\x9c\xb4\xae\x0e\x3c\xae\x87\x7d\xff\xb5\x81\xc3\xf1\x27\xc7\xdf\xb9\x46\x00\xa6\x0a\xcc\x0e\x0b\x9e\x88\x95\xbd\x3b\xb0\x8b\xf0\xc0\xb8\x55\x95\x65\x5b\xaa\x2a\x53\x54\xa0\x77\x78\xaa\x7d\x48\x35\x18\x0d\x4e\x4e\x4e\x1f\x35\x44\x58\xd6\x80\x50\x9e\x36\x77\x58\x40\x6c\xee\x2c\xf4\x07\x0e\x5d\x4a\xf1\x6e\xc8\x00\x21\x07\xd5\xd5\xb6\x7e\x1a\x0d\xce\x4e\x4f\x9b\xdf\x2f\xec\xc3\x93\x63\xa7\x21\xbd\x7b\xb0\x4d\x8f\x1e\x3d\xfa\x74\xf7\x30\x63\x52\x39\xf4\x85\x30\xc9\x86\x4b\x87\x86\x86\xe5\x45\xfd\x33\x15\x59\x26\x76\xcf\x49\xa9\x30\xae\xe3\x2b\x8c\xaa\x63\x7e\xde\x1c\xeb\x37\xf9\x0c\xbb\x82\x5c\xaa\xc5\x86\xc6\x4e\x20\x31\x55\x19\x93\x6b\x30\x8f\x5e\x71\xbd\xee\x01\xf7\x7a\x3f\x2a\xae\xd7\x9d\x44\x49\x6d\x18\x68\xc9\x68\x1e\x4c\x5d\x0c\xd1\x4d\xcd\x1a\xb2\x09\x03\x59\x1d\x1e\xd0\x63\x7d\xb1\xd4\xe4\x4d\xa6\xd6\x97\xe4\xb0\xec\x39\xa8\xab\x8d\x40\x4d\x65\xbc\x06\x22\x75\x30\x6f\x07\xf0\xa6\x43\x83\x61\x55\x9e\x33\xf4\x99\xcd\xa1\x69\x5e\x65\x46\x14\xcd\xed\xa4\x5a\x3d\x9b\x61\x0e\xea\xc9\x11\xa9\x6b\x54\xf5\xd7\xff\x97\x19\xd9\x3d\xc9\x58\x03\x52\xa2\x92\x25\x58\x3f\xf3\xe5\x4a\xc1\xef\x2b\x56\x4a\xf8\xf5\xca\x52\x95\xf0\x30\x62\x86\x65\x77\x36\x6c\x47\x91\x89\xf7\xd2\x03\xc4\x86\xaf\xa4\x41\x6d\x3b\x76\x59\xff\x23\xb3\x2d\x72\xb7\x5b\x7f\x07\xfd\xce\x5a\xb7\x79\xf0\x56\xdd\x86\x97\xc2\x34\xf4\x76\x94\x90\x2f\x77\xc9\xc0\xc7\x1f\x40\xa3\xf6\x97\xd6\x3d\x69\xca\x2a\xa3\x72\xf4\xd5\x99\x5a\xd3\x52\x19\x10\xcb\x03\x7d\x0b\x9a\x8a\xa6\xaa\xc0\x81\x40\xce\x57\x23\xac\x87\x64\x32\x1f\xc7\xc1\x3c\xb2\x29\xc7\x2e\x3c\xaf\xc1\xfb\x20\x91\x94\x89\x6c\x4b\x86\xae\x3f\x79\xfd\x9d\x7e\x3b\xf7\xa1\x37\x62\x85\xe0\x1c\xf2\xc9\xcc\xde\x04\x3b\xe0\xe5\xe9\x59\x7d\x9f\xe9\x84\xfe\xe4\x27\xf4\xf4\xcc\xa1\xa7\x4f\x9e\xb6\x1c\x4b\x1c\x5e\xf8\x23\x3c\x2c\x3c\xab\xe9\xa2\x6f\xdf\x3b\x99\x16\x61\x1c\x34\xf1\x67\xb6\xc8\x75\x8c\xff\x81\xac\xdf\x15\xa2\x44\x6f\xb1\x6d\x74\xde\xa2\xc1\x07\x29\xcf\xb8\xe1\x94\xad\x0c\x2f\x69\xce\xde\x61\x97\xfa\x3a\x4a\x53\x28\xdc\x15\x4b\x33\x96\x5c\x7f\x47\x1a\xf8\xf5\x07\x89\xe3\x55\x5d\x54\x59\x06\x13\x62\x8f\x89\x21\x11\x29\x55\xfb\x8a\x45\x59\x49\x09\x32\x80\xcf\x58\xa4\x41\xef\x29\x54\x2a\x12\x96\x65\xdb\x7b\xae\xb4\x05\x95\x6c\xf7\xc6\x34\x19\x0f\x35\x6c\xc9\xa6\x8b\xb7\x9e\xdd\x28\xc6\x04\x7c\x9f\x01\x9d\xd3\x25\x1e\xab\xd7\x97\x67\xb5\x5d\x49\xd7\x9e\xb5\xc7\xf5\xc7\x4b\x12\x0e\x2e\xbc\xe1\x12\x43\xd8\xcf\xec\xa5\xb7\x93\xe3\x9c\x60\xd5\x73\x77\xe7\x6e\xc3\x59\x66\x36\xf6\xc8\xae\x26\x53\xf2\x42\xc5\xf6\x7b\x8c\xdf\xef\xa3\x74\xfa\x78\x43\xf6\xf5\xa0\xa7\xc7\x10\xd1\xdc\x72\x5d\xd9\xd0\x0a\xce\x1e\xfd\x88\x4c\xe9\xc7\x6b\x61\xe8\x4a\x27\xd7\x1f\x37\x9e\xa3\xd3\xa9\x64\x09\x61\x09\xb9\xd6\xe9\x18\xb6\xd6\xe0\x7d\xc0\x37\xa2\x07\x55\x72\xe7\x23\x85\xe9\xe8\x24\x47\x98\x94\xaa\x44\xe3\x07\x20\xd6\x3b\xe9\x7e\xd2\x7d\x42\xdc\x60\x1c\x5a\x93\x1b\xe0\xa1\x63\xeb\x36\x21\x9e\x24\x69\x23\x92\x86\x3d\xb8\x97\x18\x77\x07\x6d\xfa\xf2\x2e\x77\x51\x28\xf7\x6f\x95\xbc\x59\x0b\x04\x12\x75\x81\x43\xd3\x8d\x58\x6f\x32\xb1\xde\xa0\x79\xb0\x14\x01\xa5\x4c\x69\xc9\x73\x75\x63\x2f\x6e\xcb\x35\xd7\x3b\x00\x36\xf4\x47\xa3\xf8\xc2\x1f\x5f\x4c\xfc\xf1\x45\x74\x50\xe2\x6c\xc7\x5c\xb0\x0e\xbd\x83\x03\x40\xb9\x6d\x21\x00\x8f\x52\xb1\x5a\x61\x11\x15\xf5\x7c\xec\x47\x96\x74\xdb\x6e\xbe\x43\x35\xd9\xb0\x92\x25\x06\xa0\x2b\x92\xcc\xda\x67\x3c\x1f\xa6\x89\x97\xce\xdd\x41\xe4\x05\x18\xe5\xef\x21\x6e\x61\x82\xde\xa8\x5b\xf9\x01\x5a\x0d\x4e\xb0\xfe\xfb\x03\x9a\xb2\x4e\x5a\x7a\xc2\xd6\x6b\xc8\x8d\xc5\x0d\xa8\x09\x38\xc1\xbf\x8a\x9a\xac\x93\x5a\x49\xc6\x83\x78\xaf\x27\xf3\x5d\x51\xea\x9e\x4a\x27\x48\xb9\x5b\x7f\xbf\x24\xf6\x8a\xb2\x87\xfa\x7d\x5c\x5f\x45\xb7\x37\x68\xc8\x60\x32\x9f\x79\xf5\xf3\x62\x39\x99\xd4\x8f\xe3\x81\xad\x00\x90\x37\xd6\x08\x2f\x5b\xc7\x8f\xed\x32\xc2\x46\x55\xa5\xa6\x57\xdc\xdc\x72\x5e\x57\x3c\xad\x05\x0e\xbd\x91\xbb\x9c\x44\x71\xab\xa0\x70\x06\x60\xb6\xc0\x1b\x9a\x87\x8c\x17\x86\xe7\xda\x82\x69\x7b\xa4\x6e\xf1\x33\xb3\xc5\x53\xe0\xbe\xfd\x17\x24\xa1\x17\xfb\x91\x37\x0d\x9b\xab\x66\xe2\xe4\x4c\x5e\x92\x89\x3b\x03\x96\x50\x2e\x3b\xcb\xd0\xf9\x6a\xd3\x19\xcc\xe0\xef\xc5\x0b\xf8\x1b\xbd\x72\x52\xde\x19\x7a\xce\xaa\xec\x8c\x02\x47\x66\x9d\xd9\xc4\xc9\x6e\x3a\x93\x97\x4e\x59\x75\x82\xa5\xf3\x73\xd6\xf9\x9d\x85\xc3\x75\xc7\x0b\x9d\xc2\x74\x9e\x07\x4e\x91\x75\x16\x13\xe7\x6a\xdd\x79\x3e\x76\x84\xe9\xf8\x91\xb3\x12\x9d\x91\xef\x98\xb2\x13\x05\x4e\xa2\x3b\x83\x2f\x1c\x5d\x76\xc2\x85\xa3\x6f\x3a\xa1\xe7\x5c\xab\xce\x8b\xc0\x59\x67\x1d\x2f\xc4\x83\x34\x58\x8b\x27\xd7\x99\xd0\x1b\xe7\xcf\xff\xcd\x2f\xfe\xec\x3f\xff\xc3\x3f\xfb\xf5\x1f\x7d\xfb\x7b\x7f\xdb\xf9\xf3\xdf\xfc\xf2\x2f\xfe\xd5\x3f\xb2\x2f\x7f\xf9\xdb\xbf\xf3\x17\xff\xf2\x9f\x7e\xfb\xeb\x7f\xfb\x97\xbf\xfd\xbb\x77\x1b\xfe\xfb\x3f\xf8\xe3\x6f\x7f\xf3\x5f\xa0\x61\xc8\x2b\xa3\x93\x8d\x33\x2a\x99\xfc\xfa\x0f\x98\xd0\xce\x0c\x72\x9d\x8c\xc9\x54\x3b\x13\x66\x6e\x04\xff\xd3\x5f\x55\xce\xfb\x7f\xfe\xcd\xdf\xfa\xe6\x97\xdf\xfc\xf2\xfd\x7f\x7c\xff\xeb\xf7\xbf\x71\xbe\xfd\x27\xff\xe2\xdb\xdf\xff\xd7\xff\xe3\x0f\xff\x99\xe3\xe9\x82\x7d\xfd\x27\x2a\x73\x16\xaa\x34\xd5\xba\xfa\xfa\x0f\x35\x4d\x15\x7d\x5e\x32\x2d\xe0\x63\xa6\xaf\x85\xf3\xfe\x4f\xbe\xf9\x7b\xef\xff\xd3\xfb\x7f\xf7\xfe\x8f\xbf\xf9\x85\xa5\xe1\xf8\x86\x65\x02\x20\x64\x58\xa9\x9c\x65\x4c\x48\x2e\x9d\xe8\xeb\xdf\x96\xd7\x5f\xff\x01\x77\xfe\xdb\xdf\xe7\x7f\xfa\x2b\x23\x24\x73\xde\xff\xea\x9b\x5f\xbc\xff\xaf\xf5\xa0\xf0\x86\x4b\x7d\xcd\x9c\xff\xfd\x8f\x7f\xff\x7f\xfe\x87\x3f\xfa\x5f\xbf\xf7\xef\x9d\x31\xcb\xf8\x5a\x11\x0b\xc7\x52\xb4\x10\xf0\xeb\xa0\x96\x85\x48\xae\x79\x69\x45\xd8\x85\x8f\x80\x20\x2f\x09\xca\x10\x65\x49\x50\x90\xb4\x4f\xbf\xda\x10\x94\x26\x3e\x76\xa2\x57\x04\xff\xee\xde\x50\xba\xf8\x4f\x69\x08\x8a\x18\x1c\x52\x49\x50\xce\xb4\x4f\x65\x46\x50\xd8\xb4\x4f\xb3\x1b\x82\x12\xa7\x7d\x5a\x56\x04\xc5\x4e\xfb\xf4\xe7\x8c\xa0\xec\x61\x4e\x4d\x50\x01\x68\x9f\xe2\x2f\x41\x45\x80\xb7\x8c\xa0\x36\xd0\x3e\xbd\x5a\x13\x54\x09\x48\x58\x0c\x41\xbd\x80\x09\x05\x41\xe5\x40\xcf\x4b\x50\x43\x00\x40\xc2\x2f\x41\x4d\xa1\x7d\xaa\x4b\x82\xea\x02\x8f\x37\x04\x75\x86\xf6\xe9\xb5\x22\xa8\x38\x90\x21\x67\x04\x31\x42\x73\x53\x2f\x67\x45\x81\x37\x4b\x54\xcb\x43\x27\x19\xc3\x02\x1b\xba\x95\xae\x51\x79\xd6\x17\x52\x90\x37\xbb\x1e\xdd\x7a\xd8\x25\x21\x6f\x14\x40\xcb\x4b\x12\x5e\xcc\x5f\xc5\xa3\xf9\x3c\xf2\x82\xf8\x79\x60\x8f\xe7\x5b\x6e\x3b\xdc\xa8\x5b\x7a\xc3\xcb\xba\xd8\x72\x17\xf1\x63\x10\x07\x9f\x36\x56\xcd\x3f\x46\x58\x29\x65\x78\x79\x40\xf7\xa5\x17\xd4\x57\xeb\x1a\x80\x06\x54\xb1\x72\xd2\xbe\x17\x61\xaf\x37\xd4\x55\x9d\xef\x21\x15\x79\xd3\xc5\xc4\x8d\xbc\x18\x8b\x18\x75\x41\x04\xa9\xfe\x9f\x00\x00\x00\xff\xff\xd4\xd5\xf3\x86\x8d\x36\x00\x00") func confAppIniBytes() ([]byte, error) { return bindataRead( @@ -306,7 +306,7 @@ func confAppIni() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "conf/app.ini", size: 13794, mode: os.FileMode(420), modTime: time.Unix(1486682130, 0)} + info := bindataFileInfo{name: "conf/app.ini", size: 13965, mode: os.FileMode(420), modTime: time.Unix(1486702354, 0)} a := &asset{bytes: bytes, info: info} return a, nil } diff --git a/modules/setting/setting.go b/modules/setting/setting.go index d5cb0b7cb..b5c6d9c9c 100644 --- a/modules/setting/setting.go +++ b/modules/setting/setting.go @@ -626,9 +626,16 @@ func newLogService() { // thus if user doesn't set console logger, we should remove it after other loggers are created. hasConsole := false - // Get and check log mode. + // Get and check log modes. LogModes = strings.Split(Cfg.Section("log").Key("MODE").MustString("console"), ",") LogConfigs = make([]interface{}, len(LogModes)) + levelNames := map[string]log.LEVEL{ + "trace": log.TRACE, + "info": log.INFO, + "warn": log.WARN, + "error": log.ERROR, + "fatal": log.FATAL, + } for i, mode := range LogModes { mode = strings.ToLower(strings.TrimSpace(mode)) sec, err := Cfg.GetSection("log." + mode) @@ -637,30 +644,25 @@ func newLogService() { } validLevels := []string{"trace", "info", "warn", "error", "fatal"} - levelName := Cfg.Section("log." + mode).Key("LEVEL").Validate(func(v string) string { + name := Cfg.Section("log." + mode).Key("LEVEL").Validate(func(v string) string { v = strings.ToLower(v) if com.IsSliceContainsStr(validLevels, v) { return v } return "trace" }) - level := map[string]log.LEVEL{ - "trace": log.TRACE, - "info": log.INFO, - "warn": log.WARN, - "error": log.ERROR, - "fatal": log.FATAL, - }[levelName] + level := levelNames[name] // Generate log configuration. - switch mode { - case "console": + switch log.MODE(mode) { + case log.CONSOLE: hasConsole = true LogConfigs[i] = log.ConsoleConfig{ Level: level, BufferSize: Cfg.Section("log").Key("BUFFER_LEN").MustInt64(100), } - case "file": + + case log.FILE: logPath := path.Join(LogRootPath, "gogs.log") if err = os.MkdirAll(path.Dir(logPath), os.ModePerm); err != nil { log.Fatal(4, "Fail to create log directory '%s': %v", path.Dir(logPath), err) @@ -678,10 +680,17 @@ func newLogService() { MaxDays: sec.Key("MAX_DAYS").MustInt64(7), }, } + + case log.SLACK: + LogConfigs[i] = log.SlackConfig{ + Level: level, + BufferSize: Cfg.Section("log").Key("BUFFER_LEN").MustInt64(100), + URL: sec.Key("URL").String(), + } } log.New(log.MODE(mode), LogConfigs[i]) - log.Trace("Log Mode: %s (%s)", strings.Title(mode), strings.Title(levelName)) + log.Trace("Log Mode: %s (%s)", strings.Title(mode), strings.Title(name)) } // Make sure everyone gets version info printed.