diff --git a/bindata.generated.go b/bindata.generated.go index a02e2c8..0a5f28e 100644 --- a/bindata.generated.go +++ b/bindata.generated.go @@ -75,7 +75,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _webdataFnJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x3a\x5b\x6f\xdb\x38\xd6\xef\xfe\x15\xa7\x7a\x28\xe4\xc6\xb1\xe3\x14\xfd\x66\x10\xd7\xfd\xd6\x4d\x9d\x49\xb0\xb9\xc1\x76\x76\x6a\x04\x41\x41\x4b\xc7\xb6\xa6\xb2\xa8\x11\xa9\x38\xee\xb6\xff\x7d\x41\x5d\x49\x8a\x92\xd3\x6e\x67\x1f\x16\x6b\xa0\xa9\x4c\x9e\x73\x78\xee\x17\xca\xbd\x57\x2d\x78\x05\x00\x70\x4a\xc3\x5d\xe4\xad\xd6\x1c\x6c\xa7\x0d\xc7\x47\xfd\x5f\xe1\x2e\x88\x62\xf7\x6d\x2c\xfe\xfe\x8d\xc6\xdc\xa7\xf4\x73\xd7\xa1\x9b\x77\x2d\xc8\x91\x66\x6b\x8f\xc1\xd2\xf3\x11\x3c\x06\x21\x89\x38\xd0\x25\x4c\x70\x43\x39\x1e\xce\x68\xec\xac\x43\xe2\x76\x4b\xf0\x33\x4a\x17\x24\x12\xb0\xcb\x08\x11\x18\x5d\xf2\x2d\x89\xf0\x04\x76\x34\x06\x87\x04\x10\xa1\xeb\x31\x1e\x79\x8b\x98\x23\x78\x1c\x48\xe0\xf6\x68\x04\x1b\xea\x7a\xcb\x5d\x46\xc4\xe3\x10\x07\x2e\x46\xc0\xd7\x08\x1c\xa3\x0d\x13\x87\x8a\x2f\xbf\x5d\xdf\xc1\x6f\x18\x60\x44\x7c\xb8\x8d\x17\xbe\xe7\xc0\xa5\xe7\x60\xc0\x10\x08\x83\x50\xac\xb0\x35\xba\xb0\xc8\x49\x09\xa4\x33\xc1\xc9\x34\xe3\x04\xce\x68\x1c\xb8\x84\x7b\x34\xe8\x00\x7a\x7c\x8d\x11\x3c\x62\xc4\x3c\x1a\xc0\xeb\xfc\x98\x8c\x66\x07\x68\x94\xd1\xb1\x09\x17\x22\x44\x40\x43\x81\xda\x06\x12\xec\xc0\x27\xbc\xc4\x96\x94\xa0\xa9\x47\x68\xa3\x14\xda\x05\x2f\x48\x0e\x59\xd3\x10\x81\xaf\x09\x17\xf2\x6e\x3d\xdf\x87\x05\x42\xcc\x70\x19\xfb\x9d\x8c\xd0\x22\xe6\xf0\xfb\xc5\xec\xfc\xe6\x6e\x06\xa3\xeb\x39\xfc\x3e\x9a\x4c\x46\xd7\xb3\xf9\x00\xb6\x1e\x5f\xd3\x98\x03\x3e\x62\x4a\xcd\xdb\x84\xbe\x87\x2e\x6c\x49\x14\x91\x80\xef\x80\x2e\x33\x22\x57\xe3\xc9\xe9\xf9\xe8\x7a\x36\x7a\x7f\x71\x79\x31\x9b\x03\x8d\xe0\xec\x62\x76\x3d\x9e\x4e\xe1\xec\x66\x02\x23\xb8\x1d\x4d\x66\x17\xa7\x77\x97\xa3\x09\xdc\xde\x4d\x6e\x6f\xa6\xe3\x2e\xc0\x14\x05\x73\x98\xd1\x68\xd0\xfb\x32\xb1\x5e\x84\xe0\x22\x27\x9e\xcf\x4a\x3d\xcc\x69\x0c\x6c\x4d\x63\xdf\x85\x35\x79\x44\x88\xd0\x41\xef\x11\x5d\x20\xe0\xd0\x70\xb7\xdf\xa6\x29\x19\xe2\xd3\x60\x95\x08\x9c\x79\x57\x17\xe0\x62\x09\x01\xe5\x1d\x60\x88\xf0\x76\xcd\x79\x78\xd2\xeb\x6d\xb7\xdb\xee\x2a\x88\xbb\x34\x5a\xf5\xfc\x94\x00\xeb\xbd\x13\xec\xf4\x5a\xad\x5e\x0f\xee\xfb\x90\x58\xa4\x03\xc7\xe9\x03\xb2\x0e\xbc\xce\x1f\x1f\x5a\x0e\x0d\x18\x87\xd9\xcd\xdd\xe9\xf9\xa7\xab\x9b\x7f\x8c\x3f\xcd\xce\x27\xe3\xe9\xf9\xcd\xe5\x07\x18\xc2\x7d\xff\xa8\x03\xfd\x37\xe2\xdf\xc3\x40\x01\x9d\x5d\x5c\x8d\x85\x7d\x86\x70\xfc\xe6\x68\x90\x1c\x74\x1f\x3e\xf5\x58\x07\x36\xb1\xcf\x1f\x3a\xd0\xed\x76\x73\xe2\xb7\x37\x17\xd7\xb3\xf1\xe4\xd3\xe8\xf4\x74\x7c\x39\x9e\x8c\x66\x17\x37\xd7\x82\x78\x4b\xe8\xf8\xfe\xa8\x03\x47\x0f\x9d\xf4\xf9\xd7\x5f\x3a\xd0\xcf\xbf\xf4\x7f\x79\x2d\x7d\x7b\xf3\xe6\x75\x07\x8e\x1f\x5a\x0f\x83\x96\x46\xf6\xfd\xdd\x6c\x76\x73\xfd\xe9\x72\x7c\x26\xd8\x39\x1a\x98\xb7\x27\x17\xbf\x9d\x8b\xfd\x7e\xcd\xfe\xd5\xc5\x87\x0f\x97\x63\x21\xcf\xa0\xd5\x7a\x24\x11\x6c\xd9\x20\xf9\x3f\x24\x6e\xf1\xe0\x93\x05\xfa\xd9\x3e\x17\x1a\xbc\xa2\xc2\xb2\x43\x58\x12\x9f\xe1\xa0\x5c\x9f\x72\x91\x33\x12\x6e\x8a\xb5\x4b\xc2\xf8\x38\x70\xb5\xd5\x09\xfa\x48\x18\xba\xa7\x34\x0e\x24\x0c\x1a\xac\xa8\x17\xac\x32\x33\x09\x6d\x3d\xa4\x1b\x1b\xfa\x88\x1f\xa7\xf1\xa6\x04\x15\x2b\x73\x65\x85\x39\x11\xf5\xfd\x8f\x86\x35\x15\xce\x8d\xc8\x6a\xe5\x05\x2b\x55\x80\x7c\x75\xe6\x6d\x50\x04\xdb\x10\x82\xd8\xf7\x65\x2a\x0a\x4a\x6b\x19\x07\x8e\xc8\x0e\xb0\x8c\x7d\x9f\x39\x11\x62\x30\x0e\xc8\xc2\x47\xd7\x6e\xc3\x3f\x13\xeb\x45\xc8\xe3\x28\x00\xdb\xa5\x4e\xbc\xc1\x80\x77\x2b\xa0\xf0\xf5\x6b\x02\x29\x3e\x05\xd4\x16\x17\x9f\x3d\x7e\xf6\x2c\xd8\x0d\xfd\x22\x00\xa7\xfb\x01\x59\x23\xc1\x44\xaa\xf6\xa0\xf5\x4d\x12\x2c\xc2\x3f\x63\x64\x12\x23\x36\xe6\x92\x79\x4b\xb0\xb1\x5b\x01\xc8\xb7\xc5\xc7\xb0\x6d\xb7\x07\xc9\xf6\x37\x40\x9f\x61\x46\x24\x95\x76\xd2\x4c\xaa\x06\xc8\x48\x70\x43\xbf\x48\x80\x53\x03\x35\x13\x84\x99\x14\xdb\xc3\x97\x01\xa0\x20\xa4\xe8\x12\x9f\x3c\x05\x46\xd2\x63\x61\x22\x15\x46\x3e\xa8\x06\xc4\xc0\xb3\xe6\x44\xe3\xfd\x24\x4d\x80\x4d\x84\x37\xf4\xcb\x29\x09\x1c\xf4\xcd\xda\x6d\x82\x6b\x24\xcb\x9e\xc1\xab\x0e\x64\xd6\xb5\x14\x65\x3e\x0a\xbc\x67\x05\x64\x0a\xfa\xbc\x80\x6c\x80\x55\x03\xb2\x09\x90\x35\x12\x14\xc9\x47\x8b\x47\xe2\xba\x25\x8a\xb3\x26\xc1\x0a\xc7\x8f\x18\xf0\x4b\x8f\x71\x51\x52\x6d\x3f\x7b\x30\x7a\x57\x55\xd4\x17\xc3\x61\xd2\x7a\x2d\xbd\x00\x5d\xa3\xbe\x89\xeb\xaa\x27\x58\x4b\x8d\x01\xab\x03\xc5\xa9\xfb\x9c\xb1\x2a\xef\x8f\x70\x90\xd2\xfa\x31\x3e\x8c\xc6\xf9\x11\x26\x36\xf4\xcb\x0f\x72\x60\xb0\xfa\x8f\x30\x70\x35\x2d\xe9\x9c\xd6\x9d\xaf\x78\x8f\xe8\xc2\x92\xba\x6a\xf3\xb4\x31\xe2\xde\x06\xa7\x9c\x6c\x42\x2d\x3a\xca\xf3\x3d\x17\x03\xee\x2d\x3d\x8c\x4e\xd2\xaa\xdd\x2d\x57\x3a\x05\x54\x48\x56\xf8\x31\x07\x48\xbe\x68\x7b\x49\x57\xd0\x00\x30\x97\xf7\xe6\xda\x5e\x05\x59\x02\x28\x24\x38\x29\x1f\x53\xc9\xd5\xc0\x91\xbb\x8a\x8b\xc0\xc5\xa7\xf7\xbb\x0b\xd7\xf6\xdc\x19\x3d\xf3\x82\x42\xe3\xa2\xb7\xb5\x45\xb5\xf7\x92\x56\x01\x3c\x78\xab\xf5\x23\x5d\x1f\x83\x15\x5f\x0f\xc0\x3b\x38\x90\xed\x94\x20\x89\x0e\x47\x05\xbf\xf7\x1e\x24\x85\x0d\x5a\xa5\x5e\x97\x60\x0b\xf8\x21\xe8\x3c\xe4\x9f\xcc\x14\xde\xa0\x58\xfd\xd6\x2a\xff\x66\xbb\x87\x7d\x55\x4c\x87\xf8\x4e\x2c\xc6\x94\x5b\xea\x05\x1c\xa3\x91\xe3\xa0\x8f\x51\x32\xfe\x5c\xc5\x3e\xb7\x59\x88\xd8\x28\xae\xa9\x65\xad\x13\x9a\x1d\xc3\xd0\x88\x70\xef\x3d\xdc\x1f\x3d\x94\x9c\x93\x26\xc0\xbe\x04\x28\xd4\xc2\x8e\xe1\xed\x10\x14\x46\xf3\x8f\x43\x03\xee\x05\x31\xea\x3a\x29\x34\x2a\x14\x7a\x54\xa3\x49\x72\x6c\x42\x63\xfd\x5a\xd6\xe0\x10\xfa\x9a\x1c\xfb\x80\x65\x59\xf2\x4a\x93\xea\x1c\x0e\x81\xf5\xdb\xd0\x4b\xe4\x4b\x9e\xdb\xf0\x0a\x6c\x22\xbe\x90\x7e\x1b\x0e\x80\xf4\x07\x92\x81\x85\x38\x0d\xb6\x80\x77\xaa\x9c\xd9\x61\x46\xde\x9a\xc8\x28\x5c\x2b\xae\xd5\xd7\x03\xe8\x83\xda\x1d\x17\x15\xb5\xae\x6b\x16\x7b\x5b\xd6\x65\x18\xb8\xb6\xb5\xb0\xe0\xc0\x38\xb7\x1c\x80\x35\x38\xb2\xb4\x32\x17\x87\x2e\xe1\x28\x46\x8c\x51\xe0\x4e\x93\xce\xbb\x38\xae\x18\x05\x60\x08\x57\x84\xaf\xbb\x3c\x8a\x03\xc7\xce\xa7\x83\x2c\xf1\x15\xe3\x41\x15\x6a\x5e\x42\x09\x25\x27\xbb\x64\xc1\x52\x0a\x6d\x78\x37\x84\x3e\x7c\xfd\x0a\xca\xfa\x3c\x5d\x97\x35\x5e\x8c\x23\x87\xc3\xf4\x79\xa0\x6c\xcd\xa5\xad\x79\xb9\x55\x28\x64\x23\x14\x92\xca\x21\x54\x90\x7f\x9b\xb7\x65\x53\x48\x23\x8d\x2a\x47\x39\xe7\x48\xf2\x66\x83\x8e\x09\xb2\x4e\xe6\x8c\x8e\x41\xea\x0c\xaf\x2a\xb7\x34\x62\x1d\x0e\xf3\x6f\x03\x6d\x7b\xae\x6c\xcf\xf5\xed\x74\x8c\xe2\x91\x1c\xc9\x85\x66\x98\xd0\x45\x2e\x75\xae\x9b\x9c\x1d\x53\x59\x5b\x93\xc0\xf5\x31\xa9\x12\x36\x3e\x72\xb9\xf5\x31\x26\xef\x4a\x92\x50\x06\x57\x7c\xe4\xdd\xa2\x94\x0c\x54\x18\x6d\xe8\x55\xf6\x0c\xe3\x6c\xbe\x5f\x9d\x36\x55\x13\xf3\x62\xd6\x15\x87\xa7\xbd\x84\x9b\xf1\x3c\xa8\xcd\xd4\xbc\xb9\x22\x09\xf1\x79\x59\x85\x38\x89\x56\x98\x36\x1a\x21\x71\xe1\xe5\x4b\xa8\xdd\x4c\x66\xfd\xef\x49\xbd\x82\xeb\x30\x42\xd1\x9e\x7c\xc0\x25\x11\x75\xa6\x5d\xc2\x69\x36\x08\x63\xb6\xb6\xb5\x4e\x24\xe1\xa2\xa3\xaa\xbe\xdd\xd6\x14\xac\xdc\x22\xc8\x52\xbe\xc8\xf5\xab\xf3\x2c\xdd\x18\xd4\x67\x8a\x4a\xd0\x36\x25\x0c\x55\x6e\xe5\xb6\xa1\x29\x3a\xb5\xc0\x68\x0e\xd0\x5c\x2c\x3d\xaf\x0a\xeb\x24\x23\x81\x6e\x19\x1f\x49\x94\x27\x65\x0d\x49\x93\xb1\x29\x55\x1b\x9c\x55\x0d\x50\xb5\xd4\x16\x81\xac\xb3\x53\xc6\xf1\xd2\xd2\x8e\x37\xdc\xa1\xa8\xc4\x4d\x71\x3d\x0e\x5c\x39\xaa\xff\xb2\x78\x49\x3b\xb8\x27\xad\x85\x2b\x7b\x45\x6e\xea\xe8\x34\x93\x09\xfc\xb7\xd5\x06\xa4\x29\x76\xb4\xe8\x60\xa1\xef\x39\x28\x08\x75\xa0\xaf\x47\x80\x92\x62\x0e\x0e\x6a\xe3\xa3\x26\x85\xfd\x85\x66\x03\x39\xe1\xa8\x99\xf0\x9d\xf1\x8a\x35\xb3\x42\x25\x0b\xe7\x19\xb6\x74\xbd\x6f\xcf\x48\xe6\x45\x3a\xd3\x8e\x16\x45\xed\xe5\xcb\x4a\x1e\x96\x4f\xfd\x8e\x0e\xe5\x27\x73\xf3\x42\x12\xf8\xe5\x4b\xd5\x68\x70\x28\x17\xa5\xb7\xea\xd5\xb3\xee\xb5\x8b\x98\x73\x1a\x54\xf3\xa2\xa9\x2c\x69\xc5\x1c\xd2\x97\x0e\x29\xba\x41\x78\xc9\xd2\xe5\x24\x6b\xa6\x7b\xfc\x5c\xba\xc9\x7d\xf4\x77\x10\x7e\xfd\x5c\xc2\xe9\x45\xb6\x29\xc8\x54\x23\x67\xf8\xc2\xae\x7d\x4b\x8b\xe0\x9c\xb6\x51\x1b\x3a\x23\xd5\x74\xca\x90\xe7\x99\xb8\xd2\x30\x77\x34\x2b\x56\x54\x50\x13\x90\x3a\xcf\x47\x56\xa5\x18\x99\xf2\x66\x7a\xf3\xf6\xbf\xd4\xf9\x53\x52\x67\x4d\x6e\x82\xff\x74\x31\x14\x2c\xe8\x26\x65\xf1\xe6\x63\x19\xfc\xd9\xca\x5c\x5d\xf9\x6f\x32\x7b\xd2\xf2\x95\x06\xd1\x51\x93\x17\x39\x1e\xe3\x79\x97\xc5\xfe\x8c\x78\x3a\xf0\x84\x74\x2b\xf3\x94\x5c\x43\xc1\x61\xe5\xc6\xc6\x7d\xca\xf6\x92\xe4\xdb\x11\x89\xed\x40\x39\x41\x7c\xea\x08\xce\x1b\x08\xce\x0b\x82\x9a\x2b\xd4\x97\x93\xc6\xe2\x29\xdf\x15\xe7\x9f\x44\x72\x33\xd6\xbd\xf9\x88\x43\xe8\x3f\x98\x28\x35\xd4\xa3\x77\xc3\xfa\x82\x94\x7f\x1a\x22\x46\x35\xe7\x37\xc5\x9f\x12\x77\xfa\x1e\x23\x0d\x54\xf4\x5d\x15\xbd\xd1\x24\x2a\xba\x90\xf7\x03\xfa\x9c\xe8\x99\xa0\x86\x84\x21\x53\x24\xd1\x78\x30\x14\x82\xbc\xda\x7f\x1d\x57\x8c\xdb\xee\x53\x1b\x7a\xd2\xf9\xaf\xa0\x7f\x74\x74\xd4\x56\xe8\xce\x13\xba\xbb\xef\xa3\xbb\xdb\x43\xb7\x56\xb1\x06\x3b\xec\xc7\x9a\x1b\xd4\xdf\x8c\x55\xaa\xd8\x98\x7c\xb5\xd6\xb2\xb9\x5b\xca\xd3\x78\x93\x7f\x36\xb6\x6e\xc9\x15\xc8\xde\x69\xf2\x60\x98\x58\xb9\x66\x7c\x4c\x77\xe7\xc6\x06\xa7\xf6\xe0\x4a\xf3\xa4\xdd\xb2\x54\x8e\xd3\xae\x59\xd4\x03\x8b\x27\xe3\x3d\x9a\xf1\xcd\xc0\x9a\xf8\x82\x1b\x9c\x20\x0b\x69\xc0\xd0\xde\x20\x63\x64\x85\x4a\xa1\x59\x93\x9b\xc5\x1f\x62\x68\xc4\x2d\xfc\xc1\xa6\xe7\x23\xdb\x9a\x9e\x8f\x0e\x8f\xdf\xfc\x9f\xd5\x01\x6b\x36\xfe\x38\xcb\x8b\x5c\x0a\xda\x65\xc8\xcf\xaf\x46\xa7\x7f\xc7\x5d\x4e\xcf\x0c\x97\xf2\x69\x6f\xbd\xc0\xa5\xdb\xae\x4f\x9d\xc4\x93\xbb\x6b\xc2\xd6\x5d\x16\x2f\x18\x8f\xec\x7e\x9e\x34\xb3\xeb\xc9\x05\xa7\xc4\xce\xd0\x57\xe9\x31\xb6\xf5\x7e\x3e\x1b\x4f\xad\x76\x7a\x9b\x98\x51\xab\xbe\x38\xf1\x29\x71\xad\x0e\xe4\xc2\x2b\x37\x8b\x24\xe6\x6b\x51\xaa\x1c\xc2\xf5\x9b\x9e\xe4\xc7\x09\x21\x06\x69\xc9\x2e\x5e\xcc\xac\x90\x67\x6f\x71\x92\xa2\x67\x65\x20\x96\x74\x31\xe7\xf8\x94\x25\xd4\x6a\x91\x52\x88\x1c\x27\x24\x8d\xc0\x21\x91\x21\x93\xdb\x9a\x3d\xe0\x09\x8c\xcc\xd1\x67\xdc\x2d\x28\x89\x1a\x8f\xc9\x61\x64\xbc\xf2\x8d\x57\xd1\x84\xd7\xe2\xeb\xb0\x32\x1d\x8e\x4f\xbc\x09\x57\xec\xe7\xf0\xa9\x6e\xba\x8c\xef\x7c\xec\xba\x1e\x0b\x7d\x22\xb2\xbc\x15\xd0\x00\xad\x42\x0d\x8d\xfb\xb9\x28\x8d\x40\xe2\xcc\xee\x23\xf1\x63\x14\x1b\x56\xf6\xb2\x26\xfd\x41\xcc\x6d\x44\x39\x75\xa8\xd0\xb3\xb5\x65\xec\xc4\x2a\xef\x52\x0b\x6f\x0d\x0b\x98\x21\x58\xc9\x6f\x94\x2c\x75\xd0\x54\x89\xe4\x34\xd2\x68\xdd\xb2\x2c\xae\x7e\xc7\xc5\x94\x3a\x9f\x91\xdb\x12\xc2\x01\x58\xbd\x9e\x18\x03\xca\xd0\xa0\x8c\x07\x64\x83\x52\x6b\x22\x71\x42\x23\x0e\xff\x0f\xd6\x89\x82\x92\xac\x9e\x80\x65\xc9\xfd\x8c\xd5\xdb\x32\xa1\xe8\x8c\x89\x2e\x0d\xb2\x40\x15\xbe\x9f\x07\x48\x72\xb3\xa7\x27\x51\x25\x52\x0c\x7d\x6f\x62\x36\x5b\xeb\x74\xd2\xe0\x35\xa5\x2a\x3d\xf0\xcc\x97\xc3\xd5\x3c\x95\xf0\xd6\x75\x09\x27\x72\x57\x95\x05\x61\xa3\xbd\x73\x41\xd6\x1e\xe3\x34\xda\x75\x19\x27\x1c\x13\xe3\x95\x9e\xaf\x89\x55\xef\x47\x4b\x1f\x9f\x2c\x55\xd6\xc4\x9f\x96\xd4\x89\x99\xbd\x6f\xd6\x33\xfa\xaf\x46\x32\x1b\x0a\x64\x53\x25\x2a\x96\x0d\xa5\xdb\xc8\xf0\x33\x08\x5d\x24\xf3\xcf\x49\x54\xdb\x3c\x57\x9b\xfb\xc2\xb0\x59\x85\x1a\x60\x5d\xd8\x4b\x6a\xc9\x95\xb1\x37\x85\xe5\x09\xc8\x50\x0c\x1c\xdf\x73\x3e\x5b\xe5\x0b\xe5\xd2\xe9\x75\x4d\x3d\x53\xa1\xcd\x4a\x55\x15\xfb\x5c\xa5\xfd\x24\xdf\x13\x9f\xdc\xdb\xc3\x98\x89\x6e\x9e\xa3\x94\xe8\x3b\x22\x39\x48\x0e\x20\xbd\x31\x7a\x61\xf8\x89\x9b\x2c\xb9\x9e\xec\x1b\x45\x4a\x15\x50\x41\xa9\x35\x4e\x8d\x51\xfe\x7d\x0f\x37\xc5\x62\xf5\x27\x6b\x21\x71\xab\x37\x2e\xd9\x4a\xad\xeb\x89\x74\xf5\xd3\xdc\x4e\x2a\x4d\x2f\x86\x49\x06\xaf\xfa\x5c\x71\xd5\xc0\x45\xd6\x2f\x31\x34\xfb\x83\xa9\xd2\xc9\x9b\xaa\x77\x66\x4d\x54\xee\x35\x0b\xe2\x7c\xb6\x0d\x2e\x92\x81\xd1\x20\xa4\x61\x96\x47\xf7\x94\x8f\x3a\x77\xce\xfd\x59\x17\xf1\x39\x29\x12\xbe\x27\xbf\x98\x2f\xdd\xf6\x88\x9b\xa7\x9d\x46\xd3\x47\x28\x3a\xcc\x9f\x62\xfc\xa2\x78\xa7\x34\x4d\xaa\x17\x8a\xa9\x1e\x91\xcc\x43\x4c\x4c\xeb\x56\x47\x7e\x41\xda\x29\x7e\xe6\xb9\x07\x17\x03\xb7\xc0\x1c\x07\xee\xb3\xf1\x9c\xe4\xda\xb1\x40\x4d\x6f\x21\x9f\x8d\x2d\xa6\xa8\x02\x57\xcc\x2d\x25\xe6\xb7\xf2\xf1\x5f\x01\x00\x00\xff\xff\x85\x6f\x62\xc1\xe2\x30\x00\x00") +var _webdataFnJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x1a\x69\x6f\xdb\x38\xf6\x7b\x7e\xc5\xab\x3e\x14\x76\xe3\x38\x71\xba\xdd\x19\xc4\x75\x77\xdd\xc4\x99\x04\x93\x0b\xb6\x33\xad\x11\x04\x01\x2d\x3d\xdb\x9a\xc8\xa2\x46\xa4\xe2\xb8\xd3\xfc\xf7\x05\x75\x92\x14\x25\xbb\x9d\xce\x7e\x58\xac\x81\xa6\x92\xde\xc1\x77\xf0\x5d\x94\xf6\xdf\xec\xc0\x1b\x00\x80\x63\x1a\xac\x43\x77\xbe\xe0\xd0\xb0\x9b\x70\x78\xd0\xf9\x19\x6e\xfd\x30\x72\xde\x47\xe2\xef\xbf\x69\xc4\x3d\x4a\x1f\xdb\x36\x5d\x7e\xd8\x81\x8c\x68\xbc\x70\x19\xcc\x5c\x0f\xc1\x65\x10\x90\x90\x03\x9d\xc1\x10\x97\x94\xe3\xde\x98\x46\xf6\x22\x20\x4e\xbb\x40\x3f\xa5\x74\x4a\x42\x81\x3b\x0b\x11\x81\xd1\x19\x5f\x91\x10\x8f\x60\x4d\x23\xb0\x89\x0f\x21\x3a\x2e\xe3\xa1\x3b\x8d\x38\x82\xcb\x81\xf8\xce\x3e\x0d\x61\x49\x1d\x77\xb6\x4e\x99\xb8\x1c\x22\xdf\xc1\x10\xf8\x02\x81\x63\xb8\x64\x62\x51\x71\xf3\xcb\xd5\x2d\xfc\x82\x3e\x86\xc4\x83\x9b\x68\xea\xb9\x36\x5c\xb8\x36\xfa\x0c\x81\x30\x08\xc4\x13\xb6\x40\x07\xa6\x19\x2b\x41\x74\x2a\x24\x19\xa5\x92\xc0\x29\x8d\x7c\x87\x70\x97\xfa\x2d\x40\x97\x2f\x30\x84\x27\x0c\x99\x4b\x7d\x78\x9b\x2d\x93\xf2\x6c\x01\x0d\x53\x3e\x0d\xc2\x85\x0a\x21\xd0\x40\x90\x36\x81\xf8\x6b\xf0\x08\x2f\xa8\x25\x23\x68\xe6\x11\xd6\x28\x94\x76\xc0\xf5\xe3\x45\x16\x34\x40\xe0\x0b\xc2\x85\xbe\x2b\xd7\xf3\x60\x8a\x10\x31\x9c\x45\x5e\x2b\x65\x34\x8d\x38\x7c\x3a\x1f\x9f\x5d\xdf\x8e\xa1\x7f\x35\x81\x4f\xfd\xe1\xb0\x7f\x35\x9e\x74\x61\xe5\xf2\x05\x8d\x38\xe0\x13\x26\xdc\xdc\x65\xe0\xb9\xe8\xc0\x8a\x84\x21\xf1\xf9\x1a\xe8\x2c\x65\x72\x39\x18\x1e\x9f\xf5\xaf\xc6\xfd\x8f\xe7\x17\xe7\xe3\x09\xd0\x10\x4e\xcf\xc7\x57\x83\xd1\x08\x4e\xaf\x87\xd0\x87\x9b\xfe\x70\x7c\x7e\x7c\x7b\xd1\x1f\xc2\xcd\xed\xf0\xe6\x7a\x34\x68\x03\x8c\x50\x08\x87\x29\x8f\x1a\xbb\xcf\x62\xef\x85\x08\x0e\x72\xe2\x7a\xac\xb0\xc3\x84\x46\xc0\x16\x34\xf2\x1c\x58\x90\x27\x84\x10\x6d\x74\x9f\xd0\x01\x02\x36\x0d\xd6\x9b\x7d\x9a\xb0\x21\x1e\xf5\xe7\xb1\xc2\xe9\xee\x6a\x03\x9c\xcf\xc0\xa7\xbc\x05\x0c\x11\xde\x2f\x38\x0f\x8e\xf6\xf7\x57\xab\x55\x7b\xee\x47\x6d\x1a\xce\xf7\xbd\x84\x01\xdb\xff\x20\xc4\xd9\xdf\xd9\xd9\xdf\x87\xbb\x0e\xc4\x1e\x69\xc1\x61\x72\x81\xac\x05\x6f\xb3\xcb\xfb\x1d\x9b\xfa\x8c\xc3\xf8\xfa\xf6\xf8\xec\xe1\xf2\xfa\xb7\xc1\xc3\xf8\x6c\x38\x18\x9d\x5d\x5f\x9c\x40\x0f\xee\x3a\x07\x2d\xe8\xbc\x13\xff\xee\xbb\x0a\xea\xf8\xfc\x72\x20\xfc\xd3\x83\xc3\x77\x07\xdd\x78\xa1\xbb\xe0\x79\x9f\xb5\x60\x19\x79\xfc\xbe\x05\xed\x76\x3b\x63\x7e\x73\x7d\x7e\x35\x1e\x0c\x1f\xfa\xc7\xc7\x83\x8b\xc1\xb0\x3f\x3e\xbf\xbe\x12\xcc\x77\x84\x8d\xef\x0e\x5a\x70\x70\xdf\x4a\xae\x7f\xfe\xa9\x05\x9d\xec\xa6\xf3\xd3\x5b\xe9\xee\xdd\xbb\xb7\x2d\x38\xbc\xdf\xb9\xef\xee\x68\x6c\x3f\xde\x8e\xc7\xd7\x57\x0f\x17\x83\x53\x21\xce\x41\xd7\x0c\x1e\x9e\xff\x72\x26\xe0\x9d\x0a\xf8\xe5\xf9\xc9\xc9\xc5\x40\xe8\x93\x2f\xf0\xeb\x60\xf2\xf0\xdb\xf5\xc5\xed\xe5\xe0\xe1\xf2\x76\x3c\x90\x99\x4b\xa0\x93\xeb\x4f\x57\x32\x5f\x09\x74\x7b\x93\xf0\x2b\x00\x97\x83\x93\xf3\xfe\xc3\xcd\x45\x7f\xf2\x70\xd3\xbf\x1d\x09\x9e\x6f\x0d\xf0\xe1\xe0\xb7\x87\xf1\xb0\x7f\xfc\x2b\xf4\xe0\x1f\x65\xf8\xd5\xe0\xf3\x38\x87\xbf\xeb\xee\xec\x3c\x91\x10\x56\xac\x1b\xff\x1f\x10\x27\xbf\xf0\xc8\x14\xbd\x14\xce\x85\xc7\x2f\xa9\xd8\x89\x3d\x98\x11\x8f\x61\xb7\x78\x3e\xe2\x22\xc7\xc5\x0a\xe6\xcf\x2e\x08\xe3\x03\xdf\xd1\x9e\x0e\xd1\x43\xc2\xd0\x39\xa6\x91\x2f\x51\x50\x7f\x4e\x5d\x7f\x9e\x6e\x2b\xe1\xdd\xfb\x04\xb0\xa4\x4f\xf8\x79\x14\x2d\x0b\x54\xf1\x64\xa2\x3c\x61\x76\x48\x3d\xef\xb3\xe1\x99\x8a\xe7\x84\x64\x3e\x77\xfd\xb9\xaa\x40\xf6\x74\xec\x2e\x51\x24\x87\x1e\xf8\x91\xe7\xc9\x5c\x14\x92\x9d\x59\xe4\xdb\x22\x9b\xc1\x2c\xf2\x3c\x66\x87\x88\xfe\xc0\x27\x53\x0f\x9d\x46\x13\xfe\x8c\x77\x5b\x88\x3c\x0a\x7d\x68\x38\xd4\x8e\x96\xe8\xf3\x76\x09\x15\xbe\x7e\x8d\x31\xc5\x2f\xc7\x5a\xe1\xf4\xd1\xe5\xa7\x5b\xe1\x2e\xe9\x17\x81\x38\xda\x8c\xc8\x6a\x19\xc6\x5a\x35\xbb\x3b\x2f\x92\x62\x21\xfe\x11\x21\x93\x04\x69\x60\xa6\x99\x3b\x83\x06\xb6\x4b\x08\x19\x58\xfc\x0c\xe0\x46\xb3\x1b\x83\x5f\x00\x3d\x86\x29\x93\x44\xdb\x61\x3d\xab\x0a\x24\x23\xc3\x25\xfd\x22\x21\x8e\x0c\xdc\x4c\x18\x66\x56\x6c\x83\x5c\x06\x84\x9c\x91\x62\x4b\x7c\x76\x15\x1c\xc9\x8e\xb9\x8b\x54\x1c\x79\xa1\x0a\x14\x83\xcc\xda\x26\x1a\x6c\x66\x69\x42\xac\x63\xbc\xa4\x5f\x8e\x89\x6f\xa3\x67\xb6\x6e\x1d\x5e\x2d\x5b\xb6\x85\xac\x3a\x92\xd9\xd6\x52\x94\x79\x28\xe8\xb6\x0a\xc8\x04\x75\xbb\x80\xac\xc1\x55\x03\xb2\x0e\x91\xd5\x32\x14\xc9\x47\x8b\x47\xe2\x38\x05\x89\xbd\x20\xfe\x1c\x07\x4f\xe8\xf3\x0b\x97\x71\xd1\x02\x34\xbc\xf4\xc2\xb8\xbb\xca\xaa\xbe\xea\xf5\xe2\x56\x71\xe6\xfa\xe8\x18\xed\x4d\x1c\x47\x5d\xc1\x9a\x69\x02\x58\x2d\xc8\x57\xdd\xb4\x19\xcb\xfa\x7e\x8f\x04\x09\xaf\xef\x93\xc3\xe8\x9c\xef\x11\x62\x49\xbf\x7c\xa7\x04\x06\xaf\x7f\x8f\x00\x97\xa3\x82\xcf\x71\xd5\xfa\xca\xee\x11\x5d\x63\x5c\x57\x1b\x3c\x69\xe4\xb8\xbb\xc4\x11\x27\xcb\x40\x8b\x8e\x62\x7d\xd7\x41\x9f\xbb\x33\x17\xc3\xa3\xa4\x6a\xb7\x8b\x27\xad\x1c\x2b\x20\x73\xfc\x9c\x21\xc4\x37\x1a\x2c\xee\x0a\x6a\x10\x26\x32\x6c\xa2\xc1\x4a\xc4\x12\x42\xae\xc1\x51\x71\x99\x68\xae\x06\x8e\xdc\x55\x9c\xfb\x0e\x3e\x7f\x5c\x9f\x3b\x0d\xd7\x19\xd3\x53\xd7\xcf\x2d\x2e\x7a\xf1\x86\xa8\xf6\x6e\xdc\x2a\x80\x0b\xef\xb5\x7e\xa4\xed\xa1\x3f\xe7\x8b\x2e\xb8\xbb\xbb\xb2\x9f\x62\x22\xd1\xe1\xa8\xe8\x77\xee\xbd\x64\xb0\xee\x4e\x61\xd7\x19\x34\x04\x7e\x0f\x74\x19\xb2\x5f\xea\x0a\xb7\x9b\x3f\x7d\xd9\x29\xfe\xa6\xd0\xbd\x8e\xaa\xa6\x4d\x3c\x3b\x12\x63\xd5\x0d\x75\x7d\x8e\x61\xdf\xb6\xd1\xc3\x30\x1e\xd7\x2e\x23\x8f\x37\x58\x80\x58\xab\xae\xa9\xc5\xae\x52\x9a\x1d\x42\xcf\x48\x70\xe7\xde\xdf\x1d\xdc\x17\x92\x93\x3a\xc4\x8e\x84\x28\xcc\xc2\x0e\xe1\x7d\x0f\x14\x41\xb3\x9f\x4d\x7d\xee\xfa\x11\xea\x36\xc9\x2d\x2a\x0c\x7a\x50\x61\x49\x72\x68\x22\x63\x9d\x4a\xd1\x60\x0f\x3a\x9a\x1e\x9b\x90\x65\x5d\xb2\x4a\x93\xd8\x1c\xf6\x80\x75\x9a\xb0\x1f\xeb\x17\x5f\x37\xe1\x0d\x34\x88\xb8\x21\x9d\x26\xec\x02\xe9\x74\x25\x07\x0b\x75\x6a\x7c\x01\x1f\x54\x3d\xd3\xc5\x8c\xb2\xd5\xb1\x51\xa4\x56\xb6\x56\x47\x0f\xa0\x13\xb5\x3b\xce\x2b\x6a\x55\xd7\x2c\x60\x2b\xd6\x66\xe8\x3b\x0d\x6b\x6a\xc1\xae\x71\xce\xda\x05\xab\x7b\x60\x69\x65\x2e\x0a\x1c\xc2\x51\x8c\x18\x7d\xdf\x19\xc5\x9d\x77\xbe\x5c\x3e\x0a\x40\x0f\x2e\x09\x5f\xb4\x79\x18\xf9\x76\x23\x9b\x0e\xd2\xc4\x97\x8f\x07\x65\xac\x49\x81\x25\x8c\x1c\x43\xc9\x94\x25\x1c\x9a\xf0\xa1\x07\x1d\xf8\xfa\x15\x94\xe7\x93\xe4\xb9\x6c\xf1\x7c\x1c\xd9\xeb\x25\xd7\x5d\x05\x34\x91\x40\x93\x02\x94\x1b\x64\x29\x0c\x92\xe8\x21\x4c\x90\xdd\x4d\x9a\xb2\x2b\xa4\x91\x46\xd5\xa3\x98\x73\x24\x7d\xd3\x41\xc7\x84\x59\xa5\x73\xca\xc7\xa0\x75\x4a\x57\xd6\x5b\x1a\xb1\xf6\x7a\xd9\x5d\x57\x03\x4f\x14\xf0\x44\x07\x27\x63\x14\x0f\xe5\x48\xce\x2d\xc3\x84\x2d\x32\xad\x33\xdb\x64\xe2\x98\xca\xda\x82\xf8\x8e\x87\x71\x95\x68\xe0\x13\x97\x5b\x1f\x63\xf2\x2e\x25\x09\x65\x70\xc5\x27\xde\xce\x4b\x49\x57\xc5\xd1\x86\x5e\x05\x66\x18\x67\x33\x78\x79\xda\x54\x5d\xcc\xf3\x59\x57\x2c\x9e\xf4\x12\x4e\x2a\x73\xb7\x32\x53\xf3\xfa\x8a\x24\xd4\xe7\x45\x15\xe2\x24\x9c\x63\xd2\x68\x04\xc4\x81\xd7\xaf\xa1\x12\x18\xcf\xfa\xdf\x92\x7a\x85\xd4\x41\x88\xa2\x3d\x39\xc1\x19\x11\x75\xa6\x59\xe0\x69\x3e\x08\x22\xb6\x68\x68\x9d\x48\x2c\x45\x4b\x35\x7d\xb3\xa9\x19\x58\x39\x45\x90\xb5\x7c\x95\xd9\x57\x97\x59\x3a\x31\xa8\xce\x14\xa5\xa0\xad\x4b\x18\xaa\xde\xca\x69\x43\x5d\x74\x6a\x81\x51\x1f\xa0\x99\x5a\x7a\x5e\x15\xde\x89\x47\x02\xdd\x33\x1e\x92\x30\x4b\xca\x1a\x91\xa6\x63\x5d\xaa\x36\x6c\x56\x35\x40\xd5\x52\x9b\x07\xb2\x2e\x4e\x11\xc7\x33\x4b\x5b\xde\x70\x86\xa2\x32\x37\xc5\xf5\xc0\x77\xe4\xa8\xfe\xdb\xe2\x25\xe9\xe0\x9e\xb5\x16\xae\xe8\x15\xb9\xa9\xa3\xd3\x5c\x26\xe8\xdf\x97\x1b\x90\xba\xd8\xd1\xa2\x83\x05\x9e\x6b\xa3\x60\xd4\x82\x8e\x1e\x01\x4a\x8a\xd9\xdd\xad\x8c\x8f\x8a\x14\xf6\x37\xba\x0d\xe4\x84\xa3\x66\xc2\x0f\xc6\x23\xe1\xd4\x0b\xa5\x2c\x9c\x65\xd8\x62\xeb\xbd\x6c\x91\xcc\xf3\x74\xa6\x2d\x2d\x8a\xda\xeb\xd7\xa5\x3c\x2c\xaf\xfa\x0d\x1d\xca\x0f\x96\xe6\x95\xa4\xf0\xeb\xd7\xaa\xd3\x60\x4f\x2e\x4a\xef\xd5\xa3\x72\x7d\xd7\x4e\x23\xce\xa9\x5f\xce\x8b\xa6\xb2\xa4\x15\x73\x48\x5e\x92\x24\xe4\x06\xe5\x25\x4f\x17\x93\xac\x99\xef\xe1\xb6\x7c\xe3\xf3\xf3\x6f\x60\xfc\x76\x5b\xc6\xc9\xc1\xbb\x29\xc8\x54\x27\xa7\xf4\xc2\xaf\x1d\x4b\x8b\xe0\x8c\xb7\xd1\x1a\xba\x20\xe5\x74\xca\x90\x67\x99\xb8\xd4\x30\xb7\x34\x2f\x96\x4c\x50\x11\x90\xba\xcc\x07\x56\xa9\x18\x99\xf2\x66\x72\xf2\xf6\xff\xd4\xf9\x43\x52\x67\x45\x6e\x82\xff\x76\x31\x14\x22\xe8\x2e\x65\xd1\xf2\x73\x11\xfc\xe9\x93\x89\xfa\xe4\x7f\xc9\xed\x71\xcb\x57\x38\x44\x27\x8d\x5f\xe4\xb8\x8c\x67\x5d\x16\xfb\x23\xe4\xc9\xc0\x13\xd0\x95\x2c\x53\x7c\x0c\x05\x7b\xa5\x13\x1b\xe7\x39\x85\xc5\xc9\xb7\x25\x12\xdb\xae\xb2\x82\xf8\x55\x31\x9c\xd4\x30\x9c\xe4\x0c\xb5\xad\x50\x5d\x4e\x6a\x8b\xa7\x7c\x56\x9c\xfd\x62\xcd\xcd\x54\x77\xe6\x25\xf6\xa0\x73\x6f\xe2\x54\x53\x8f\x3e\xf4\xaa\x0b\x52\xf6\xab\x89\x18\xd5\x9d\x2f\xca\x7e\x8a\xb7\xd3\xb7\x38\xa9\xab\x92\xaf\xcb\xe4\xb5\x2e\x51\xc9\x85\xbe\x27\xe8\x71\xa2\x67\x82\x0a\x16\x86\x4c\x11\x47\xe3\x6e\x4f\x28\xf2\x66\xf3\x71\x5c\x3e\x6e\x3b\xcf\x4d\xd8\x97\xd6\x7f\x03\x9d\x83\x83\x83\xa6\xc2\x77\x12\xf3\x5d\x7f\x1b\xdf\xf5\x06\xbe\x95\x86\x35\xf8\x61\x33\xd5\xc4\x60\xfe\x7a\xaa\xc2\xc4\xc6\xe4\xab\xb5\x96\xf5\xdd\x52\x96\xc6\xeb\xf6\x67\x6d\xeb\x16\x1f\x81\x6c\x9c\x26\x77\x7b\xb1\x97\x2b\xc6\xc7\x04\x3a\x31\x36\x38\x95\x0b\x97\x9a\x27\xed\x94\xa5\xb4\x9c\x76\xcc\xa2\x2e\x98\x5f\x19\xcf\xd1\x8c\x6f\x06\x16\xc4\x13\xd2\xe0\x10\x59\x40\x7d\x86\x8d\x25\x32\x46\xe6\xa8\x14\x9a\x05\xb9\x9e\xfe\x2e\x86\x46\x5c\xc1\xef\x6c\x74\xd6\x6f\x58\xa3\xb3\xfe\xde\xe1\xbb\x7f\x5a\x2d\xb0\xc6\x83\xcf\xe3\xac\xc8\x25\xa8\x6d\x86\xfc\xec\xb2\x7f\xfc\x2b\xae\x33\x7e\x66\xbc\x44\xce\xc6\xca\xf5\x1d\xba\x6a\x7b\xd4\x8e\x77\x72\x7b\x41\xd8\xa2\xcd\xa2\x29\xe3\x61\xa3\x93\x25\xcd\xf4\x78\x72\xca\x29\x69\xa4\xe4\xf3\x64\x99\x86\xf5\x71\x32\x1e\x8c\xac\x66\x72\x9a\x98\x72\x2b\xbf\x38\xf1\x28\x71\xac\x16\x64\xca\x2b\x27\x8b\x24\xe2\x0b\x51\xaa\x6c\xc2\xf5\x93\x9e\xf8\xe3\x84\x00\xfd\xa4\x64\xe7\x2f\x66\xe6\xc8\xd3\xb7\x38\x71\xd1\xb3\x52\x14\x4b\x3a\x98\xb3\x3d\xca\x62\x6e\x95\x44\x09\x46\x46\x13\x90\x5a\xe4\x80\xc8\x98\xf1\x69\xcd\x06\xf4\x18\x47\x96\xe8\x11\xd7\xac\x8e\x46\xc0\x35\xfc\x29\x25\x61\xad\x58\x19\x8e\x4c\x57\xbc\x21\xcb\x9b\xf6\x4a\x7a\x1d\x57\xe6\xc3\xf1\x99\xd7\xd1\x0a\x78\x86\x9f\xd8\xb2\xcd\xf8\xda\xc3\xb6\xe3\xb2\xc0\x23\xa2\x2a\x58\x3e\xf5\xd1\xca\xcd\x56\x0b\x17\xea\x6f\x42\x88\x75\xad\x45\x12\x42\xb5\x9f\x88\x17\xa1\x00\x58\xe9\xdb\x9f\xe4\x0b\x9b\x9b\x90\x72\x6a\x53\xe1\x38\x6b\xc5\xd8\x91\x55\x1c\xce\xe6\xdb\x3f\xc8\x71\x7a\x60\xc5\x1f\x69\x59\xea\xe4\xaa\x32\xc9\x78\x24\xe1\xbf\x62\x69\xa0\x7e\xc2\xe9\x88\xda\x8f\xc8\x1b\x12\xc1\x2e\x58\xfb\xfb\x62\xae\x28\x62\x8d\x32\xee\x93\x25\x4a\xbd\x8e\x24\x09\x0d\x39\xfc\x0b\xac\x23\x85\x24\x7e\x7a\x04\x96\x25\x37\x48\xd6\xfe\x2a\xde\x39\xa9\x10\x6d\xea\xa7\x91\x2f\x82\x29\x8b\xb8\xf8\xa8\x50\xcf\xca\x4a\xe8\x19\x1a\xe9\xd8\xaf\x0d\xad\x75\x4a\xb2\x81\x29\xf7\xe9\x91\x6c\x3e\x6d\x2e\x27\xbe\x58\xb6\xb6\x43\x38\x91\xdb\xb4\x34\xaa\x6b\xfd\x9d\x29\xb2\x70\x19\xa7\xe1\xba\xcd\x38\xe1\x18\x3b\xaf\x08\x0d\x4d\xad\xea\x7d\x34\xf3\xf0\xd9\x52\x75\x8d\xf7\xd3\x8c\xda\x11\x6b\x94\x87\xc7\xca\x85\x99\x69\x51\xc3\xee\xd6\x16\x34\xce\xa4\xc6\xb8\xd1\x09\x93\x4d\x28\xef\x80\xd8\x73\xb2\xff\x75\xd7\x1b\x3e\xd7\xd0\x85\x36\x7f\xf6\xa2\xba\x7c\x5b\x27\x6d\x0a\xff\x6a\x23\x95\x91\x36\xa7\x01\xa8\xc9\x49\x92\xed\x32\x8b\xd5\xe6\xe4\x2c\x33\x1a\xaa\x9a\xed\xb9\xf6\xa3\x55\xbc\x19\x2f\x82\x4d\x37\xe5\x36\xea\x6f\xbd\x4f\xc4\x2f\xdb\x77\x41\xc4\xc4\x84\xc0\x31\x2d\x20\x2d\x91\x1b\x24\x47\xa5\xd7\x1b\x2b\xc8\x0f\xd1\x72\xcb\x7d\x55\xbf\xb7\xd4\xfd\xf5\x8d\xc6\xfb\xab\x91\x5d\x6d\xda\x24\x99\x54\x98\x37\x9e\x8f\x0d\x5f\x24\xca\x9a\xeb\xb5\xb6\x56\xa5\xc4\x00\x25\x92\x4a\xe7\x54\x38\xe5\xaf\x07\xba\x29\x25\x95\xbf\x30\x0c\x88\x53\x3e\x20\x4b\x9f\xdc\xfd\xe9\x3a\x47\x60\x05\x21\x3e\xf1\x90\xd8\x8f\xe9\x4e\x6b\x09\x77\x1d\x19\xbf\x9b\x7d\x49\xf7\x5a\x4a\xe8\x91\x75\x40\x22\x86\x95\x84\xf9\x07\xb9\x2a\xa1\x8f\xcf\xbc\x76\xc5\xe2\x4b\x5c\x95\xf0\x89\x7a\xd1\x12\x1d\xba\xf2\xcb\x94\xd2\x77\xc3\x26\xa2\x65\xc4\x0d\x72\x4a\xdf\x21\x9b\x88\xa2\xa0\x92\xe4\xf6\xe6\xe5\xbe\x3d\xa3\xe1\x80\xd8\x8b\x46\xee\x63\x6a\xfc\x5c\x49\x0b\x6d\xda\x76\x9d\x6d\xc2\x19\x6a\x43\x1a\xe4\x13\xb5\x47\xd1\x8b\xd0\xf6\x23\xae\xf5\x78\xcd\xee\x37\xe6\x1b\xc1\xe8\x87\xe5\x1a\xa9\xdb\x7b\xd5\x8b\x9b\xa2\x1a\xe1\xb9\x10\xbe\xa0\xd0\x34\x00\x53\xf3\xa8\xa8\xa8\xf6\x46\xc9\xa0\x93\xa5\x8a\x29\xb1\x1f\x1b\x86\xbc\x90\xa2\x51\x3f\xa0\x41\xda\x21\x6c\xe8\xc8\xaa\x72\x58\x96\xc4\x4c\xc7\x46\xa6\xa2\x91\xe1\x6f\x55\x88\x0c\xe9\x71\xab\x5a\x0c\xdf\x52\x8f\xcd\x27\xee\x1b\xec\x98\x95\x69\xa8\xdb\x53\x21\x8a\xf1\xf2\x87\xec\xaa\xbc\xd1\x4e\x78\x9a\x7c\x2a\x2c\x58\x5e\x22\x3e\x0c\x61\x9c\x84\xdc\x6a\xc9\x5f\x47\xb4\xf2\x6f\xbc\x37\xd0\xa2\xef\xe4\x94\x03\xdf\xd9\x9a\xce\x8e\xdf\x39\xe4\xa4\xc9\x2b\x88\xad\xa9\x97\xf4\x09\x73\xda\x4b\xfa\x84\x05\xe5\x4b\x71\xf9\x9f\x00\x00\x00\xff\xff\xdf\x41\x43\xaa\x8f\x35\x00\x00") func webdataFnJsBytes() ([]byte, error) { return bindataRead( @@ -90,7 +90,7 @@ func webdataFnJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "webdata/fn.js", size: 12514, mode: os.FileMode(436), modTime: time.Unix(1, 0)} + info := bindataFileInfo{name: "webdata/fn.js", size: 13711, mode: os.FileMode(436), modTime: time.Unix(1, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -115,7 +115,7 @@ func webdataIconPng() (*asset, error) { return a, nil } -var _webdataIconWoff = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x6c\x96\x67\x50\x13\x88\xd3\xc6\x37\x09\xa1\x84\xd0\x3c\x40\xa4\x06\x50\x29\xc2\x51\x42\x95\x22\x1d\xe9\x20\x1d\xe1\x4c\x80\x50\x05\x02\xc8\x11\x8a\x12\x5f\x5a\x68\x4a\x93\x0e\x87\x9c\x52\x34\xfa\xe2\x3f\x20\x25\x88\x20\xa1\x23\x28\x0a\xa8\x44\x0f\xe9\x9c\x54\x0b\xca\x89\xf2\x8e\xe7\xfb\xf1\xbf\x33\xcf\x3c\x33\x3b\xbb\xbf\x0f\xbb\x5f\x9e\x78\x27\x2b\x2b\x27\x37\x37\x27\x00\xcc\x22\xf0\x02\x00\x1c\x4a\x06\x04\xfc\xd7\x32\xb7\xb2\xc2\x01\xa0\x9c\x01\xb8\x9c\x00\xf8\x14\xcb\xb2\xb3\xba\xac\xac\xdc\x1c\x00\x30\xed\x00\x20\xf9\x43\xe9\x07\xfc\x78\x6b\x0b\x4b\x2b\x00\x4c\x2d\x00\x88\xfd\xdb\x17\x01\x61\x27\x57\x35\x4d\x00\x44\x08\x00\xd8\x02\x00\xe1\x8b\x5a\xf6\x95\x80\x08\x22\x19\x00\xb9\x0d\x00\xd6\x00\x08\x1f\x27\x17\x1b\xd7\x10\x12\x31\x10\x00\xc1\x0d\x00\xda\x00\xa0\x73\xc8\x77\x51\x3c\x24\x84\x44\x04\x40\x98\x00\x80\x34\x00\x1c\xe5\x9c\x47\x15\x84\x44\x5c\xa0\x00\x60\x9e\x03\x00\xff\x0f\x71\xbb\xc0\xe3\x08\x22\x85\x0c\x80\x20\x00\x00\xe7\xbf\x42\x3b\x43\x24\x31\x82\x04\x80\x68\x01\x40\x9c\x04\x40\xf2\x31\x6f\x79\x87\x91\xa3\x62\x2f\x00\xa0\xf4\x00\x40\x14\x00\x70\x07\x19\x80\xa7\x54\x05\x10\x02\x09\x04\x98\x1f\x55\x3d\x90\x5b\xd8\x8b\xe8\xd6\x24\xe3\x1f\x42\xb6\xba\xef\xb9\x85\xb3\xd8\xeb\xa9\x0c\x31\x8e\x03\xb5\x80\xee\x47\x2d\x3c\x43\x4b\x04\x02\x32\x0b\x09\x14\x06\x9f\x30\x00\xfc\xff\xde\xab\x8f\x29\x47\xcc\x85\x3f\xf0\x72\xe2\x08\xdd\x8f\x7a\x86\xa8\x98\x32\x88\xb7\xe0\x48\xfc\x71\x35\x67\x00\xf4\xcf\x39\xe2\xa5\x5e\xbd\xcb\x97\xaf\x5d\xbe\xdc\x94\x13\x2a\x80\x42\x99\x0b\xa4\x05\x25\xf7\x10\x86\x86\x38\x84\x49\x84\xa5\x40\x13\x24\x1f\x2f\x81\x4e\xd5\x9a\x11\xce\x40\x65\x33\xb5\xaf\x95\x89\x7c\x3f\xab\x6e\xa1\x11\xe1\x4f\x43\x62\xf0\x8f\xae\x29\x83\xac\x3c\x30\x75\xf8\xb4\x7f\xb0\x48\xf9\xa6\xe1\x8f\x4c\x84\xd3\x82\xb5\x7d\x92\x0a\xa4\x93\x94\xd6\x5d\x94\x78\xc2\x1d\x95\x27\x31\x66\xb5\x6d\x72\x8a\x37\x75\xb3\x64\xb3\x2b\xae\x69\x27\x6d\xbf\x89\x55\xfb\xc6\x63\x24\xfa\xcf\xc4\xbe\x40\x35\x3d\x5c\x20\x02\xb7\x75\x91\x39\x56\xa9\xcb\x43\xd5\xe9\x96\x25\x5f\xda\xdc\x99\xf7\xc6\xf5\x30\x57\xc4\xef\x6e\xaf\x75\xf0\x67\x15\xad\xc0\xe5\xf6\x4f\xec\x9e\x3c\xca\x47\xf6\xe2\xb7\x13\xd7\xe4\xda\x97\x43\x37\xeb\x95\x45\x43\xde\x3e\x8e\xcd\x4b\x3a\x65\x38\xa3\x31\x50\xba\x02\xaa\x4f\x77\xd9\x54\xe1\xf8\x9a\xca\xae\x94\x01\x0e\xf1\x24\x49\x62\xb3\xd5\x15\x11\xdb\xfa\x35\x9c\x65\xa9\x51\x86\x99\xc0\xc5\x49\x2c\x5a\x44\xd4\x2e\xd7\x4b\xcd\x70\x99\xbe\xc4\x2a\xf1\x0b\x48\xa5\xc5\x8a\x1b\x18\xc2\x2f\x0f\x4e\x55\xc4\x75\x2b\x93\x14\x36\x46\xbc\x3e\xfd\x13\xe3\x21\xc6\x94\x7c\x79\xeb\x4a\xab\x6a\x9b\x4f\x54\x9d\xdb\x96\xe2\xa5\x98\x58\xb4\xec\x14\xdd\x35\x30\xd7\x3f\x94\x39\x27\x67\xcf\x60\x47\x1e\x4e\x63\x65\xd9\xce\xf0\x89\x94\xe7\x88\x69\xdc\x60\xe5\x6f\xf5\x2f\x27\x67\x6b\x98\x0c\x6d\xbf\xdd\x0a\xc6\x3d\xb5\x2c\x0f\x29\x0a\xd6\xbc\x52\x2c\x39\x12\x26\x75\xd6\x90\xfb\x2b\x51\x64\xe7\x5c\xa1\x7e\xbc\x98\xe4\x97\xf0\xf1\xee\x11\x7d\xcb\xbb\x9e\x67\x35\x26\xc6\x88\x0e\xbf\xdc\x4c\x2c\x38\x63\xfb\x3d\xee\x0b\xa2\x49\xde\xf1\xdd\xcf\x3f\x10\x08\x41\x54\xc2\x11\x4e\x2b\x4e\x41\x6e\xc4\x7b\xb1\xde\x64\x51\x4e\x5e\xdc\xe3\xfe\x9e\xde\x1e\x56\xcf\x8d\xf6\xb3\xde\xe6\x17\xef\xd5\x4f\x1e\x1c\x60\xb1\xdc\xbb\x46\x6d\x06\x6d\x91\x47\x7d\x93\x38\xa6\x78\xd1\xb9\xe7\xb1\x8d\x48\x79\x41\x00\xf9\x54\x01\x8d\x7f\x39\x41\x90\x7a\xf0\x18\x6b\x65\x92\x5d\x80\xe0\x03\x50\x74\x47\x74\xfc\xe0\x5f\xf3\x0c\x3f\xef\xe6\x2e\x58\xc3\x9c\x65\xfa\x61\x5e\x97\x0c\x96\x1c\xb2\x6d\x33\x94\x13\x50\x9a\x44\x0b\xdb\xf7\x9e\x78\xb1\x2d\xc8\x61\xcf\x83\x40\x86\x8c\x54\x96\xc8\xb5\xe0\x32\x58\x12\xa9\x34\x7a\x96\x5b\x08\x08\xa1\xd3\xb8\x0f\xd5\x1a\x16\x67\x7a\x7b\x65\x23\x50\xb4\x2e\x8e\xa5\x63\xa2\xa7\x9f\x79\x84\xa2\xaf\x33\x5f\x33\x93\xaa\xb6\xd8\x6f\x2c\xe5\xbe\xcf\x4d\xac\x57\x45\x2d\x57\xe2\x83\xc7\xcb\x63\x37\x95\x85\x0f\x5b\x67\xd7\x35\x9a\x7f\xc0\xac\xe4\xfb\xcb\xa7\x6b\xa6\xda\x08\x7f\x54\xec\xc5\x9e\x6d\x7e\x60\x54\x26\xfe\xd9\x05\xbf\xc4\xa8\xe1\xc3\x9b\xa7\x4e\x69\xbd\xaa\x2a\xb6\x2a\xae\xb2\x32\xa8\x68\x70\x61\xb4\x04\x65\xfa\x38\x1b\x2a\x3a\xda\xd6\x09\x87\x59\x9b\x87\xe8\xe5\x29\xd7\xe0\x9f\x55\x6a\x93\x71\x97\x12\x13\xbe\xce\xaf\xa4\x97\x26\xbd\x6d\xf8\x63\xc6\xa0\x91\xbc\x59\x97\x80\x6f\x98\x50\x1c\x59\x2d\x9c\xd1\xee\x9b\xc5\xdf\x8e\x1a\x28\xd3\xff\x90\xdd\x10\x78\xd8\x3c\x2c\xbd\xdf\x72\x2f\x3d\x9d\x91\xb4\x28\x22\x8a\x35\x31\xd3\x54\x92\x5b\x42\x91\xca\xdf\x5f\xff\x4f\x95\x9b\xfd\x74\xef\xfd\x21\xe3\x87\x36\x7e\xae\x6f\x3f\x70\xc5\xee\x67\xff\x25\xf3\x6a\xa5\xed\xab\xab\xf8\x99\xd4\xd9\xba\x26\xfe\x87\xf7\x9e\x48\x8d\xf1\x6c\xe0\x63\xe6\xfd\xcc\x9a\x54\x70\xc4\xd1\xd9\xba\x8e\xf4\xf6\xc5\x99\x74\xda\x72\x98\x99\xa4\x94\xad\x19\xfb\x62\x56\xeb\x6d\xce\x00\xed\x86\x84\xf6\x56\xfd\xf0\xe0\xfb\xf8\xdf\x09\xae\x26\xb4\x9b\x52\x48\x63\xd9\x69\x52\x98\x8a\x9a\x62\x45\xed\xb2\xee\x8b\x35\xa6\x03\xfd\xe6\x8b\x97\xdf\xed\xf4\xc3\xbd\x3b\x4e\xd2\xe8\xaa\x9d\xbf\x66\x75\xd6\x2a\x1d\x1e\x52\x68\x4c\x2a\x5e\xfb\x38\xc2\xa2\xda\xdc\x18\xff\x86\x2a\x5c\x0d\x5c\x76\xdf\x1d\xd1\xbf\x7b\xdb\xcc\xad\x6a\xe5\x74\xab\x84\xf7\xfe\x17\x15\xeb\xce\xb6\x3f\x52\xd9\xdb\xc4\xf9\xa8\x0a\x93\xc8\xf2\x91\xe7\xc6\x36\x86\x3b\x53\x33\xe5\x07\xef\x25\x3a\xd7\x1c\x37\x34\x87\x2f\x28\x6c\x59\x56\x2b\x84\x9d\x63\x25\x4c\x36\x67\x8a\xb3\xf5\xf7\xbf\xc4\x55\xac\x39\x56\xff\xde\x3c\x7d\xd7\x20\xb6\xb0\x20\xf7\xb3\x9c\xb5\xbd\xe4\x23\xaf\xaf\x7b\x38\xfe\xdb\xc8\xe8\x7d\xdb\x9a\x2f\x81\xc5\x1b\xd5\x23\x7a\xe5\x7d\xa4\x21\x7c\xca\xa1\x67\xcc\x5f\x4d\x6b\xf8\xce\x31\x6c\x12\x4a\x1d\xf8\x04\xad\xb4\x31\x4d\x45\x5a\xcd\xc1\x1b\x08\x69\x99\x28\xbb\xbf\xe5\xdd\xf2\x5f\xf3\xc5\x4b\x17\x9e\xb4\x4a\x35\x8d\xc5\x1c\xdb\x91\xae\xfc\xdc\xa1\x7f\xbc\x49\x0d\xf9\x7a\x22\xb6\x51\x7e\x6e\xd3\xdf\x21\x41\x62\xf3\xdb\x90\xd2\xaa\xbb\xa3\x9b\x0d\x9b\xdb\xe9\x98\x28\xab\xd1\xdf\xc9\x7d\x86\x9e\x7b\x61\x57\x78\xd0\xb5\xac\xdc\x50\x98\xa1\x5b\x65\x96\x8f\x2e\xa3\xf0\xe6\x9c\x0e\xb7\xd7\xe0\xef\xb3\xa5\xfc\x56\x31\x96\x30\xce\xcf\x10\x74\x19\x37\xe7\x26\x8f\x9f\x5f\xf2\xcf\x7d\xd0\x5b\x63\xc7\xdc\x31\x4c\xb5\xbe\x97\xe0\x77\xea\x6e\x9e\x7a\x09\x41\x40\x7c\x80\x61\xe3\x46\x78\xb9\xc5\x10\x9c\x19\x5a\x3b\x79\x98\x3e\xf7\xe1\x42\x92\xde\xd5\xdb\xbb\x61\x79\xff\x93\x29\xfd\xa7\xe2\x1b\x96\x52\xbf\xe6\x99\xd9\x07\x3e\x89\x8d\xe3\xb2\x22\xbf\xe8\xa2\x05\x8c\x4c\x77\x4b\xdb\xd7\x94\x6d\xec\x9d\xae\xae\x8b\xaf\x8d\x9f\x6e\xdc\xaa\x7e\x2f\x23\x14\x2a\xb2\xf9\xed\xd4\xf1\x80\x38\x0a\xd5\xc0\x8b\x85\x6f\x1a\xd5\xf7\xf2\xd5\xe0\xe2\x55\xb3\xbe\x97\x8d\xaa\xa1\x53\xf6\x66\x69\x5e\xe4\xce\xde\xcd\xab\xe4\x61\xc4\x6c\xac\xc2\xf7\x73\x2e\xfe\xe4\xce\x9c\x09\x07\xcf\xc8\xc6\xfe\x61\x16\x5a\x70\xb4\x9d\x70\xa3\x56\x79\x54\x56\xdc\xd9\x4d\xa6\x25\xf1\xf9\xfa\xaf\x19\x2e\x6e\x5f\x45\x5b\x68\xd2\x7d\x5e\x69\x13\x3d\x51\x46\xe1\x9c\x51\x9d\xb4\xe7\xc4\x87\x1e\x78\xd5\x42\x6e\x73\x41\x84\xb4\x19\x53\xc0\x45\x41\x83\x83\xc2\xbd\xa3\xca\x0a\x6a\x97\x4c\x23\xca\x67\x58\xab\xfb\xaa\x3d\xcb\x3f\x72\x1a\xd1\xf7\xc0\xba\x6c\x3c\xd3\x64\x9f\x2a\x7c\xbf\x37\x06\x33\x7f\x62\xfb\x12\xf2\x3e\xfa\x15\x8a\x90\xe2\xef\xc5\xbb\x11\x1f\x22\x20\xfb\x9d\xa6\x61\x9c\xfe\x97\x37\x21\x1c\xf7\x2b\xf2\x84\xe5\x3e\x37\x56\x16\xdb\x27\x66\xfc\x84\xee\x9e\x49\xe6\xf7\x9c\xe3\x16\xe9\x71\x4e\x97\x9a\xe3\x4d\x2d\x36\x3f\xaf\x3d\xb9\xf7\xa4\xd0\x21\x68\x58\xac\x7f\x98\x14\xa6\x81\x7d\x6d\xd2\x2e\xcd\xe2\x2c\x66\x2a\x2c\xb3\x21\x36\x8a\x20\x71\xbd\x63\x8e\x22\xe1\xa3\xbc\xdc\x05\xaa\x3c\xd3\xb3\x5d\xfe\xaf\x76\x44\xb3\x56\xaf\x1d\x1a\x33\x5b\x4d\x50\x4e\x1f\x1e\xf7\xff\x28\xee\x67\xf1\x99\x6d\x91\xc3\xcb\xa2\x25\x12\x87\x07\xea\xdd\xe6\xd6\xad\xff\x8e\xfe\x36\x25\x33\x47\xe1\xff\x48\x09\x51\xe7\x8a\xe6\xef\x45\x37\xa8\x98\x28\xce\x72\x5b\x54\xf7\x26\x28\x15\xed\xd1\x04\x2b\xd8\xdd\x1d\xfa\x6d\x91\x9b\x67\x5e\x2e\xa2\xd5\x2d\xa3\xaf\xd4\x33\x1a\x02\x8e\x36\xfe\xcd\xc3\xce\xfb\x68\x6f\x72\x1f\x17\x8e\x42\x2e\x9b\x12\xb1\x7b\x85\xe2\xe4\xb2\x86\xb4\x46\x26\xfd\xf8\xf4\x33\xa9\x77\x3a\xc8\x92\xe3\x59\xaa\x8b\x1d\xc8\x12\x51\xde\xa7\x75\xd1\x83\xb4\x65\x33\x26\x17\xdd\x19\xaf\x9b\xdf\x88\xd3\x69\x32\xd7\x14\xd4\x7f\x1b\x4d\xc7\xbc\xf0\x57\x8f\xbc\xbc\xc3\x5f\xe7\x3b\x28\xc9\x7b\x53\x46\x2b\xf1\x46\x68\x49\xfd\x5c\x86\x90\xd9\x66\xa5\xe1\x22\x6c\x04\x12\xff\x63\x17\x19\xe6\x81\xf1\x24\x54\xf3\xbd\x27\xd9\x1b\xba\xea\x4e\x18\xba\x9c\x50\xdf\x34\x1f\xa5\x8a\xa6\xb5\x1e\xa3\x3f\x94\x2b\xcf\x22\xf8\x22\x75\x10\x2e\xe3\x28\x09\x05\x27\x31\xf5\xc3\xf4\x14\x54\xf8\x9d\x7e\x75\x0b\xfd\xeb\x67\x19\x52\x45\x5f\xd1\x1b\xea\x74\x57\xd2\x24\xe7\x70\x5d\x65\x66\x69\x63\xd6\x77\xb1\x5d\x23\xad\x04\x1e\xce\xda\x3c\x4b\x93\x53\x2d\xbe\x5e\x07\x85\x5f\xe1\xce\x21\x9b\x86\xa2\x97\x77\x72\x2f\xbb\x5c\xa1\xf4\x51\xa5\x10\x3a\x1c\x65\x32\x97\xf4\x2b\x5a\xc7\x2c\xc6\x3c\x52\x15\x37\x4d\xb0\xa9\x71\x06\xed\x14\x02\x3a\x32\x44\x3c\x4f\xf1\x9c\xdc\x08\xf9\xe5\x80\x2c\xf5\x56\xd0\xee\x91\x02\xd7\xb6\xc9\xd2\x17\xfc\x7a\xfc\x48\x92\x81\xd9\x42\x93\x6e\x5f\xa0\xf9\xed\x8c\x3f\x78\x73\xc3\xb7\xc3\xf9\x1e\x86\x3d\xbe\x35\xfd\x9b\x17\x23\x7f\x2c\xd2\xeb\x0f\x54\x80\x67\xcf\xc9\x5c\xed\x66\x1d\xf4\xae\x84\xf7\xa8\x96\x06\xd9\xd3\x3c\x49\x9a\x7d\x86\xf5\x0e\x7d\x87\x83\x6d\x5f\xde\x82\xdd\x30\x2d\xfb\x5c\xfb\x09\x48\xba\x2d\x3a\xe7\x75\x8e\x93\xdf\x16\x8f\xb5\x22\x5a\x16\x14\x70\x71\x69\xc1\x3c\xde\x2b\x49\x68\xb3\xfb\xbd\x69\x22\xcd\x27\x09\x46\xbc\xbf\x23\xbd\xcb\x30\xe7\x75\xc5\x6c\x08\xc5\x6b\x1e\xda\xa3\xd4\x63\x3d\x89\x45\x74\xbb\x65\x2d\x6f\x97\xa3\x19\x12\xa6\xf4\x7c\xbb\x02\x71\x75\x05\xb9\x14\xac\xfd\xd3\x3b\x97\x0a\x82\x7f\xdb\xad\x68\x0a\x35\x8e\x7c\xf5\xe7\x70\xf2\xb0\xe4\xed\xa9\xd7\x8f\x3c\x74\x78\xfd\xa4\x4b\x47\x9f\xaf\xfa\xf8\x89\xcd\xc6\x7c\x29\xd1\x8f\xce\xe7\x91\xc8\x78\x67\xb6\x13\x34\x1f\x54\x7b\x92\x8d\x6d\x10\xba\x59\xf5\x4b\x5b\x5b\x7f\x3c\x4d\x55\xba\xb0\x93\xf5\x8f\x75\x4e\x6b\xdc\x0a\xf5\xd9\xb1\xf3\x01\xef\xb4\x88\xb3\x7f\x6e\xab\x38\x51\xc6\x0c\x93\xbb\xd4\xde\xed\x50\x18\x7b\xfe\xf5\x7a\x7c\x3a\xc9\xcd\x4d\x0b\x42\xcb\x47\x53\x6e\x3d\x79\x15\xd3\xb5\xfe\x67\xf0\xc2\xfb\xd1\xc1\xec\x34\xa5\xf6\xc5\x0c\x89\xd2\x7b\xb3\x3e\xc4\x10\x81\xc1\x66\x4f\xae\xa3\x03\x63\x91\xe9\x55\x53\x13\xc7\xf6\x87\x7b\x1a\x23\x3b\x8b\x16\xb4\xc3\xd6\x53\x92\xf2\x2e\x64\xae\x8c\xbb\xd3\x37\x55\x96\xe4\x68\xa1\x95\x8b\x2b\x45\x9f\x32\x2a\xae\xaa\x48\x9f\x31\x7d\x29\x15\x37\x58\xf4\xc6\xeb\xaa\xf3\x99\xe0\xb5\x7d\x9f\x9c\x58\x78\xc3\x92\xeb\xa6\x3e\x23\xd0\x63\x6e\x8e\xf7\x5f\x49\xc4\x3a\x88\x7d\x96\xdf\xe7\x3c\xa5\x01\xa4\x78\xd3\x23\xa7\x97\x72\xbc\xd3\xae\x92\x6b\xa2\xf7\x37\x06\xff\xb2\x50\x0c\x94\x71\x74\xb1\x7f\x77\x75\x36\x69\x45\x99\xf3\xf7\xbb\xc5\x06\xa1\x98\x0e\xbd\x3b\xd1\xaf\x63\xfc\x62\xd2\x63\xee\xe4\xea\x93\xd0\x81\xaa\xcf\x07\x7c\x86\x7d\x86\x7c\x86\x6f\x21\x02\x10\x13\x4f\xf7\xd2\x6c\x17\x54\xe8\xd5\x8a\x32\xa8\x70\xc6\x98\xcf\xdc\x87\xd4\xf8\xf5\x8a\x4d\xca\xfb\x20\xab\x13\x76\x1d\x58\xf6\x51\x30\x1e\x44\xee\xec\x49\x18\x53\xdd\x97\xb9\x92\x1d\x3d\xfb\xe6\x3d\x8c\xdb\xfe\xd7\x1b\x79\x20\x14\x9a\x95\xa2\x5e\xb4\x69\x38\xd5\xe0\x34\xed\x7a\x71\x4f\xeb\x1b\x57\xf6\x8b\x40\xe3\x9f\xf9\x8a\x0a\xd2\x9c\x42\x9c\xa2\xb8\xc7\x1c\xac\x5c\x41\x2c\x20\x47\x41\x19\xe0\x67\x4a\x9d\xae\x8f\x70\xff\xe1\x33\x74\x87\xd8\x9f\xee\x1a\x86\x5a\x05\x40\xad\x42\x17\x08\x83\x10\x44\x00\xfc\x5f\x00\x00\x00\xff\xff\x8f\x99\xf5\x9a\xe4\x0a\x00\x00") +var _webdataIconWoff = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x6c\x78\x67\x50\x13\x4e\xdc\xf4\x85\xd0\x03\x62\x90\x0e\x42\x00\xe9\x45\x5a\xa4\x23\x52\x05\xa4\x23\x1d\x49\x28\x01\x21\x74\x50\x50\x40\x6a\x42\x09\x2a\xd2\x7b\x91\xae\x54\x41\x41\x8a\x91\x5e\x04\xe9\x48\x55\x3a\x82\x34\x51\x9a\x22\xef\xe8\xff\x7d\xbe\x3c\xf3\xfc\x76\x76\x6e\xe6\x66\x67\x6e\xf7\xee\x3e\xed\x7d\x43\x2d\x2d\x43\x33\x33\x43\x00\xe0\x2d\x00\x06\x00\x00\x88\x46\x00\x01\xff\xe7\xa8\x6b\x69\x21\x00\x80\x16\x01\x40\xdb\x03\x00\x5b\xaf\xd5\x3a\x7d\xa5\x96\x96\x99\x3e\x00\xf0\x28\x00\x00\xc7\x5f\xe2\xf8\xd2\x65\xb4\x35\x34\xb5\x00\x80\x63\x01\x00\x2c\xff\xf6\x19\x01\x83\xa1\xe9\x55\x29\x00\x20\xae\x00\x80\x5b\x00\x00\x94\x9c\x84\xa3\xbb\xa3\x07\xda\x1b\x00\x92\x3d\x00\x40\x36\x00\x90\xcd\xfb\x5f\x21\x2c\xae\xce\x68\x27\x00\x20\x94\x00\x80\x6b\x7f\x49\x1f\xe9\xc9\xee\xea\xea\x8c\x06\x00\xa2\x0a\x00\xe0\x04\x00\x5c\x21\x5f\x82\x26\xba\x7a\xf8\x07\x02\x00\xcf\xff\x9f\x73\xa9\x2e\x43\xd8\x3d\xd0\x81\xde\x00\x40\x50\x00\x00\xf2\x7f\xa4\x31\x02\x9e\x68\x0f\x67\x00\x20\xf5\x00\x40\x14\x01\x20\xa1\x6d\x7e\x61\xe9\xea\xed\xe5\xe7\x0f\x00\x94\x00\x00\x60\xfa\x1b\xf8\x1c\x07\xa4\xff\x65\x86\x00\x10\x62\xe9\x56\x6e\x4f\xa7\xf4\x13\xc0\xa0\x1b\x7f\x33\x4f\xbd\xd4\xf7\xfb\xb7\x8e\xce\xbb\x03\xf8\x79\x09\x74\x9c\xa4\x0e\x00\x40\x09\x48\xfe\xbb\x93\xc0\x6c\x47\x94\x13\x0a\x35\xf3\xe3\x11\xab\x3a\xc3\x01\x8c\x1c\x81\x6a\x6b\x27\xf6\x86\x51\xa7\x83\xfb\x1a\xa4\x0f\xfe\x2a\x8c\x00\xa0\xf9\x4f\x87\x0e\x7d\x2f\x17\x1e\x9e\x12\x1e\x5e\x1e\x7f\x97\x0e\x0a\x55\xa7\x8b\xc2\x04\x13\x51\xbd\xbd\xa4\x0c\xce\xa8\x55\xa7\x30\x28\x3f\x0e\x0a\x43\x7d\x0b\x93\x99\x62\xc0\x41\xe3\x9a\xcf\xcf\x5d\xcc\x8f\xbd\xde\x5f\xec\xaa\x8f\xe5\xa6\x16\xfc\x40\x69\xf1\x12\x44\x11\xc0\xc9\x1b\x3a\xe1\xc0\x6c\xe7\xa7\x83\x6e\x24\x92\x0c\xd1\x86\xfe\xf5\xf7\x78\xed\xee\x99\xf6\x9a\x08\x49\x3b\x61\x96\xe9\x46\xa9\x23\x86\xed\xe0\xc9\xa3\x39\x84\x0e\xc1\x4d\x8d\x25\xa7\xc5\xb6\x2d\xcf\x53\x4a\x3b\xa6\x53\x4c\x08\x3e\x37\xd6\x67\x8c\xdc\x77\x37\xcd\x7b\xb7\x49\x00\x32\xdc\x2d\x4b\x3a\xb4\xc5\x79\x35\x97\x8c\xa4\xe5\x61\xd5\x22\x75\x5e\xee\xd6\xd3\xe3\x7d\x0e\xc4\xc5\x37\xb9\xec\x8d\xf0\x27\xb9\x59\x2d\x8f\x9c\x8b\x29\xab\x82\xac\x1b\xab\xe2\xc8\xac\x03\x0f\x6c\x97\xe7\xe8\x3e\x06\x10\xf6\x57\xe5\x55\xf5\xea\x95\x65\x11\x5d\x39\xeb\xfc\xbb\x79\x92\xe1\xdd\x10\x01\x16\xec\x53\xc7\x84\x67\x9e\x0a\x37\x47\x9c\x0d\xf2\x2f\x3e\x37\xcc\x7c\x8e\x8a\xee\xa2\xe6\xed\x86\x3d\x99\x76\x9f\xae\x75\x9c\xfc\xc4\xe3\x90\xd7\xcd\x49\x47\xd4\xe0\x32\xc0\x24\x55\xeb\x4d\xeb\x34\x4b\x19\xfb\xd8\x0f\xc1\x1c\x2d\x78\x6d\xba\x6a\x5f\xaf\x1a\x6c\x79\x24\x6f\x2a\xc7\xe7\xd9\xda\xdf\xb8\x89\x5c\xa6\x61\xad\xb4\xec\x17\x97\xa7\x7c\x25\xfa\xa6\x99\x0f\xbd\x19\xa7\x9b\x46\x2b\x22\xe5\x22\x59\xa8\x13\xcb\x7d\xa4\xb9\x16\xac\x3b\xac\x1e\x03\x39\x5a\x65\x4d\xdf\x2c\xcc\x76\x4b\x72\x91\x8a\x4d\xe6\xe8\x77\xe3\x30\x1d\x85\x51\xa0\x9d\xf7\xf3\x92\xc8\x5c\x58\x38\x4e\x90\x2e\x76\xab\xc9\x3c\x69\x2f\xca\x2d\x9d\xd6\x1a\x0b\x62\x4c\x7c\x8a\x92\x9f\x3d\x62\x0c\x85\x94\xa9\x1a\x7c\xfd\xf7\x0e\x28\x94\x33\x0a\x85\x22\x77\xb8\x8c\xc0\x40\x96\xe8\xc9\xb5\xc8\x2f\x06\x92\x30\x38\x93\xc6\x4b\x4b\x7b\x87\x77\x59\xb1\x28\x85\xc9\x70\x41\x29\xa0\x97\xa0\x59\x4b\x9e\xce\xb4\xab\x47\x6e\xe4\x9b\xf1\xc8\x94\x3f\xe7\x2e\x28\x70\xf0\xb9\xfd\xf8\x68\x6e\x67\xee\x2d\xef\xbd\x83\x99\x84\x64\xf7\x8f\xf9\x6b\xdc\x80\x2e\x5d\x34\xec\xbb\x9c\xea\x03\x6e\x96\x22\x13\x2b\x68\x44\xf8\x3d\x09\xc1\x77\x64\x4b\x47\x17\x8f\xca\x59\x55\x25\xa0\xec\xd0\xc8\x53\x07\x4a\x0c\xca\x05\x35\x6c\x16\x81\xca\x97\x27\xd8\x4f\xbf\x4f\x0f\x0f\xbf\x74\x33\x52\xa2\x77\x5e\xf5\x43\x6f\x77\xd8\x62\x4c\x22\x39\x68\xa9\xe2\xb1\xfd\xeb\x0d\x03\x22\xcf\x07\x69\xb4\x54\xe3\x12\x21\xb4\x00\x08\xde\x86\x34\xfd\xfd\x3b\xad\x56\x54\x81\x66\x9a\xf4\x55\xb2\x49\x7d\xb7\x2e\x3c\x7b\xfa\x14\xf8\x5e\xe1\x16\x2c\x23\xe5\x0e\xa3\x67\xee\x85\xd2\x7e\xa1\x8d\xab\xfb\x22\x10\x97\x9f\x2d\x29\xca\xcf\x91\xb8\x5c\xc9\x85\xc0\xa8\x42\x9c\x57\x7d\xc9\x92\x27\x44\x61\x3c\x4b\xbe\xf2\x7b\x1a\x2a\x96\xdc\x6a\x8d\x8c\x6a\x1a\x08\x2e\x12\xb7\xa7\xbc\xd2\x3a\x98\x3b\x5e\x67\x67\x6b\xfa\x8d\xf7\x9e\x7f\xe6\x0c\x0e\x46\x4e\x04\xfc\x9b\x9f\xf1\x6a\x68\x74\x91\x60\xdc\x72\x38\x77\xd3\xd5\x44\x07\xde\xe8\xd1\x90\xda\x95\x66\xfd\xfd\x86\xba\x13\xeb\xd9\x90\x84\x76\x8c\xa6\x88\xde\xcc\xed\x27\x65\x9b\xab\xae\xba\x02\x0e\x59\xf4\x5d\x48\x3e\xaf\xb3\x92\xe4\x49\x99\xf2\x2b\xb9\x0e\xf9\x4b\x85\x96\xba\x85\x98\xf1\x67\x3b\x45\x34\xfd\x45\xa2\xfd\x25\x78\x57\x0e\xc6\xe1\xe4\xdf\x69\x5a\x4e\xf5\xbb\x23\xd0\xeb\x97\xa5\x14\x06\xf2\xbe\xfd\x1a\xcc\xc3\x1e\x94\x0a\x84\xee\xec\x0c\x5f\xb8\x7e\xe4\xbf\x1b\x96\xf7\x81\x40\xf8\x7d\xa8\xac\xd8\xd0\xac\xdd\x7e\x8b\xaa\xf9\x73\x9a\x22\x66\xe9\x13\xbc\x03\xb7\x5e\x5c\xcf\xe9\xfb\x50\x57\xab\xf9\x30\xc7\x34\x37\xf8\x2e\xf6\xcf\xb0\xf8\x49\x98\x9b\x67\xe8\xc2\xc6\xdc\x9c\xb1\x07\x7e\x65\xcd\xbf\xc3\x61\x25\x22\x26\x79\x2a\x39\xa3\x7f\x4b\xb7\x60\xc9\x1c\x23\xf4\x2a\x45\x36\x59\x36\x45\xbe\xdf\x36\x0e\x37\x2b\x86\x85\x6d\xcf\x72\xf0\x66\x27\x0e\xb5\x56\xa5\xb3\xdc\x9f\x3b\x3c\x16\xda\xe7\x8b\xe5\x7c\xd3\x93\xb6\x6d\xac\x94\x5b\x11\xc0\xd9\x2c\x50\xfe\x36\xb1\xba\xd7\x95\x61\x67\xff\x89\xe1\x0f\x67\x8b\xca\x03\x17\x45\xc7\xa8\xc6\xb9\xc0\x8a\x7c\x15\xdd\xfb\x05\xdf\xe6\x27\x68\x3e\x31\x69\x0e\xaf\x8b\x51\x48\xe9\xda\x7c\x53\x93\x4f\x52\x6f\xbf\xe6\x14\x9d\x29\xd8\x89\x7e\xc2\x1f\x35\x62\xc8\xb8\x14\x4f\x71\x33\x26\xef\x15\x8b\xe2\x9a\xcb\xcc\x89\x03\x67\xa8\x59\x5e\xad\xb2\x48\xc6\x6b\x74\x93\x78\x27\x81\xe9\xad\x4d\x4c\xd7\x57\xe1\x0e\x68\x9c\x70\x59\x28\x2b\xcc\xe3\xce\x90\xe5\xb3\x9c\x93\xcf\x58\xc7\x97\x21\xd7\x69\xe3\x08\xfa\x4a\xe2\x8c\xc8\x1b\xea\x74\x4f\x6d\x8c\xd8\x23\x27\xbe\xfe\x71\xf1\x37\x4d\xb4\x0e\x98\x28\x2e\x8c\x47\x3e\xa9\x35\x3b\xbc\x30\xc8\xdd\xd9\x77\x86\x2d\x77\x60\x8d\xac\xde\x75\xd2\x63\x9e\x7a\x95\x28\x25\xcb\xff\x47\x94\xc4\xbb\x0b\xf6\x72\x46\x28\x55\x40\xe5\x50\x6e\xeb\xfe\x23\x03\xe9\xae\x72\x2b\x85\x8c\xa5\x64\x1f\xa3\xe5\x58\x93\x83\x4f\x86\x0f\x6a\x4c\xa2\xe5\xb2\xb8\x1a\x2d\x91\x5d\xe5\xab\xc2\xdd\x99\x0d\xe8\x1c\x39\xb9\x24\x9f\xa7\x62\x93\x5b\x83\xf5\xe3\x69\x05\xc7\x5f\xac\x04\x2f\x04\xc7\x0b\x2c\x38\x4b\xbc\x5b\x65\xbb\x87\x19\x60\x3b\x96\x7f\x70\xf1\xc5\x67\x15\xda\x50\xf3\xf3\x14\xab\x7e\x33\xcc\x6d\xe8\xf1\x47\xee\xa7\x6c\x3a\xe4\x7a\xe6\xd8\x2f\xfb\x8f\xf9\x57\xca\x8a\xa9\xeb\x04\xd4\xb2\xf1\x2b\x81\x26\x64\xea\x01\x54\xc5\x0b\x9a\x98\x6a\x3d\xa7\xac\x95\x46\xe6\xf1\x9f\x4a\xf8\x65\x78\x4c\x8f\x44\xc9\xad\xb0\x40\xfe\x26\x52\xe5\xce\xc7\xc2\x3f\x53\x6f\x98\x50\xb1\xee\xe7\x39\xeb\xe0\x4b\xac\x39\xef\x8a\x0a\xdd\xbb\x52\x8b\x99\x83\xa6\xb7\x3e\x90\x25\x10\x3a\x3a\x45\x58\x48\xd9\x1c\xe2\x20\x2c\xb9\xe1\x2b\x8b\x2e\xd3\x1f\x8d\x91\x34\x51\xef\x43\x29\x21\x39\xca\x5c\x3e\x12\xa7\x69\xb5\x2b\x04\xc5\xc0\xdc\x3b\x21\xe9\xad\x72\x49\x8e\xbc\xbf\xc7\x6a\x28\x26\xa0\x19\x7c\x06\x0e\xd3\x63\xac\x31\x26\xbe\x5d\x1f\xae\xaf\x35\x6c\xff\x98\x51\xa2\x59\xfe\xdc\x2c\x9a\xf8\xe5\x5c\x67\x21\x82\x29\xed\x92\x46\xbf\xca\x67\x9d\xa1\xc6\x31\xba\x57\xdd\xd3\x86\x13\x88\x2f\xe8\xba\xeb\x1f\xef\x8e\x0a\xf5\x39\x98\x24\x19\x4e\xac\xdd\x66\x6e\xe7\x73\x18\xd5\x27\x76\x38\x71\x0d\xe8\xbd\x15\x12\x4e\xb1\x6c\x0d\xfa\xb2\xdc\x43\x6f\xca\xd3\x7a\x39\xc9\xed\x46\x50\x60\xc4\xb0\x89\x18\xf6\xae\x9b\x53\xfe\x0d\xfd\x9e\xad\xe8\x08\xe2\xb9\x81\xfe\x1b\x0d\x7b\xce\x81\x5a\x63\x6d\xee\xc8\x9a\xe0\xd7\xb6\xa6\x31\x9f\xd6\xb6\xfa\xb6\x73\xbe\xcb\xde\xac\xed\x1d\x3c\x0b\x5a\xb4\x18\x29\xbe\x50\x9f\x34\x90\x63\x61\x45\x95\x98\xd5\x43\xf9\x10\x7f\xd9\x85\x4c\x4c\x3f\x64\x5e\xfc\xdb\xec\xa3\xe1\xa8\x4a\xd4\x9b\xee\xf0\x0c\xdb\x92\x5a\xee\xab\xdf\xed\x28\x5f\x9b\x47\x43\x85\xc2\x39\xa4\x3a\x56\x99\xba\xc3\x2d\x64\xd0\x1f\x6c\x8b\xa8\x8b\xfd\x14\x8b\xd0\x28\xd1\xd9\x86\x2e\x1e\x78\xdb\x62\x53\xb2\x62\x8d\x10\x7b\xd0\x58\x19\xdc\x2b\x73\x6a\xd0\xb6\x3f\x02\xa9\xf8\x72\xbe\xd2\x66\x72\xee\x4a\x65\x02\xbe\xe1\x4d\xc0\xeb\x49\x63\xeb\x87\x19\x6a\x93\x1b\x5a\xee\xaf\x04\x9d\xf4\x5b\x17\x32\x29\x5d\x3b\x64\xee\x48\x09\xdd\x6a\x94\x49\x4e\x12\xc7\x50\x45\x71\x7c\xbb\xd1\x79\xc7\xdc\x3f\x77\xdd\xaf\x80\xc0\x55\xdc\xdf\x27\x11\xa4\x22\x95\x21\x3d\xf9\xec\x51\x9a\x27\xcf\x79\x84\x78\x1a\xf5\x49\xac\x49\xae\x99\xb4\x2e\x43\x9b\x0a\x0b\xc2\xf7\xe7\x35\xe5\x45\xe9\xef\x6e\xc2\xda\xc6\xf4\x45\x45\x0c\x52\x7f\xbd\xf1\x61\x4d\x99\x6b\x4a\x47\x03\x4c\x6f\xb3\x25\xae\x15\xa1\x53\xfd\xbb\x28\xdd\x86\x9d\xdc\xbc\xb3\x04\x2b\x75\x5c\xb3\xfe\x6c\x93\x47\x47\xec\x71\x29\x7e\x65\xd2\xcd\x62\xcd\x6c\x0a\x75\x5c\xbf\xf3\x92\xc3\x18\xde\x46\x5e\xc1\x2a\x44\x5d\x6d\x3e\xb8\x61\xfc\xc3\x41\xbf\x9f\xd9\x0d\x13\x9c\x90\xd3\x5c\x9d\x64\x5f\x88\x5b\x09\x30\xfd\x33\x83\x58\x49\x6a\x2a\x65\xf8\x93\xe2\xb6\x23\x3d\x76\xdb\x6f\x37\x5a\xee\x79\xc6\x09\x82\xa0\x5e\x91\xc1\xcb\xe3\x1d\x3e\xc5\x2d\x4d\x91\x84\xfe\x9e\xd1\x9b\xf7\xe2\xe5\xf4\x8f\xcf\x58\x8f\x44\xe1\x34\x6a\xf7\x31\xb7\xca\xb3\x01\xda\xba\x62\xb2\x8f\x89\xf9\x73\x75\xfb\x93\xe6\x0d\x82\x55\xf3\x15\x1d\x9f\x2a\x22\x95\xec\x27\x48\xc3\x04\x90\xee\x2e\x17\x3e\x2b\xd9\xff\x64\x3f\x30\x14\x59\xcc\xc7\x30\xf2\xe6\x0e\x71\x88\xea\xbc\xbf\xcd\xf4\x93\x74\xf6\x60\xd0\x74\x35\xdd\x2e\xef\x41\x1a\x1f\x1f\x89\x15\xb6\x3f\xb5\xaf\xea\xd4\x65\x59\xb5\x64\x99\xb2\xe0\x77\x5c\x9e\xdc\x75\x6c\xed\x84\xb5\x49\xfc\xcd\x1b\xaf\x06\xf6\x06\xd2\x02\xa6\xfd\x94\x2c\xf2\xcc\xcc\x15\x48\x7f\x4d\xa1\x74\x23\x2f\xb5\x2f\x3c\x4f\x37\xbc\x75\x2f\x3b\x37\x9d\x49\x48\xe3\x87\x12\x92\xf0\xc8\x23\xe9\xf6\x92\xbd\xc1\xe8\xf8\xec\x89\x78\x1e\x83\x76\x8b\xad\x64\x52\xc4\x00\x3c\x1a\x4c\xc4\xbc\x66\x4f\x67\xf6\x39\x66\x55\x87\x46\xff\x61\xa8\x09\x63\x2a\x94\x2c\x9b\x86\xca\x73\xa8\x9e\x93\xfa\xa9\xb3\xb4\x44\x9e\x95\x53\xe0\xe8\xc8\x85\xc3\xed\x48\x1a\x11\x77\x25\x8c\xa8\xf6\xee\x87\xd1\x21\xea\xe0\x04\x67\x16\xcf\xae\x3d\xbb\xaf\xb8\x1f\xaa\x24\x12\xe2\x93\xa3\x72\xb0\xe8\x63\x0a\x5b\x41\x12\x17\x59\x22\x7e\x58\x7d\x29\x8e\x91\x58\x15\x76\x78\x09\xc7\x48\x6c\xa3\x30\xa7\xda\x73\xbc\xe9\x08\x5f\xd1\x55\xb5\x51\x7d\xbf\xcd\x74\x80\xbe\x0e\xb4\x18\x71\x48\x96\x3b\xc6\x95\xb7\x2d\x24\x31\x1f\xde\xb7\xad\x84\xf9\xa4\xe2\x91\x3d\xb5\x16\x59\x4f\x33\x07\x13\xf9\xae\x7d\xe5\x33\x11\xbb\x25\x6e\x4a\x3b\xe2\x0d\xbf\xa4\x70\xa9\x96\x61\xd1\x13\x2f\x9f\x16\x31\x0f\xaf\x77\x26\x3a\x20\x02\xd9\x2c\x79\x3f\x04\x01\x4b\xd1\xc6\xd2\xa0\xae\xfa\x4d\xba\x2b\x84\xe7\x7e\xce\xe2\x85\xf3\xf9\x27\xa8\x69\xd6\x1f\x76\xc4\x89\xc0\x6d\xaa\x8c\xd3\x1a\xb4\x53\xd8\x18\x59\x96\x2f\xfd\x94\x27\x31\x7e\x68\xa0\x19\x72\x17\x7f\x58\x58\x91\x86\x3b\x08\x8f\x32\xeb\x7e\x9f\xbc\x0d\xb7\xbc\xfc\xb8\xff\x4c\xd4\x0d\x76\x0a\xfb\x45\xf1\xb3\xc9\x7d\x43\x56\xfd\x90\x59\x1e\xc5\xda\x98\x84\xab\x75\x3a\x76\x34\x0a\xf8\xa6\x61\xa3\xf5\xa6\x6f\x33\x8a\x2f\x60\x6c\x50\x03\xcd\xf6\x9b\x0f\xcf\xe9\x89\xa1\x32\x66\x67\xd5\x7f\x59\x4a\x3b\xb9\x3d\x25\x76\x4b\xb8\x7b\xa0\x85\xa4\xf2\x6e\xaf\x46\xb0\x77\x4f\x4c\x37\x68\xa6\xb4\xae\x72\xf3\x44\x18\x1b\xb8\x8e\x7a\x97\x43\x06\x12\xa7\x46\x87\x22\xae\x51\xb1\x95\xe6\x1b\x03\x91\x1e\xc9\x9e\x40\x65\x4b\xee\x18\x37\xc9\x89\x76\x6f\xd1\x93\xbc\x39\xd9\x8c\x15\xc4\x4c\x5f\x61\x9f\xa9\xaf\x5a\x83\xad\x1c\xf5\x8e\xa0\x20\xd7\xfb\x4e\x5e\x19\xe9\xf5\x58\x36\xd5\x65\xfa\x1a\x06\x94\x8a\xf7\x25\xe2\x19\xd3\x90\x12\x34\xa1\x23\x5f\x99\x56\xe4\xd7\x0d\x76\x84\x34\x4d\x3d\x8b\xf7\xd5\xc8\x49\x23\xda\x11\x94\x73\x29\x66\xf0\xb0\x78\xee\x2a\xca\x86\x18\x72\x43\x61\x5b\x80\xd5\x5f\x3a\x28\x96\xa7\xde\xdd\x75\x36\xbc\xef\x8f\x1e\xc5\x24\x17\xb9\x32\xf1\x34\xfc\x57\xfc\x1c\x05\xca\xe5\x8b\xbf\x9f\x94\xa1\xc8\x58\x7e\x2d\xed\x21\x27\xa9\x87\x88\x6b\xeb\x8d\x03\x55\x71\x9b\x86\x54\x2b\xba\x57\x39\xf8\x14\x0d\x65\x0d\xe8\x7d\x3e\xff\x91\x59\x98\x0c\x7e\x9c\xd9\x7c\x01\x9f\x82\x5f\x95\xac\x22\x19\x29\xc8\x5c\x27\xf4\x16\x5b\xed\xe8\xcd\x08\x53\x2e\x50\xa4\xa4\x48\x24\x58\xe0\xee\x96\xc0\x6a\xfc\x9e\xc6\x87\x6b\x09\xad\xb0\xa9\xed\x64\xbb\x69\x6e\x99\x7a\xcf\x76\x64\x18\x12\x5b\x61\x6c\x5c\x5b\xe6\x52\xb9\x14\xb2\xd4\xf5\xbb\xbd\xd6\x25\x3a\x91\x3b\x8a\x44\xa7\x2c\x29\xae\x43\x05\x90\x05\x9b\xf7\xff\x5a\x2f\x93\x43\x23\x5d\x4d\xe2\x0e\x4b\x31\x0c\x43\x62\x5e\x9f\xdf\xbd\x90\xfd\xac\xcd\xa8\xc7\x27\x9b\xa2\x58\xe6\xe6\x10\x9f\xc8\xbb\x75\xa2\x93\xe3\xad\x40\xfa\x39\x6f\x6f\xbd\xfc\xcb\x3a\x4c\x83\x90\x19\x81\xe1\x98\xe8\x6e\xb6\xc1\xb8\x35\xb6\x61\x9e\xf7\xca\x37\xcc\x13\x85\xf8\x07\xe2\x8a\x0a\x78\x62\xe4\x7d\x85\xe8\xa1\x83\x64\x03\x5e\x6e\xef\xab\xfa\x94\xae\x4a\xad\xd3\x8a\x45\x95\x7b\xaa\xd4\xdb\x77\xfa\x24\x9e\xd4\x45\x78\xdd\x98\xcd\x4c\x94\x5b\x45\x9f\x59\x4e\x58\x96\x51\x3d\x32\xbe\x66\x91\x91\xc3\x6e\x85\xfe\xda\x11\xec\xee\x5c\x34\x50\xb5\x49\x22\xac\x2e\xf9\x12\xeb\xd8\xb3\xad\xbf\x47\x5a\x27\x0f\x29\x0f\xd8\xf8\x5d\x56\xe0\x38\xaf\xbb\x0e\xb3\x7c\x29\xc1\x7f\xa0\x9c\x72\x58\x51\x93\x30\x13\xac\xe9\xf0\x7b\xf8\x43\x93\x91\x27\xfc\xfe\x51\x5a\xba\xdd\xa7\x53\x7b\xa3\x68\x8f\xca\x08\x9b\x93\x6e\x26\x85\x0c\xba\x76\xf8\x60\x2c\x9e\x2c\xcd\x9b\xda\xf4\x7d\xc7\x8b\x51\xc9\x8b\x97\x76\xd4\x06\xea\xbd\xd9\x73\xb9\x42\xb4\x0b\x6e\x3d\xee\x9e\x89\xa6\x0a\xf4\xfb\x1d\x2b\x38\x1b\x6b\x2e\x5a\x31\x59\x47\xfb\x4b\xde\x6e\xd4\xf2\xe0\xb1\xed\xe1\xf9\xb0\x6d\xe8\x94\xc4\x6d\xe9\x2e\xa1\xdf\xc6\xd4\xe6\xd4\xbf\x82\x84\x2e\xf4\x4d\x78\x49\xbf\x7d\xa0\x82\xd7\x6b\x69\xb4\x6d\xdb\x7f\x39\x34\x8f\xdd\x1e\x69\x83\x6d\x3e\xc3\xad\x6d\x77\x0f\xa9\x58\x09\x26\x68\xf5\xa7\xba\x71\x51\x46\xd6\xc6\x1c\x21\xc6\x61\x2f\x82\xf5\x96\x3d\x24\x9f\x9d\x55\xec\xd9\x53\xef\x79\x84\x98\x42\xc7\x8b\x91\xed\xaa\x17\xc4\x17\x0b\x31\x22\xbf\x58\xbb\xe9\xcc\x42\x1b\xb9\x57\x72\x3e\x69\xee\x3b\x58\x8c\x9f\x4c\x78\x49\xa3\x7f\xda\xf8\x7e\xd4\x47\x30\x97\x92\x4f\x89\x4d\xf1\x59\x08\x4e\xf5\xcb\xa4\x11\xc2\x08\xd1\xbc\x2c\x22\xac\x30\x56\x11\x56\xe4\x30\x8b\x6a\xdd\xae\xab\x5a\x51\x22\x12\x96\x97\x38\x85\x6b\xb0\xc2\x88\xee\x6d\x2c\x5e\x16\x99\x68\xf7\x6a\xcb\xe8\xce\x38\xa9\xab\x75\x83\xb5\xe7\xd5\xaa\xb6\x8c\xb8\x5f\x43\xa5\x3c\x0f\x90\xb5\xde\xb2\x82\x31\x53\xad\x8e\x9c\x31\xcb\xdb\xd1\x8b\x53\x17\x64\x1f\xcf\xb3\x36\x1b\x19\xf8\xc1\xeb\x19\xbf\x15\x76\xa6\xce\x21\x2a\x13\x50\x57\x71\xef\x62\x09\xfb\x03\xea\x87\x30\x8e\x6f\xb1\xa2\xdd\x7f\x28\xde\x6e\xd2\xd7\xbc\x2b\x7e\x98\x6e\x79\xda\x30\x57\x93\x5a\x41\xea\xe9\xcf\xdf\xe2\xdf\x23\x69\xf7\x38\xc8\x0f\x46\x6d\xe5\xf6\x80\x93\x28\x77\x29\xf2\x77\x25\x03\x69\xa3\x8f\xc6\x2a\x57\x81\x1f\x43\x7d\x6a\xe3\xfa\x98\x42\xbb\xaf\xa4\x49\x8f\x0f\x4d\xea\x58\x20\x2d\xdc\xda\x28\x9b\xa3\xb8\xc2\x89\xa8\x90\xab\x45\xf6\xca\xaa\x95\x38\xb8\xa0\xcf\x25\xb2\x6c\x2e\xdc\x4a\xb5\xf9\xc5\x40\x6a\x3b\x0c\x5e\x7f\xe1\x8b\xc4\xba\x93\x70\x46\x90\x3e\xdc\x54\x66\x4c\x8c\xa9\x27\x45\x42\xd9\xfe\x55\x89\xa0\x8c\x24\xbe\xe9\x1a\x58\x28\x89\x29\xcf\x6c\xba\x47\xb0\x93\x62\xc1\xca\x77\xc4\xc5\xb0\xe2\x74\x69\x63\x3d\x34\x29\xcd\x0f\x64\x44\x78\x82\x18\xea\x85\x49\xca\xb1\x13\xb8\xd2\x77\xef\xb8\x1d\xa9\x33\x93\x32\xe3\xd7\x90\xbe\x3f\x87\xba\xa6\x76\xb2\xf3\x1b\x7b\x4c\x49\x69\xd7\x52\xd5\x82\xd7\x02\xd5\x87\xf7\x02\xaa\xaf\x6c\x4c\x79\xb8\x88\x1f\x09\x2f\xad\xb2\xe9\xb6\x20\xa5\x0a\x56\x5e\xf7\x46\x5d\xaa\x3c\x7e\x13\xb0\x52\xfd\x46\x50\xd0\xdd\xbb\x20\x5a\xd9\xbe\xfd\xd3\x87\xfe\xa8\x25\x77\x17\x63\x4c\x61\x3a\x57\x1e\xae\x48\x72\xc5\x2e\xfa\xcf\x08\x0b\x38\xb2\xf0\xa3\x24\xd8\x0e\x6b\x39\xec\xb3\x0f\xa7\x27\xe3\xb9\x35\x52\x5e\xd4\x58\x9f\xc0\xd7\xed\xba\xc5\x3f\x6a\xd9\x36\x09\x53\x5e\xbd\x1f\x3f\x0e\x99\xae\xa3\x32\xc4\xaf\xa9\x5b\x36\x97\xd1\xe4\x7c\xfa\xce\x41\xa4\x1b\x86\xe7\xda\x0e\x8d\xa7\xe4\x58\xfa\x18\x4a\xdf\x7c\x90\xa8\xdc\x78\x39\x44\xcc\xfb\x70\x27\xaa\x6b\x8c\xe3\x8e\x05\x23\xff\x46\x64\xfd\xa6\xfc\xb3\xe9\x52\x36\x5e\xcd\xf6\xf3\xce\xdf\x40\x05\x2b\x67\x1c\x8c\x25\x7e\x6b\xd4\xbb\x7c\x7d\xaf\xc6\xb4\xf6\xb1\xd7\x3d\xac\x80\xb3\x04\x5d\xde\x19\x4c\x1a\x0b\x63\x69\xb1\x2c\xb4\x71\xb9\xae\x39\xb9\xc1\x80\x4c\x57\x98\x2b\xdd\xa3\x79\x33\x2e\xb0\xde\x40\xd2\xf7\xa0\x12\x7c\x3c\x56\xda\xa2\xeb\x98\xfb\xdc\x80\x99\xf1\x0b\x49\xff\x35\x41\x7a\xeb\x5a\x4c\x84\xfc\xc5\xd4\xd8\x1c\x2f\x58\x29\x3f\x8f\x73\xbf\xa4\x3a\x6b\x9d\x3b\x47\xdb\x29\xa3\x21\x31\xa9\x63\x83\x5a\x98\x19\x89\xf6\xd7\x76\x3d\xc7\x79\x0f\xac\x39\x49\x44\xb4\xf8\x50\x3c\x19\x88\xbf\xe8\x74\x95\x70\x1c\x0f\x8f\xfc\x95\x48\x88\x12\x0a\x7d\x82\x58\xbe\x52\xfc\x03\x85\x55\xcc\x33\x8a\xd3\xde\xb8\xf6\x08\xbf\x57\xc5\x15\xe5\xd7\x22\x94\xd6\x25\xe2\x7d\xee\xb5\x58\x21\x60\xb0\x34\xb7\x4b\x64\x40\x06\x3e\x39\x9e\xe1\xe9\xad\x96\x7c\xee\xcb\x12\x91\x8d\xa3\x52\x51\x9b\xcd\x4c\xc0\x2d\x8d\xe3\xbf\x2f\x4e\x5e\x6e\x88\x60\x87\xfb\x2a\x43\xf6\x31\x65\xc7\x63\x41\x1b\x9d\xbc\xc8\xca\xb0\xda\xdc\xb2\x71\xaa\xb2\xac\x27\x21\x8f\xa9\x67\x77\xef\xc7\xcc\x98\xee\xbe\x92\x5e\x7f\x2c\xf1\x62\xf7\x08\xbb\xbd\xc1\xb3\x76\xd4\x46\x06\x6f\x77\xba\x10\x4c\x5a\xbe\x10\x6f\x9d\x19\x77\x20\x70\xf5\xc5\x40\xcc\x30\xcb\x0f\x4b\x7b\x56\xb6\x67\xad\xc9\x49\x67\xda\x06\x87\x26\x06\x87\x9b\x3a\xb4\x73\xb1\x3b\x1b\xbd\x8e\x89\xb9\x27\xbb\x41\xeb\x9a\xda\x0f\x15\xb5\x82\xe2\x52\x3f\x64\x35\x78\xe4\x1d\x25\x6c\x3c\xd0\x17\x12\x0b\xe7\xd9\xdb\xbe\x7f\xd1\xc3\xec\x81\x88\x36\x76\x00\xbb\xbe\x6d\xf0\x4b\xf0\xd7\xe4\xf7\x17\xd5\xd9\x0a\xd7\x75\x1a\xce\xf5\xed\x8b\x0a\xff\xa4\x95\x9c\xdb\x7f\xd6\x0b\x9d\xd0\xce\x29\x53\x38\x1e\xcd\x79\xab\xd2\x4e\xb5\x1f\x60\x35\xaf\xd2\x91\xf3\x36\xf8\x71\xc5\x56\x52\xcc\x06\xae\xf4\xf4\xa9\x08\x8d\xed\x93\x67\xb3\xc6\x69\x2e\xdd\x0b\xfe\x15\x8a\x99\xa5\xfd\xde\x0d\x5c\x2b\xa5\x11\x81\x85\x4b\xef\xbe\x17\x50\x8a\x48\x5a\xa3\x8b\x8f\xa5\xc3\xc2\xab\x71\x18\x21\x62\x80\x18\x39\x8a\x2f\xcb\x88\xab\xff\xc9\x97\xb8\xfd\x82\xaf\x74\x57\x0a\x38\x3b\xa5\x47\x66\xb9\x90\x6b\xda\x9c\xa7\x6f\xdb\xe9\x27\x1e\xc5\xed\x87\x04\x36\x68\xdc\xd2\xb2\x4a\xd0\x66\xfd\xd4\x9a\x61\x6b\xfc\xdb\x26\xc2\x70\xaa\xcd\xc6\xd2\xeb\x9c\x97\x70\x16\x41\xa7\x88\xc7\x49\x51\x12\x20\x8e\xd4\x06\xbc\x6d\x6a\x81\x23\x03\x0a\x79\x6a\x28\xa8\x5b\x19\x07\xc3\xe2\x92\xbf\x79\xfe\xcd\x40\xd4\x75\xb6\x3e\x6a\x54\x07\x17\xc2\x96\x96\xea\x40\xc0\x49\x72\x71\xe7\x2e\x56\x88\xbe\x78\x71\xc1\xb9\xd1\xa1\x79\x3c\x5f\xd4\x7f\xfd\xb5\xb5\xed\x63\x67\x7c\x33\xad\xe6\xdd\x8d\x0f\xd6\x19\x7e\xb5\x76\x0f\x47\xe4\x11\xfc\x13\xd5\xf9\x51\x8f\xe2\x2f\x0b\x1b\xaf\x36\x77\x33\xfe\x34\x64\x22\x19\x68\xfa\xaf\x2b\x08\x03\x9c\xe4\x70\x72\x26\xc4\x20\x69\x27\xe1\x22\x0d\x20\x19\x00\xc2\xff\x35\x0f\x00\x4c\x96\x78\xdc\xfe\xdf\x9d\x03\x74\x03\x00\xe8\x06\x68\x01\x0c\xff\x1f\xc5\x00\x0e\x3c\xc0\xa5\xbf\xf8\x7f\x01\x00\x00\xff\xff\xff\x09\x4e\x2b\xbc\x11\x00\x00") func webdataIconWoffBytes() ([]byte, error) { return bindataRead( @@ -130,12 +130,12 @@ func webdataIconWoff() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "webdata/icon.woff", size: 2788, mode: os.FileMode(436), modTime: time.Unix(1, 0)} + info := bindataFileInfo{name: "webdata/icon.woff", size: 4540, mode: os.FileMode(436), modTime: time.Unix(1, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _webdataIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x4d\x8e\xd4\x3c\x10\xdd\xf7\x29\xfc\x79\xfd\x25\x01\x24\x10\x8b\x38\x12\x9a\x99\x05\x2b\x10\x1a\x24\x58\x56\xec\xea\xa4\x18\xc7\x36\x76\xa5\x67\xfa\x02\xac\x38\x03\x0b\x60\xc1\x1d\xb8\x0d\x27\x41\x89\xa7\x27\xe9\xa1\xf9\x59\x45\xf5\xaa\xde\x7b\x55\xae\x52\xea\xff\xce\x5f\x9c\x5d\xbe\x7d\x79\x21\x7a\x1e\x6c\xb3\xa9\xa7\x8f\xb0\xe0\x3a\x25\xd1\xc9\x66\xb3\xa9\x7b\x04\xd3\x6c\x84\x10\xa2\x1e\x90\x41\xe8\x1e\x62\x42\x56\x72\xe4\x6d\xf1\x54\x8a\x6a\x9d\x74\x30\xa0\x92\x3b\xc2\xeb\xe0\x23\x4b\xa1\xbd\x63\x74\xac\xe4\x35\x19\xee\x95\xc1\x1d\x69\x2c\xe6\x40\x90\x23\x26\xb0\x45\xd2\x60\x51\x3d\xfc\x5f\x0c\x70\x43\xc3\x38\x2c\xc0\x98\x30\xce\x11\xb4\x16\xd5\x83\x7b\x5e\x3d\x73\x28\xf0\xfd\x48\x3b\x25\xdf\x14\xaf\x9f\x15\x67\x7e\x08\xc0\xd4\x5a\x5c\x19\x3f\xbf\x50\x68\x3a\x5c\xb8\x49\x47\x0a\x2c\x52\xd4\x4a\x6e\x5d\xf9\x2e\xc9\xa6\xae\x32\x78\xa2\x22\xf5\xf0\xe8\xf1\x93\x53\x55\x4c\x6c\xb1\x79\x85\x83\x67\x14\x97\x7e\xd4\x7d\x00\x53\x57\x19\xce\x25\x96\xdc\x95\xe8\x23\x6e\x95\x1c\x80\x5c\xa9\x53\x92\x62\x40\x43\xa0\x64\xd2\x11\xd1\x49\x11\xd1\x2a\x99\x78\x6f\x31\xf5\x88\xbc\xf4\xb9\x22\x93\xf6\xae\x0c\xae\x93\x82\xf7\x01\x95\xa4\x01\x3a\xac\x66\x20\xd3\x7b\x1f\x59\x8f\x2c\xa6\xc2\x59\xa1\xae\xf2\xda\x36\x75\xeb\xcd\xfe\x56\xd1\xd0\x4e\x90\x51\xd2\x07\x74\xe4\x3a\x99\xe1\x39\x15\x9a\x33\xef\x1c\x6a\x26\xd7\x95\x65\x59\x57\xe1\x96\x53\x19\xda\xdd\xa3\x6b\xeb\x13\x9a\x63\xf6\x39\x25\x9d\x05\xd0\xdc\x91\xe7\x5c\x3b\x32\x7b\x27\xb4\x85\x94\xf2\x24\x72\x56\x89\x68\x3d\x98\x9c\x95\xcd\x8f\x0f\xdf\xeb\x2a\x07\xbf\x37\x0e\x70\xec\x7a\x00\x2d\xb4\x68\x65\xb3\xec\x60\xed\x3f\x91\x6f\xcd\xb3\x7e\x5a\x69\xfc\xb1\xc3\xed\x68\x6d\xde\xd2\x5d\x97\x5f\x3f\x1f\x77\xf9\x57\x8d\x2b\xdc\xb7\x1e\xe2\x32\xe7\xc7\x6f\xbf\x2a\xac\x67\x3d\x31\xf6\x41\x63\x3d\x3b\xe3\x0d\x43\x44\x98\x0b\xa6\x60\x3a\xcf\x03\xf8\x0f\xaf\x9f\xd0\x2d\x3d\x7d\xfa\x72\xf2\xed\xeb\x2a\xdf\xce\x74\x4c\xf3\xcf\xe1\x67\x00\x00\x00\xff\xff\x60\x0f\xb9\x90\x2d\x04\x00\x00") +var _webdataIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x55\xbb\x6e\x13\x41\x14\xed\xfd\x15\xc3\xd4\xd8\x0b\x48\x20\x8a\x9d\x95\x50\x92\x82\x0a\x84\x82\x04\xe5\xf5\xcc\xb5\x77\xc8\xbc\x98\xb9\xbb\x89\x7f\x00\x04\x42\xa2\xa1\xa0\x02\x09\x28\x68\x78\xf4\xfc\x0d\x5f\xc0\x27\xa0\xdd\x49\xbc\x1b\x13\xf2\x52\x2a\xeb\x3e\xce\x39\xf7\xe5\xd9\xf2\xda\xf6\x83\xad\xdd\xa7\x0f\x77\x58\x4d\xd6\x54\x93\xb2\xfb\x61\x06\xdc\x52\x70\x74\xbc\x9a\x4c\xca\x1a\x41\x55\x13\xc6\x18\x2b\x2d\x12\x30\x59\x43\x4c\x48\x82\x37\xb4\x98\xde\xe5\xac\x18\x07\x1d\x58\x14\xbc\xd5\xb8\x1f\x7c\x24\xce\xa4\x77\x84\x8e\x04\xdf\xd7\x8a\x6a\xa1\xb0\xd5\x12\xa7\xbd\xc1\xb4\xd3\xa4\xc1\x4c\x93\x04\x83\xe2\xe6\x75\x66\xe1\x40\xdb\xc6\x0e\x8e\x26\x61\xec\x2d\x98\x1b\x14\x37\x36\xb4\x6a\xa2\x30\xc5\xe7\x8d\x6e\x05\x7f\x32\x7d\x7c\x6f\xba\xe5\x6d\x00\xd2\x73\x83\x23\xe1\xfb\x3b\x02\xd5\x12\x07\x6c\x92\x51\x07\x62\x29\x4a\xc1\x17\x6e\xf6\x2c\xf1\xaa\x2c\xb2\xf3\x84\x8c\x54\xc3\xad\xdb\x77\x4e\xca\x22\x4d\x06\xab\x47\x68\x3d\x21\xdb\xf5\x8d\xac\x03\xa8\xb2\xc8\xee\x9c\x62\xb4\xdb\x63\x75\xc4\x85\xe0\x16\xb4\x9b\xc9\x94\x38\xb3\xa8\x34\x08\x9e\x64\x44\x74\x9c\x45\x34\x82\x27\x5a\x19\x4c\x35\x22\x0d\x75\x8e\xc0\x5a\x7a\x37\x0b\x6e\xc9\x19\xad\x02\x0a\xae\x2d\x2c\xb1\xe8\x1d\x19\x5e\xfb\x48\xb2\x21\xd6\x25\xf6\x0c\x65\x91\xd7\x36\x29\xe7\x5e\xad\x0e\x19\x95\x6e\x99\x56\x82\xfb\x80\x4e\xbb\x25\xcf\xee\x3e\x14\xaa\x2d\xef\x1c\x4a\xd2\x6e\x39\x9b\xcd\xca\x22\x1c\x62\x0a\xa5\xdb\x0d\xb8\x34\x3e\xa1\x3a\x8e\xde\xd6\x49\x66\x02\x54\x6b\x70\x1f\x9b\x37\x44\xde\x31\x69\x20\xa5\xdc\x09\xef\x59\x22\x1a\x0f\x2a\x47\x79\xf5\xfb\xc5\xaf\xb2\xc8\xc6\xff\x85\x03\x1c\x53\xed\xdc\x87\xb4\x19\x99\x46\xd1\x53\xb5\xf7\x70\x95\xd6\xca\xef\x7f\x1e\x57\xde\x50\xcf\x0d\x1e\xe9\x1b\x98\xa3\xe1\xd5\xb0\xee\x70\x25\x05\x2d\x1a\x63\xf2\x41\xac\xcb\xfa\xf2\xe9\xdf\xb2\xce\x6a\x6a\xee\x21\x0e\x23\x7d\xf3\xf5\xd4\xc6\x4e\x9a\xf0\x11\xc7\x78\xcc\x84\x07\x04\x11\xa1\x4f\xe8\x8c\xee\x9f\x70\xe4\x3c\xc7\xa2\x13\xba\xa1\xa6\x0f\x9f\xcf\x5e\x73\xb7\x9d\xab\xd9\x73\x88\xd8\x52\x04\xb9\xb7\xd6\x7f\xfb\xfd\x82\x53\x0d\x06\x56\x01\x9a\x84\x03\xc5\x8f\x0b\x52\x38\x3c\xa0\x8d\x2a\xbe\x9d\x7d\x72\x97\xef\xba\xf5\xa6\xb1\xa8\xfc\xfe\xfa\x98\xfe\x7c\x7c\xf7\xea\x82\x45\x67\x12\xdb\x10\x8e\x48\x5e\x5e\x8a\xa4\x09\x23\x8a\xd7\xe7\xb9\xc9\xb2\xc8\xaf\x56\xf7\x8c\xf5\x9f\xa5\xbf\x01\x00\x00\xff\xff\x2e\xcf\x5a\xc1\xa7\x06\x00\x00") func webdataIndexHtmlBytes() ([]byte, error) { return bindataRead( @@ -150,12 +150,12 @@ func webdataIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "webdata/index.html", size: 1069, mode: os.FileMode(436), modTime: time.Unix(1, 0)} + info := bindataFileInfo{name: "webdata/index.html", size: 1703, mode: os.FileMode(436), modTime: time.Unix(1, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _webdataMainCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x55\x6d\x6f\xe2\x38\x10\xfe\x9e\x5f\xe1\x03\x9d\xd4\x4a\x98\xa3\x2f\x27\x9d\xdc\x2f\xfd\x2b\x8e\x33\x09\x3e\x6c\x4f\x64\x4f\x36\xd0\x15\xff\x7d\x15\xdb\x84\x84\x92\x76\x17\x24\x84\x9f\x79\x7f\x66\xc6\xde\x93\x35\x9b\xa2\xc4\xea\xb4\x29\xd6\xad\xac\x36\xc5\xfa\x00\xa7\x12\xa5\x1f\xfe\x62\x0b\x4e\xbb\x66\x53\xac\x95\xc1\x00\x15\xfb\x59\x30\xc6\x58\xaf\x2b\xda\x0b\xf6\xb4\xdb\xfd\xfd\x16\x81\x3d\xe8\x66\x4f\x53\xc4\x4a\xdf\x68\x27\xd8\xee\xad\x38\x17\xd1\x7f\xb6\xad\xd1\x11\xaf\xa5\xd5\xe6\x24\x58\x90\x2e\x44\x85\x1c\x3a\x80\xab\xca\x8e\x08\xdd\x72\xf0\x52\xaa\x43\xe3\xb1\x73\x15\x57\x68\xd0\x0b\xb6\x7e\xdd\x0d\x5f\xf6\x97\xb6\x2d\x7a\x92\x8e\xde\x6e\x35\xb5\x95\x0d\x08\xd6\x79\xf3\x40\x70\xdc\xb6\xae\x79\x4c\x71\x17\x82\x54\x3a\xb4\x46\x9e\x04\xab\x0d\x1c\x93\x37\x69\x74\xe3\xb8\x26\xb0\x41\x30\x05\x8e\xc0\x27\xc1\xff\x5d\x20\x5d\x9f\xb8\x42\x47\xe0\x68\x2e\x8c\xe5\x06\xfd\x01\x82\x3d\x83\x4d\x58\x4e\xbb\xdf\x6b\x82\x84\xf4\xe8\x2b\xde\x7b\xd9\x0a\x56\x7a\x90\x07\x3e\x00\xd9\x81\x81\x23\xaf\xb4\x07\x45\x1a\x9d\x18\x8c\x3b\xeb\x46\xd2\x96\xf3\xfd\xc6\xd0\xc8\x12\x4c\xb6\xce\x09\x35\x5e\x9e\x92\x2d\xc1\x91\x78\xd8\xcb\x0a\x7b\x11\x81\xe1\xc3\x9f\xda\x63\xfa\xd9\xb1\xd2\x48\x75\xd8\x8c\xa2\x65\x49\x44\x17\x6d\x26\x82\x14\x18\x5b\xa9\x34\x9d\x04\xdb\x6d\x77\xff\x4d\x18\xec\xf3\x80\x95\x68\xaa\xe9\x80\x71\xc2\x56\x30\xd9\x11\xce\xd0\x12\x89\xd0\x4e\x05\xb1\xa2\xd8\xc2\xc5\xfe\xbc\xfa\x4b\x83\x16\xda\x71\x2e\x8a\x77\x0b\x95\x96\xec\xc1\xca\x23\xcf\x5b\xf0\xf2\xec\xc1\x3e\x66\x26\x6f\x99\xbd\x09\xf1\xf4\xf2\xa3\x4f\x21\xce\xb1\x0f\x75\x67\x4c\x50\x1e\xc0\x8d\x53\x7f\xd9\xbe\x11\x98\xed\x84\x07\x83\x32\x1f\x17\xf7\x81\xbc\x74\xa1\x95\x1e\xc6\x45\x40\x5f\x81\x17\x91\xee\x80\x46\x57\x53\xca\xc7\xdd\xdd\xfe\x3b\xd6\x9f\x2a\x1b\x07\xf6\xfb\x21\xfe\xf3\x62\x2e\xd9\xc7\xd4\xc6\x86\x39\x74\x0b\xde\xe6\xfa\x06\x6a\x9a\x6a\xcf\x03\xcd\x75\x7d\xaa\x2f\x29\x4f\x86\x24\xf9\x48\x23\x32\xf5\xf1\xfb\x2b\xe5\xb1\x4f\xa6\xc3\x74\x5d\xee\x37\x03\x47\xc1\x9e\xe7\xc4\x5f\x63\x7b\x48\x3c\x5e\x91\x7b\xe4\x7e\xee\xe9\xe4\xb2\xc8\x48\x6e\xe1\xb9\x28\xb6\xa9\xea\x70\x3f\xf1\x21\xbf\x25\xda\x3f\x51\x93\xf1\xb8\x55\x57\x74\x7e\xbd\xdf\xac\x81\x0c\x2d\x28\xe2\x5e\x92\x46\xc1\x5e\xff\x79\x19\x77\xe1\x86\xd0\xaf\x2e\xa5\xb4\x12\xc9\xec\x53\xb2\x0b\x7d\xbf\x11\xc5\x9c\xef\x4e\xf8\xc2\x94\xdf\x7d\xc9\xe2\x5e\xbe\xe7\x47\x4a\xc1\xbd\x47\x6b\xa5\x15\xba\x55\x52\x0f\x5e\xa5\x57\x25\x82\xdb\x1e\xeb\x7a\xf5\xc8\x6a\xf4\x56\xd2\xc3\x2a\x1d\x53\x8f\x06\xf9\x57\xde\xce\x45\xd1\x66\x39\xb7\xf8\xc1\xbb\x00\x9e\x07\x30\xa0\x66\x05\xf3\x1e\xca\x83\xa6\x45\xb1\x0d\x4b\xa2\x3b\xf0\xf0\x32\x47\xa2\x45\x8d\xaa\xbb\xcc\x0f\x76\x64\xb4\x83\xab\xd2\xaf\x00\x00\x00\xff\xff\xa6\x1d\x18\x3c\x24\x08\x00\x00") +var _webdataMainCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x56\xfd\x6e\xa3\x38\x10\xff\x9f\xa7\xf0\x35\x3a\x29\x3d\xc5\x39\xd2\xb4\xa7\x95\x2b\xad\xee\x55\x8c\x19\x12\x5f\x8c\x07\xd9\x43\x49\xf6\xd4\x77\x5f\x81\xf9\x0e\x64\xb7\xad\x14\xc1\x6f\xc6\xf3\x9b\x6f\x7c\xa6\xdc\xec\xa2\x04\xd3\xdb\x2e\xda\x14\x32\xdd\x45\x9b\x0b\xdc\x12\x94\xae\x7d\xf4\xbb\x68\x83\x05\x58\x6d\x4f\xbb\x68\xa3\x0c\x7a\x48\xd9\xff\x11\x63\x8c\x55\x3a\xa5\xb3\x60\x87\x38\xfe\xf3\xbd\x01\xce\xa0\x4f\x67\x1a\x23\xb9\x74\x27\x6d\x05\x8b\xdf\xa3\xcf\xa8\xa1\x69\xcf\x66\x68\x89\x67\x32\xd7\xe6\x26\x98\x97\xd6\x37\x0a\x83\x07\x35\xad\x07\x9b\x26\x25\x11\xda\x75\x1f\x12\xa9\x2e\x27\x87\xa5\x4d\xb9\x42\x83\x4e\xb0\xcd\x6b\x5c\xff\xb3\x3f\x74\x5e\xa0\x23\x69\xe9\x7d\xae\xa9\x73\x79\x02\xc1\x4a\x67\xb6\x04\xd7\x7d\x61\x4f\xcf\x81\x7e\x4e\x32\xf8\x52\xc8\x8e\x31\xd5\xbe\x30\xf2\x26\x58\x66\xe0\x1a\x4c\xd7\x4f\x3c\xd5\x0e\x14\x69\xb4\x82\x29\x34\x65\x6e\x97\x4d\xb6\x56\xfe\x2b\x3d\xe9\xec\xc6\x15\x5a\x02\x4b\x82\x29\xb0\x04\x2e\xd8\x93\x46\x9f\x2c\xd7\x04\xb9\x9f\x0a\x9a\xac\x79\xfd\x03\x04\x7b\x81\x3c\x60\x6d\xd8\xd5\x59\x13\x04\xa4\x42\x97\xf2\xca\xc9\x42\xb0\xc4\x81\xbc\xf0\x1a\x08\xde\xd4\xd1\xac\x79\xd0\x44\x01\x36\x7d\xe0\x43\x5b\x22\x23\x13\x30\xad\x99\x96\xfe\xe4\xe4\x2d\x1c\x24\xb8\x12\xf7\x67\x99\x62\x25\x1a\xa0\xfe\xe3\x87\xe2\x1a\x7e\x62\x96\x18\xa9\x2e\xbb\x5e\xb4\x2e\x69\xd0\xd5\x33\x23\x41\x20\xc6\x42\x2a\x4d\x37\xc1\xe2\x7d\xfc\x6d\x94\xaf\xaa\xed\xca\x04\x4d\x3a\xee\x4a\x4e\x58\x08\x26\x4b\xc2\x09\x9a\x20\x11\xe6\x63\x41\x13\x51\x93\x8f\xd5\x6a\xbc\xba\xae\x1c\xeb\xc9\xff\x37\x87\x54\x4b\xb6\xcd\xe5\x95\xb7\xa3\x73\x7c\x71\x90\x3f\xb7\x99\x9c\x67\x76\x46\x71\x38\x7e\x54\x81\xe2\xb3\x2f\x65\x3f\x1d\x59\x69\x8c\x57\x0e\xc0\xf6\x50\x37\xc6\x3d\x30\x19\x27\x07\x06\xe5\xf0\x5a\x38\xf8\x20\x27\xd5\x65\x40\x8c\xbc\x15\xb2\xf4\xd0\x23\x16\xae\x34\xd5\xf9\xa8\xfb\x1c\x52\xac\xec\x0c\xca\x4b\x82\x19\x54\x16\x01\x58\x9d\x5b\x72\xd2\xfa\x42\x3a\xe8\x07\x16\x5d\x0a\x4e\x34\x85\xf6\x68\x74\x3a\x2e\x76\xbf\x6a\xf6\x6f\x7d\xe6\x43\x4e\xfb\xc1\xf8\xf5\xb0\xd4\x69\xfc\x5a\xe6\x3a\xef\x1b\xd7\xfa\x56\xb1\x68\xe1\xfd\xb7\x8a\x72\x9f\xd5\x21\x55\x53\xdb\x06\x32\x5a\xb6\x3c\xd5\x6b\x9a\x78\x50\x7b\x44\x70\x17\xda\xd4\x92\x0b\x19\x9d\x50\xde\x2b\xb7\x53\x12\xdc\x0b\x33\x32\xd6\xfd\xfd\x25\xe9\xb0\x0a\x47\xeb\xf1\xea\xbe\x0a\x06\xae\x82\xbd\x4c\xeb\x1f\x1c\xaa\x11\x07\xa1\x9c\x03\xb2\x54\xe3\xfb\xd6\x1a\xed\xc6\x16\x69\x3b\xe9\x33\x8a\xf6\x21\x3a\xbf\xec\x78\xed\xdf\x5a\xf5\x27\xf9\x5a\xae\xc8\xfd\x47\xb1\x5f\xc2\xdf\xd9\x8c\x79\xb6\x7e\xe2\xfd\x5b\xb3\x53\x96\x0e\x7c\x67\x13\x7f\x3a\x86\x7f\xdc\x6c\x14\xbe\x75\x16\x16\x56\xcf\xcb\xdb\x78\xf5\xfc\x82\x61\x64\x53\x49\xa3\xb6\xf1\xfe\x78\x64\x7f\xb1\xed\x21\x8e\x3f\x2a\xc6\xd9\xa1\xb6\xf5\x3c\xda\x4e\x63\xc2\x3e\x01\xc7\xfd\x57\x39\xbb\xa3\x2d\xe9\x5b\xc7\x79\xae\x39\x83\xb5\x35\x56\xe9\x0b\x50\xc4\x9d\x24\x8d\x82\xbd\xfe\x7d\x1c\xf3\x8e\x5b\xf5\xd1\x07\x3c\x58\x0e\xc7\xee\xda\x60\x65\x58\x67\xa2\xa6\x1b\x16\x57\xd8\xca\x1a\x5b\xbc\x59\x85\xf0\xda\x4b\x93\x82\xa5\x4b\xd4\x93\x56\x68\x9f\x82\xba\x77\x2a\x5c\x6f\x1a\x70\x5f\x61\x96\x3d\x3d\xb3\x0c\x5d\x2e\x69\xfb\x14\x5e\x43\xf7\xd7\xf2\x47\xd6\x3e\xa3\xa8\x68\xe5\x3c\xc7\x1f\xbc\xf4\xe0\xb8\x07\x03\x6a\x12\x30\xaf\x20\xb9\x68\x5a\x15\xe7\x7e\x4d\xb4\x00\xd7\x37\xc5\x26\xd1\x22\x43\x55\x76\xf3\x81\x25\x19\x6d\x61\x50\xfa\x19\x00\x00\xff\xff\x61\xa4\x09\x92\xbb\x0a\x00\x00") func webdataMainCssBytes() ([]byte, error) { return bindataRead( @@ -170,7 +170,7 @@ func webdataMainCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "webdata/main.css", size: 2084, mode: os.FileMode(436), modTime: time.Unix(1, 0)} + info := bindataFileInfo{name: "webdata/main.css", size: 2747, mode: os.FileMode(436), modTime: time.Unix(1, 0)} a := &asset{bytes: bytes, info: info} return a, nil } diff --git a/icon_font/U+1F507 Speaker with Cancellation Stroke.svg b/icon_font/U+1F507 Speaker with Cancellation Stroke.svg new file mode 100644 index 0000000..782192a --- /dev/null +++ b/icon_font/U+1F507 Speaker with Cancellation Stroke.svg @@ -0,0 +1,121 @@ + + diff --git a/icon_font/U+1F509 Speaker with One Sound Wave.svg b/icon_font/U+1F509 Speaker with One Sound Wave.svg new file mode 100644 index 0000000..bfb498e --- /dev/null +++ b/icon_font/U+1F509 Speaker with One Sound Wave.svg @@ -0,0 +1,121 @@ + + diff --git a/icon_font/U+1F50A Speaker with Three Sound Waves.svg b/icon_font/U+1F50A Speaker with Three Sound Waves.svg new file mode 100644 index 0000000..755e32f --- /dev/null +++ b/icon_font/U+1F50A Speaker with Three Sound Waves.svg @@ -0,0 +1,121 @@ + + diff --git a/icon_font/U+23ED Black Right-Pointing Double Triangle with Vertical Bar.svg b/icon_font/U+23ED Black Right-Pointing Double Triangle with Vertical Bar.svg new file mode 100644 index 0000000..673885a --- /dev/null +++ b/icon_font/U+23ED Black Right-Pointing Double Triangle with Vertical Bar.svg @@ -0,0 +1,122 @@ + + diff --git a/icon_font/U+23EE Black Left-Pointing Double Triangle with Vertical Bar.svg b/icon_font/U+23EE Black Left-Pointing Double Triangle with Vertical Bar.svg new file mode 100644 index 0000000..52f55e1 --- /dev/null +++ b/icon_font/U+23EE Black Left-Pointing Double Triangle with Vertical Bar.svg @@ -0,0 +1,122 @@ + + diff --git a/icon_font/U+23EF Black Right-Pointing Triangle with Double Vertical Bar.svg b/icon_font/U+23EF Black Right-Pointing Triangle with Double Vertical Bar.svg new file mode 100644 index 0000000..cca45ff --- /dev/null +++ b/icon_font/U+23EF Black Right-Pointing Triangle with Double Vertical Bar.svg @@ -0,0 +1,121 @@ + + diff --git a/icon_font/U+2630 Trigram for Heaven.svg b/icon_font/U+2630 Trigram for Heaven.svg new file mode 100644 index 0000000..4c0df4e --- /dev/null +++ b/icon_font/U+2630 Trigram for Heaven.svg @@ -0,0 +1,135 @@ + + diff --git a/icon_font/icon.sfd b/icon_font/icon.sfd index 8329177..19f643f 100644 --- a/icon_font/icon.sfd +++ b/icon_font/icon.sfd @@ -21,7 +21,7 @@ OS2Version: 0 OS2_WeightWidthSlopeOnly: 0 OS2_UseTypoMetrics: 1 CreationTime: 1535548659 -ModificationTime: 1535550186 +ModificationTime: 1538075883 PfmFamily: 17 TTFWeight: 400 TTFWidth: 5 @@ -44,28 +44,29 @@ OS2Vendor: 'PfEd' MarkAttachClasses: 1 DEI: 91125 LangName: 1033 -Encoding: UnicodeBmp +Encoding: UnicodeFull Compacted: 1 UnicodeInterp: none NameList: AGL For New Fonts DisplaySize: -48 AntiAlias: 1 FitToEm: 0 -WinInfo: 0 27 10 +WinInfo: 0 38 14 BeginPrivate: 0 EndPrivate TeXData: 1 0 0 346030 173015 115343 0 1048576 115343 783286 444596 497025 792723 393216 433062 380633 303038 157286 324010 404750 52429 2506097 1059062 262144 -BeginChars: 65536 4 +BeginChars: 1114112 11 StartChar: uni2328 Encoding: 9000 9000 0 Width: 1000 VWidth: 0 -Flags: HM +HStem: 10 80<250 750> 200 60<285 395 445 555 605 715> 370 50<125 235 285 395 445 555 605 715 765 875> 530 60<125 235 285 395 445 555 605 715 765 875> +VStem: 20 105<260 370 420 530> 235 50<260 370 420 530> 395 50<260 370 420 530> 555 50<260 370 420 530> 715 50<260 370 420 530> 750 230<90 200> 875 105<260 370 420 530> LayerCount: 2 Fore SplineSet -70 590 m 2 +70 590 m 2xff20 930 590 l 2 957.700195312 590 980 567.700195312 980 540 c 2 980 60 l 2 @@ -73,7 +74,7 @@ SplineSet 70 10 l 2 42.2998046875 10 20 32.2998046875 20 60 c 2 20 540 l 2 - 20 567.700195312 42.2998046875 590 70 590 c 2 + 20 567.700195312 42.2998046875 590 70 590 c 2xff20 135 530 m 2 129.459960938 530 125 525.540039062 125 520 c 2 125 430 l 2 @@ -107,7 +108,7 @@ SplineSet 605 424.459960938 609.459960938 420 615 420 c 2 705 420 l 2 710.540039062 420 715 424.459960938 715 430 c 2 - 715 520 l 2 + 715 520 l 2xff80 715 525.540039062 710.540039062 530 705 530 c 2 615 530 l 2 775 530 m 2 @@ -116,7 +117,7 @@ SplineSet 765 424.459960938 769.459960938 420 775 420 c 2 865 420 l 2 870.540039062 420 875 424.459960938 875 430 c 2 - 875 520 l 2 + 875 520 l 2xffa0 875 525.540039062 870.540039062 530 865 530 c 2 775 530 l 2 135 370 m 2 @@ -170,18 +171,19 @@ SplineSet 250 94.4599609375 254.459960938 90 260 90 c 2 740 90 l 2 745.540039062 90 750 94.4599609375 750 100 c 2 - 750 190 l 2 + 750 190 l 2xff40 750 195.540039062 745.540039062 200 740 200 c 2 260 200 l 2 EndSplineSet -Validated: 524289 +Validated: 1 EndChar StartChar: uni2922 Encoding: 10530 10530 1 Width: 1000 VWidth: 0 -Flags: HM +HStem: -90.0059 80.1387<246.65 410.016> 609.867 80.1387<589.938 753.304> +VStem: 109.941 80.1387<46.7031 210.068> 809.874 80.1387<389.932 553.297> LayerCount: 2 Fore SplineSet @@ -222,13 +224,14 @@ SplineSet 410.015625 -80.005859375 l 2 410.015625 -85.5458984375 405.555664062 -90.005859375 400.015625 -90.005859375 c 2 EndSplineSet -Validated: 524289 +Validated: 1 EndChar StartChar: uni27A3 Encoding: 10147 10147 2 Width: 1000 VWidth: 0 +Flags: HM LayerCount: 2 Fore SplineSet @@ -298,14 +301,15 @@ SplineSet 914.63671875 319.998046875 l 1 226.22265625 319.998046875 l 2 EndSplineSet -Validated: 524289 +Validated: 1 EndChar StartChar: uni21BB Encoding: 8635 8635 3 Width: 1000 VWidth: 0 -Flags: HM +HStem: -11.9004 80.0049<410.621 596.596> 531.894 80.0068<403.658 587.978> +VStem: 188.142 80.0029<203.446 389.421> LayerCount: 2 Fore SplineSet @@ -337,6 +341,302 @@ SplineSet 188.141601562 400.823242188 259.505859375 522.6875 347.4375 572.018554688 c 0 383.451171875 592.221679688 446.166015625 609.974609375 487.42578125 611.645507812 c 0 EndSplineSet +Validated: 1 +EndChar + +StartChar: u1F50A +Encoding: 128266 128266 4 +Width: 1000 +VWidth: 0 +HStem: 140.6 334.824<19.9492 262.816> +VStem: 19.9492 480.234<140.6 475.424> 516.504 97.4043<145.53 207.841 392.475 467.508> 538.93 104.705<166.83 432.826> 707.016 104.705<166.604 433.179> 875.107 104.535<168.541 431.014> +LayerCount: 2 +Fore +SplineSet +484.7421875 634.7890625 m 0xcc + 493.1953125 635.038085938 500.182617188 628.251953125 500.18359375 619.794921875 c 2 + 500.18359375 -19.80078125 l 2 + 500.176757812 -32.408203125 485.56640625 -39.3857421875 475.7578125 -31.46484375 c 2 + 262.81640625 140.599609375 l 1 + 34.94921875 140.599609375 l 2 + 26.6650390625 140.600585938 19.9501953125 147.315429688 19.94921875 155.599609375 c 2 + 19.94921875 460.423828125 l 2 + 19.9501953125 468.708007812 26.6650390625 475.422851562 34.94921875 475.423828125 c 2 + 282.64453125 475.423828125 l 1 + 475.7578125 631.466796875 l 2 + 478.30859375 633.526367188 481.46484375 634.693359375 484.7421875 634.7890625 c 0xcc +876.865234375 600.306640625 m 0 + 881.969726562 600.436523438 886.790039062 597.962890625 889.658203125 593.73828125 c 0 + 944.186523438 513.37109375 977.028320312 417.055664062 979.642578125 313.46875 c 0 + 979.64453125 313.34375 979.64453125 313.219726562 979.642578125 313.09375 c 2 + 979.642578125 287.02734375 l 2 + 979.64453125 286.90234375 979.64453125 286.776367188 979.642578125 286.650390625 c 0 + 977.047851562 183.834960938 944.668945312 88.185546875 890.869140625 8.18359375 c 0 + 886.895507812 2.27734375 879.317382812 -0.0224609375 872.73046875 2.677734375 c 2 + 802.31640625 31.578125 l 2 + 793.340820312 35.265625 790.171875 46.375 795.85546875 54.240234375 c 0 + 845.7421875 123.275390625 875.107421875 208.067382812 875.107421875 300.056640625 c 0 + 875.107421875 393.627929688 844.71875 479.7578125 793.2578125 549.423828125 c 0 + 787.33984375 557.43359375 790.725585938 568.879882812 800.048828125 572.380859375 c 2 + 871.978515625 599.36328125 l 2 + 873.54296875 599.948242188 875.1953125 600.265625 876.865234375 600.306640625 c 0 +739.732421875 548.775390625 m 0 + 745.377929688 548.819335938 750.568359375 545.688476562 753.166015625 540.67578125 c 0 + 790.561523438 468.57421875 811.720703125 386.693359375 811.720703125 300.056640625 c 0 + 811.720703125 215.825195312 791.721679688 136.088867188 756.244140625 65.466796875 c 0 + 752.723632812 58.4560546875 744.397460938 55.3427734375 737.140625 58.322265625 c 2 + 668.083984375 86.66796875 l 2 + 659.944335938 90.009765625 656.415039062 99.607421875 660.451171875 107.42578125 c 0 + 690.209960938 165.073242188 707.015625 230.493164062 707.015625 300.056640625 c 0 + 707.015625 372.688476562 688.69921875 440.814453125 656.44140625 500.275390625 c 0 + 652.09765625 508.279296875 655.829101562 518.276367188 664.35546875 521.4765625 c 2 + 734.580078125 547.814453125 l 2 + 736.227539062 548.434570312 737.971679688 548.760742188 739.732421875 548.775390625 c 0 +596.021484375 494.76953125 m 0 + 602.208007812 494.712890625 607.724609375 490.862304688 609.9140625 485.076171875 c 0 + 631.693359375 427.509765625 643.634765625 365.119140625 643.634765625 300.056640625 c 0xdc + 643.634765625 239.07421875 633.157226562 180.442382812 613.908203125 125.92578125 c 0 + 611.05078125 117.8359375 602.000976562 113.786132812 594.064453125 117.044921875 c 2 + 525.0078125 145.384765625 l 2 + 517.669921875 148.395507812 513.944335938 156.596679688 516.50390625 164.103515625 c 0xec + 531.033203125 206.7109375 538.9296875 252.407226562 538.9296875 300.056640625 c 0xdc + 538.9296875 352.326171875 529.440429688 402.254882812 512.103515625 448.314453125 c 0 + 509.180664062 456.075195312 513.108398438 464.735351562 520.873046875 467.6484375 c 2 + 590.6171875 493.80859375 l 2 + 592.34375 494.458007812 594.176757812 494.784179688 596.021484375 494.76953125 c 0 +EndSplineSet +Validated: 1 +EndChar + +StartChar: u1F509 +Encoding: 128265 128265 5 +Width: 1000 +VWidth: 0 +HStem: 140.6 334.824<19.9492 262.816> +VStem: 19.9492 480.234<140.6 475.424> 516.504 97.4043<145.53 207.841 392.475 467.508> 538.93 104.705<166.83 432.826> +LayerCount: 2 +Fore +SplineSet +484.7421875 634.7890625 m 0xc0 + 493.1953125 635.038085938 500.182617188 628.251953125 500.18359375 619.794921875 c 2 + 500.18359375 -19.80078125 l 2 + 500.176757812 -32.408203125 485.56640625 -39.3857421875 475.7578125 -31.46484375 c 2 + 262.81640625 140.599609375 l 1 + 34.94921875 140.599609375 l 2 + 26.6650390625 140.600585938 19.9501953125 147.315429688 19.94921875 155.599609375 c 2 + 19.94921875 460.423828125 l 2 + 19.9501953125 468.708007812 26.6650390625 475.422851562 34.94921875 475.423828125 c 2 + 282.64453125 475.423828125 l 1 + 475.7578125 631.466796875 l 2 + 478.30859375 633.526367188 481.46484375 634.693359375 484.7421875 634.7890625 c 0xc0 +596.021484375 494.76953125 m 0 + 602.208007812 494.712890625 607.724609375 490.862304688 609.9140625 485.076171875 c 0 + 631.693359375 427.509765625 643.634765625 365.119140625 643.634765625 300.056640625 c 0xd0 + 643.634765625 239.07421875 633.157226562 180.442382812 613.908203125 125.92578125 c 0 + 611.05078125 117.8359375 602.000976562 113.786132812 594.064453125 117.044921875 c 2 + 525.0078125 145.384765625 l 2 + 517.669921875 148.395507812 513.944335938 156.596679688 516.50390625 164.103515625 c 0xe0 + 531.033203125 206.7109375 538.9296875 252.407226562 538.9296875 300.056640625 c 0xd0 + 538.9296875 352.326171875 529.440429688 402.254882812 512.103515625 448.314453125 c 0 + 509.180664062 456.075195312 513.108398438 464.735351562 520.873046875 467.6484375 c 2 + 590.6171875 493.80859375 l 2 + 592.34375 494.458007812 594.176757812 494.784179688 596.021484375 494.76953125 c 0 +EndSplineSet +Validated: 1 +EndChar + +StartChar: u1F507 +Encoding: 128263 128263 6 +Width: 1000 +VWidth: 0 +HStem: 140.6 334.824<19.9492 262.816> +VStem: 19.9492 480.234<140.6 475.424> +LayerCount: 2 +Fore +SplineSet +484.7421875 634.7890625 m 0 + 493.1953125 635.038085938 500.182617188 628.251953125 500.18359375 619.794921875 c 2 + 500.18359375 -19.80078125 l 2 + 500.176757812 -32.408203125 485.56640625 -39.3857421875 475.7578125 -31.46484375 c 2 + 262.81640625 140.599609375 l 1 + 34.94921875 140.599609375 l 2 + 26.6650390625 140.600585938 19.9501953125 147.315429688 19.94921875 155.599609375 c 2 + 19.94921875 460.423828125 l 2 + 19.9501953125 468.708007812 26.6650390625 475.422851562 34.94921875 475.423828125 c 2 + 282.64453125 475.423828125 l 1 + 475.7578125 631.466796875 l 2 + 478.30859375 633.526367188 481.46484375 634.693359375 484.7421875 634.7890625 c 0 +662.77734375 483.349609375 m 0 + 666.83203125 483.409179688 670.739257812 481.825195312 673.607421875 478.95703125 c 2 + 796.154296875 356.41015625 l 1 + 918.69921875 478.95703125 l 2 + 924.557617188 484.815429688 934.057617188 484.815429688 939.916015625 478.95703125 c 2 + 975.11328125 443.759765625 l 2 + 980.971679688 437.901367188 980.971679688 428.403320312 975.11328125 422.544921875 c 2 + 852.572265625 299.998046875 l 1 + 975.11328125 177.451171875 l 2 + 980.96875 171.595703125 980.970703125 162.1015625 975.119140625 156.2421875 c 2 + 939.916015625 121.0390625 l 2 + 934.059570312 115.178710938 924.559570312 115.174804688 918.69921875 121.03125 c 2 + 796.154296875 243.583984375 l 1 + 673.607421875 121.03125 l 2 + 667.747070312 115.174804688 658.247070312 115.178710938 652.390625 121.0390625 c 2 + 617.1875 156.2421875 l 2 + 611.3359375 162.1015625 611.33984375 171.595703125 617.1953125 177.451171875 c 2 + 739.734375 299.998046875 l 1 + 617.1953125 422.544921875 l 2 + 611.336914062 428.403320312 611.336914062 437.901367188 617.1953125 443.759765625 c 2 + 652.390625 478.95703125 l 2 + 655.149414062 481.715820312 658.875976562 483.291992188 662.77734375 483.349609375 c 0 +EndSplineSet +Validated: 1 +EndChar + +StartChar: uni23ED +Encoding: 9197 9197 7 +Width: 1000 +VWidth: 0 +VStem: 819.777 160.131<-34.8008 280.725 319.277 634.795> +LayerCount: 2 +Fore +SplineSet +964.908203125 634.794921875 m 2 + 973.192382812 634.793945312 979.907226562 628.079101562 979.908203125 619.794921875 c 2 + 979.908203125 -19.80078125 l 2 + 979.907226562 -28.0849609375 973.192382812 -34.7998046875 964.908203125 -34.80078125 c 2 + 834.77734375 -34.80078125 l 2 + 826.493164062 -34.7998046875 819.778320312 -28.0849609375 819.77734375 -19.80078125 c 2 + 819.77734375 280.724609375 l 1 + 444.379882812 -31.46484375 l 2 + 434.571289062 -39.3857421875 419.958007812 -32.408203125 419.952148438 -19.80078125 c 2 + 419.952148438 280.740234375 l 1 + 44.533203125 -31.46484375 l 2 + 34.724609375 -39.3857421875 20.1142578125 -32.408203125 20.107421875 -19.80078125 c 2 + 20.107421875 619.794921875 l 2 + 20.1083984375 628.251953125 27.095703125 635.038085938 35.548828125 634.7890625 c 0 + 38.826171875 634.693359375 41.982421875 633.526367188 44.533203125 631.466796875 c 2 + 419.952148438 319.26171875 l 1 + 419.952148438 619.794921875 l 2 + 419.953125 628.251953125 426.94140625 635.038085938 435.395507812 634.7890625 c 0 + 438.672851562 634.693359375 441.828125 633.526367188 444.379882812 631.466796875 c 2 + 819.77734375 319.27734375 l 1 + 819.77734375 619.794921875 l 2 + 819.778320312 628.079101562 826.493164062 634.793945312 834.77734375 634.794921875 c 2 + 964.908203125 634.794921875 l 2 +EndSplineSet +Validated: 1 +EndChar + +StartChar: uni23EE +Encoding: 9198 9198 8 +Width: 1000 +VWidth: 0 +VStem: 20.1074 160.131<-34.8008 280.725 319.277 634.795> +LayerCount: 2 +Fore +SplineSet +35.107421875 634.794921875 m 2 + 165.23828125 634.794921875 l 2 + 173.522460938 634.793945312 180.237304688 628.079101562 180.23828125 619.794921875 c 2 + 180.23828125 319.27734375 l 1 + 555.635742188 631.466796875 l 2 + 558.186523438 633.526367188 561.342773438 634.693359375 564.620117188 634.7890625 c 0 + 573.073242188 635.038085938 580.0625 628.251953125 580.063476562 619.794921875 c 2 + 580.063476562 319.26171875 l 1 + 955.482421875 631.466796875 l 2 + 958.033203125 633.526367188 961.189453125 634.693359375 964.466796875 634.7890625 c 0 + 972.919921875 635.038085938 979.907226562 628.251953125 979.908203125 619.794921875 c 2 + 979.908203125 -19.80078125 l 2 + 979.901367188 -32.408203125 965.291015625 -39.3857421875 955.482421875 -31.46484375 c 2 + 580.063476562 280.740234375 l 1 + 580.063476562 -19.80078125 l 2 + 580.057617188 -32.408203125 565.444335938 -39.3857421875 555.635742188 -31.46484375 c 2 + 180.23828125 280.724609375 l 1 + 180.23828125 -19.80078125 l 2 + 180.237304688 -28.0849609375 173.522460938 -34.7998046875 165.23828125 -34.80078125 c 2 + 35.107421875 -34.80078125 l 2 + 26.8232421875 -34.7998046875 20.1083984375 -28.0849609375 20.107421875 -19.80078125 c 2 + 20.107421875 619.794921875 l 2 + 20.1083984375 628.079101562 26.8232421875 634.793945312 35.107421875 634.794921875 c 2 +EndSplineSet +Validated: 1 +EndChar + +StartChar: uni23EF +Encoding: 9199 9199 9 +Width: 1000 +VWidth: 0 +VStem: 547.777 160.131<-34.8008 634.795> 819.777 160.131<-34.8008 634.795> +LayerCount: 2 +Fore +SplineSet +34.798828125 634.794921875 m 0 + 38.3349609375 634.868164062 41.783203125 633.689453125 44.53515625 631.466796875 c 2 + 429.349609375 311.66796875 l 2 + 436.778320312 305.6640625 436.778320312 294.337890625 429.349609375 288.333984375 c 2 + 44.53515625 -31.46484375 l 2 + 34.7265625 -39.3857421875 20.1142578125 -32.408203125 20.107421875 -19.80078125 c 2 + 20.107421875 619.794921875 l 2 + 20.1064453125 627.958984375 26.6357421875 634.625 34.798828125 634.794921875 c 0 +562.77734375 634.794921875 m 2 + 692.908203125 634.794921875 l 2 + 701.192382812 634.793945312 707.907226562 628.079101562 707.908203125 619.794921875 c 2 + 707.908203125 -19.80078125 l 2 + 707.907226562 -28.0849609375 701.192382812 -34.7998046875 692.908203125 -34.80078125 c 2 + 562.77734375 -34.80078125 l 2 + 554.493164062 -34.7998046875 547.778320312 -28.0849609375 547.77734375 -19.80078125 c 2 + 547.77734375 619.794921875 l 2 + 547.778320312 628.079101562 554.493164062 634.793945312 562.77734375 634.794921875 c 2 +834.77734375 634.794921875 m 2 + 964.908203125 634.794921875 l 2 + 973.192382812 634.793945312 979.907226562 628.079101562 979.908203125 619.794921875 c 2 + 979.908203125 -19.80078125 l 2 + 979.907226562 -28.0849609375 973.192382812 -34.7998046875 964.908203125 -34.80078125 c 2 + 834.77734375 -34.80078125 l 2 + 826.493164062 -34.7998046875 819.778320312 -28.0849609375 819.77734375 -19.80078125 c 2 + 819.77734375 619.794921875 l 2 + 819.778320312 628.079101562 826.493164062 634.793945312 834.77734375 634.794921875 c 2 +EndSplineSet +Validated: 1 +EndChar + +StartChar: uni2630 +Encoding: 9776 9776 10 +Width: 1000 +VWidth: 0 +HStem: -33.625 80.1309<165.202 834.798> 259.935 80.1309<165.202 834.798> 553.494 80.1309<165.202 834.798> +CounterMasks: 1 e0 +LayerCount: 2 +Fore +SplineSet +834.797851562 325.065429688 m 2 + 834.797851562 274.934570312 l 2 + 834.796875 266.650390625 828.08203125 259.935546875 819.797851562 259.934570312 c 2 + 180.202148438 259.934570312 l 2 + 171.91796875 259.935546875 165.203125 266.650390625 165.202148438 274.934570312 c 2 + 165.202148438 325.065429688 l 2 + 165.203125 333.349609375 171.91796875 340.064453125 180.202148438 340.065429688 c 2 + 819.797851562 340.065429688 l 2 + 828.08203125 340.064453125 834.796875 333.349609375 834.797851562 325.065429688 c 2 +834.797851562 31.505859375 m 2 + 834.797851562 -18.625 l 2 + 834.796875 -26.9091796875 828.08203125 -33.6240234375 819.797851562 -33.625 c 2 + 180.202148438 -33.625 l 2 + 171.91796875 -33.6240234375 165.203125 -26.9091796875 165.202148438 -18.625 c 2 + 165.202148438 31.505859375 l 2 + 165.203125 39.7900390625 171.91796875 46.5048828125 180.202148438 46.505859375 c 2 + 819.797851562 46.505859375 l 2 + 828.08203125 46.5048828125 834.796875 39.7900390625 834.797851562 31.505859375 c 2 +834.797851562 618.625 m 2 + 834.797851562 568.494140625 l 2 + 834.796875 560.209960938 828.08203125 553.495117188 819.797851562 553.494140625 c 2 + 180.202148438 553.494140625 l 2 + 171.91796875 553.495117188 165.203125 560.209960938 165.202148438 568.494140625 c 2 + 165.202148438 618.625 l 2 + 165.203125 626.909179688 171.91796875 633.624023438 180.202148438 633.625 c 2 + 819.797851562 633.625 l 2 + 828.08203125 633.624023438 834.796875 626.909179688 834.797851562 618.625 c 2 +EndSplineSet Validated: 524289 EndChar EndChars diff --git a/keysyms.generated.go b/keysyms.generated.go index 6355f49..54e87c5 100644 --- a/keysyms.generated.go +++ b/keysyms.generated.go @@ -1,6 +1,6 @@ package main -var keysymsMap = map[rune]int32{ +var keysymsMap = map[rune]Keysym{ 0x0008: 0x0000ff08, 0x0009: 0x0000ff09, 0x000a: 0x0000ff0a, diff --git a/keysyms.generator.go b/keysyms.generator.go index 57e6645..1d42a5d 100644 --- a/keysyms.generator.go +++ b/keysyms.generator.go @@ -31,6 +31,8 @@ import ( "strconv" ) +type Keysym int32 + const ( keysymdefHeader string = "/usr/include/X11/keysymdef.h" output string = "keysyms.generated.go" @@ -56,12 +58,12 @@ func main() { } defer f.Close() reader := bufio.NewReader(f) - re := regexp.MustCompile("^#define" + - "\\s+([A-Za-z0-9_]+)" + // keysymName - "\\s+0x([0-9a-fA-F]+)" + // keysym - "\\s*(?:/\\*\\s*(?:U\\+([0-9A-Fa-f]+))?.*\\*/)?" + // keysymUnicode (optional) - "\\s*$") - keysymsMap := make(map[rune]int32) + re := regexp.MustCompile("^\\#define " + + "(XK_[a-zA-Z_0-9]+)\\s+" + // keysymName + "0x([0-9a-f]+)\\s*" + // keysym + "(?:/\\*\\s*(?:U\\+([0-9A-F]{4,6}))?.*\\*/\\s*)?" + // keysymUnicode (optional) + "$") + keysymsMap := make(map[rune]Keysym) for { l, err := reader.ReadString('\n') if err == io.EOF { @@ -75,7 +77,7 @@ func main() { } keysymName := submatches[1] keysymTemp, err := strconv.ParseInt(submatches[2], 16, 32) - keysym := int32(keysymTemp) + keysym := Keysym(keysymTemp) if err != nil { panic(err) } @@ -100,7 +102,7 @@ func main() { keysymsMap[unicode] = keysym } content := "package main\n\n" + - "var keysymsMap = map[rune]int32{\n" + "var keysymsMap = map[rune]Keysym{\n" keys := make([]rune, 0) for key := range keysymsMap { keys = append(keys, key) diff --git a/keysyms.go b/keysyms.go index 65c7c44..ca79d39 100644 --- a/keysyms.go +++ b/keysyms.go @@ -23,7 +23,18 @@ package main import "errors" -func runeToKeysym(runeValue rune) (int32, error) { +type Keysym int32 + +const ( + xf86AudioLowerVolume Keysym = 0x1008ff11 + xf86AudioMute Keysym = 0x1008ff12 + xf86AudioRaiseVolume Keysym = 0x1008ff13 + xf86AudioPlay Keysym = 0x1008ff14 + xf86AudioPrev Keysym = 0x1008ff16 + xf86AudioNext Keysym = 0x1008ff17 +) + +func RuneToKeysym(runeValue rune) (Keysym, error) { if runeValue == '\n' { runeValue = '\r' } @@ -33,7 +44,29 @@ func runeToKeysym(runeValue rune) (int32, error) { return 0, errors.New("rune not mappend to keysym and " + "out of range for direct unicode mapping") } - keysym = 0x01000000 + runeValue + keysym = Keysym(0x01000000 + runeValue) } return keysym, nil } + +func KeyToKeysym(key Key) (Keysym, error) { + if key == KeyVolumeMute { + return xf86AudioMute, nil + } + if key == KeyVolumeDown { + return xf86AudioLowerVolume, nil + } + if key == KeyVolumeUp { + return xf86AudioRaiseVolume, nil + } + if key == KeyMediaPlayPause { + return xf86AudioPlay, nil + } + if key == KeyMediaPrevTrack { + return xf86AudioPrev, nil + } + if key == KeyMediaNextTrack { + return xf86AudioNext, nil + } + return 0, errors.New("key not mapped to keysym") +} diff --git a/main.go b/main.go index fb81b74..2120fb1 100644 --- a/main.go +++ b/main.go @@ -66,13 +66,20 @@ func processCommand(plugin Plugin, command string) error { return plugin.KeyboardText(text) } arguments := strings.Split(command[1:], ";") - if len(arguments) != 2 { + if command[0] == 'k' && len(arguments) != 1 || + command[0] != 'k' && len(arguments) != 2 { return errors.New("wrong number of arguments") } x, err := strconv.ParseInt(arguments[0], 10, 32) if err != nil { return err } + if command[0] == 'k' { + if x < 0 || x >= int64(KeyLimit) { + return errors.New("unsupported key") + } + return plugin.KeyboardKey(Key(x)) + } y, err := strconv.ParseInt(arguments[1], 10, 32) if err != nil { return err diff --git a/plugin.go b/plugin.go index c5d7a6e..44d6511 100644 --- a/plugin.go +++ b/plugin.go @@ -20,6 +20,7 @@ package main type PointerButton int +type Key int const ( PointerButtonLeft PointerButton = iota @@ -28,6 +29,16 @@ const ( PointerButtonLimit ) +const ( + KeyVolumeMute Key = iota + KeyVolumeDown + KeyVolumeUp + KeyMediaPlayPause + KeyMediaPrevTrack + KeyMediaNextTrack + KeyLimit +) + type PluginInfo struct { Name string Init func() (Plugin, error) @@ -50,6 +61,7 @@ func (e UnsupportedPlatformError) Error() string { type Plugin interface { Close() error KeyboardText(text string) error + KeyboardKey(key Key) error PointerButton(button PointerButton, press bool) error PointerMove(deltaX, deltaY int) error PointerScroll(deltaHorizontal, deltaVertical int) error diff --git a/plugin_portal.go b/plugin_portal.go index 242ff57..fdf22fb 100644 --- a/plugin_portal.go +++ b/plugin_portal.go @@ -185,18 +185,14 @@ func (p *portalPlugin) Close() error { return nil } -func (p *portalPlugin) KeyboardText(text string) error { +func (p *portalPlugin) keyboardKeys(keys []Keysym) error { p.lock.RLock() defer p.lock.RUnlock() if p.bus == nil { return errors.New("dbus connection closed") } inVardict := make(map[string]dbus.Variant) - for _, runeValue := range text { - keysym, err := runeToKeysym(runeValue) - if err != nil { - return err - } + for _, keysym := range keys { for _, state := range [...]uint32{btnPressed, btnReleased} { if err := p.remoteDesktop.Call( "org.freedesktop.portal.RemoteDesktop.NotifyKeyboardKeysym", @@ -208,6 +204,27 @@ func (p *portalPlugin) KeyboardText(text string) error { return nil } +func (p *portalPlugin) KeyboardText(text string) error { + keys := make([]Keysym, 0, len(text)) + for _, runeValue := range text { + keysym, err := RuneToKeysym(runeValue) + if err != nil { + return err + } + keys = append(keys, keysym) + } + return p.keyboardKeys(keys) +} + +func (p *portalPlugin) KeyboardKey(key Key) error { + keysym, err := KeyToKeysym(key) + if err != nil { + return err + } + keys := [...]Keysym{keysym} + return p.keyboardKeys(keys[:]) +} + func (p *portalPlugin) PointerButton(button PointerButton, press bool) error { p.lock.RLock() defer p.lock.RUnlock() diff --git a/plugin_windows.go b/plugin_windows.go index c3344ce..ec432b8 100644 --- a/plugin_windows.go +++ b/plugin_windows.go @@ -34,6 +34,13 @@ const ( keyeventfKeyup uint32 = 0x2 keyeventfUnicode uint32 = 0x4 + vkVolumeMute uint16 = 0xAD + vkVolumeDown uint16 = 0xAE + vkVolumeUp uint16 = 0xAF + vkMediaNextTrack uint16 = 0xB0 + vkMediaPrevTrack uint16 = 0xB1 + vkMediaPlayPause uint16 = 0xB3 + mouseeventfMove uint32 = 0x1 mouseeventfLeftdown uint32 = 0x2 mouseeventfLeftup uint32 = 0x4 @@ -84,20 +91,10 @@ func (p *windowsPlugin) Close() error { return nil } -func (p *windowsPlugin) KeyboardText(text string) error { - runes := []rune(text) - if len(runes) == 0 { +func (p *windowsPlugin) sendInput(inputs []keybdInput) error { + if len(inputs) == 0 { return nil } - inputs := make([]keybdInput, len(runes)*2) - for i := range inputs { - inputs[i].typ = inputKeyboard - inputs[i].wScan = uint16(runes[i/2]) - inputs[i].dwFlags = keyeventfUnicode - if i%2 == 1 { - inputs[i].dwFlags |= keyeventfKeyup - } - } if r, _, err := sendInputProc.Call(uintptr(len(inputs)), uintptr(unsafe.Pointer(&inputs[0])), unsafe.Sizeof(inputs[0])); int(r) != len(inputs) { @@ -106,6 +103,42 @@ func (p *windowsPlugin) KeyboardText(text string) error { return nil } +func (p *windowsPlugin) KeyboardText(text string) error { + inputs := make([]keybdInput, 0, len(text)*2) + for _, runeValue := range text { + in := keybdInput{typ: inputKeyboard, wScan: uint16(runeValue), dwFlags: keyeventfUnicode} + inputs = append(inputs, in) + in.dwFlags |= keyeventfKeyup + inputs = append(inputs, in) + } + if len(inputs) == 0 { + return nil + } + return p.sendInput(inputs) +} + +func (p *windowsPlugin) KeyboardKey(key Key) error { + input := keybdInput{typ: inputKeyboard} + if key == KeyVolumeMute { + input.wVk = vkVolumeMute + } else if key == KeyVolumeDown { + input.wVk = vkVolumeDown + } else if key == KeyVolumeUp { + input.wVk = vkVolumeUp + } else if key == KeyMediaNextTrack { + input.wVk = vkMediaNextTrack + } else if key == KeyMediaPrevTrack { + input.wVk = vkMediaPrevTrack + } else if key == KeyMediaPlayPause { + input.wVk = vkMediaPlayPause + } else { + return errors.New("key not mapped to virtual-key code") + } + inputs := [...]keybdInput{input, input} + inputs[1].dwFlags |= keyeventfKeyup + return p.sendInput(inputs[:]) +} + func (p *windowsPlugin) PointerButton(button PointerButton, press bool) error { input := mouseInput{typ: inputMouse} if button == PointerButtonLeft && press { diff --git a/plugin_x11.go b/plugin_x11.go index bbe4a65..9d16a4b 100644 --- a/plugin_x11.go +++ b/plugin_x11.go @@ -36,8 +36,8 @@ import ( ) const ( - typingDelay time.Duration = 250 * time.Millisecond - scrollDiv int = 20 + keyboardMappingDelay time.Duration = 250 * time.Millisecond + scrollDiv int = 20 ) type x11Plugin struct { @@ -71,13 +71,13 @@ func (p *x11Plugin) Close() error { return nil } -func (p *x11Plugin) KeyboardText(text string) error { +func (p *x11Plugin) keyboardKeys(keys []Keysym) error { p.lock.Lock() defer p.lock.Unlock() if p.display == nil { return errors.New("X server connection closed") } - if text == "" { + if len(keys) == 0 { return nil } var minKeycodes, maxKeycodes C.int @@ -116,25 +116,45 @@ keycodes: (*C.KeySym)(unsafe.Pointer(&keycodeMapping[0])), 1) C.XFlush(p.display) }() - for _, runeValue := range text { - keysym, err := runeToKeysym(runeValue) - if err != nil { - return err - } + for _, keysym := range keys { for i := range keycodeMapping { keycodeMapping[i] = C.KeySym(keysym) } C.XChangeKeyboardMapping(p.display, C.int(emptyKeycode), keysymsPerKeycode, (*C.KeySym)(unsafe.Pointer(&keycodeMapping[0])), 1) + // race condition! + C.XFlush(p.display) + time.Sleep(keyboardMappingDelay) C.XTestFakeKeyEvent(p.display, C.uint(emptyKeycode), C.True, 0) C.XTestFakeKeyEvent(p.display, C.uint(emptyKeycode), C.False, 0) // race condition! C.XFlush(p.display) - time.Sleep(typingDelay) + time.Sleep(keyboardMappingDelay) } return nil } +func (p *x11Plugin) KeyboardText(text string) error { + keys := make([]Keysym, 0, len(text)) + for _, runeValue := range text { + keysym, err := RuneToKeysym(runeValue) + if err != nil { + return err + } + keys = append(keys, keysym) + } + return p.keyboardKeys(keys) +} + +func (p *x11Plugin) KeyboardKey(key Key) error { + keysym, err := KeyToKeysym(key) + if err != nil { + return err + } + keys := [...]Keysym{keysym} + return p.keyboardKeys(keys[:]) +} + func (p *x11Plugin) sendButton(button uint, press bool) error { p.lock.Lock() defer p.lock.Unlock() diff --git a/webdata/fn.js b/webdata/fn.js index 552ee0c..99b579f 100644 --- a/webdata/fn.js +++ b/webdata/fn.js @@ -32,6 +32,13 @@ const POINTER_BUTTON_LEFT = 0; const POINTER_BUTTON_RIGHT = 1; const POINTER_BUTTON_MIDDLE = 2; +const KEY_VOLUME_MUTE = 0; +const KEY_VOLUME_DOWN = 1; +const KEY_VOLUME_UP = 2; +const KEY_MEDIA_PLAY_PAUSE = 3; +const KEY_MEDIA_PREV_TRACK = 4; +const KEY_MEDIA_NEXT_TRACK = 5; + var ws; var pad; var padlabel; @@ -310,11 +317,13 @@ window.addEventListener("load", function() { var closed = document.getElementById("closed"); pad = document.getElementById("pad"); padlabel = document.getElementById("padlabel"); + var keys = document.getElementById("keys"); var keyboard = document.getElementById("keyboard"); var fullscreenbutton = document.getElementById("fullscreenbutton"); var text = document.getElementById("text"); closed.style.display = "none"; pad.style.display = "none"; + keys.style.display = "none"; keyboard.style.display = "none"; text.value = ""; @@ -337,6 +346,8 @@ window.addEventListener("load", function() { if (history.state == "keyboard") { keyboard.style.display = "flex"; text.focus(); + } else if (history.state == "keys") { + keys.style.display = "flex"; } else { pad.style.display = "flex"; } @@ -348,10 +359,17 @@ window.addEventListener("load", function() { } opening.style.display = "none"; pad.style.display = "none"; + keys.style.display = "none"; keyboard.style.display = "none"; closed.style.display = "flex"; }; + document.getElementById("keysbutton").addEventListener("click", + function(e) { + pad.style.display = "none"; + keys.style.display = "flex"; + history.pushState("keys", ""); + }); document.getElementById("keyboardbutton").addEventListener("click", function(e) { if (fullscreenElement()) { @@ -372,6 +390,17 @@ window.addEventListener("load", function() { requestFullscreen(pad); } }); + [{id: "prevtrackbutton", key: KEY_MEDIA_PREV_TRACK}, + {id: "playpausebutton", key: KEY_MEDIA_PLAY_PAUSE}, + {id: "nexttrackbutton", key: KEY_MEDIA_NEXT_TRACK}, + {id: "volumedownbutton", key: KEY_VOLUME_DOWN}, + {id: "volumemutebutton", key: KEY_VOLUME_MUTE}, + {id: "volumeupbutton", key: KEY_VOLUME_UP}].forEach(function(o) { + document.getElementById(o.id).addEventListener("click", + function(e) { + ws.send("k" + o.key); + }); + }); document.getElementById("sendbutton").addEventListener("click", function(e) { if (text.value != "") { @@ -381,8 +410,10 @@ window.addEventListener("load", function() { window.history.back(); }); window.onpopstate = function(event) { - if (keyboard.style.display == "flex") { + if (keyboard.style.display == "flex" || + keys.style.display == "flex") { pad.style.display = "flex"; + keys.style.display = "none"; keyboard.style.display = "none"; } else { window.history.back(); diff --git a/webdata/icon.woff b/webdata/icon.woff index a957710..c485e05 100644 Binary files a/webdata/icon.woff and b/webdata/icon.woff differ diff --git a/webdata/index.html b/webdata/index.html index 660fd2e..5c05707 100644 --- a/webdata/index.html +++ b/webdata/index.html @@ -21,6 +21,9 @@
Touchpad
+