diff --git a/bindata.generated.go b/bindata.generated.go index a446d3e..646cc99 100644 --- a/bindata.generated.go +++ b/bindata.generated.go @@ -74,7 +74,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _webdataFnJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x3a\xdd\x6f\xdb\xb6\xb7\xef\xf9\x2b\x4e\xf5\x50\xc8\x8d\x23\xdb\x29\x7a\x37\xd4\x75\xee\x75\x53\x77\x09\x96\x34\x81\xed\x6c\x35\x82\xa0\xa0\xa5\x63\x5b\xab\x4c\x6a\x22\x15\x27\xbd\xcd\xff\x7e\x41\x7d\x52\x14\x25\x67\x1d\xfa\x72\xf1\x33\xb0\x4e\x21\xcf\x39\x3c\xdf\x1f\x94\x7a\xaf\x0e\xe0\x15\x00\xc0\x29\x0b\x1f\x23\x7f\xbd\x11\x60\xbb\x1d\x38\xee\x0f\x7e\x85\x1b\x1a\xc5\xde\xbb\x58\xfe\xfb\x3f\x2c\x16\x01\x63\x5f\x1d\x97\x6d\x4f\x0e\x20\x47\x9a\x6f\x7c\x0e\x2b\x3f\x40\xf0\x39\x84\x24\x12\xc0\x56\x30\xc5\x2d\x13\x78\x34\x67\xb1\xbb\x09\x89\xe7\x94\xe0\x1f\x19\x5b\x92\x48\xc2\xae\x22\x44\xe0\x6c\x25\x76\x24\xc2\xb7\xf0\xc8\x62\x70\x09\x85\x08\x3d\x9f\x8b\xc8\x5f\xc6\x02\xc1\x17\x40\xa8\xd7\x63\x11\x6c\x99\xe7\xaf\x1e\x33\x22\xbe\x80\x98\x7a\x18\x81\xd8\x20\x08\x8c\xb6\x5c\x1e\x2a\xff\xf8\xed\xd3\x0d\xfc\x86\x14\x23\x12\xc0\x75\xbc\x0c\x7c\x17\x2e\x7c\x17\x29\x47\x20\x1c\x42\xb9\xc2\x37\xe8\xc1\x32\x27\x25\x91\x3e\x4a\x4e\x66\x19\x27\xf0\x91\xc5\xd4\x23\xc2\x67\xb4\x0b\xe8\x8b\x0d\x46\x70\x8f\x11\xf7\x19\x85\xd7\xf9\x31\x19\xcd\x2e\xb0\x28\xa3\x63\x13\x21\x45\x88\x80\x85\x12\xb5\x03\x84\x3e\x42\x40\x44\x89\xad\x28\x41\x53\x8f\xd4\x46\x29\xb4\x07\x3e\x4d\x0e\xd9\xb0\x10\x41\x6c\x88\x90\xf2\xee\xfc\x20\x80\x25\x42\xcc\x71\x15\x07\xdd\x8c\xd0\x32\x16\xf0\xe7\xf9\xfc\xec\xea\x66\x0e\xe3\x4f\x0b\xf8\x73\x3c\x9d\x8e\x3f\xcd\x17\x43\xd8\xf9\x62\xc3\x62\x01\x78\x8f\x29\x35\x7f\x1b\x06\x3e\x7a\xb0\x23\x51\x44\xa8\x78\x04\xb6\xca\x88\x5c\x4e\xa6\xa7\x67\xe3\x4f\xf3\xf1\xfb\xf3\x8b\xf3\xf9\x02\x58\x04\x1f\xcf\xe7\x9f\x26\xb3\x19\x7c\xbc\x9a\xc2\x18\xae\xc7\xd3\xf9\xf9\xe9\xcd\xc5\x78\x0a\xd7\x37\xd3\xeb\xab\xd9\xc4\x01\x98\xa1\x64\x0e\x33\x1a\x2d\x7a\x5f\x25\xd6\x8b\x10\x3c\x14\xc4\x0f\x78\xa9\x87\x05\x8b\x81\x6f\x58\x1c\x78\xb0\x21\xf7\x08\x11\xba\xe8\xdf\xa3\x07\x04\x5c\x16\x3e\xee\xb7\x69\x4a\x86\x04\x8c\xae\x13\x81\x33\xef\x72\x00\xce\x57\x40\x99\xe8\x02\x47\x84\x77\x1b\x21\xc2\xb7\xbd\xde\x6e\xb7\x73\xd6\x34\x76\x58\xb4\xee\x05\x29\x01\xde\x3b\x91\xec\xf4\x0e\x0e\xa0\xd7\x83\xdb\x01\x24\x26\xe9\xc2\x71\xfa\x80\xbc\x0b\xaf\xf3\xc7\xbb\x03\x97\x51\x2e\x60\x7e\x75\x73\x7a\xf6\xe5\xf2\xea\x8f\xc9\x97\xf9\xd9\x74\x32\x3b\xbb\xba\xf8\x00\x23\xb8\x1d\xf4\xbb\x30\x78\x23\xff\xbb\x1b\x56\x40\xe7\xe7\x97\x13\x69\xa0\x11\x1c\xbf\xe9\xe7\x5b\x09\xfe\xe5\xcd\x85\x5c\x1e\xe4\x8b\xb3\xd3\xe9\xd5\xc5\x45\xbe\xdc\x77\xfa\x6f\x86\x07\x92\xaf\xdb\xf0\xa1\xc7\xbb\xb0\x8d\x03\x71\xd7\x05\xc7\x71\x72\x5e\xae\xaf\xce\x3f\xcd\x27\xd3\x2f\xe3\xd3\xd3\xc9\xc5\x64\x3a\x9e\x9f\x5f\x7d\x92\xbc\xdc\xf6\xbb\xd0\xbf\xeb\xc2\xed\xaf\xbf\x74\x61\x20\x1f\x06\xbf\xbc\xce\x9e\xde\xbc\x79\xdd\x85\xe3\xbb\x82\xc9\x9b\xeb\x0f\xe3\xf9\xe4\x4b\x42\xe8\x8f\xf1\x05\x8c\x40\xe1\x72\xfc\xf9\xcb\xf9\x87\x8b\xc9\x97\x14\x68\x26\x99\xed\x0f\x0f\x0e\xee\x49\x04\x3b\x3e\x4c\xfe\x1f\x12\xaf\x78\x08\xc8\x12\x83\x6c\x5f\x48\xb5\x5d\x32\x69\xcf\x11\xac\x48\xc0\x71\x58\xae\xcf\x84\xcc\x14\x23\xe8\x2b\x6b\x17\x84\x8b\x09\xf5\xb4\xd5\x29\x06\x48\x38\x7a\xa7\x2c\xa6\x0a\x06\xa3\x6b\xe6\xd3\x75\x66\x1b\x29\xf3\x5d\xba\xb1\x65\xf7\xf8\x79\x16\x6f\x4b\x50\xb9\xb2\xa8\xac\x70\x37\x62\x41\xf0\xd9\xb0\x56\x85\xf3\x22\xb2\x5e\xfb\x74\x5d\x15\x20\x5f\x9d\xfb\x5b\x94\x21\x36\x02\x1a\x07\x41\xba\x17\x87\x1e\x11\x28\x77\xa2\xca\xba\xef\x05\x78\x93\xec\xf1\x94\xfc\xc1\x2a\xa6\xae\xcc\x14\xb0\x8a\x83\x80\xbb\x11\x22\x9d\x50\xb2\x0c\xd0\xb3\x3b\xf0\xbf\x07\x32\xa8\x22\x14\x71\x44\xc1\xf6\x98\x1b\x6f\x91\x0a\xa7\x06\x0a\xdf\xbf\x27\x90\xf2\x57\x40\xed\x70\xf9\xd5\x17\x1f\x9f\x05\xbb\x65\xdf\x24\xe0\x6c\x3f\x20\x6f\x25\x98\xa8\xa7\x33\x3c\x78\x52\x04\x8b\xf0\xef\x18\xb9\xc2\x88\x8d\xb9\x64\xfe\x0a\x6c\x74\x6a\x00\xf9\xb6\xfc\x19\xb6\xed\xce\x30\xd9\x7e\x02\x0c\x38\x66\x44\x52\x69\xa7\xed\xa4\x1a\x80\x8c\x04\xb7\xec\x9b\x02\x38\x33\x50\x33\x41\x98\x49\xf1\x3d\x7c\x19\x00\x0a\x42\x15\x5d\xe2\x83\x5f\x81\x51\xf4\x58\x98\xa8\x0a\xa3\x1e\xd4\x00\x62\xe0\x59\x73\xa2\xc9\x7e\x92\x26\xc0\x36\xc2\x5b\xf6\xed\x94\x50\x17\x03\xb3\x76\xdb\xe0\x5a\xc9\xf2\x67\xf0\xaa\x03\x99\x75\xad\x44\x59\x80\x12\xef\x59\x01\x99\x82\x3e\x2f\x20\x5b\x60\xab\x01\xd9\x06\xc8\x5b\x09\xca\xd4\xa3\xc5\x23\xf1\xbc\x12\xc5\xdd\x10\xba\xc6\xc9\x3d\x52\x71\xe1\x73\x21\xcb\xab\x1d\x64\x0f\x46\xef\xaa\x8b\xfa\x62\x34\x4a\xda\xb0\x95\x4f\xd1\x33\xea\x9b\x78\x5e\xf5\x04\x6b\xa5\x31\x60\x75\xa1\x38\x75\x9f\x33\xd6\xe5\xfd\x11\x0e\x52\x5a\x3f\xc6\x87\xd1\x38\x3f\xc2\xc4\x96\x7d\xfb\x41\x0e\x0c\x56\xff\x11\x06\x2e\x67\x25\x9d\xd3\xa6\xf3\x2b\xde\x23\x3b\xb2\xa4\xda\xda\x22\xed\x91\x84\xbf\xc5\x99\x20\xdb\x50\x8b\x8e\xf2\x7c\xdf\x43\x2a\xfc\x95\x8f\xd1\xdb\xb4\x96\x3b\xe5\x4a\xb7\x80\x0a\xc9\x1a\x3f\xe7\x00\xc9\x1f\xda\x5e\xd2\x2b\xb4\x00\x2c\xd4\xbd\x85\xb6\x57\x43\x56\x00\x0a\x09\xde\x96\x8f\xa9\xe4\xd5\xc0\x51\x7b\x8d\x73\xea\xe1\xc3\xfb\xc7\x73\xcf\xf6\xbd\x39\xfb\xe8\xd3\x42\xe3\xb2\xcf\xb5\x93\x5a\x9f\x54\x78\xf0\xe1\x9d\xd6\xa5\x38\x01\xd2\xb5\xd8\x0c\xc1\x3f\x3c\x54\xed\x94\x36\x08\x30\xd2\xc0\x6f\xfd\x3b\x45\x61\xc3\x83\x52\xaf\x2b\xb0\x25\xfc\x08\x74\x1e\xf2\x5f\x66\x0a\x7f\x58\xac\x3e\x1d\x94\xff\x66\xbb\x47\x83\xaa\x98\x2e\x09\xdc\x58\x8e\x2c\xd7\xcc\xa7\x02\xa3\xb1\xeb\x62\x80\x51\x32\x0a\x5d\xc6\x81\xb0\x79\x88\xd8\x2a\xae\xa9\x1d\x6d\x12\x9a\x1f\xc3\xc8\x88\x70\xeb\xdf\xdd\xf6\xef\x4a\xce\x49\x1b\xe0\x40\x01\x94\x6a\xe1\xc7\xf0\x6e\x04\x15\x46\xf3\x9f\xcb\xa8\xf0\x69\x8c\xba\x4e\x0a\x8d\x4a\x85\xf6\x1b\x34\x49\x8e\x4d\x68\x7c\xd0\xc8\xda\xd1\x40\x93\xa2\x1d\x54\x95\x23\xaf\x32\xa9\xbe\x8f\xf8\xa0\x03\x3d\x29\x99\x7c\xea\xc0\x2b\xb0\xc9\xf1\x11\x19\x74\xe0\x10\xc8\x60\xa8\x98\x55\x0a\xd1\x62\x01\x38\xa9\x4a\x97\x1d\x63\xe4\xa9\x85\x8c\xca\x6d\xc5\x9d\x06\x7a\xd0\x7c\xa8\xf6\xc9\x45\x15\x6d\xea\x9f\xe5\xde\x8e\x3b\x1c\xa9\x67\x5b\x99\x0f\xbe\x8f\x85\x60\x14\x06\xd0\xb7\xb4\x6a\x96\x76\xda\x72\xbe\x18\x53\x6f\x96\x34\xef\x95\xb6\xa8\xd2\x89\xa7\x47\xa8\xd2\x33\x7a\x53\x00\x24\xcc\x55\xfd\x48\x1f\x8a\x4e\xa0\x0f\x2f\x5f\x56\xdb\x78\x83\xb7\x54\xdb\x7f\x8e\xe2\x5c\x0a\x71\x4f\x02\x5b\x3b\xaf\xab\x8f\x5d\x9d\x7a\xa8\x56\xb5\xa9\xb1\x9b\x4b\xaa\x30\x74\x98\x4c\x92\x79\x42\x49\xe6\x20\x18\xc1\x25\x11\x1b\x47\x44\x31\x75\xed\x7c\x34\xea\x54\xa1\x16\x75\xa8\x45\x09\x25\xb5\x91\xec\x92\x25\x4f\x29\x74\xe0\x64\x04\x03\xf8\xfe\x1d\x2a\xeb\x8b\x74\x5d\x55\x49\x31\x8b\x1d\x8d\xd2\xe7\x61\x65\x6b\xa1\x6c\x2d\x14\xfd\xeb\xb3\x52\xbe\xa1\x3b\x87\x34\x3e\x58\x70\x98\xc9\x7a\x08\x56\xf1\xd7\xa2\xa3\x7a\xa8\x32\xf3\x55\x65\x2d\x07\x41\x45\x27\xd9\x24\x68\x82\x6c\xd2\x4b\x46\xc7\xa0\x99\x0c\xaf\xae\x1b\x65\x06\x3d\x1a\xe5\x7f\x0d\xb5\xed\x45\x65\xfb\x47\x74\x94\x46\x46\xa2\x97\x5c\x03\xb9\x9e\x72\xd6\xf4\x1c\xa2\xd2\x3e\x19\xd5\xee\x00\x54\x21\xdc\x00\x49\x54\xf8\xb8\xe2\xfd\x8a\x3b\x9b\x46\xe2\xba\x83\x6f\x08\xf5\x02\x4c\xaa\xb5\x8d\xf7\x42\x8d\x64\x63\x11\xad\x85\x5f\xe5\x5a\x01\xef\x85\x53\x94\xf4\x61\x15\x46\xbb\x92\xa8\xec\x19\x2e\x1b\xf2\xfd\xfa\x5d\x40\xd5\xbf\x44\x71\x13\x21\x0f\x4f\x7b\x3a\x2f\xe3\x79\xd8\x58\x31\x45\x7b\x67\x20\xc5\x17\x65\x37\x20\x48\xb4\xc6\xb4\xe1\x0b\x89\x27\x13\x52\xe3\x66\x72\x13\xf3\x4f\x4a\xa0\xe4\x3a\x8c\x50\xb6\x89\x1f\x70\x45\x64\xbd\x57\x8c\xa8\xd9\x20\x8c\xf9\xc6\xd6\x3a\xc2\x84\x8b\x6e\x55\xf5\x9d\x8e\xa6\xe0\xca\x1d\x8f\x2a\xe5\x8b\x5c\xbf\x3a\xcf\xca\x7d\x4e\x73\x2a\xab\x65\x95\xb6\x8c\x56\x95\xbb\x72\x17\xd4\x96\x1a\xb4\xa8\x6c\xcf\x0e\xb9\x58\x7a\xad\x7b\x61\x28\x45\x45\x20\xe5\xc9\x5d\x43\xd2\x64\x6c\x2b\x9f\x06\x67\x15\x51\xdd\xde\xa6\xd0\x9b\x50\x4f\x0d\xbc\x9f\xe6\xd2\x69\xb3\xfb\xa0\x75\xbb\x65\x5b\x2d\x4c\xcd\xaf\xa6\x55\x89\xff\xae\x5e\x7d\xdb\xdc\x5b\x73\x60\x1e\x06\xbe\x8b\x92\x50\x17\x06\xba\x93\x56\xb2\xc0\xe1\x61\xa3\x0b\x1b\xb2\x4c\x99\x45\x0d\xf9\xe4\xc4\x78\x77\x9c\x29\xaa\x96\xcb\xf2\x3c\x55\x1a\xf0\xe9\x19\x29\xb1\x48\x0a\xda\xd1\xb2\x2e\xbd\x7c\x69\x74\x12\xf5\xe4\xf6\xfe\xeb\x27\x30\xf1\x42\x91\xf5\xe5\xcb\xaa\x4a\xe1\x48\xcd\xea\xef\xaa\xd7\xe9\xba\x4f\x2d\x53\x4e\x6b\x89\xc5\x94\xd7\xb5\x52\x0c\xe9\x9b\x94\x14\x7d\xa0\x78\x4f\x39\x80\x9b\xa9\x1c\x37\x52\x79\xad\x50\xd9\x43\xe4\x75\x23\x11\xe3\xcc\xd1\x60\x21\x59\xd0\x33\x44\x59\xdf\x07\x96\x16\x32\x39\x51\x83\xe8\xf5\x84\xc2\x51\xe4\xb9\xa8\xd6\xc6\x77\x35\x33\xd4\xd4\x55\x25\xfe\x3c\x76\xfb\xd6\x9e\xfe\x37\xcd\x51\xe9\x85\xe0\x7f\xd2\xd4\xbf\x4e\x53\xd0\x96\x64\xea\x7a\x97\x50\xba\xd6\x79\xbc\xfd\x5c\x46\x5b\xb6\xb2\xa8\xae\xfc\x7f\xb2\x4c\xf2\xe6\xc7\xe7\x22\x2f\xfc\xfc\xef\x48\xa4\x03\x40\xc8\x76\xea\xa1\xc9\x0d\x15\x1c\xd5\x2e\x73\xbc\x87\x6c\x2f\x49\x67\x5d\x99\x3c\x0e\xa1\x89\xc0\xa2\x85\xc0\xa2\x20\xa0\x49\x65\x4e\xc8\xad\x55\x47\xce\x2a\x89\x54\x66\xa8\x5b\x33\xc9\x23\x18\xdc\xe9\xba\x6b\x70\x27\x83\x12\xa5\xe9\xfe\x89\xbe\x86\x55\xf4\xc7\x3a\x7a\xab\xb6\xaa\xe8\x32\x10\x3e\x60\x20\x88\x1e\x18\x0d\x24\x0c\x81\x93\x78\xfe\xe1\x48\x0a\xf2\x6a\xff\xa5\x59\x31\x09\x7a\x0f\x1d\xe8\x29\xe7\xbf\x82\x41\xbf\xdf\xef\x54\xe8\x2e\x12\xba\x8f\xff\x8c\xee\xe3\x1e\xba\x8d\x8a\x35\xd8\x61\x3f\xd6\xc2\xa0\xfe\x76\xac\x52\xc5\xcf\x69\x99\xda\x5b\x81\x3c\xab\x9d\x8c\x9a\xbb\x81\xd6\xde\x24\x99\xce\xf7\xce\x1a\x87\xa3\xd4\xca\xaf\xca\xf7\xf4\x0d\x83\x46\x0a\xb9\x30\x43\x2a\x0d\x44\x23\x43\xb5\x1e\x42\xbb\x18\x48\xd9\x50\xbe\x0c\x18\x1a\xa0\x17\x25\xf4\xa2\x09\xfa\x49\x9b\xc8\xb5\xab\x33\xe3\x9d\xff\x86\x04\x92\x53\x9c\x22\x0f\x19\xe5\x68\x6f\x91\x73\xb2\xc6\x4a\x21\xd8\x90\xab\xe5\x5f\x72\x0c\xc1\x1d\xfc\xc5\x67\x67\x63\xdb\x9a\x9d\x8d\x8f\x8e\xdf\xfc\x97\xd5\x05\x6b\x3e\xf9\x3c\xcf\xab\x7b\x0a\xea\x70\x14\x67\x97\xe3\xd3\xdf\xf1\x31\xa7\x67\x86\x4b\xf9\xb4\x77\x3e\xf5\xd8\xce\x09\x98\x9b\x78\xbf\xb3\x21\x7c\xe3\xf0\x78\xc9\x45\x64\x0f\xf2\x1c\x98\x5d\x42\x2e\x05\x23\x76\x86\xbe\x4e\x8f\xb1\xad\xf7\x8b\xf9\x64\x66\x75\xd2\x0b\xc4\x8c\x5a\xfd\x95\x48\xc0\x88\x67\x75\x21\x17\xde\x56\x65\x24\xb1\xd8\xc8\x52\xe2\x12\xa1\xdf\x1d\x24\x1f\x23\x84\x48\xd3\x69\xab\x78\xe5\xb2\x46\x91\xbd\x9f\x49\x8a\x92\x95\x81\x58\xca\x3d\x93\x1b\x30\x9e\x50\x6b\x44\x4a\x21\x72\x1c\x39\xf2\xb7\x00\x87\x44\x85\x4c\xe6\xff\x3d\xe0\x09\x8c\xca\xd1\x57\x7c\x5c\x32\x12\xb5\x1e\x93\xc3\xa8\x78\xe5\xbb\xac\xa2\x77\x6d\xc4\xd7\x61\x55\x3a\x02\x1f\x44\x1b\xae\xdc\xcf\xe1\x53\xdd\x38\x5c\x3c\x06\xe8\x78\x3e\x0f\x03\x22\x2b\x83\x45\x19\x45\xab\x50\x43\xeb\x7e\x2e\x4a\x2b\x90\x3c\xd3\xb9\x27\x41\x8c\x72\xc3\xca\x5e\xc3\xec\x78\xe6\xf0\x7f\xe2\x72\xc6\xdc\xaf\x28\x6c\x6b\xc7\xdf\xf6\x7a\xb2\xb1\x2d\x3d\x95\x71\x41\xc9\x16\xe1\xb0\x12\xb3\xca\xcf\x2e\x60\x43\x16\x09\xf8\x6f\xb0\xde\x56\x28\x24\xab\x6f\xc1\xb2\x3a\xcd\x34\xac\xde\x8e\x4b\xad\x64\x8c\x39\x8c\x66\x51\x25\x1d\x35\xf7\xe6\xe4\x62\x47\xcf\x92\x15\xb7\xd6\xf3\xd0\x8e\x3b\x89\x8e\x6d\xed\xfe\x21\x8d\x34\x53\x5e\xd1\xa3\xa4\xda\x05\xe4\x93\x40\x3d\xa9\x24\xbc\x39\x1e\x11\x44\xed\x68\xb2\x88\x69\x35\x4e\x2e\xc8\xc6\xe7\x82\x45\x8f\x0e\x17\x44\xa0\xcc\xaa\x8a\x9b\x6a\x62\x35\x1b\x7d\x15\xe0\x83\x55\x95\x35\x31\xfe\x8a\xb9\x31\xb7\xf7\x0d\x3a\x46\x67\xd3\x48\x66\xaa\x7a\xca\xdf\xe5\x25\xc6\x4a\x94\xac\x9a\x4a\xb7\x92\xe1\x7b\x04\x5d\x28\xf3\x77\x1d\x55\xeb\x3c\x57\x9f\xfb\xa2\xa6\x5d\x89\x09\x60\x01\xd7\x14\xa4\xaa\x5e\x72\x6d\xec\xcd\x38\x79\xbe\x30\xe4\x6e\x37\xf0\xdd\xaf\x56\xb7\x29\x42\x9e\xfb\x2b\xa3\xe5\x27\xd9\xe0\xdf\xe9\x56\xf3\x26\xb3\x73\xe6\xa1\x10\xc6\x7c\x33\x93\xe1\xa0\xa4\xec\x2e\x58\xe9\xa7\xa7\xf0\xbb\x96\xc5\x9f\x94\xb7\x1a\x2f\x0c\x5f\xa4\xa9\xc2\xea\x19\xbc\x55\xa2\x54\xf6\x1a\x4a\xa3\x09\x7f\x9a\x0d\x4c\x31\x5b\xff\xc2\x2c\x24\x5e\xfd\x26\x22\x5f\x69\xf4\x50\x99\xd7\x7e\xb2\x77\x36\xab\x45\x29\x50\x2f\x46\x49\xa5\x68\xb8\x81\xc9\x6d\x3e\x97\x55\x56\x56\x99\x12\xb3\x63\x48\x7b\x6a\xcd\xab\x2a\x24\xa1\x9a\xb6\x51\xb9\xb7\x2d\x89\xfb\xd5\xd6\x7c\x29\x03\x61\x34\x64\x61\x96\x98\xf7\xd4\xa3\x26\xd7\xcf\x7d\x5f\x17\xed\x39\x39\x17\x9e\x5b\xe8\xa1\xf1\x0a\xab\x59\xd4\x52\x27\x4f\xc3\xf6\x24\x16\xa1\xec\x2f\x7f\x76\x0a\x33\x7b\x49\xd1\x4d\xa4\x4c\xe8\x76\x92\x5a\xac\xf3\x93\x8c\x5b\x5c\x90\x48\x58\x5d\xf5\xed\x5c\xb7\xf8\xd6\x73\x0f\x2e\x52\xaf\xc0\x9c\x50\xef\xd9\x78\x6e\x72\xc9\x57\xa0\xa6\x77\x7e\xcf\xc6\x96\x83\x59\x81\x2b\x47\x9c\x12\xf3\xa9\x7c\xfc\xbf\x00\x00\x00\xff\xff\xb1\x51\x14\x18\xf3\x30\x00\x00") +var _webdataFnJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x3a\xdd\x6f\xdb\xb8\x93\xef\xf9\x2b\xa6\x7a\x28\xe4\xc6\x91\xed\x14\xbd\x5d\xd4\x75\xee\xbc\xa9\xbb\x09\x36\x69\x02\xdb\xd9\xad\x11\x04\x05\x2d\x8d\x6d\x6d\x65\x52\x2b\x52\x71\xd2\x6b\xfe\xf7\x03\xf5\x49\x51\x94\x9c\x76\xd1\x97\xc3\xcf\x40\x53\x99\x9c\x19\xce\xf7\x07\xe5\xde\xab\x03\x78\x05\x00\x70\xca\xc2\xc7\xc8\x5f\x6f\x04\xd8\x6e\x07\x8e\xfb\x83\x5f\xe1\x86\x46\xb1\xf7\x2e\x96\x7f\xff\x87\xc5\x22\x60\xec\x8b\xe3\xb2\xed\xc9\x01\xe4\x48\xf3\x8d\xcf\x61\xe5\x07\x08\x3e\x87\x90\x44\x02\xd8\x0a\xa6\xb8\x65\x02\x8f\xe6\x2c\x76\x37\x21\xf1\x9c\x12\xfc\x03\x63\x4b\x12\x49\xd8\x55\x84\x08\x9c\xad\xc4\x8e\x44\xf8\x16\x1e\x59\x0c\x2e\xa1\x10\xa1\xe7\x73\x11\xf9\xcb\x58\x20\xf8\x02\x08\xf5\x7a\x2c\x82\x2d\xf3\xfc\xd5\x63\x46\xc4\x17\x10\x53\x0f\x23\x10\x1b\x04\x81\xd1\x96\xcb\x43\xe5\x97\xdf\x3f\xde\xc0\xef\x48\x31\x22\x01\x5c\xc7\xcb\xc0\x77\xe1\xc2\x77\x91\x72\x04\xc2\x21\x94\x2b\x7c\x83\x1e\x2c\x73\x52\x12\xe9\x83\xe4\x64\x96\x71\x02\x1f\x58\x4c\x3d\x22\x7c\x46\xbb\x80\xbe\xd8\x60\x04\xf7\x18\x71\x9f\x51\x78\x9d\x1f\x93\xd1\xec\x02\x8b\x32\x3a\x36\x11\x52\x84\x08\x58\x28\x51\x3b\x40\xe8\x23\x04\x44\x94\xd8\x8a\x12\x34\xf5\x48\x6d\x94\x42\x7b\xe0\xd3\xe4\x90\x0d\x0b\x11\xc4\x86\x08\x29\xef\xce\x0f\x02\x58\x22\xc4\x1c\x57\x71\xd0\xcd\x08\x2d\x63\x01\x7f\x9d\xcf\xcf\xae\x6e\xe6\x30\xfe\xb8\x80\xbf\xc6\xd3\xe9\xf8\xe3\x7c\x31\x84\x9d\x2f\x36\x2c\x16\x80\xf7\x98\x52\xf3\xb7\x61\xe0\xa3\x07\x3b\x12\x45\x84\x8a\x47\x60\xab\x8c\xc8\xe5\x64\x7a\x7a\x36\xfe\x38\x1f\xff\x76\x7e\x71\x3e\x5f\x00\x8b\xe0\xc3\xf9\xfc\xe3\x64\x36\x83\x0f\x57\x53\x18\xc3\xf5\x78\x3a\x3f\x3f\xbd\xb9\x18\x4f\xe1\xfa\x66\x7a\x7d\x35\x9b\x38\x00\x33\x94\xcc\x61\x46\xa3\x45\xef\xab\xc4\x7a\x11\x82\x87\x82\xf8\x01\x2f\xf5\xb0\x60\x31\xf0\x0d\x8b\x03\x0f\x36\xe4\x1e\x21\x42\x17\xfd\x7b\xf4\x80\x80\xcb\xc2\xc7\xfd\x36\x4d\xc9\x90\x80\xd1\x75\x22\x70\xe6\x5d\x0e\xc0\xf9\x0a\x28\x13\x5d\xe0\x88\xf0\x6e\x23\x44\xf8\xb6\xd7\xdb\xed\x76\xce\x9a\xc6\x0e\x8b\xd6\xbd\x20\x25\xc0\x7b\x27\x92\x9d\xde\xc1\x01\xf4\x7a\x70\x3b\x80\xc4\x24\x5d\x38\x4e\x1f\x90\x77\xe1\x75\xfe\x78\x77\xe0\x32\xca\x05\xcc\xaf\x6e\x4e\xcf\x3e\x5f\x5e\xfd\x39\xf9\x3c\x3f\x9b\x4e\x66\x67\x57\x17\xef\x61\x04\xb7\x83\x7e\x17\x06\x6f\xe4\xbf\xbb\x61\x05\x74\x7e\x7e\x39\x91\x06\x1a\xc1\xf1\x9b\x7e\xbe\x95\xe0\x5f\xde\x5c\xc8\xe5\x41\xbe\x38\x3b\x9d\x5e\x5d\x5c\xe4\xcb\x7d\xa7\xff\x66\x78\x20\xf9\xba\x0d\x1f\x7a\xbc\x0b\xdb\x38\x10\x77\x5d\x70\x1c\x27\xe7\xe5\xfa\xea\xfc\xe3\x7c\x32\xfd\x3c\x3e\x3d\x9d\x5c\x4c\xa6\xe3\xf9\xf9\xd5\x47\xc9\xcb\x6d\xbf\x0b\xfd\xbb\x2e\xdc\xfe\xfa\x4b\x17\x06\xf2\x61\xf0\xcb\xeb\xec\xe9\xcd\x9b\xd7\x5d\x38\xbe\x2b\x98\xbc\xb9\x7e\x3f\x9e\x4f\x3e\x27\x84\xfe\x1c\x5f\xc0\x08\x14\x2e\xc7\x9f\x3e\x9f\xbf\xbf\x98\x7c\x4e\x81\x66\x92\xd9\xfe\xf0\xe0\xe0\x9e\x44\xb0\xe3\xc3\xe4\xff\x90\x78\xc5\x43\x40\x96\x18\x64\xfb\x42\xaa\xed\x92\x49\x7b\x8e\x60\x45\x02\x8e\xc3\x72\x7d\x26\x64\xa6\x18\x41\x5f\x59\xbb\x20\x5c\x4c\xa8\xa7\xad\x4e\x31\x40\xc2\xd1\x3b\x65\x31\x55\x30\x18\x5d\x33\x9f\xae\x33\xdb\x48\x99\xef\xd2\x8d\x2d\xbb\xc7\x4f\xb3\x78\x5b\x82\xca\x95\x45\x65\x85\xbb\x11\x0b\x82\x4f\x86\xb5\x2a\x9c\x17\x91\xf5\xda\xa7\xeb\xaa\x00\xf9\xea\xdc\xdf\xa2\x0c\xb1\x11\xd0\x38\x08\xd2\xbd\x38\xf4\x88\x40\xb9\x13\x55\xd6\x7d\x2f\xc0\x9b\x64\x8f\xa7\xe4\x0f\x56\x31\x75\x65\xa6\x80\x55\x1c\x04\xdc\x8d\x10\xe9\x84\x92\x65\x80\x9e\xdd\x81\xff\x3d\x90\x41\x15\xa1\x88\x23\x0a\xb6\xc7\xdc\x78\x8b\x54\x38\x35\x50\xf8\xf6\x2d\x81\x94\x9f\x02\x6a\x87\xcb\x2f\xbe\xf8\xf0\x2c\xd8\x2d\xfb\x2a\x01\x67\xfb\x01\x79\x2b\xc1\x44\x3d\x9d\xe1\xc1\x93\x22\x58\x84\xff\xc4\xc8\x15\x46\x6c\xcc\x25\xf3\x57\x60\xa3\x53\x03\xc8\xb7\xe5\xc7\xb0\x6d\x77\x86\xc9\xf6\x13\x60\xc0\x31\x23\x92\x4a\x3b\x6d\x27\xd5\x00\x64\x24\xb8\x65\x5f\x15\xc0\x99\x81\x9a\x09\xc2\x4c\x8a\xef\xe1\xcb\x00\x50\x10\xaa\xe8\x12\x1f\xfc\x0a\x8c\xa2\xc7\xc2\x44\x55\x18\xf5\xa0\x06\x10\x03\xcf\x9a\x13\x4d\xf6\x93\x34\x01\xb6\x11\xde\xb2\xaf\xa7\x84\xba\x18\x98\xb5\xdb\x06\xd7\x4a\x96\x3f\x83\x57\x1d\xc8\xac\x6b\x25\xca\x02\x94\x78\xcf\x0a\xc8\x14\xf4\x79\x01\xd9\x02\x5b\x0d\xc8\x36\x40\xde\x4a\x50\xa6\x1e\x2d\x1e\x89\xe7\x95\x28\xee\x86\xd0\x35\x4e\xee\x91\x8a\x0b\x9f\x0b\x59\x5e\xed\x20\x7b\x30\x7a\x57\x5d\xd4\x17\xa3\x51\xd2\x86\xad\x7c\x8a\x9e\x51\xdf\xc4\xf3\xaa\x27\x58\x2b\x8d\x01\xab\x0b\xc5\xa9\xfb\x9c\xb1\x2e\xef\x8f\x70\x90\xd2\xfa\x31\x3e\x8c\xc6\xf9\x11\x26\xb6\xec\xeb\x0f\x72\x60\xb0\xfa\x8f\x30\x70\x39\x2b\xe9\x9c\x36\x9d\x5f\xf1\x1e\xd9\x91\x25\xd5\xd6\x16\x69\x8f\x24\xfc\x2d\xce\x04\xd9\x86\x5a\x74\x94\xe7\xfb\x1e\x52\xe1\xaf\x7c\x8c\xde\xa6\xb5\xdc\x29\x57\xba\x05\x54\x48\xd6\xf8\x29\x07\x48\xbe\x68\x7b\x49\xaf\xd0\x02\xb0\x50\xf7\x16\xda\x5e\x0d\x59\x01\x28\x24\x78\x5b\x3e\xa6\x92\x57\x03\x47\xed\x35\xce\xa9\x87\x0f\xbf\x3d\x9e\x7b\xb6\xef\xcd\xd9\x07\x9f\x16\x1a\x97\x7d\xae\x9d\xd4\xfa\xa4\xc2\x83\x0f\xef\xb4\x2e\xc5\x09\x90\xae\xc5\x66\x08\xfe\xe1\xa1\x6a\xa7\xb4\x41\x80\x91\x06\x7e\xeb\xdf\x29\x0a\x1b\x1e\x94\x7a\x5d\x81\x2d\xe1\x47\xa0\xf3\x90\x7f\x32\x53\xf8\xc3\x62\xf5\xe9\xa0\xfc\x9b\xed\x1e\x0d\xaa\x62\xba\x24\x70\x63\x39\xb2\x5c\x33\x9f\x0a\x8c\xc6\xae\x8b\x01\x46\xc9\x28\x74\x19\x07\xc2\xe6\x21\x62\xab\xb8\xa6\x76\xb4\x49\x68\x7e\x0c\x23\x23\xc2\xad\x7f\x77\xdb\xbf\x2b\x39\x27\x6d\x80\x03\x05\x50\xaa\x85\x1f\xc3\xbb\x11\x54\x18\xcd\x3f\x2e\xa3\xc2\xa7\x31\xea\x3a\x29\x34\x2a\x15\xda\x6f\xd0\x24\x39\x36\xa1\xf1\x41\x23\x6b\x47\x03\x4d\x8a\x76\x50\x55\x8e\xbc\xca\xa4\xfa\x3e\xe2\x83\x0e\xf4\xa4\x64\xf2\xa9\x03\xaf\xc0\x26\xc7\x47\x64\xd0\x81\x43\x20\x83\xa1\x62\x56\x29\x44\x8b\x05\xe0\xa4\x2a\x5d\x76\x8c\x91\xa7\x16\x32\x2a\xb7\x15\x77\x1a\xe8\x41\xf3\xbe\xda\x27\x17\x55\xb4\xa9\x7f\x96\x7b\x3b\xee\x70\xa4\x9e\x6d\x2d\x07\xc3\xbe\xa5\x15\xb0\xb4\xb9\x96\x23\xc5\x98\x7a\xb3\xa4\x5f\xaf\x74\x42\x95\xe6\x3b\xa5\xaa\x0a\xcc\xe8\x4d\x01\x90\xf0\x53\x75\x1d\x7d\x0e\x3a\x81\x3e\xbc\x7c\x59\xed\xdc\x0d\x0e\x52\xed\xf8\x39\x8a\x73\x19\x3b\xf7\x24\xb0\xb5\xf3\xba\xfa\xa4\xd5\xa9\x47\x67\x55\x81\x1a\xbb\xb9\xa4\x0a\x43\x87\xc9\xf0\x98\xe7\x90\x64\xf4\x81\x11\x5c\x12\xb1\x71\x44\x14\x53\xd7\xce\xa7\xa1\x4e\x15\x6a\x51\x87\x5a\x94\x50\x52\x1b\xc9\x2e\x59\xf2\x94\x42\x07\x4e\x46\x30\x80\x6f\xdf\xa0\xb2\xbe\x48\xd7\x55\x95\x14\xe3\xd7\xd1\x28\x7d\x1e\x56\xb6\x16\xca\xd6\x42\xd1\xbf\x3e\x1e\xe5\x1b\x85\x3f\x6c\x2d\x38\xcc\x04\x3c\x04\x6b\x98\x7f\x5b\x74\x54\x4f\x54\x66\xbb\xaa\x80\xe5\xc0\xa7\x28\x22\x9b\xf8\x4c\x90\x4d\xca\xc8\xe8\x18\xd4\x91\xe1\xd5\x15\xa2\xcc\x9a\x47\xa3\xfc\xdb\x50\xdb\x5e\x54\xb6\xbf\x4b\x31\x5c\xaa\x22\x17\x3a\x57\x4d\xce\x8d\x9e\x1e\x54\x72\x27\xa3\xda\x78\xaf\xf2\xed\x06\x48\xa2\xc2\x97\x15\x2f\x57\xdc\xd6\x34\xed\xd6\x1d\x79\x43\xa8\x17\x60\x52\x88\x6d\xbc\x17\x6a\xc4\x1a\xeb\x63\x2d\xcc\x2a\x37\x06\x78\x2f\x9c\xa2\x5a\x0f\xab\x30\xda\x6d\x43\x65\xcf\x70\x8f\x90\xef\xd7\xc7\xfc\xaa\x4b\x89\xe2\x92\x41\x1e\x9e\xb6\x6b\x5e\xc6\xf3\xb0\xb1\x18\x8a\xf6\xa2\x2f\xc5\x17\x65\xa1\x17\x24\x5a\x63\xda\xcb\x85\xc4\x93\x89\xa7\x71\x33\xb9\x64\xf9\x9e\xea\x26\xb9\x0e\x23\x94\x1d\xe0\x7b\x5c\x11\x59\xca\x15\x23\x6a\x36\x08\x63\xbe\xb1\xb5\x66\x2f\xe1\xa2\x5b\x55\x7d\xa7\xa3\x29\xb8\x72\x7d\xa3\x4a\xf9\x22\xd7\xaf\xce\xb3\x72\x55\xd3\x9c\xb2\x6a\xd9\xa3\x2d\x73\x55\xe5\xae\x5c\xf3\xb4\x65\x03\x2d\x10\xdb\x13\x42\x2e\x96\x5e\xc6\x5e\x18\x4a\x4e\x11\x48\x79\x12\xd7\x90\x34\x19\xdb\x2a\xa3\xc1\x59\x45\x54\xb7\xb7\x29\xf4\x26\xd4\x53\x03\xef\xa7\xb9\x74\xda\xc7\x3e\x68\x8d\x6c\xd9\x31\x0b\x53\x5f\xab\x69\x55\xe2\xbf\xab\x57\xd9\x36\xf7\xd6\x1c\x98\x87\x81\xef\xa2\x24\xd4\x85\x81\xee\xa4\x95\x2c\x70\x78\xd8\xe8\xc2\x86\x2c\x53\x66\x51\x43\x3e\x39\x31\x5e\x0b\x67\x8a\xaa\xe5\xb2\x3c\x4f\x95\x06\x7c\x7a\x46\x4a\x2c\x92\x82\x76\xb4\x2c\x45\x2f\x5f\x1a\x9d\x44\x3d\xb9\xd6\x5a\xfd\x84\x73\x5f\x28\xe2\xbd\x7c\x59\xd5\x22\x1c\xa9\x89\xfc\x5d\xf5\x72\x5c\x77\xa3\x65\x2c\x04\xa3\xf5\x5c\x62\x4a\xe5\x5a\xc1\x85\xf4\xbd\x48\x8a\x3e\x50\x1c\xa6\x1c\xa7\xcd\x54\x8e\x1b\xa9\xbc\x56\xa8\xec\x21\xf2\xba\x91\x88\x71\x82\x28\x8d\x22\xcb\x76\x06\x2b\xab\xf8\xc0\xd2\x02\x23\xa7\x63\x90\xb6\x9e\x36\x38\x8a\x3c\xe3\xd4\xfa\xf0\xae\xa6\xf9\x9a\x86\xaa\xc4\x1b\x39\xec\x5b\x7b\x1a\xd8\x34\xf9\xa4\x97\x78\xff\xc9\x3f\xff\x3a\xff\x40\x5b\xf6\xa8\xeb\x5d\x42\xe9\x5a\xe7\xf1\xf6\x53\x19\x53\xd9\xca\xa2\xba\xf2\xff\xc9\x32\xc9\xdb\x1a\x9f\x8b\xbc\xa2\xf3\x7f\x22\x91\x36\xf3\x21\xdb\xa9\x87\x26\xb7\x4a\x70\x54\xbb\x80\xf1\x1e\xb2\xbd\x24\x69\x75\x65\x8a\x38\x84\x26\x02\x8b\x16\x02\x8b\x82\x80\x26\x95\x39\xed\xb6\x96\x13\x39\x77\x24\x52\x99\xa1\x6e\xcd\x24\x8f\x60\x70\xa7\xeb\xae\xc1\x9d\x0c\x4a\x94\xa6\xfb\x1e\x7d\x0d\xab\xe8\x8f\x75\xf4\x56\x6d\x55\xd1\x65\x20\xbc\xc7\x40\x10\x3d\x30\x1a\x48\x18\x02\x27\xf1\xfc\xc3\x91\x14\xe4\xd5\xfe\x8b\xae\x62\xaa\xf3\x1e\x3a\xd0\x53\xce\x7f\x05\x83\x7e\xbf\xdf\xa9\xd0\x5d\x24\x74\x1f\xbf\x8f\xee\xe3\x1e\xba\x8d\x8a\x35\xd8\x61\x3f\xd6\xc2\xa0\xfe\x76\xac\x52\xc5\xcf\xe9\x85\xda\x0b\x7e\x9e\xd5\x4e\x46\xcd\x35\xbf\xb5\x03\x49\x26\xed\xbd\x43\xc4\xe1\x28\xb5\xf2\xab\xf2\xdd\x7a\xc3\x04\x91\x42\x2e\xcc\x90\x4a\x9b\xd0\xc8\x50\xad\x53\xd0\x86\xfc\x94\x0d\xe5\x6d\xfe\xd0\x00\xbd\x28\xa1\x17\x4d\xd0\x4f\xda\xa8\xad\xdd\x7d\x19\xef\xe9\x37\x24\x90\x9c\xe2\x14\x79\xc8\x28\x47\x7b\x8b\x9c\x93\x35\x56\x0a\xc1\x86\x5c\x2d\xff\x96\xf3\x05\xee\xe0\x6f\x3e\x3b\x1b\xdb\xd6\xec\x6c\x7c\x74\xfc\xe6\xbf\xac\x2e\x58\xf3\xc9\xa7\x79\x5e\xdd\x53\x50\x87\xa3\x38\xbb\x1c\x9f\xfe\x81\x8f\x39\x3d\x33\x5c\xca\xa7\xbd\xf3\xa9\xc7\x76\x4e\xc0\xdc\xc4\xfb\x9d\x0d\xe1\x1b\x87\xc7\x4b\x2e\x22\x7b\x90\xe7\xc0\xec\xe2\x70\x29\x18\xb1\x33\xf4\x75\x7a\x8c\x6d\xfd\xb6\x98\x4f\x66\x56\x27\xbd\x01\xcc\xa8\xd5\x5f\x63\x04\x8c\x78\x56\x17\x72\xe1\x6d\x55\x46\x12\x8b\x8d\x2c\x25\x2e\x11\xfa\xa5\x40\xf2\x03\x82\x10\x69\x3a\x46\x15\xaf\x49\xd6\x28\xb2\x77\x2a\x49\x51\xb2\x32\x10\x4b\xb9\x33\x72\x03\xc6\x13\x6a\x8d\x48\x29\x44\x8e\x23\x67\xf9\x16\xe0\x90\xa8\x90\xc9\x60\xbf\x07\x3c\x81\x51\x39\xfa\x82\x8f\x4b\x46\xa2\xd6\x63\x72\x18\x15\xaf\x7c\xff\x54\x74\xa8\x8d\xf8\x3a\xac\x4a\x47\xe0\x83\x68\xc3\x95\xfb\x39\x7c\xaa\x1b\x87\x8b\xc7\x00\x1d\xcf\xe7\x61\x40\x64\x65\xb0\x28\xa3\x68\x15\x6a\x68\xdd\xcf\x45\x69\x05\x92\x67\x3a\xf7\x24\x88\x51\x6e\x58\xd9\xab\x93\x1d\xcf\x1c\xfe\x2f\x5c\xce\x98\xfb\x05\x85\x6d\xed\xf8\xdb\x5e\x4f\x36\xb6\xa5\xa7\x32\x2e\x28\xd9\x22\x1c\x56\x62\x56\xf9\xd8\x05\x6c\xc8\x22\x01\xff\x0d\xd6\xdb\x0a\x85\x64\xf5\x2d\x58\x56\xa7\x99\x86\xd5\xdb\x71\xa9\x95\x8c\x31\x87\xd1\x2c\xaa\xa4\xa3\xe6\xde\x9c\xdc\xd8\xe8\x59\xb2\xe2\xd6\x7a\x1e\xda\x71\x27\xd1\xb1\xad\x5d\x2c\xa4\x91\x66\xca\x2b\x7a\x94\x54\xbb\x80\xbc\xf9\xaf\x27\x95\x84\x37\xc7\x23\x82\xa8\x1d\x4d\x16\x31\xad\xc6\xc9\x05\xd9\xf8\x5c\xb0\xe8\xd1\xe1\x82\x08\x94\x59\x55\x71\x53\x4d\xac\x66\xa3\xaf\x02\x7c\xb0\xaa\xb2\x26\xc6\x5f\x31\x37\xe6\xf6\xbe\xd9\xc6\xe8\x6c\x1a\xc9\x4c\x55\x4f\xf9\xfb\xb7\xc4\x58\x89\x92\x55\x53\xe9\x56\x32\xfc\x86\x40\x17\xca\xfc\x5b\x8c\xaa\x75\x9e\xab\xcf\x7d\x51\xd3\xae\xc4\x04\xb0\x80\x6b\x0a\x52\x55\x2f\xb9\x36\xf6\x66\x9c\x3c\x5f\x18\x72\xb7\x1b\xf8\xee\x17\xab\xdb\x14\x21\xcf\xfd\x94\xd1\xf2\x93\x6c\xf0\xef\x74\xab\x79\x93\xd9\x39\xf3\x50\x08\x63\xbe\x99\xc9\x70\x50\x52\x76\x17\xac\xf4\xe7\xa2\xf0\x87\x96\xc5\x9f\x94\x37\x14\x2f\x0c\xbf\x22\x53\x85\xd5\x33\x78\xab\x44\xa9\xec\x35\x94\x46\x13\xfe\x34\x1b\x98\x62\xb6\xfe\xab\xb0\x90\x78\xf5\x9b\x88\x7c\xa5\xd1\x43\x65\x5e\xfb\xc9\xde\xd9\xac\x16\xa5\x40\xbd\x18\x25\x95\xa2\xe1\xd2\x45\xc8\xca\x52\x42\x77\x0c\xa9\x4e\xad\x73\x55\x25\x24\x94\xd2\xd6\x29\xf7\xb0\x25\x71\xbf\xd8\x9a\xff\x64\x20\x8c\x86\x2c\xcc\x92\xf1\x9e\x1a\xd4\xe4\xee\xb9\xbf\xeb\xe2\x3c\x27\xcf\xc2\x73\x8b\x3b\x34\xde\x54\x35\x8b\x5a\xea\xe4\x69\xd8\x9e\xb8\x22\x94\x3d\xe5\xcf\x4e\x5b\x66\xcf\x28\x3a\x88\x94\x09\xdd\x4e\x52\x8b\x75\x7e\x92\x11\x8b\x0b\x12\x09\xab\xab\xbe\x6a\xeb\x16\xbf\xc9\xdc\x83\x8b\xd4\x2b\x30\x27\xd4\x7b\x36\x9e\x9b\x5c\xec\x15\xa8\xe9\x3d\xdf\xb3\xb1\xe5\x30\x56\xe0\xca\xb1\xa6\xc4\x7c\x2a\x1f\xff\x2f\x00\x00\xff\xff\xdc\x48\x1c\x6a\x9b\x30\x00\x00") func webdataFnJsBytes() ([]byte, error) { return bindataRead( @@ -89,7 +89,7 @@ func webdataFnJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "webdata/fn.js", size: 12531, mode: os.FileMode(436), modTime: time.Unix(1529899874, 0)} + info := bindataFileInfo{name: "webdata/fn.js", size: 12443, mode: os.FileMode(436), modTime: time.Unix(1529985636, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -109,7 +109,7 @@ func webdataIconPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "webdata/icon.png", size: 1578, mode: os.FileMode(436), modTime: time.Unix(1529899874, 0)} + info := bindataFileInfo{name: "webdata/icon.png", size: 1578, mode: os.FileMode(436), modTime: time.Unix(1529985636, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -129,7 +129,7 @@ func webdataIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "webdata/index.html", size: 1132, mode: os.FileMode(436), modTime: time.Unix(1529899874, 0)} + info := bindataFileInfo{name: "webdata/index.html", size: 1132, mode: os.FileMode(436), modTime: time.Unix(1529985636, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -149,7 +149,7 @@ func webdataMainCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "webdata/main.css", size: 1724, mode: os.FileMode(436), modTime: time.Unix(1529899874, 0)} + info := bindataFileInfo{name: "webdata/main.css", size: 1724, mode: os.FileMode(436), modTime: time.Unix(1529985636, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -169,7 +169,7 @@ func webdataSha256Js() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "webdata/sha256.js", size: 9380, mode: os.FileMode(436), modTime: time.Unix(1529899874, 0)} + info := bindataFileInfo{name: "webdata/sha256.js", size: 9380, mode: os.FileMode(436), modTime: time.Unix(1529985636, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -189,7 +189,7 @@ func webdataTexPng() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "webdata/tex.png", size: 3878, mode: os.FileMode(436), modTime: time.Unix(1529899874, 0)} + info := bindataFileInfo{name: "webdata/tex.png", size: 3878, mode: os.FileMode(436), modTime: time.Unix(1529985636, 0)} a := &asset{bytes: bytes, info: info} return a, nil } diff --git a/main.go b/main.go index ec057af..344d324 100644 --- a/main.go +++ b/main.go @@ -35,6 +35,7 @@ import ( "strconv" "strings" "time" + "unicode/utf8" ) const ( @@ -47,29 +48,35 @@ const ( ) func processCommand(plugin Plugin, command string) error { - commandParts := strings.Split(command, " ") - if commandParts[0] == "KeyboardText" { - text := strings.Join(commandParts[1:], " ") + if len(command) == 0 { + return errors.New("empty command") + } + if command[0] == 't' { + text := command[1:] + if !utf8.ValidString(text) { + return errors.New("invalid utf-8") + } return plugin.KeyboardText(text) } - if len(commandParts) != 3 { + arguments := strings.Split(command[1:], ";") + if len(arguments) != 2 { return errors.New("wrong number of arguments") } - x, err := strconv.ParseInt(commandParts[1], 10, 32) + x, err := strconv.ParseInt(arguments[0], 10, 32) if err != nil { return err } - y, err := strconv.ParseInt(commandParts[2], 10, 32) + y, err := strconv.ParseInt(arguments[1], 10, 32) if err != nil { return err } - if commandParts[0] == "PointerMove" { + if command[0] == 'm' { return plugin.PointerMove(int(x), int(y)) } - if commandParts[0] == "PointerScroll" { + if command[0] == 's' { return plugin.PointerScroll(int(x), int(y)) } - if commandParts[0] == "PointerButton" { + if command[0] == 'b' { if x <= 0 || x > 3 { return errors.New("unknown pointer button") } diff --git a/webdata/fn.js b/webdata/fn.js index 5839f5c..1cb654b 100644 --- a/webdata/fn.js +++ b/webdata/fn.js @@ -141,7 +141,7 @@ function calculatePointerAccelerationMult(speed) { function onDraggingTimeout() { draggingTimeout = null; - ws.send("PointerButton 1 0"); + ws.send("b1;0"); } function updateMoveAndScroll() { @@ -161,7 +161,7 @@ function onUpdateTimeout() { moveXSum -= moveX; moveYSum -= moveY; idleUpdates = 0; - ws.send("PointerMove " + moveX + " " + moveY); + ws.send("m" + moveX + ";" + moveY); } var scrollX = Math.trunc(scrollXSum); var scrollY = Math.trunc(scrollYSum); @@ -169,7 +169,7 @@ function onUpdateTimeout() { scrollXSum -= scrollX; scrollYSum -= scrollY; idleUpdates = 0; - ws.send("PointerScroll " + scrollX + " " + scrollY); + ws.send("s" + scrollX + ";" + scrollY); } if (idleUpdates >= MAX_IDLE_UPDATES) { clearInterval(updateTimer); @@ -222,7 +222,7 @@ function handleEnd(evt) { } if (ongoingTouches.length == 0 && touchReleasedCount >= 1 && dragging) { - ws.send("PointerButton 1 0"); + ws.send("b1;0"); } if (ongoingTouches.length == 0 && touchReleasedCount >= 1 && !touchMoved && evt.timeStamp - touchStart < TOUCH_TIMEOUT) { @@ -234,11 +234,11 @@ function handleEnd(evt) { }else if (touchReleasedCount == 3) { button = 2; } - ws.send("PointerButton " + button + " 1"); + ws.send("b" + button + ";1"); if (button == 1) { draggingTimeout = setTimeout(onDraggingTimeout, TOUCH_TIMEOUT); } else { - ws.send("PointerButton " + button + " 0"); + ws.send("b" + button + ";0"); } } } @@ -365,7 +365,7 @@ window.addEventListener("load", function() { document.getElementById("sendbutton").addEventListener("click", function(e) { if (text.value != "") { - ws.send("KeyboardText " + text.value); + ws.send("t" + text.value); text.value = ""; } window.history.back();