diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..ef225ce2b --- /dev/null +++ b/.gitattributes @@ -0,0 +1,4 @@ +# .gitattributes +# prevent binary files from CRLF handling, diff and merge: +fpga/fpga.bit -crlf -diff + \ No newline at end of file diff --git a/.gitignore b/.gitignore index a43a00fe7..07669e14a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,8 @@ # .gitignore # don't push these files to the repository +*.log +*.eml *.o *.a *.d @@ -12,15 +14,21 @@ *.moc.cpp *.exe proxmark +proxmark3 flasher version.c +lua +luac fpga/* -!fpga/fpga.bit +!fpga/tests +!fpga/fpga_lf.bit +!fpga/fpga_hf.bit !fpga/*.v !fpga/Makefile !fpga/fpga.ucf -!fpga/xst.scr +!fpga/xst_lf.scr +!fpga/xst_hf.scr !fpga/go.bat !fpga/sim.tcl diff --git a/README.txt b/README.txt index ce5eacf45..cb2c7f3c7 100644 --- a/README.txt +++ b/README.txt @@ -85,4 +85,3 @@ Jonathan Westhues user jwesthues, at host cq.cx May 2007, Cambridge MA - diff --git a/_Sidebar.md b/_Sidebar.md deleted file mode 100644 index fcffb6c0c..000000000 --- a/_Sidebar.md +++ /dev/null @@ -1,10 +0,0 @@ -# Proxmark Wiki - * [Home Page](HomePage) - * [Getting Started](GettingStarted) - * [Hardware](Hardware) - * *Software / firmware* - * [Linux (Gentoo)](Gentoo Linux) - * [Windows](Windows) - * *Usage* - * [EM4102 Walk through](EM4102 1.pm3 Walkthrough) - * [Command Reference](commands) \ No newline at end of file diff --git a/armsrc/Makefile b/armsrc/Makefile index 2e5350bb3..e10c10019 100644 --- a/armsrc/Makefile +++ b/armsrc/Makefile @@ -52,10 +52,13 @@ OBJS = $(OBJDIR)/osimage.s19 $(OBJDIR)/fpgaimage.s19 all: $(OBJS) -$(OBJDIR)/fpga.o: fpga.bit - $(OBJCOPY) -O elf32-littlearm -I binary -B arm --redefine-sym _binary____fpga_fpga_bit_start=_binary_fpga_bit_start --redefine-sym _binary____fpga_fpga_bit_end=_binary_fpga_bit_end --prefix-sections=fpga_bit $^ $@ +$(OBJDIR)/fpga_lf.o: fpga_lf.bit + $(OBJCOPY) -O elf32-littlearm -I binary -B arm --redefine-sym _binary____fpga_fpga_lf_bit_start=_binary_fpga_lf_bit_start --redefine-sym _binary____fpga_fpga_lf_bit_end=_binary_fpga_lf_bit_end --prefix-sections=fpga_lf_bit $^ $@ -$(OBJDIR)/fullimage.elf: $(VERSIONOBJ) $(OBJDIR)/fpga.o $(THUMBOBJ) $(ARMOBJ) +$(OBJDIR)/fpga_hf.o: fpga_hf.bit + $(OBJCOPY) -O elf32-littlearm -I binary -B arm --redefine-sym _binary____fpga_fpga_hf_bit_start=_binary_fpga_hf_bit_start --redefine-sym _binary____fpga_fpga_hf_bit_end=_binary_fpga_hf_bit_end --prefix-sections=fpga_hf_bit $^ $@ + +$(OBJDIR)/fullimage.elf: $(VERSIONOBJ) $(OBJDIR)/fpga_lf.o $(OBJDIR)/fpga_hf.o $(THUMBOBJ) $(ARMOBJ) $(CC) $(LDFLAGS) -Wl,-T,ldscript,-Map,$(patsubst %.elf,%.map,$@) -o $@ $^ $(LIBS) $(OBJDIR)/fpgaimage.elf: $(OBJDIR)/fullimage.elf diff --git a/armsrc/appmain.c b/armsrc/appmain.c index 7af47a519..a3f507d65 100644 --- a/armsrc/appmain.c +++ b/armsrc/appmain.c @@ -214,7 +214,8 @@ void MeasureAntennaTuning(void) * ( hopefully around 95 if it is tuned to 125kHz!) */ - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_READER); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); for (i=255; i>19; i--) { WDT_HIT(); FpgaSendCommand(FPGA_CMD_SET_DIVISOR, i); @@ -236,6 +237,7 @@ void MeasureAntennaTuning(void) LED_A_ON(); // Let the FPGA drive the high-frequency antenna around 13.56 MHz. + FpgaDownloadAndGo(FPGA_BITSTREAM_HF); FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_RX_XCORR); SpinDelay(20); // Vref = 3300mV, and an 10:1 voltage divider on the input @@ -264,6 +266,7 @@ void MeasureAntennaTuningHf(void) for (;;) { // Let the FPGA drive the high-frequency antenna around 13.56 MHz. + FpgaDownloadAndGo(FPGA_BITSTREAM_HF); FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_RX_XCORR); SpinDelay(20); // Vref = 3300mV, and an 10:1 voltage divider on the input @@ -286,6 +289,7 @@ void SimulateTagHfListen(void) // We're using this mode just so that I can test it out; the simulated // tag mode would work just as well and be simpler. + FpgaDownloadAndGo(FPGA_BITSTREAM_HF); FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_RX_XCORR | FPGA_HF_READER_RX_XCORR_848_KHZ | FPGA_HF_READER_RX_XCORR_SNOOP); // We need to listen to the high-frequency, peak-detected path. @@ -336,7 +340,7 @@ extern struct version_information version_information; extern char *_bootphase1_version_pointer, _flash_start, _flash_end; void SendVersion(void) { - char temp[48]; /* Limited data payload in USB packets */ + char temp[256]; /* Limited data payload in USB packets */ DbpString("Prox/RFID mark3 RFID instrument"); /* Try to find the bootrom version information. Expect to find a pointer at @@ -365,6 +369,7 @@ void SendVersion(void) void SamyRun() { DbpString("Stand-alone mode! No PC necessary."); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); // 3 possible options? no just 2 for now #define OPTS 2 @@ -633,6 +638,10 @@ void UsbPacketReceived(uint8_t *packet, int len) case CMD_MOD_THEN_ACQUIRE_RAW_ADC_SAMPLES_125K: ModThenAcquireRawAdcSamples125k(c->arg[0],c->arg[1],c->arg[2],c->d.asBytes); break; + case CMD_LF_SNOOP_RAW_ADC_SAMPLES: + SnoopLFRawAdcSamples(c->arg[0], c->arg[1]); + cmd_send(CMD_ACK,0,0,0,0,0); + break; case CMD_HID_DEMOD_FSK: CmdHIDdemodFSK(0, 0, 0, 1); // Demodulate HID tag break; @@ -853,11 +862,14 @@ void UsbPacketReceived(uint8_t *packet, int len) SnoopIClass(); break; case CMD_SIMULATE_TAG_ICLASS: - SimulateIClass(c->arg[0], c->d.asBytes); + SimulateIClass(c->arg[0], c->arg[1], c->arg[2], c->d.asBytes); break; case CMD_READER_ICLASS: ReaderIClass(c->arg[0]); break; + case CMD_READER_ICLASS_REPLAY: + ReaderIClass_Replay(c->arg[0], c->d.asBytes); + break; #endif case CMD_SIMULATE_TAG_HF_LISTEN: @@ -923,6 +935,7 @@ void UsbPacketReceived(uint8_t *packet, int len) break; case CMD_SET_LF_DIVISOR: + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); FpgaSendCommand(FPGA_CMD_SET_DIVISOR, c->arg[0]); break; @@ -1017,7 +1030,8 @@ void __attribute__((noreturn)) AppMain(void) AT91C_BASE_SSC->SSC_CR = AT91C_SSC_SWRST; // Load the FPGA image, which we have stored in our flash. - FpgaDownloadAndGo(); + // (the HF version by default) + FpgaDownloadAndGo(FPGA_BITSTREAM_HF); StartTickCount(); diff --git a/armsrc/apps.h b/armsrc/apps.h index e21b5ce5e..011ad6953 100644 --- a/armsrc/apps.h +++ b/armsrc/apps.h @@ -59,7 +59,8 @@ void ToSendStuffBit(int b); void ToSendReset(void); void ListenReaderField(int limit); void AcquireRawAdcSamples125k(int at134khz); -void DoAcquisition125k(void); +void SnoopLFRawAdcSamples(int divisor, int trigger_threshold); +void DoAcquisition125k(int trigger_threshold); extern int ToSendMax; extern uint8_t ToSend[]; extern uint32_t BigBuf[]; @@ -67,7 +68,8 @@ extern uint32_t BigBuf[]; /// fpga.h void FpgaSendCommand(uint16_t cmd, uint16_t v); void FpgaWriteConfWord(uint8_t v); -void FpgaDownloadAndGo(void); +void FpgaDownloadAndGo(int bitstream_version); +int FpgaGatherBitstreamVersion(); void FpgaGatherVersion(char *dst, int len); void FpgaSetupSsc(void); void SetupSpi(int mode); @@ -77,31 +79,40 @@ bool FpgaSetupSscDma(uint8_t *buf, int len); void SetAdcMuxFor(uint32_t whichGpio); // Definitions for the FPGA commands. -#define FPGA_CMD_SET_CONFREG (1<<12) -#define FPGA_CMD_SET_DIVISOR (2<<12) +#define FPGA_CMD_SET_CONFREG (1<<12) +#define FPGA_CMD_SET_DIVISOR (2<<12) +#define FPGA_CMD_SET_USER_BYTE1 (3<<12) // Definitions for the FPGA configuration word. -#define FPGA_MAJOR_MODE_LF_READER (0<<5) -#define FPGA_MAJOR_MODE_LF_EDGE_DETECT (1<<5) -#define FPGA_MAJOR_MODE_HF_READER_TX (2<<5) -#define FPGA_MAJOR_MODE_HF_READER_RX_XCORR (3<<5) -#define FPGA_MAJOR_MODE_HF_SIMULATOR (4<<5) -#define FPGA_MAJOR_MODE_HF_ISO14443A (5<<5) -#define FPGA_MAJOR_MODE_LF_PASSTHRU (6<<5) -#define FPGA_MAJOR_MODE_OFF (7<<5) +// LF +#define FPGA_MAJOR_MODE_LF_ADC (0<<5) +#define FPGA_MAJOR_MODE_LF_EDGE_DETECT (1<<5) +#define FPGA_MAJOR_MODE_LF_PASSTHRU (2<<5) +// HF +#define FPGA_MAJOR_MODE_HF_READER_TX (0<<5) +#define FPGA_MAJOR_MODE_HF_READER_RX_XCORR (1<<5) +#define FPGA_MAJOR_MODE_HF_SIMULATOR (2<<5) +#define FPGA_MAJOR_MODE_HF_ISO14443A (3<<5) +// BOTH +#define FPGA_MAJOR_MODE_OFF (7<<5) +// Options for LF_ADC +#define FPGA_LF_ADC_READER_FIELD (1<<0) // Options for LF_EDGE_DETECT +#define FPGA_CMD_SET_EDGE_DETECT_THRESHOLD FPGA_CMD_SET_USER_BYTE1 #define FPGA_LF_EDGE_DETECT_READER_FIELD (1<<0) +#define FPGA_LF_EDGE_DETECT_TOGGLE_MODE (1<<1) // Options for the HF reader, tx to tag #define FPGA_HF_READER_TX_SHALLOW_MOD (1<<0) // Options for the HF reader, correlating against rx from tag #define FPGA_HF_READER_RX_XCORR_848_KHZ (1<<0) #define FPGA_HF_READER_RX_XCORR_SNOOP (1<<1) -#define FPGA_HF_READER_RX_XCORR_QUARTER_FREQ (1<<2) +#define FPGA_HF_READER_RX_XCORR_QUARTER_FREQ (1<<2) // Options for the HF simulated tag, how to modulate #define FPGA_HF_SIMULATOR_NO_MODULATION (0<<0) #define FPGA_HF_SIMULATOR_MODULATE_BPSK (1<<0) #define FPGA_HF_SIMULATOR_MODULATE_212K (2<<0) +#define FPGA_HF_SIMULATOR_MODULATE_424K (4<<0) // Options for ISO14443A -#define FPGA_HF_ISO14443A_SNIFFER (0<<0) +#define FPGA_HF_ISO14443A_SNIFFER (0<<0) #define FPGA_HF_ISO14443A_TAGSIM_LISTEN (1<<0) #define FPGA_HF_ISO14443A_TAGSIM_MOD (2<<0) #define FPGA_HF_ISO14443A_READER_LISTEN (3<<0) @@ -146,7 +157,7 @@ void RAMFUNC SnoopIso14443a(uint8_t param); void SimulateIso14443aTag(int tagType, int uid_1st, int uid_2nd, byte_t* data); void ReaderIso14443a(UsbCommand * c); // Also used in iclass.c -bool RAMFUNC LogTrace(const uint8_t * btBytes, uint8_t iLen, uint32_t iSamples, uint32_t dwParity, bool bReader); +bool RAMFUNC LogTrace(const uint8_t * btBytes, uint8_t iLen, uint32_t iSamples, uint32_t dwParity, bool readerToTag); uint32_t GetParity(const uint8_t * pbtCmd, int iLen); void iso14a_set_trigger(bool enable); void iso14a_clear_trace(); @@ -188,8 +199,10 @@ void SetDebugIso15693(uint32_t flag); /// iclass.h void RAMFUNC SnoopIClass(void); -void SimulateIClass(uint8_t arg0, uint8_t *datain); +void SimulateIClass(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain); void ReaderIClass(uint8_t arg0); +void ReaderIClass_Replay(uint8_t arg0,uint8_t *MAC); +void IClass_iso14443A_GetPublic(uint8_t arg0); // hitag2.h void SnoopHitag(uint32_t type); diff --git a/armsrc/fpgaloader.c b/armsrc/fpgaloader.c index d63310a35..077b378a9 100644 --- a/armsrc/fpgaloader.c +++ b/armsrc/fpgaloader.c @@ -1,5 +1,6 @@ //----------------------------------------------------------------------------- // Jonathan Westhues, April 2006 +// iZsh , 2014 // // This code is licensed to you under the terms of the GNU GPL, version 2 or, // at your option, any later version. See the LICENSE.txt file for the text of @@ -8,7 +9,6 @@ // Routines to load the FPGA image, and then to configure the FPGA's major // mode once it is configured. //----------------------------------------------------------------------------- - #include "proxmark3.h" #include "apps.h" #include "util.h" @@ -252,7 +252,7 @@ static void DownloadFPGA(const char *FpgaImage, int FpgaImageLen, int byterevers static char *bitparse_headers_start; static char *bitparse_bitstream_end; -static int bitparse_initialized; +static int bitparse_initialized = 0; /* Simple Xilinx .bit parser. The file starts with the fixed opaque byte sequence * 00 09 0f f0 0f f0 0f f0 0f f0 00 00 01 * After that the format is 1 byte section type (ASCII character), 2 byte length @@ -322,12 +322,28 @@ int bitparse_find_section(char section_name, char **section_start, unsigned int // Find out which FPGA image format is stored in flash, then call DownloadFPGA // with the right parameters to download the image //----------------------------------------------------------------------------- -extern char _binary_fpga_bit_start, _binary_fpga_bit_end; -void FpgaDownloadAndGo(void) +extern char _binary_fpga_lf_bit_start, _binary_fpga_lf_bit_end; +extern char _binary_fpga_hf_bit_start, _binary_fpga_hf_bit_end; +void FpgaDownloadAndGo(int bitstream_version) { + void *bit_start; + void *bit_end; + + // check whether or not the bitstream is already loaded + if (FpgaGatherBitstreamVersion() == bitstream_version) + return; + + if (bitstream_version == FPGA_BITSTREAM_LF) { + bit_start = &_binary_fpga_lf_bit_start; + bit_end = &_binary_fpga_lf_bit_end; + } else if (bitstream_version == FPGA_BITSTREAM_HF) { + bit_start = &_binary_fpga_hf_bit_start; + bit_end = &_binary_fpga_hf_bit_end; + } else + return; /* Check for the new flash image format: Should have the .bit file at &_binary_fpga_bit_start */ - if(bitparse_init(&_binary_fpga_bit_start, &_binary_fpga_bit_end)) { + if(bitparse_init(bit_start, bit_end)) { /* Successfully initialized the .bit parser. Find the 'e' section and * send its contents to the FPGA. */ @@ -351,6 +367,17 @@ void FpgaDownloadAndGo(void) DownloadFPGA((char*)0x102000, 10524*4, 1); } +int FpgaGatherBitstreamVersion() +{ + char temp[256]; + FpgaGatherVersion(temp, sizeof (temp)); + if (!memcmp("LF", temp, 2)) + return FPGA_BITSTREAM_LF; + else if (!memcmp("HF", temp, 2)) + return FPGA_BITSTREAM_HF; + return FPGA_BITSTREAM_ERR; +} + void FpgaGatherVersion(char *dst, int len) { char *fpga_info; @@ -359,13 +386,15 @@ void FpgaGatherVersion(char *dst, int len) if(!bitparse_find_section('e', &fpga_info, &fpga_info_len)) { strncat(dst, "FPGA image: legacy image without version information", len-1); } else { - strncat(dst, "FPGA image built", len-1); /* USB packets only have 48 bytes data payload, so be terse */ -#if 0 if(bitparse_find_section('a', &fpga_info, &fpga_info_len) && fpga_info[fpga_info_len-1] == 0 ) { - strncat(dst, " from ", len-1); - strncat(dst, fpga_info, len-1); + if (!memcmp("fpga_lf", fpga_info, 7)) + strncat(dst, "LF ", len-1); + else if (!memcmp("fpga_hf", fpga_info, 7)) + strncat(dst, "HF ", len-1); } + strncat(dst, "FPGA image built", len-1); +#if 0 if(bitparse_find_section('b', &fpga_info, &fpga_info_len) && fpga_info[fpga_info_len-1] == 0 ) { strncat(dst, " for ", len-1); strncat(dst, fpga_info, len-1); diff --git a/armsrc/hitag2.c b/armsrc/hitag2.c index 1a0e9b56a..9181a62ea 100644 --- a/armsrc/hitag2.c +++ b/armsrc/hitag2.c @@ -743,6 +743,7 @@ void SnoopHitag(uint32_t type) { // Set up eavesdropping mode, frequency divisor which will drive the FPGA // and analog mux selection. + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_EDGE_DETECT); FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz SetAdcMuxFor(GPIO_MUXSEL_LOPKD); @@ -966,6 +967,7 @@ void SimulateHitagTag(bool tag_mem_supplied, byte_t* data) { // Set up simulator mode, frequency divisor which will drive the FPGA // and analog mux selection. + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_EDGE_DETECT); FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz SetAdcMuxFor(GPIO_MUXSEL_LOPKD); @@ -1124,6 +1126,7 @@ void ReaderHitag(hitag_function htf, hitag_data* htd) { bool bStop; bool bQuitTraceFull = false; + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); // Reset the return status bSuccessful = false; diff --git a/armsrc/iclass.c b/armsrc/iclass.c index e876132e7..0ff24bfdd 100644 --- a/armsrc/iclass.c +++ b/armsrc/iclass.c @@ -41,24 +41,15 @@ #include "util.h" #include "string.h" #include "common.h" +#include "cmd.h" // Needed for CRC in emulation mode; // same construction as in ISO 14443; // different initial value (CRC_ICLASS) #include "iso14443crc.h" +#include "iso15693tools.h" static int timeout = 4096; -// CARD TO READER -// Sequence D: 11110000 modulation with subcarrier during first half -// Sequence E: 00001111 modulation with subcarrier during second half -// Sequence F: 00000000 no modulation with subcarrier -// READER TO CARD -// Sequence X: 00001100 drop after half a period -// Sequence Y: 00000000 no drop -// Sequence Z: 11000000 drop at start -#define SEC_X 0x0c -#define SEC_Y 0x00 -#define SEC_Z 0xc0 static int SendIClassAnswer(uint8_t *resp, int respLen, int delay); @@ -666,12 +657,7 @@ static RAMFUNC int ManchesterDecoding(int v) //----------------------------------------------------------------------------- void RAMFUNC SnoopIClass(void) { -// DEFINED ABOVE -// #define RECV_CMD_OFFSET 3032 -// #define RECV_RES_OFFSET 3096 -// #define DMA_BUFFER_OFFSET 3160 -// #define DMA_BUFFER_SIZE 4096 -// #define TRACE_SIZE 3000 + // We won't start recording the frames that we acquire until we trigger; // a good trigger condition to get started is probably when we see a @@ -681,14 +667,12 @@ void RAMFUNC SnoopIClass(void) // The command (reader -> tag) that we're receiving. // The length of a received command will in most cases be no more than 18 bytes. // So 32 should be enough! - uint8_t *receivedCmd = (((uint8_t *)BigBuf) + RECV_CMD_OFFSET); + uint8_t *readerToTagCmd = (((uint8_t *)BigBuf) + RECV_CMD_OFFSET); // The response (tag -> reader) that we're receiving. - uint8_t *receivedResponse = (((uint8_t *)BigBuf) + RECV_RES_OFFSET); + uint8_t *tagToReaderResponse = (((uint8_t *)BigBuf) + RECV_RES_OFFSET); - // As we receive stuff, we copy it from receivedCmd or receivedResponse - // into trace, along with its length and other annotations. - //uint8_t *trace = (uint8_t *)BigBuf; - + FpgaDownloadAndGo(FPGA_BITSTREAM_HF); + // reset traceLen to 0 iso14a_set_tracing(TRUE); iso14a_clear_trace(); @@ -706,10 +690,8 @@ void RAMFUNC SnoopIClass(void) int samples = 0; rsamples = 0; - memset(trace, 0x44, RECV_CMD_OFFSET); - // Set up the demodulator for tag -> reader responses. - Demod.output = receivedResponse; + Demod.output = tagToReaderResponse; Demod.len = 0; Demod.state = DEMOD_UNSYNCD; @@ -721,7 +703,7 @@ void RAMFUNC SnoopIClass(void) // And the reader -> tag commands memset(&Uart, 0, sizeof(Uart)); - Uart.output = receivedCmd; + Uart.output = readerToTagCmd; Uart.byteCntMax = 32; // was 100 (greg)//////////////////////////////////////////////////////////////////////// Uart.state = STATE_UNSYNCD; @@ -731,6 +713,9 @@ void RAMFUNC SnoopIClass(void) FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_ISO14443A | FPGA_HF_ISO14443A_SNIFFER); SetAdcMuxFor(GPIO_MUXSEL_HIPKD); + uint32_t time_0 = GetCountSspClk(); + + int div = 0; //int div2 = 0; int decbyte = 0; @@ -764,20 +749,13 @@ void RAMFUNC SnoopIClass(void) //samples += 4; samples += 1; - //div2++; - //if(div2 > 3) { - //div2 = 0; - //decbyte ^= ((smpl & 0x01) << (3 - div)); - //decbyte ^= (((smpl & 0x01) | ((smpl & 0x02) >> 1)) << (3 - div)); // better already... - //decbyte ^= (((smpl & 0x01) | ((smpl & 0x02) >> 1) | ((smpl & 0x04) >> 2)) << (3 - div)); // even better... if(smpl & 0xF) { decbyte ^= (1 << (3 - div)); } - //decbyte ^= (MajorityNibble[(smpl & 0x0F)] << (3 - div)); // FOR READER SIDE COMMUMICATION... - //decbyte ^= ((smpl & 0x10) << (3 - div)); + decbyter <<= 2; decbyter ^= (smpl & 0x30); @@ -788,21 +766,17 @@ void RAMFUNC SnoopIClass(void) if(OutOfNDecoding((smpl & 0xF0) >> 4)) { rsamples = samples - Uart.samples; LED_C_ON(); - //if(triggered) { - trace[traceLen++] = ((rsamples >> 0) & 0xff); - trace[traceLen++] = ((rsamples >> 8) & 0xff); - trace[traceLen++] = ((rsamples >> 16) & 0xff); - trace[traceLen++] = ((rsamples >> 24) & 0xff); - trace[traceLen++] = ((Uart.parityBits >> 0) & 0xff); - trace[traceLen++] = ((Uart.parityBits >> 8) & 0xff); - trace[traceLen++] = ((Uart.parityBits >> 16) & 0xff); - trace[traceLen++] = ((Uart.parityBits >> 24) & 0xff); - trace[traceLen++] = Uart.byteCnt; - memcpy(trace+traceLen, receivedCmd, Uart.byteCnt); - traceLen += Uart.byteCnt; - if(traceLen > TRACE_SIZE) break; - //} - /* And ready to receive another command. */ + + //if(!LogTrace(Uart.output,Uart.byteCnt, rsamples, Uart.parityBits,TRUE)) break; + //if(!LogTrace(NULL, 0, Uart.endTime*16 - DELAY_READER_AIR2ARM_AS_SNIFFER, 0, TRUE)) break; + if(tracing) + { + LogTrace(Uart.output,Uart.byteCnt, (GetCountSspClk()-time_0) << 4, Uart.parityBits,TRUE); + LogTrace(NULL, 0, (GetCountSspClk()-time_0) << 4, 0, TRUE); + } + + + /* And ready to receive another command. */ Uart.state = STATE_UNSYNCD; /* And also reset the demod code, which might have been */ /* false-triggered by the commands from the reader. */ @@ -819,26 +793,16 @@ void RAMFUNC SnoopIClass(void) rsamples = samples - Demod.samples; LED_B_ON(); - // timestamp, as a count of samples - trace[traceLen++] = ((rsamples >> 0) & 0xff); - trace[traceLen++] = ((rsamples >> 8) & 0xff); - trace[traceLen++] = ((rsamples >> 16) & 0xff); - trace[traceLen++] = 0x80 | ((rsamples >> 24) & 0xff); - trace[traceLen++] = ((Demod.parityBits >> 0) & 0xff); - trace[traceLen++] = ((Demod.parityBits >> 8) & 0xff); - trace[traceLen++] = ((Demod.parityBits >> 16) & 0xff); - trace[traceLen++] = ((Demod.parityBits >> 24) & 0xff); - // length - trace[traceLen++] = Demod.len; - memcpy(trace+traceLen, receivedResponse, Demod.len); - traceLen += Demod.len; - if(traceLen > TRACE_SIZE) break; + if(tracing) + { + LogTrace(Demod.output,Demod.len, (GetCountSspClk()-time_0) << 4 , Demod.parityBits,FALSE); + LogTrace(NULL, 0, (GetCountSspClk()-time_0) << 4, 0, FALSE); + } - //triggered = TRUE; // And ready to receive another response. memset(&Demod, 0, sizeof(Demod)); - Demod.output = receivedResponse; + Demod.output = tagToReaderResponse; Demod.state = DEMOD_UNSYNCD; LED_C_OFF(); } @@ -922,6 +886,8 @@ static int GetIClassCommandFromReader(uint8_t *received, int *len, int maxLen) //----------------------------------------------------------------------------- static void CodeIClassTagAnswer(const uint8_t *cmd, int len) { + //So far a dummy implementation, not used + //int lastProxToAirDuration =0; int i; ToSendReset(); @@ -930,7 +896,7 @@ static void CodeIClassTagAnswer(const uint8_t *cmd, int len) ToSend[++ToSendMax] = 0x00; ToSend[++ToSendMax] = 0x00; ToSend[++ToSendMax] = 0x00; - ToSend[++ToSendMax] = 0xff; + ToSend[++ToSendMax] = 0xff;//Proxtoair duration starts here ToSend[++ToSendMax] = 0xff; ToSend[++ToSendMax] = 0xff; ToSend[++ToSendMax] = 0x00; @@ -958,11 +924,13 @@ static void CodeIClassTagAnswer(const uint8_t *cmd, int len) ToSend[++ToSendMax] = 0x00; ToSend[++ToSendMax] = 0xff; ToSend[++ToSendMax] = 0xff; - ToSend[++ToSendMax] = 0xff; + ToSend[++ToSendMax] = 0xff; ToSend[++ToSendMax] = 0x00; ToSend[++ToSendMax] = 0x00; ToSend[++ToSendMax] = 0x00; + //lastProxToAirDuration = 8*ToSendMax - 3*8 - 3*8;//Not counting zeroes in the beginning or end + // Convert from last byte pos to length ToSendMax++; } @@ -970,8 +938,10 @@ static void CodeIClassTagAnswer(const uint8_t *cmd, int len) // Only SOF static void CodeIClassTagSOF() { - ToSendReset(); + //So far a dummy implementation, not used + //int lastProxToAirDuration =0; + ToSendReset(); // Send SOF ToSend[++ToSendMax] = 0x00; ToSend[++ToSendMax] = 0x00; @@ -981,37 +951,92 @@ static void CodeIClassTagSOF() ToSend[++ToSendMax] = 0xff; ToSend[++ToSendMax] = 0x00; ToSend[++ToSendMax] = 0xff; + +// lastProxToAirDuration = 8*ToSendMax - 3*8;//Not counting zeroes in the beginning + // Convert from last byte pos to length ToSendMax++; } - -//----------------------------------------------------------------------------- -// Simulate iClass Card -// Only CSN (Card Serial Number) -// -//----------------------------------------------------------------------------- -void SimulateIClass(uint8_t arg0, uint8_t *datain) +int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader_mac_buf); +/** + * @brief SimulateIClass simulates an iClass card. + * @param arg0 type of simulation + * - 0 uses the first 8 bytes in usb data as CSN + * - 2 "dismantling iclass"-attack. This mode iterates through all CSN's specified + * in the usb data. This mode collects MAC from the reader, in order to do an offline + * attack on the keys. For more info, see "dismantling iclass" and proxclone.com. + * - Other : Uses the default CSN (031fec8af7ff12e0) + * @param arg1 - number of CSN's contained in datain (applicable for mode 2 only) + * @param arg2 + * @param datain + */ +void SimulateIClass(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain) +{ + uint32_t simType = arg0; + uint32_t numberOfCSNS = arg1; + FpgaDownloadAndGo(FPGA_BITSTREAM_HF); + + // Enable and clear the trace + iso14a_set_tracing(TRUE); + iso14a_clear_trace(); + + uint8_t csn_crc[] = { 0x03, 0x1f, 0xec, 0x8a, 0xf7, 0xff, 0x12, 0xe0, 0x00, 0x00 }; + if(simType == 0) { + // Use the CSN from commandline + memcpy(csn_crc, datain, 8); + doIClassSimulation(csn_crc,0,NULL); + }else if(simType == 1) + { + doIClassSimulation(csn_crc,0,NULL); + } + else if(simType == 2) + { + + uint8_t mac_responses[64] = { 0 }; + Dbprintf("Going into attack mode"); + // In this mode, a number of csns are within datain. We'll simulate each one, one at a time + // in order to collect MAC's from the reader. This can later be used in an offlne-attack + // in order to obtain the keys, as in the "dismantling iclass"-paper. + int i = 0; + for( ; i < numberOfCSNS && i*8+8 < USB_CMD_DATA_SIZE; i++) + { + // The usb data is 512 bytes, fitting 65 8-byte CSNs in there. + + memcpy(csn_crc, datain+(i*8), 8); + if(doIClassSimulation(csn_crc,1,mac_responses)) + { + return; // Button pressed + } + } + cmd_send(CMD_ACK,CMD_SIMULATE_TAG_ICLASS,i,0,mac_responses,i*8); + + } + else{ + // We may want a mode here where we hardcode the csns to use (from proxclone). + // That will speed things up a little, but not required just yet. + Dbprintf("The mode is not implemented, reserved for future use"); + } + Dbprintf("Done..."); + +} +/** + * @brief Does the actual simulation + * @param csn - csn to use + * @param breakAfterMacReceived if true, returns after reader MAC has been received. + */ +int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader_mac_buf) { - uint8_t simType = arg0; - // Enable and clear the trace - tracing = TRUE; - traceLen = 0; - memset(trace, 0x44, TRACE_SIZE); // CSN followed by two CRC bytes uint8_t response2[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - uint8_t response3[] = { 0x03, 0x1f, 0xec, 0x8a, 0xf7, 0xff, 0x12, 0xe0, 0x00, 0x00 }; - + uint8_t response3[] = { 0,0,0,0,0,0,0,0,0,0}; + memcpy(response3,csn,sizeof(response3)); + Dbprintf("Simulating CSN %02x%02x%02x%02x%02x%02x%02x%02x",csn[0],csn[1],csn[2],csn[3],csn[4],csn[5],csn[6],csn[7]); // e-Purse uint8_t response4[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - if(simType == 0) { - // Use the CSN from commandline - memcpy(response3, datain, 8); - } - // Construct anticollision-CSN rotateCSN(response3,response2); @@ -1019,6 +1044,7 @@ void SimulateIClass(uint8_t arg0, uint8_t *datain) ComputeCrc14443(CRC_ICLASS, response2, 8, &response2[8], &response2[9]); ComputeCrc14443(CRC_ICLASS, response3, 8, &response3[8], &response3[9]); + int exitLoop = 0; // Reader 0a // Tag 0f // Reader 0c @@ -1052,7 +1078,7 @@ void SimulateIClass(uint8_t arg0, uint8_t *datain) int resp4Len; // + 1720.. - uint8_t *receivedCmd = (((uint8_t *)BigBuf) + RECV_CMD_OFFSET); + uint8_t *receivedCmd = (((uint8_t *)BigBuf) + RECV_CMD_OFFSET); memset(receivedCmd, 0x44, RECV_CMD_SIZE); int len; @@ -1075,29 +1101,52 @@ void SimulateIClass(uint8_t arg0, uint8_t *datain) CodeIClassTagAnswer(response4, sizeof(response4)); memcpy(resp4, ToSend, ToSendMax); resp4Len = ToSendMax; + + // Start from off (no field generated) + //FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + //SpinDelay(200); + FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_ISO14443A | FPGA_HF_ISO14443A_TAGSIM_LISTEN); + SpinDelay(100); + StartCountSspClk(); // We need to listen to the high-frequency, peak-detected path. SetAdcMuxFor(GPIO_MUXSEL_HIPKD); FpgaSetupSsc(); // To control where we are in the protocol int cmdsRecvd = 0; + uint32_t time_0 = GetCountSspClk(); + uint32_t t2r_time =0; + uint32_t r2t_time =0; LED_A_ON(); - for(;;) { + bool buttonPressed = false; + + /** Hack for testing + memcpy(reader_mac_buf,csn,8); + exitLoop = true; + end hack **/ + + while(!exitLoop) { + LED_B_OFF(); + //Signal tracer + // Can be used to get a trigger for an oscilloscope.. + LED_C_OFF(); + if(!GetIClassCommandFromReader(receivedCmd, &len, 100)) { - DbpString("button press"); + buttonPressed = true; break; } + r2t_time = GetCountSspClk(); + //Signal tracer + LED_C_ON(); // Okay, look at the command now. - if(receivedCmd[0] == 0x0a) { + if(receivedCmd[0] == 0x0a ) { // Reader in anticollission phase resp = resp1; respLen = resp1Len; //order = 1; respdata = &sof; respsize = sizeof(sof); - //resp = resp2; respLen = resp2Len; order = 2; - //DbpString("Hello request from reader:"); } else if(receivedCmd[0] == 0x0c) { // Reader asks for anticollission CSN resp = resp2; respLen = resp2Len; //order = 2; @@ -1119,30 +1168,31 @@ void SimulateIClass(uint8_t arg0, uint8_t *datain) LED_B_ON(); } else if(receivedCmd[0] == 0x05) { // Reader random and reader MAC!!! - // Lets store this ;-) -/* - Dbprintf(" CSN: %02x %02x %02x %02x %02x %02x %02x %02x", - response3[0], response3[1], response3[2], - response3[3], response3[4], response3[5], - response3[6], response3[7]); -*/ - Dbprintf("READER AUTH (len=%02d): %02x %02x %02x %02x %02x %02x %02x %02x %02x", - len, - receivedCmd[0], receivedCmd[1], receivedCmd[2], - receivedCmd[3], receivedCmd[4], receivedCmd[5], - receivedCmd[6], receivedCmd[7], receivedCmd[8]); - // Do not respond - // We do not know what to answer, so lets keep quit + // We do not know what to answer, so lets keep quiet resp = resp1; respLen = 0; //order = 5; respdata = NULL; respsize = 0; + if (breakAfterMacReceived){ + // dbprintf:ing ... + Dbprintf("CSN: %02x %02x %02x %02x %02x %02x %02x %02x",csn[0],csn[1],csn[2],csn[3],csn[4],csn[5],csn[6],csn[7]); + Dbprintf("RDR: (len=%02d): %02x %02x %02x %02x %02x %02x %02x %02x %02x",len, + receivedCmd[0], receivedCmd[1], receivedCmd[2], + receivedCmd[3], receivedCmd[4], receivedCmd[5], + receivedCmd[6], receivedCmd[7], receivedCmd[8]); + if (reader_mac_buf != NULL) + { + memcpy(reader_mac_buf,receivedCmd+1,8); + } + exitLoop = true; + } } else if(receivedCmd[0] == 0x00 && len == 1) { // Reader ends the session resp = resp1; respLen = 0; //order = 0; respdata = NULL; respsize = 0; } else { + //#db# Unknown command received from reader (len=5): 26 1 0 f6 a 44 44 44 44 // Never seen this command before Dbprintf("Unknown command received from reader (len=%d): %x %x %x %x %x %x %x %x %x", len, @@ -1155,9 +1205,9 @@ void SimulateIClass(uint8_t arg0, uint8_t *datain) respsize = 0; } - if(cmdsRecvd > 999) { - DbpString("1000 commands later..."); - break; + if(cmdsRecvd > 100) { + //DbpString("100 commands later..."); + //break; } else { cmdsRecvd++; @@ -1165,64 +1215,68 @@ void SimulateIClass(uint8_t arg0, uint8_t *datain) if(respLen > 0) { SendIClassAnswer(resp, respLen, 21); - } - - if (tracing) { - LogTrace(receivedCmd,len, rsamples, Uart.parityBits, TRUE); - if (respdata != NULL) { - LogTrace(respdata,respsize, rsamples, SwapBits(GetParity(respdata,respsize),respsize), FALSE); - } - if(traceLen > TRACE_SIZE) { - DbpString("Trace full"); - break; - } + t2r_time = GetCountSspClk(); } + if (tracing) { + LogTrace(receivedCmd,len, (r2t_time-time_0)<< 4, Uart.parityBits,TRUE); + LogTrace(NULL,0, (r2t_time-time_0) << 4, 0,TRUE); + + if (respdata != NULL) { + LogTrace(respdata,respsize, (t2r_time-time_0) << 4,SwapBits(GetParity(respdata,respsize),respsize),FALSE); + LogTrace(NULL,0, (t2r_time-time_0) << 4,0,FALSE); + + + } + if(!tracing) { + DbpString("Trace full"); + //break; + } + + } memset(receivedCmd, 0x44, RECV_CMD_SIZE); } - Dbprintf("%x", cmdsRecvd); + //Dbprintf("%x", cmdsRecvd); LED_A_OFF(); LED_B_OFF(); + if(buttonPressed) + { + DbpString("Button pressed"); + } + return buttonPressed; } static int SendIClassAnswer(uint8_t *resp, int respLen, int delay) { - int i = 0, u = 0, d = 0; + int i = 0, d=0;//, u = 0, d = 0; uint8_t b = 0; - // return 0; - // Modulate Manchester - // FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_ISO14443A | FPGA_HF_ISO14443A_TAGSIM_MOD424); - FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_ISO14443A | FPGA_HF_ISO14443A_TAGSIM_MOD); + + FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_SIMULATOR|FPGA_HF_SIMULATOR_MODULATE_424K); + AT91C_BASE_SSC->SSC_THR = 0x00; FpgaSetupSsc(); - - // send cycle - for(;;) { - if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_RXRDY)) { - volatile uint8_t b = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - (void)b; + while(!BUTTON_PRESS()) { + if((AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY)){ + b = AT91C_BASE_SSC->SSC_RHR; (void) b; } - if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_TXRDY)) { + if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_TXRDY)){ + b = 0x00; if(d < delay) { - b = 0x00; d++; } - else if(i >= respLen) { - b = 0x00; - u++; - } else { - b = resp[i]; - u++; - if(u > 1) { i++; u = 0; } + else { + if( i < respLen){ + b = resp[i]; + //Hack + //b = 0xAC; + } + i++; } AT91C_BASE_SSC->SSC_THR = b; + } - if(u > 4) break; - } - if(BUTTON_PRESS()) { - break; - } + if (i > respLen +4) break; } return 0; @@ -1236,7 +1290,6 @@ static int SendIClassAnswer(uint8_t *resp, int respLen, int delay) static void TransmitIClassCommand(const uint8_t *cmd, int len, int *samples, int *wait) { int c; - FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_ISO14443A | FPGA_HF_ISO14443A_READER_MOD); AT91C_BASE_SSC->SSC_THR = 0x00; FpgaSetupSsc(); @@ -1312,12 +1365,12 @@ void CodeIClassCommand(const uint8_t * cmd, int len) b = cmd[i]; for(j = 0; j < 4; j++) { for(k = 0; k < 4; k++) { - if(k == (b & 3)) { - ToSend[++ToSendMax] = 0x0f; - } - else { - ToSend[++ToSendMax] = 0x00; - } + if(k == (b & 3)) { + ToSend[++ToSendMax] = 0x0f; + } + else { + ToSend[++ToSendMax] = 0x00; + } } b >>= 2; } @@ -1413,36 +1466,138 @@ int ReaderReceiveIClass(uint8_t* receivedAnswer) return Demod.len; } +void setupIclassReader() +{ + FpgaDownloadAndGo(FPGA_BITSTREAM_HF); + // Reset trace buffer + iso14a_set_tracing(TRUE); + iso14a_clear_trace(); + + // Setup SSC + FpgaSetupSsc(); + // Start from off (no field generated) + // Signal field is off with the appropriate LED + LED_D_OFF(); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelay(200); + + SetAdcMuxFor(GPIO_MUXSEL_HIPKD); + + // Now give it time to spin up. + // Signal field is on with the appropriate LED + FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_ISO14443A | FPGA_HF_ISO14443A_READER_MOD); + SpinDelay(200); + LED_A_ON(); + +} + // Reader iClass Anticollission void ReaderIClass(uint8_t arg0) { + uint8_t act_all[] = { 0x0a }; + uint8_t identify[] = { 0x0c }; + uint8_t select[] = { 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + uint8_t readcheck_cc[]= { 0x88, 0x02 }; + + uint8_t card_data[24]={0}; + uint8_t last_csn[8]={0}; + + uint8_t* resp = (((uint8_t *)BigBuf) + 3560); // was 3560 - tied to other size changes + + int read_status= 0; + bool abort_after_read = arg0 & FLAG_ICLASS_READER_ONLY_ONCE; + + setupIclassReader(); + + size_t datasize = 0; + while(!BUTTON_PRESS()) + { + WDT_HIT(); + + // Send act_all + ReaderTransmitIClass(act_all, 1); + // Card present? + if(ReaderReceiveIClass(resp)) { + + ReaderTransmitIClass(identify, 1); + + if(ReaderReceiveIClass(resp) == 10) { + //Copy the Anti-collision CSN to our select-packet + memcpy(&select[1],resp,8); + //Dbprintf("Anti-collision CSN: %02x %02x %02x %02x %02x %02x %02x %02x",resp[0], resp[1], resp[2], + // resp[3], resp[4], resp[5], + // resp[6], resp[7]); + //Select the card + ReaderTransmitIClass(select, sizeof(select)); + + if(ReaderReceiveIClass(resp) == 10) { + //Save CSN in response data + memcpy(card_data,resp,8); + datasize += 8; + //Flag that we got to at least stage 1, read CSN + read_status = 1; + + // Card selected + //Dbprintf("Readcheck on Sector 2"); + ReaderTransmitIClass(readcheck_cc, sizeof(readcheck_cc)); + if(ReaderReceiveIClass(resp) == 8) { + //Save CC (e-purse) in response data + memcpy(card_data+8,resp,8); + datasize += 8; + //Got both + read_status = 2; + } + + LED_B_ON(); + //Send back to client, but don't bother if we already sent this + if(memcmp(last_csn, card_data, 8) != 0) + cmd_send(CMD_ACK,read_status,0,0,card_data,datasize); + + //Save that we already sent this.... + if(read_status == 2) + memcpy(last_csn, card_data, 8); + + LED_B_OFF(); + + if(abort_after_read) break; + } + } + } + + if(traceLen > TRACE_SIZE) { + DbpString("Trace full"); + break; + } + } + LED_A_OFF(); +} + +void ReaderIClass_Replay(uint8_t arg0, uint8_t *MAC) { uint8_t act_all[] = { 0x0a }; uint8_t identify[] = { 0x0c }; uint8_t select[] = { 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - + uint8_t readcheck_cc[]= { 0x88, 0x02 }; + uint8_t check[] = { 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + uint8_t read[] = { 0x0c, 0x00, 0x00, 0x00 }; + + uint16_t crc = 0; + uint8_t cardsize=0; + bool read_success=false; + uint8_t mem=0; + + static struct memory_t{ + int k16; + int book; + int k2; + int lockauth; + int keyaccess; + } memory; + uint8_t* resp = (((uint8_t *)BigBuf) + 3560); // was 3560 - tied to other size changes - // Reset trace buffer - memset(trace, 0x44, RECV_CMD_OFFSET); - traceLen = 0; + setupIclassReader(); - // Setup SSC - FpgaSetupSsc(); - // Start from off (no field generated) - // Signal field is off with the appropriate LED - LED_D_OFF(); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelay(200); - SetAdcMuxFor(GPIO_MUXSEL_HIPKD); - - // Now give it time to spin up. - // Signal field is on with the appropriate LED - FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_ISO14443A | FPGA_HF_ISO14443A_READER_MOD); - SpinDelay(200); - - LED_A_ON(); - - for(;;) { + for(int i=0;i<1;i++) { if(traceLen > TRACE_SIZE) { DbpString("Trace full"); @@ -1467,7 +1622,72 @@ void ReaderIClass(uint8_t arg0) { resp[3], resp[4], resp[5], resp[6], resp[7]); } - // Card selected, whats next... ;-) + // Card selected + Dbprintf("Readcheck on Sector 2"); + ReaderTransmitIClass(readcheck_cc, sizeof(readcheck_cc)); + if(ReaderReceiveIClass(resp) == 8) { + Dbprintf(" CC: %02x %02x %02x %02x %02x %02x %02x %02x", + resp[0], resp[1], resp[2], + resp[3], resp[4], resp[5], + resp[6], resp[7]); + }else return; + Dbprintf("Authenticate"); + //for now replay captured auth (as cc not updated) + memcpy(check+5,MAC,4); + //Dbprintf(" AA: %02x %02x %02x %02x", + // check[5], check[6], check[7],check[8]); + ReaderTransmitIClass(check, sizeof(check)); + if(ReaderReceiveIClass(resp) == 4) { + Dbprintf(" AR: %02x %02x %02x %02x", + resp[0], resp[1], resp[2],resp[3]); + }else { + Dbprintf("Error: Authentication Fail!"); + return; + } + Dbprintf("Dump Contents"); + //first get configuration block + read_success=false; + read[1]=1; + uint8_t *blockno=&read[1]; + crc = iclass_crc16((char *)blockno,1); + read[2] = crc >> 8; + read[3] = crc & 0xff; + while(!read_success){ + ReaderTransmitIClass(read, sizeof(read)); + if(ReaderReceiveIClass(resp) == 10) { + read_success=true; + mem=resp[5]; + memory.k16= (mem & 0x80); + memory.book= (mem & 0x20); + memory.k2= (mem & 0x8); + memory.lockauth= (mem & 0x2); + memory.keyaccess= (mem & 0x1); + + } + } + if (memory.k16){ + cardsize=255; + }else cardsize=32; + //then loop around remaining blocks + for(uint8_t j=0; j> 8; + read[3] = crc & 0xff; + while(!read_success){ + ReaderTransmitIClass(read, sizeof(read)); + if(ReaderReceiveIClass(resp) == 10) { + read_success=true; + Dbprintf(" %02x: %02x %02x %02x %02x %02x %02x %02x %02x", + j, resp[0], resp[1], resp[2], + resp[3], resp[4], resp[5], + resp[6], resp[7]); + } + } + } } } WDT_HIT(); @@ -1476,4 +1696,130 @@ void ReaderIClass(uint8_t arg0) { LED_A_OFF(); } +//2. Create Read method (cut-down from above) based off responses from 1. +// Since we have the MAC could continue to use replay function. +//3. Create Write method +/* +void IClass_iso14443A_write(uint8_t arg0, uint8_t blockNo, uint8_t *data, uint8_t *MAC) { + uint8_t act_all[] = { 0x0a }; + uint8_t identify[] = { 0x0c }; + uint8_t select[] = { 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + uint8_t readcheck_cc[]= { 0x88, 0x02 }; + uint8_t check[] = { 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + uint8_t read[] = { 0x0c, 0x00, 0x00, 0x00 }; + uint8_t write[] = { 0x87, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + + uint16_t crc = 0; + + uint8_t* resp = (((uint8_t *)BigBuf) + 3560); // was 3560 - tied to other size changes + // Reset trace buffer + memset(trace, 0x44, RECV_CMD_OFFSET); + traceLen = 0; + + // Setup SSC + FpgaSetupSsc(); + // Start from off (no field generated) + // Signal field is off with the appropriate LED + LED_D_OFF(); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelay(200); + + SetAdcMuxFor(GPIO_MUXSEL_HIPKD); + + // Now give it time to spin up. + // Signal field is on with the appropriate LED + FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_ISO14443A | FPGA_HF_ISO14443A_READER_MOD); + SpinDelay(200); + + LED_A_ON(); + + for(int i=0;i<1;i++) { + + if(traceLen > TRACE_SIZE) { + DbpString("Trace full"); + break; + } + + if (BUTTON_PRESS()) break; + + // Send act_all + ReaderTransmitIClass(act_all, 1); + // Card present? + if(ReaderReceiveIClass(resp)) { + ReaderTransmitIClass(identify, 1); + if(ReaderReceiveIClass(resp) == 10) { + // Select card + memcpy(&select[1],resp,8); + ReaderTransmitIClass(select, sizeof(select)); + + if(ReaderReceiveIClass(resp) == 10) { + Dbprintf(" Selected CSN: %02x %02x %02x %02x %02x %02x %02x %02x", + resp[0], resp[1], resp[2], + resp[3], resp[4], resp[5], + resp[6], resp[7]); + } + // Card selected + Dbprintf("Readcheck on Sector 2"); + ReaderTransmitIClass(readcheck_cc, sizeof(readcheck_cc)); + if(ReaderReceiveIClass(resp) == 8) { + Dbprintf(" CC: %02x %02x %02x %02x %02x %02x %02x %02x", + resp[0], resp[1], resp[2], + resp[3], resp[4], resp[5], + resp[6], resp[7]); + }else return; + Dbprintf("Authenticate"); + //for now replay captured auth (as cc not updated) + memcpy(check+5,MAC,4); + Dbprintf(" AA: %02x %02x %02x %02x", + check[5], check[6], check[7],check[8]); + ReaderTransmitIClass(check, sizeof(check)); + if(ReaderReceiveIClass(resp) == 4) { + Dbprintf(" AR: %02x %02x %02x %02x", + resp[0], resp[1], resp[2],resp[3]); + }else { + Dbprintf("Error: Authentication Fail!"); + return; + } + Dbprintf("Write Block"); + + //read configuration for max block number + read_success=false; + read[1]=1; + uint8_t *blockno=&read[1]; + crc = iclass_crc16((char *)blockno,1); + read[2] = crc >> 8; + read[3] = crc & 0xff; + while(!read_success){ + ReaderTransmitIClass(read, sizeof(read)); + if(ReaderReceiveIClass(resp) == 10) { + read_success=true; + mem=resp[5]; + memory.k16= (mem & 0x80); + memory.book= (mem & 0x20); + memory.k2= (mem & 0x8); + memory.lockauth= (mem & 0x2); + memory.keyaccess= (mem & 0x1); + + } + } + if (memory.k16){ + cardsize=255; + }else cardsize=32; + //check card_size + + memcpy(write+1,blockNo,1); + memcpy(write+2,data,8); + memcpy(write+10,mac,4); + while(!send_success){ + ReaderTransmitIClass(write, sizeof(write)); + if(ReaderReceiveIClass(resp) == 10) { + write_success=true; + } + }// + } + WDT_HIT(); + } + + LED_A_OFF(); +}*/ diff --git a/armsrc/iso14443.c b/armsrc/iso14443.c index 5e8eddd24..7a445bcb8 100644 --- a/armsrc/iso14443.c +++ b/armsrc/iso14443.c @@ -350,6 +350,7 @@ void SimulateIso14443Tag(void) int cmdsRecvd = 0; + FpgaDownloadAndGo(FPGA_BITSTREAM_HF); memset(receivedCmd, 0x44, 400); CodeIso14443bAsTag(response1, sizeof(response1)); @@ -867,6 +868,7 @@ void ReadSTMemoryIso14443(uint32_t dwLast) { uint8_t i = 0x00; + FpgaDownloadAndGo(FPGA_BITSTREAM_HF); // Make sure that we start from off, since the tags are stateful; // confusing things will happen if we don't reset them between reads. LED_D_OFF(); @@ -1011,6 +1013,7 @@ void RAMFUNC SnoopIso14443(void) // response from the tag. int triggered = TRUE; + FpgaDownloadAndGo(FPGA_BITSTREAM_HF); // The command (reader -> tag) that we're working on receiving. uint8_t *receivedCmd = (uint8_t *)(BigBuf) + DEMOD_TRACE_SIZE; // The response (tag -> reader) that we're working on receiving. @@ -1196,6 +1199,7 @@ done: void SendRawCommand14443B(uint32_t datalen, uint32_t recv,uint8_t powerfield, uint8_t data[]) { + FpgaDownloadAndGo(FPGA_BITSTREAM_HF); if(!powerfield) { // Make sure that we start from off, since the tags are stateful; diff --git a/armsrc/iso14443a.c b/armsrc/iso14443a.c index 9afe0788c..9a80a1772 100644 --- a/armsrc/iso14443a.c +++ b/armsrc/iso14443a.c @@ -190,8 +190,9 @@ void AppendCrc14443a(uint8_t* data, int len) } // The function LogTrace() is also used by the iClass implementation in iClass.c -bool RAMFUNC LogTrace(const uint8_t * btBytes, uint8_t iLen, uint32_t timestamp, uint32_t dwParity, bool bReader) +bool RAMFUNC LogTrace(const uint8_t * btBytes, uint8_t iLen, uint32_t timestamp, uint32_t dwParity, bool readerToTag) { + if (!tracing) return FALSE; // Return when trace is full if (traceLen + sizeof(timestamp) + sizeof(dwParity) + iLen >= TRACE_SIZE) { tracing = FALSE; // don't trace any more @@ -203,7 +204,8 @@ bool RAMFUNC LogTrace(const uint8_t * btBytes, uint8_t iLen, uint32_t timestamp, trace[traceLen++] = ((timestamp >> 8) & 0xff); trace[traceLen++] = ((timestamp >> 16) & 0xff); trace[traceLen++] = ((timestamp >> 24) & 0xff); - if (!bReader) { + + if (!readerToTag) { trace[traceLen - 1] |= 0x80; } trace[traceLen++] = ((dwParity >> 0) & 0xff); @@ -505,6 +507,7 @@ void RAMFUNC SnoopIso14443a(uint8_t param) { LEDsoff(); // init trace buffer iso14a_clear_trace(); + iso14a_set_tracing(TRUE); // We won't start recording the frames that we acquire until we trigger; // a good trigger condition to get started is probably when we see a @@ -1763,6 +1766,7 @@ int iso14443a_select_card(byte_t* uid_ptr, iso14a_card_select_t* p_hi14a_card, u } void iso14443a_setup(uint8_t fpga_minor_mode) { + FpgaDownloadAndGo(FPGA_BITSTREAM_HF); // Set up the synchronous serial port FpgaSetupSsc(); // connect Demodulated Signal to ADC: @@ -1858,6 +1862,7 @@ void ReaderIso14443a(UsbCommand *c) if(param & ISO14A_APPEND_CRC) { AppendCrc14443a(cmd,len); len += 2; + if (lenbits) lenbits += 16; } if(lenbits>0) { ReaderTransmitBitsPar(cmd,lenbits,GetParity(cmd,lenbits/8), NULL); @@ -2201,9 +2206,12 @@ void Mifare1ksim(uint8_t flags, uint8_t exitAfterNReads, uint8_t arg2, uint8_t * if (MF_DBGLEVEL >= 1) { if (!_7BUID) { - Dbprintf("4B UID: %02x%02x%02x%02x",rUIDBCC1[0] , rUIDBCC1[1] , rUIDBCC1[2] , rUIDBCC1[3]); + Dbprintf("4B UID: %02x%02x%02x%02x", + rUIDBCC1[0], rUIDBCC1[1], rUIDBCC1[2], rUIDBCC1[3]); } else { - Dbprintf("7B UID: (%02x)%02x%02x%02x%02x%02x%02x%02x",rUIDBCC1[0] , rUIDBCC1[1] , rUIDBCC1[2] , rUIDBCC1[3],rUIDBCC2[0],rUIDBCC2[1] ,rUIDBCC2[2] , rUIDBCC2[3]); + Dbprintf("7B UID: (%02x)%02x%02x%02x%02x%02x%02x%02x", + rUIDBCC1[0], rUIDBCC1[1], rUIDBCC1[2], rUIDBCC1[3], + rUIDBCC2[0], rUIDBCC2[1] ,rUIDBCC2[2], rUIDBCC2[3]); } } @@ -2271,7 +2279,7 @@ void Mifare1ksim(uint8_t flags, uint8_t exitAfterNReads, uint8_t arg2, uint8_t * // select card if (len == 9 && (receivedCmd[0] == 0x93 && receivedCmd[1] == 0x70 && memcmp(&receivedCmd[2], rUIDBCC1, 4) == 0)) { - EmSendCmd(_7BUID?rSAK1:rSAK, sizeof(_7BUID?rSAK1:rSAK)); + EmSendCmd(_7BUID?rSAK1:rSAK, _7BUID?sizeof(rSAK1):sizeof(rSAK)); cuid = bytes_to_num(rUIDBCC1, 4); if (!_7BUID) { cardSTATE = MFEMUL_WORK; @@ -2313,10 +2321,13 @@ void Mifare1ksim(uint8_t flags, uint8_t exitAfterNReads, uint8_t arg2, uint8_t * // test if auth OK if (cardRr != prng_successor(nonce, 64)){ - if (MF_DBGLEVEL >= 2) Dbprintf("AUTH FAILED. cardRr=%08x, succ=%08x",cardRr, prng_successor(nonce, 64)); + if (MF_DBGLEVEL >= 2) Dbprintf("AUTH FAILED for sector %d with key %c. cardRr=%08x, succ=%08x", + cardAUTHSC, cardAUTHKEY == 0 ? 'A' : 'B', + cardRr, prng_successor(nonce, 64)); // Shouldn't we respond anything here? // Right now, we don't nack or anything, which causes the // reader to do a WUPA after a while. /Martin + // -- which is the correct response. /piwi cardSTATE_TO_IDLE(); LogTrace(Uart.output, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parityBits, TRUE); LogTrace(NULL, 0, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, 0, TRUE); @@ -2330,7 +2341,9 @@ void Mifare1ksim(uint8_t flags, uint8_t exitAfterNReads, uint8_t arg2, uint8_t * EmSendCmd(rAUTH_AT, sizeof(rAUTH_AT)); LED_C_ON(); cardSTATE = MFEMUL_WORK; - if (MF_DBGLEVEL >= 4) Dbprintf("AUTH COMPLETED. sector=%d, key=%d time=%d", cardAUTHSC, cardAUTHKEY, GetTickCount() - authTimer); + if (MF_DBGLEVEL >= 4) Dbprintf("AUTH COMPLETED for sector %d with key %c. time=%d", + cardAUTHSC, cardAUTHKEY == 0 ? 'A' : 'B', + GetTickCount() - authTimer); break; } case MFEMUL_SELECT2:{ @@ -2388,12 +2401,12 @@ void Mifare1ksim(uint8_t flags, uint8_t exitAfterNReads, uint8_t arg2, uint8_t * crypto1_create(pcs, emlGetKey(cardAUTHSC, cardAUTHKEY)); if (!encrypted_data) { // first authentication - if (MF_DBGLEVEL >= 2) Dbprintf("Reader authenticating for block %d (0x%02x) with key %d",receivedCmd[1] ,receivedCmd[1],cardAUTHKEY ); + if (MF_DBGLEVEL >= 4) Dbprintf("Reader authenticating for block %d (0x%02x) with key %d",receivedCmd[1] ,receivedCmd[1],cardAUTHKEY ); crypto1_word(pcs, cuid ^ nonce, 0);//Update crypto state num_to_bytes(nonce, 4, rAUTH_AT); // Send nonce } else { // nested authentication - if (MF_DBGLEVEL >= 2) Dbprintf("Reader doing nested authentication for block %d (0x%02x) with key %d",receivedCmd[1] ,receivedCmd[1],cardAUTHKEY ); + if (MF_DBGLEVEL >= 4) Dbprintf("Reader doing nested authentication for block %d (0x%02x) with key %d",receivedCmd[1] ,receivedCmd[1],cardAUTHKEY ); ans = nonce ^ crypto1_word(pcs, cuid ^ nonce, 0); num_to_bytes(ans, 4, rAUTH_AT); } @@ -2424,9 +2437,9 @@ void Mifare1ksim(uint8_t flags, uint8_t exitAfterNReads, uint8_t arg2, uint8_t * if(receivedCmd[0] == 0x30 // read block || receivedCmd[0] == 0xA0 // write block - || receivedCmd[0] == 0xC0 - || receivedCmd[0] == 0xC1 - || receivedCmd[0] == 0xC2 // inc dec restore + || receivedCmd[0] == 0xC0 // inc + || receivedCmd[0] == 0xC1 // dec + || receivedCmd[0] == 0xC2 // restore || receivedCmd[0] == 0xB0) { // transfer if (receivedCmd[1] >= 16 * 4) { EmSend4bit(mf_crypto1_encrypt4bit(pcs, CARD_NACK_NA)); @@ -2442,7 +2455,7 @@ void Mifare1ksim(uint8_t flags, uint8_t exitAfterNReads, uint8_t arg2, uint8_t * } // read block if (receivedCmd[0] == 0x30) { - if (MF_DBGLEVEL >= 2) { + if (MF_DBGLEVEL >= 4) { Dbprintf("Reader reading block %d (0x%02x)",receivedCmd[1],receivedCmd[1]); } emlGetMem(response, receivedCmd[1], 1); @@ -2458,7 +2471,7 @@ void Mifare1ksim(uint8_t flags, uint8_t exitAfterNReads, uint8_t arg2, uint8_t * } // write block if (receivedCmd[0] == 0xA0) { - if (MF_DBGLEVEL >= 2) Dbprintf("RECV 0xA0 write block %d (%02x)",receivedCmd[1],receivedCmd[1]); + if (MF_DBGLEVEL >= 4) Dbprintf("RECV 0xA0 write block %d (%02x)",receivedCmd[1],receivedCmd[1]); EmSend4bit(mf_crypto1_encrypt4bit(pcs, CARD_ACK)); cardSTATE = MFEMUL_WRITEBL2; cardWRBL = receivedCmd[1]; @@ -2466,7 +2479,7 @@ void Mifare1ksim(uint8_t flags, uint8_t exitAfterNReads, uint8_t arg2, uint8_t * } // increment, decrement, restore if (receivedCmd[0] == 0xC0 || receivedCmd[0] == 0xC1 || receivedCmd[0] == 0xC2) { - if (MF_DBGLEVEL >= 2) Dbprintf("RECV 0x%02x inc(0xC1)/dec(0xC0)/restore(0xC2) block %d (%02x)",receivedCmd[0],receivedCmd[1],receivedCmd[1]); + if (MF_DBGLEVEL >= 4) Dbprintf("RECV 0x%02x inc(0xC1)/dec(0xC0)/restore(0xC2) block %d (%02x)",receivedCmd[0],receivedCmd[1],receivedCmd[1]); if (emlCheckValBl(receivedCmd[1])) { if (MF_DBGLEVEL >= 2) Dbprintf("Reader tried to operate on block, but emlCheckValBl failed, nacking"); EmSend4bit(mf_crypto1_encrypt4bit(pcs, CARD_NACK_NA)); @@ -2484,7 +2497,7 @@ void Mifare1ksim(uint8_t flags, uint8_t exitAfterNReads, uint8_t arg2, uint8_t * } // transfer if (receivedCmd[0] == 0xB0) { - if (MF_DBGLEVEL >= 2) Dbprintf("RECV 0x%02x transfer block %d (%02x)",receivedCmd[0],receivedCmd[1],receivedCmd[1]); + if (MF_DBGLEVEL >= 4) Dbprintf("RECV 0x%02x transfer block %d (%02x)",receivedCmd[0],receivedCmd[1],receivedCmd[1]); if (emlSetValBl(cardINTREG, cardINTBLOCK, receivedCmd[1])) EmSend4bit(mf_crypto1_encrypt4bit(pcs, CARD_NACK_NA)); else @@ -2619,7 +2632,8 @@ void RAMFUNC SniffMifare(uint8_t param) { // C(red) A(yellow) B(green) LEDsoff(); // init trace buffer - iso14a_clear_trace(); + iso14a_clear_trace(); + iso14a_set_tracing(TRUE); // The command (reader -> tag) that we're receiving. // The length of a received command will in most cases be no more than 18 bytes. diff --git a/armsrc/iso15693.c b/armsrc/iso15693.c index 63e72c14a..ed7beb6fb 100644 --- a/armsrc/iso15693.c +++ b/armsrc/iso15693.c @@ -606,6 +606,7 @@ void AcquireRawAdcSamplesIso15693(void) int8_t prev = 0; + FpgaDownloadAndGo(FPGA_BITSTREAM_HF); BuildIdentifyRequest(); SetAdcMuxFor(GPIO_MUXSEL_HIPKD); @@ -687,6 +688,7 @@ void RecordRawAdcSamplesIso15693(void) int8_t prev = 0; + FpgaDownloadAndGo(FPGA_BITSTREAM_HF); // Setup SSC FpgaSetupSsc(); @@ -753,6 +755,7 @@ void Iso15693InitReader() { LED_C_OFF(); LED_D_OFF(); + FpgaDownloadAndGo(FPGA_BITSTREAM_HF); // Setup SSC // FpgaSetupSsc(); @@ -1015,6 +1018,7 @@ void ReaderIso15693(uint32_t parameter) // Blank arrays memset(BigBuf + 3660, 0, 300); + FpgaDownloadAndGo(FPGA_BITSTREAM_HF); // Setup SSC FpgaSetupSsc(); @@ -1165,6 +1169,7 @@ void SimTagIso15693(uint32_t parameter) // Blank arrays memset(answer1, 0, 100); + FpgaDownloadAndGo(FPGA_BITSTREAM_HF); // Setup SSC FpgaSetupSsc(); diff --git a/armsrc/ldscript b/armsrc/ldscript index dcb04bf09..d0be3b6a0 100644 --- a/armsrc/ldscript +++ b/armsrc/ldscript @@ -21,7 +21,8 @@ ENTRY(Vector) SECTIONS { .fpgaimage : { - *(fpga_bit.data) + *(fpga_lf_bit.data) + *(fpga_hf_bit.data) } >fpgaimage :fpgaimage .start : { diff --git a/armsrc/legicrf.c b/armsrc/legicrf.c index f2eb680b4..3fbdf5cba 100644 --- a/armsrc/legicrf.c +++ b/armsrc/legicrf.c @@ -310,6 +310,7 @@ static uint32_t perform_setup_phase_rwd(int iv) } static void LegicCommonInit(void) { + FpgaDownloadAndGo(FPGA_BITSTREAM_HF); SetAdcMuxFor(GPIO_MUXSEL_HIPKD); FpgaSetupSsc(); FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_TX); @@ -687,6 +688,7 @@ void LegicRfSimulate(int phase, int frame, int reqresp) legic_frame_drift = frame; legic_reqresp_drift = reqresp; + FpgaDownloadAndGo(FPGA_BITSTREAM_HF); SetAdcMuxFor(GPIO_MUXSEL_HIPKD); FpgaSetupSsc(); FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_SIMULATOR | FPGA_HF_SIMULATOR_MODULATE_212K); diff --git a/armsrc/lfops.c b/armsrc/lfops.c index 397ea8475..d29ec3755 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -16,7 +16,7 @@ #include "string.h" // split into two routines so we can avoid timing issues after sending commands // -void DoAcquisition125k_internal(bool silent) +void DoAcquisition125k_internal(int trigger_threshold,bool silent) { uint8_t *dest = (uint8_t *)BigBuf; int n = sizeof(BigBuf); @@ -31,25 +31,30 @@ void DoAcquisition125k_internal(bool silent) } if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - i++; LED_D_OFF(); - if (i >= n) break; + if (trigger_threshold != -1 && dest[i] < trigger_threshold) + continue; + else + trigger_threshold = -1; + if (++i >= n) break; } } - if( ! silent) + if(!silent) { Dbprintf("buffer samples: %02x %02x %02x %02x %02x %02x %02x %02x ...", dest[0], dest[1], dest[2], dest[3], dest[4], dest[5], dest[6], dest[7]); + } } - -void DoAcquisition125k(void) +void DoAcquisition125k(int trigger_threshold) { - DoAcquisition125k_internal(false); + DoAcquisition125k_internal(trigger_threshold, false); } -void SetupToAcquireRawAdcSamples(int divisor) +//void SetupToAcquireRawAdcSamples(int divisor) +void LFSetupFPGAForADC(int divisor, bool lf_field) { + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); if ( (divisor == 1) || (divisor < 0) || (divisor > 255) ) FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz else if (divisor == 0) @@ -57,23 +62,29 @@ void SetupToAcquireRawAdcSamples(int divisor) else FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_READER); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | (lf_field ? FPGA_LF_ADC_READER_FIELD : 0)); // Connect the A/D to the peak-detected low-frequency path. SetAdcMuxFor(GPIO_MUXSEL_LOPKD); - // Give it a bit of time for the resonant antenna to settle. SpinDelay(50); - // Now set up the SSC to get the ADC samples that are now streaming at us. FpgaSetupSsc(); } void AcquireRawAdcSamples125k(int divisor) { - SetupToAcquireRawAdcSamples(divisor); + LFSetupFPGAForADC(divisor, true); // Now call the acquisition routine - DoAcquisition125k_internal(false); + DoAcquisition125k_internal(-1,false); +} +void SnoopLFRawAdcSamples(int divisor, int trigger_threshold) +{ + LFSetupFPGAForADC(divisor, false); + DoAcquisition125k(trigger_threshold, false); +} + + } void ModThenAcquireRawAdcSamples125k(int delay_off, int period_0, int period_1, uint8_t *command) @@ -81,6 +92,7 @@ void ModThenAcquireRawAdcSamples125k(int delay_off, int period_0, int period_1, int at134khz; /* Make sure the tag is reset */ + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); SpinDelay(2500); @@ -95,7 +107,7 @@ void ModThenAcquireRawAdcSamples125k(int delay_off, int period_0, int period_1, else FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_READER); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); // Give it a bit of time for the resonant antenna to settle. SpinDelay(50); @@ -115,7 +127,7 @@ void ModThenAcquireRawAdcSamples125k(int delay_off, int period_0, int period_1, else FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_READER); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); LED_D_ON(); if(*(command++) == '0') SpinDelayUs(period_0); @@ -130,10 +142,10 @@ void ModThenAcquireRawAdcSamples125k(int delay_off, int period_0, int period_1, else FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_READER); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); // now do the read - DoAcquisition125k(); + DoAcquisition125k(-1); } /* blank r/w tag data stream @@ -170,6 +182,7 @@ void ReadTItag(void) uint32_t threshold = (sampleslo - sampleshi + 1)>>1; // TI tags charge at 134.2Khz + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz // Place FPGA in passthrough mode, in this mode the CROSS_LO line @@ -377,6 +390,7 @@ void AcquireTiType(void) // if not provided a valid crc will be computed from the data and written. void WriteTItag(uint32_t idhi, uint32_t idlo, uint16_t crc) { + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); if(crc == 0) { crc = update_crc16(crc, (idlo)&0xff); crc = update_crc16(crc, (idlo>>8)&0xff); @@ -448,6 +462,7 @@ void SimulateTagLowFrequency(int period, int gap, int ledcontrol) int i; uint8_t *tab = (uint8_t *)BigBuf; + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_EDGE_DETECT); AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT | GPIO_SSC_CLK; @@ -615,7 +630,6 @@ size_t fsk_demod(uint8_t * dest, size_t size) // threshold essentially we capture zero crossings for later analysis uint8_t threshold_value = 127; - // sync to first lo-hi transition, and threshold //Need to threshold first sample @@ -692,7 +706,7 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) while(!BUTTON_PRESS()) { // Configure to go in 125Khz listen mode - SetupToAcquireRawAdcSamples(0); + LFSetupFPGAForADC(0, true) WDT_HIT(); if (ledcontrol) LED_A_ON(); @@ -788,7 +802,7 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) while(!BUTTON_PRESS()) { // Configure to go in 125Khz listen mode - SetupToAcquireRawAdcSamples(0); + LFSetupFPGAForADC(0, true); WDT_HIT(); if (ledcontrol) LED_A_ON(); @@ -911,8 +925,9 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) // Write one bit to card void T55xxWriteBit(int bit) { + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_READER); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); if (bit == 0) SpinDelayUs(WRITE_0); else @@ -926,8 +941,9 @@ void T55xxWriteBlock(uint32_t Data, uint32_t Block, uint32_t Pwd, uint8_t PwdMod { unsigned int i; + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_READER); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); // Give it a bit of time for the resonant antenna to settle. // And for the tag to fully power up @@ -959,7 +975,7 @@ void T55xxWriteBlock(uint32_t Data, uint32_t Block, uint32_t Pwd, uint8_t PwdMod // Now perform write (nominal is 5.6 ms for T55x7 and 18ms for E5550, // so wait a little more) FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_READER); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); SpinDelay(20); FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); } @@ -970,6 +986,7 @@ void T55xxReadBlock(uint32_t Block, uint32_t Pwd, uint8_t PwdMode) uint8_t *dest = (uint8_t *)BigBuf; int m=0, i=0; + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); m = sizeof(BigBuf); // Clear destination buffer before sending the command memset(dest, 128, m); @@ -980,7 +997,7 @@ void T55xxReadBlock(uint32_t Block, uint32_t Pwd, uint8_t PwdMode) LED_D_ON(); FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_READER); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); // Give it a bit of time for the resonant antenna to settle. // And for the tag to fully power up @@ -1006,7 +1023,7 @@ void T55xxReadBlock(uint32_t Block, uint32_t Pwd, uint8_t PwdMode) // Turn field on to read the response FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_READER); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); // Now do the acquisition i = 0; @@ -1034,6 +1051,7 @@ void T55xxReadTrace(void){ uint8_t *dest = (uint8_t *)BigBuf; int m=0, i=0; + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); m = sizeof(BigBuf); // Clear destination buffer before sending the command memset(dest, 128, m); @@ -1044,7 +1062,7 @@ void T55xxReadTrace(void){ LED_D_ON(); FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_READER); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); // Give it a bit of time for the resonant antenna to settle. // And for the tag to fully power up @@ -1060,7 +1078,7 @@ void T55xxReadTrace(void){ // Turn field on to read the response FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_READER); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); // Now do the acquisition i = 0; @@ -1749,8 +1767,9 @@ void SendForward(uint8_t fwd_bit_count) { LED_D_ON(); //Field on + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_READER); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); // Give it a bit of time for the resonant antenna to settle. // And for the tag to fully power up @@ -1762,7 +1781,7 @@ void SendForward(uint8_t fwd_bit_count) { FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off SpinDelayUs(55*8); //55 cycles off (8us each)for 4305 FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_READER);//field on + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on SpinDelayUs(16*8); //16 cycles on (8us each) // now start writting @@ -1774,7 +1793,7 @@ void SendForward(uint8_t fwd_bit_count) { FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off SpinDelayUs(23*8); //16-4 cycles off (8us each) FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_READER);//field on + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on SpinDelayUs(9*8); //16 cycles on (8us each) } } diff --git a/armsrc/mifarecmd.c b/armsrc/mifarecmd.c index c934a2802..42dee56ec 100644 --- a/armsrc/mifarecmd.c +++ b/armsrc/mifarecmd.c @@ -14,7 +14,7 @@ #include "apps.h" //----------------------------------------------------------------------------- -// Select, Authenticaate, Read an MIFARE tag. +// Select, Authenticate, Read a MIFARE tag. // read block //----------------------------------------------------------------------------- void MifareReadBlock(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain) @@ -35,7 +35,7 @@ void MifareReadBlock(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain) pcs = &mpcs; // clear trace - iso14a_clear_trace(); + iso14a_clear_trace(); // iso14a_set_tracing(false); iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); @@ -46,22 +46,22 @@ void MifareReadBlock(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain) while (true) { if(!iso14443a_select_card(uid, NULL, &cuid)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Can't select card"); + if (MF_DBGLEVEL >= 1) Dbprintf("Can't select card"); break; }; if(mifare_classic_auth(pcs, cuid, blockNo, keyType, ui64Key, AUTH_FIRST)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Auth error"); + if (MF_DBGLEVEL >= 1) Dbprintf("Auth error"); break; }; if(mifare_classic_readblock(pcs, cuid, blockNo, dataoutbuf)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Read block error"); + if (MF_DBGLEVEL >= 1) Dbprintf("Read block error"); break; }; if(mifare_classic_halt(pcs, cuid)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Halt error"); + if (MF_DBGLEVEL >= 1) Dbprintf("Halt error"); break; }; @@ -74,83 +74,75 @@ void MifareReadBlock(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain) if (MF_DBGLEVEL >= 2) DbpString("READ BLOCK FINISHED"); - // add trace trailer - memset(uid, 0x44, 4); - LogTrace(uid, 4, 0, 0, TRUE); - -// UsbCommand ack = {CMD_ACK, {isOK, 0, 0}}; -// memcpy(ack.d.asBytes, dataoutbuf, 16); - LED_B_ON(); - cmd_send(CMD_ACK,isOK,0,0,dataoutbuf,16); -// UsbSendPacket((uint8_t *)&ack, sizeof(UsbCommand)); + cmd_send(CMD_ACK,isOK,0,0,dataoutbuf,16); LED_B_OFF(); - - // Thats it... + // Thats it... FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); LEDsoff(); // iso14a_set_tracing(TRUE); - -} - -void MifareUReadBlock(uint8_t arg0,uint8_t *datain) -{ - // params - uint8_t blockNo = arg0; - - // variables - byte_t isOK = 0; - byte_t dataoutbuf[16]; - uint8_t uid[10]; - uint32_t cuid; - - // clear trace - iso14a_clear_trace(); + +} + +void MifareUReadBlock(uint8_t arg0,uint8_t *datain) +{ + // params + uint8_t blockNo = arg0; + + // variables + byte_t isOK = 0; + byte_t dataoutbuf[16]; + uint8_t uid[10]; + uint32_t cuid; + + // clear trace + iso14a_clear_trace(); iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); - - LED_A_ON(); - LED_B_OFF(); - LED_C_OFF(); - - while (true) { - if(!iso14443a_select_card(uid, NULL, &cuid)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Can't select card"); - break; - }; - - if(mifare_ultra_readblock(cuid, blockNo, dataoutbuf)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Read block error"); - break; - }; - - if(mifare_ultra_halt(cuid)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Halt error"); - break; - }; - - isOK = 1; - break; - } - - if (MF_DBGLEVEL >= 2) DbpString("READ BLOCK FINISHED"); - - // add trace trailer - memset(uid, 0x44, 4); - LogTrace(uid, 4, 0, 0, TRUE); - LED_B_ON(); - cmd_send(CMD_ACK,isOK,0,0,dataoutbuf,16); - LED_B_OFF(); - - - // Thats it... - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - LEDsoff(); -} - -//----------------------------------------------------------------------------- -// Select, Authenticaate, Read an MIFARE tag. -// read sector (data = 4 x 16 bytes = 64 bytes) + + LED_A_ON(); + LED_B_OFF(); + LED_C_OFF(); + + while (true) { + if(!iso14443a_select_card(uid, NULL, &cuid)) { + if (MF_DBGLEVEL >= 1) Dbprintf("Can't select card"); + break; + }; + + if(mifare_ultra_readblock(cuid, blockNo, dataoutbuf)) { + if (MF_DBGLEVEL >= 1) Dbprintf("Read block error"); + break; + }; + + if(mifare_ultra_halt(cuid)) { + if (MF_DBGLEVEL >= 1) Dbprintf("Halt error"); + break; + }; + + isOK = 1; + break; + } + + if (MF_DBGLEVEL >= 2) DbpString("READ BLOCK FINISHED"); + + // add trace trailer + memset(uid, 0x44, 4); + LogTrace(uid, 4, 0, 0, TRUE); + LED_B_ON(); + cmd_send(CMD_ACK,isOK,0,0,dataoutbuf,16); + LED_B_OFF(); + + + // Thats it... + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + LEDsoff(); +} + + +//----------------------------------------------------------------------------- +// Select, Authenticate, Read a MIFARE tag. +// read sector (data = 4 x 16 bytes = 64 bytes, or 16 x 16 bytes = 256 bytes) //----------------------------------------------------------------------------- void MifareReadSector(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain) { @@ -161,8 +153,8 @@ void MifareReadSector(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain) ui64Key = bytes_to_num(datain, 6); // variables - byte_t isOK = 0; - byte_t dataoutbuf[16 * 4]; + byte_t isOK; + byte_t dataoutbuf[16 * 16]; uint8_t uid[10]; uint32_t cuid; struct Crypto1State mpcs = {0, 0}; @@ -170,7 +162,7 @@ void MifareReadSector(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain) pcs = &mpcs; // clear trace - iso14a_clear_trace(); + iso14a_clear_trace(); // iso14a_set_tracing(false); iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); @@ -179,135 +171,104 @@ void MifareReadSector(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain) LED_B_OFF(); LED_C_OFF(); - while (true) { - if(!iso14443a_select_card(uid, NULL, &cuid)) { + isOK = 1; + if(!iso14443a_select_card(uid, NULL, &cuid)) { + isOK = 0; if (MF_DBGLEVEL >= 1) Dbprintf("Can't select card"); - break; - }; - - if(mifare_classic_auth(pcs, cuid, sectorNo * 4, keyType, ui64Key, AUTH_FIRST)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Auth error"); - break; - }; - - if(mifare_classic_readblock(pcs, cuid, sectorNo * 4 + 0, dataoutbuf + 16 * 0)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Read block 0 error"); - break; - }; - if(mifare_classic_readblock(pcs, cuid, sectorNo * 4 + 1, dataoutbuf + 16 * 1)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Read block 1 error"); - break; - }; - if(mifare_classic_readblock(pcs, cuid, sectorNo * 4 + 2, dataoutbuf + 16 * 2)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Read block 2 error"); - break; - }; - if(mifare_classic_readblock(pcs, cuid, sectorNo * 4 + 3, dataoutbuf + 16 * 3)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Read block 3 error"); - break; - }; - - if(mifare_classic_halt(pcs, cuid)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Halt error"); - break; - }; - - isOK = 1; - break; } + + + if(isOK && mifare_classic_auth(pcs, cuid, FirstBlockOfSector(sectorNo), keyType, ui64Key, AUTH_FIRST)) { + isOK = 0; + if (MF_DBGLEVEL >= 1) Dbprintf("Auth error"); + } + + for (uint8_t blockNo = 0; isOK && blockNo < NumBlocksPerSector(sectorNo); blockNo++) { + if(mifare_classic_readblock(pcs, cuid, FirstBlockOfSector(sectorNo) + blockNo, dataoutbuf + 16 * blockNo)) { + isOK = 0; + if (MF_DBGLEVEL >= 1) Dbprintf("Read sector %2d block %2d error", sectorNo, blockNo); + break; + } + } + + if(mifare_classic_halt(pcs, cuid)) { + if (MF_DBGLEVEL >= 1) Dbprintf("Halt error"); + } + // ----------------------------- crypto1 destroy crypto1_destroy(pcs); if (MF_DBGLEVEL >= 2) DbpString("READ SECTOR FINISHED"); - // add trace trailer - memset(uid, 0x44, 4); - LogTrace(uid, 4, 0, 0, TRUE); - -// UsbCommand ack = {CMD_ACK, {isOK, 0, 0}}; -// memcpy(ack.d.asBytes, dataoutbuf, 16 * 2); - LED_B_ON(); - cmd_send(CMD_ACK,isOK,0,0,dataoutbuf,32); -// UsbSendPacket((uint8_t *)&ack, sizeof(UsbCommand)); -// SpinDelay(100); - -// memcpy(ack.d.asBytes, dataoutbuf + 16 * 2, 16 * 2); -// UsbSendPacket((uint8_t *)&ack, sizeof(UsbCommand)); - cmd_send(CMD_ACK,isOK,0,0,dataoutbuf+32, 32); + cmd_send(CMD_ACK,isOK,0,0,dataoutbuf,16*NumBlocksPerSector(sectorNo)); LED_B_OFF(); // Thats it... FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); LEDsoff(); // iso14a_set_tracing(TRUE); - -} - -void MifareUReadCard(uint8_t arg0, uint8_t *datain) -{ - // params - uint8_t sectorNo = arg0; - - // variables - byte_t isOK = 0; - byte_t dataoutbuf[16 * 4]; - uint8_t uid[10]; - uint32_t cuid; - - // clear trace - iso14a_clear_trace(); -// iso14a_set_tracing(false); - +} + + +void MifareUReadCard(uint8_t arg0, uint8_t *datain) +{ + // params + uint8_t sectorNo = arg0; + + // variables + byte_t isOK = 0; + byte_t dataoutbuf[16 * 4]; + uint8_t uid[10]; + uint32_t cuid; + + // clear trace + iso14a_clear_trace(); +// iso14a_set_tracing(false); + iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); - - LED_A_ON(); - LED_B_OFF(); - LED_C_OFF(); - - while (true) { - if(!iso14443a_select_card(uid, NULL, &cuid)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Can't select card"); - break; - }; - for(int sec=0;sec<16;sec++){ - if(mifare_ultra_readblock(cuid, sectorNo * 4 + sec, dataoutbuf + 4 * sec)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Read block %d error",sec); - break; - }; - } - if(mifare_ultra_halt(cuid)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Halt error"); - break; - }; - - isOK = 1; - break; - } - - if (MF_DBGLEVEL >= 2) DbpString("READ CARD FINISHED"); - - // add trace trailer - memset(uid, 0x44, 4); - LogTrace(uid, 4, 0, 0, TRUE); - - LED_B_ON(); - cmd_send(CMD_ACK,isOK,0,0,dataoutbuf,64); - //cmd_send(CMD_ACK,isOK,0,0,dataoutbuf+32, 32); - LED_B_OFF(); - - // Thats it... - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - LEDsoff(); -// iso14a_set_tracing(TRUE); - -} - - -//----------------------------------------------------------------------------- -// Select, Authenticaate, Read an MIFARE tag. -// read block + + LED_A_ON(); + LED_B_OFF(); + LED_C_OFF(); + + while (true) { + if(!iso14443a_select_card(uid, NULL, &cuid)) { + if (MF_DBGLEVEL >= 1) Dbprintf("Can't select card"); + break; + }; + for(int sec=0;sec<16;sec++){ + if(mifare_ultra_readblock(cuid, sectorNo * 4 + sec, dataoutbuf + 4 * sec)) { + if (MF_DBGLEVEL >= 1) Dbprintf("Read block %d error",sec); + break; + }; + } + if(mifare_ultra_halt(cuid)) { + if (MF_DBGLEVEL >= 1) Dbprintf("Halt error"); + break; + }; + + isOK = 1; + break; + } + + if (MF_DBGLEVEL >= 2) DbpString("READ CARD FINISHED"); + + LED_B_ON(); + cmd_send(CMD_ACK,isOK,0,0,dataoutbuf,64); + LED_B_OFF(); + + // Thats it... + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + LEDsoff(); + +} + + +//----------------------------------------------------------------------------- +// Select, Authenticate, Write a MIFARE tag. +// read block //----------------------------------------------------------------------------- void MifareWriteBlock(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain) { @@ -368,15 +329,8 @@ void MifareWriteBlock(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain) if (MF_DBGLEVEL >= 2) DbpString("WRITE BLOCK FINISHED"); - // add trace trailer - memset(uid, 0x44, 4); - LogTrace(uid, 4, 0, 0, TRUE); - -// UsbCommand ack = {CMD_ACK, {isOK, 0, 0}}; - LED_B_ON(); cmd_send(CMD_ACK,isOK,0,0,0,0); -// UsbSendPacket((uint8_t *)&ack, sizeof(UsbCommand)); LED_B_OFF(); @@ -384,143 +338,134 @@ void MifareWriteBlock(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain) FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); LEDsoff(); // iso14a_set_tracing(TRUE); - -} - -void MifareUWriteBlock(uint8_t arg0, uint8_t *datain) -{ - // params - uint8_t blockNo = arg0; - byte_t blockdata[16]; - - memset(blockdata,'\0',16); - memcpy(blockdata, datain,16); - - // variables - byte_t isOK = 0; - uint8_t uid[10]; - uint32_t cuid; - - // clear trace - iso14a_clear_trace(); - // iso14a_set_tracing(false); - + +} + + +void MifareUWriteBlock(uint8_t arg0, uint8_t *datain) +{ + // params + uint8_t blockNo = arg0; + byte_t blockdata[16]; + + memset(blockdata,'\0',16); + memcpy(blockdata, datain,16); + + // variables + byte_t isOK = 0; + uint8_t uid[10]; + uint32_t cuid; + + // clear trace + iso14a_clear_trace(); + // iso14a_set_tracing(false); + iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); - - LED_A_ON(); - LED_B_OFF(); - LED_C_OFF(); - - while (true) { - if(!iso14443a_select_card(uid, NULL, &cuid)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Can't select card"); - break; - }; - - if(mifare_ultra_writeblock(cuid, blockNo, blockdata)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Write block error"); - break; - }; - - if(mifare_ultra_halt(cuid)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Halt error"); - break; - }; - - isOK = 1; - break; - } - - if (MF_DBGLEVEL >= 2) DbpString("WRITE BLOCK FINISHED"); - - // add trace trailer - memset(uid, 0x44, 4); - LogTrace(uid, 4, 0, 0, TRUE); - - LED_B_ON(); - cmd_send(CMD_ACK,isOK,0,0,0,0); -// UsbSendPacket((uint8_t *)&ack, sizeof(UsbCommand)); - LED_B_OFF(); - - - // Thats it... - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - LEDsoff(); -// iso14a_set_tracing(TRUE); - -} - -void MifareUWriteBlock_Special(uint8_t arg0, uint8_t *datain) -{ - // params - uint8_t blockNo = arg0; - byte_t blockdata[4]; - - memcpy(blockdata, datain,4); - - // variables - byte_t isOK = 0; - uint8_t uid[10]; - uint32_t cuid; - - // clear trace - iso14a_clear_trace(); - // iso14a_set_tracing(false); - - iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); - - LED_A_ON(); - LED_B_OFF(); - LED_C_OFF(); - - while (true) { - if(!iso14443a_select_card(uid, NULL, &cuid)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Can't select card"); - break; - }; - - if(mifare_ultra_special_writeblock(cuid, blockNo, blockdata)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Write block error"); - break; - }; - - if(mifare_ultra_halt(cuid)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Halt error"); - break; - }; - - isOK = 1; - break; - } - - if (MF_DBGLEVEL >= 2) DbpString("WRITE BLOCK FINISHED"); - - // add trace trailer - memset(uid, 0x44, 4); - LogTrace(uid, 4, 0, 0, TRUE); - - LED_B_ON(); - cmd_send(CMD_ACK,isOK,0,0,0,0); -// UsbSendPacket((uint8_t *)&ack, sizeof(UsbCommand)); - LED_B_OFF(); - - - // Thats it... - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - LEDsoff(); -// iso14a_set_tracing(TRUE); - -} - -// Return 1 if the nonce is invalid else return 0 -int valid_nonce(uint32_t Nt, uint32_t NtEnc, uint32_t Ks1, byte_t * parity) { - return ((oddparity((Nt >> 24) & 0xFF) == ((parity[0]) ^ oddparity((NtEnc >> 24) & 0xFF) ^ BIT(Ks1,16))) & \ + + LED_A_ON(); + LED_B_OFF(); + LED_C_OFF(); + + while (true) { + if(!iso14443a_select_card(uid, NULL, &cuid)) { + if (MF_DBGLEVEL >= 1) Dbprintf("Can't select card"); + break; + }; + + if(mifare_ultra_writeblock(cuid, blockNo, blockdata)) { + if (MF_DBGLEVEL >= 1) Dbprintf("Write block error"); + break; + }; + + if(mifare_ultra_halt(cuid)) { + if (MF_DBGLEVEL >= 1) Dbprintf("Halt error"); + break; + }; + + isOK = 1; + break; + } + + if (MF_DBGLEVEL >= 2) DbpString("WRITE BLOCK FINISHED"); + + LED_B_ON(); + cmd_send(CMD_ACK,isOK,0,0,0,0); + LED_B_OFF(); + + + // Thats it... + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + LEDsoff(); +// iso14a_set_tracing(TRUE); +} + + +void MifareUWriteBlock_Special(uint8_t arg0, uint8_t *datain) +{ + // params + uint8_t blockNo = arg0; + byte_t blockdata[4]; + + memcpy(blockdata, datain,4); + + // variables + byte_t isOK = 0; + uint8_t uid[10]; + uint32_t cuid; + + // clear trace + iso14a_clear_trace(); + // iso14a_set_tracing(false); + + iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); + + LED_A_ON(); + LED_B_OFF(); + LED_C_OFF(); + + while (true) { + if(!iso14443a_select_card(uid, NULL, &cuid)) { + if (MF_DBGLEVEL >= 1) Dbprintf("Can't select card"); + break; + }; + + if(mifare_ultra_special_writeblock(cuid, blockNo, blockdata)) { + if (MF_DBGLEVEL >= 1) Dbprintf("Write block error"); + break; + }; + + if(mifare_ultra_halt(cuid)) { + if (MF_DBGLEVEL >= 1) Dbprintf("Halt error"); + break; + }; + + isOK = 1; + break; + } + + if (MF_DBGLEVEL >= 2) DbpString("WRITE BLOCK FINISHED"); + + LED_B_ON(); + cmd_send(CMD_ACK,isOK,0,0,0,0); + LED_B_OFF(); + + + // Thats it... + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + LEDsoff(); +// iso14a_set_tracing(TRUE); + +} + + +// Return 1 if the nonce is invalid else return 0 +int valid_nonce(uint32_t Nt, uint32_t NtEnc, uint32_t Ks1, byte_t * parity) { + return ((oddparity((Nt >> 24) & 0xFF) == ((parity[0]) ^ oddparity((NtEnc >> 24) & 0xFF) ^ BIT(Ks1,16))) & \ (oddparity((Nt >> 16) & 0xFF) == ((parity[1]) ^ oddparity((NtEnc >> 16) & 0xFF) ^ BIT(Ks1,8))) & \ (oddparity((Nt >> 8) & 0xFF) == ((parity[2]) ^ oddparity((NtEnc >> 8) & 0xFF) ^ BIT(Ks1,0)))) ? 1 : 0; } - //----------------------------------------------------------------------------- // MIFARE nested authentication. // @@ -769,18 +714,11 @@ void MifareChkKeys(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain) LED_B_OFF(); LED_C_OFF(); -// SpinDelay(300); for (i = 0; i < keyCount; i++) { -// FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); -// SpinDelay(100); -// FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_ISO14443A | FPGA_HF_ISO14443A_READER_MOD); - // prepare next select by sending a HALT. There is no need to power down the card. if(mifare_classic_halt(pcs, cuid)) { if (MF_DBGLEVEL >= 1) Dbprintf("ChkKeys: Halt error"); } - // SpinDelay(50); - if(!iso14443a_select_card(uid, NULL, &cuid)) { if (OLD_MF_DBGLEVEL >= 1) Dbprintf("ChkKeys: Can't select card"); break; @@ -798,10 +736,6 @@ void MifareChkKeys(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain) // ----------------------------- crypto1 destroy crypto1_destroy(pcs); - // add trace trailer - memset(uid, 0x44, 4); - LogTrace(uid, 4, 0, 0, TRUE); - LED_B_ON(); cmd_send(CMD_ACK,isOK,0,0,datain + i * 6,6); LED_B_OFF(); @@ -823,6 +757,7 @@ void MifareSetDbgLvl(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai Dbprintf("Debug level: %d", MF_DBGLEVEL); } + //----------------------------------------------------------------------------- // Work with emulator memory // @@ -831,29 +766,29 @@ void MifareEMemClr(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain) emlClearMem(); } + void MifareEMemSet(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain){ emlSetMem(datain, arg0, arg1); // data, block num, blocks count } -void MifareEMemGet(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain){ -// UsbCommand ack = {CMD_ACK, {arg0, arg1, 0}}; - byte_t buf[48]; - emlGetMem(buf, arg0, arg1); // data, block num, blocks count +void MifareEMemGet(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain){ + + byte_t buf[48]; + emlGetMem(buf, arg0, arg1); // data, block num, blocks count (max 4) LED_B_ON(); - cmd_send(CMD_ACK,arg0,arg1,0,buf,48); -// UsbSendPacket((uint8_t *)&ack, sizeof(UsbCommand)); + cmd_send(CMD_ACK,arg0,arg1,0,buf,48); LED_B_OFF(); } + //----------------------------------------------------------------------------- // Load a card into the emulator memory // //----------------------------------------------------------------------------- void MifareECardLoad(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain){ - int i; - uint8_t sectorNo = 0; + uint8_t numSectors = arg0; uint8_t keyType = arg1; uint64_t ui64Key = 0; uint32_t cuid; @@ -876,63 +811,51 @@ void MifareECardLoad(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai LED_B_OFF(); LED_C_OFF(); - while (true) { - if(!iso14443a_select_card(uid, NULL, &cuid)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Can't select card"); - break; - }; + bool isOK = true; + + if(!iso14443a_select_card(uid, NULL, &cuid)) { + isOK = false; + if (MF_DBGLEVEL >= 1) Dbprintf("Can't select card"); + } - for (i = 0; i < 16; i++) { - sectorNo = i; - ui64Key = emlGetKey(sectorNo, keyType); - - if (!i){ - if(mifare_classic_auth(pcs, cuid, sectorNo * 4, keyType, ui64Key, AUTH_FIRST)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Sector[%d]. Auth error", i); - break; - } - } else { - if(mifare_classic_auth(pcs, cuid, sectorNo * 4, keyType, ui64Key, AUTH_NESTED)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Sector[%d]. Auth nested error", i); - break; + for (uint8_t sectorNo = 0; isOK && sectorNo < numSectors; sectorNo++) { + ui64Key = emlGetKey(sectorNo, keyType); + if (sectorNo == 0){ + if(isOK && mifare_classic_auth(pcs, cuid, FirstBlockOfSector(sectorNo), keyType, ui64Key, AUTH_FIRST)) { + isOK = false; + if (MF_DBGLEVEL >= 1) Dbprintf("Sector[%2d]. Auth error", sectorNo); + break; + } + } else { + if(isOK && mifare_classic_auth(pcs, cuid, FirstBlockOfSector(sectorNo), keyType, ui64Key, AUTH_NESTED)) { + isOK = false; + if (MF_DBGLEVEL >= 1) Dbprintf("Sector[%2d]. Auth nested error", sectorNo); + break; + } + } + + for (uint8_t blockNo = 0; isOK && blockNo < NumBlocksPerSector(sectorNo); blockNo++) { + if(isOK && mifare_classic_readblock(pcs, cuid, FirstBlockOfSector(sectorNo) + blockNo, dataoutbuf)) { + isOK = false; + if (MF_DBGLEVEL >= 1) Dbprintf("Error reading sector %2d block %2d", sectorNo, blockNo); + break; + }; + if (isOK) { + if (blockNo < NumBlocksPerSector(sectorNo) - 1) { + emlSetMem(dataoutbuf, FirstBlockOfSector(sectorNo) + blockNo, 1); + } else { // sector trailer, keep the keys, set only the AC + emlGetMem(dataoutbuf2, FirstBlockOfSector(sectorNo) + blockNo, 1); + memcpy(&dataoutbuf2[6], &dataoutbuf[6], 4); + emlSetMem(dataoutbuf2, FirstBlockOfSector(sectorNo) + blockNo, 1); } } - - if(mifare_classic_readblock(pcs, cuid, sectorNo * 4 + 0, dataoutbuf)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Read block 0 error"); - break; - }; - emlSetMem(dataoutbuf, sectorNo * 4 + 0, 1); - - if(mifare_classic_readblock(pcs, cuid, sectorNo * 4 + 1, dataoutbuf)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Read block 1 error"); - break; - }; - emlSetMem(dataoutbuf, sectorNo * 4 + 1, 1); - - if(mifare_classic_readblock(pcs, cuid, sectorNo * 4 + 2, dataoutbuf)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Read block 2 error"); - break; - }; - emlSetMem(dataoutbuf, sectorNo * 4 + 2, 1); - - // get block 3 bytes 6-9 - if(mifare_classic_readblock(pcs, cuid, sectorNo * 4 + 3, dataoutbuf)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Read block 3 error"); - break; - }; - emlGetMem(dataoutbuf2, sectorNo * 4 + 3, 1); - memcpy(&dataoutbuf2[6], &dataoutbuf[6], 4); - emlSetMem(dataoutbuf2, sectorNo * 4 + 3, 1); } - if(mifare_classic_halt(pcs, cuid)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Halt error"); - break; - }; - - break; - } + } + + if(mifare_classic_halt(pcs, cuid)) { + if (MF_DBGLEVEL >= 1) Dbprintf("Halt error"); + }; // ----------------------------- crypto1 destroy crypto1_destroy(pcs); @@ -942,16 +865,8 @@ void MifareECardLoad(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai if (MF_DBGLEVEL >= 2) DbpString("EMUL FILL SECTORS FINISHED"); - // add trace trailer - memset(uid, 0x44, 4); - LogTrace(uid, 4, 0, 0, TRUE); } -//----------------------------------------------------------------------------- -// MIFARE 1k emulator -// -//----------------------------------------------------------------------------- - //----------------------------------------------------------------------------- // Work with "magic Chinese" card (email him: ouyangweidaxian@live.cn) @@ -1074,22 +989,8 @@ void MifareCSetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai break; } -// UsbCommand ack = {CMD_ACK, {isOK, 0, 0}}; -// if (isOK) memcpy(ack.d.asBytes, uid, 4); - - // add trace trailer - /** - * Removed by Martin, the uid is overwritten with 0x44, - * which can 't be intended. - * - * memset(uid, 0x44, 4); - * LogTrace(uid, 4, 0, 0, TRUE); - **/ - - LED_B_ON(); - cmd_send(CMD_ACK,isOK,0,0,uid,4); -// UsbSendPacket((uint8_t *)&ack, sizeof(UsbCommand)); + cmd_send(CMD_ACK,isOK,0,0,uid,4); LED_B_OFF(); if ((workFlags & 0x10) || (!isOK)) { @@ -1099,6 +1000,7 @@ void MifareCSetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai } } + void MifareCGetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain){ // params @@ -1171,20 +1073,8 @@ void MifareCGetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai break; } -// UsbCommand ack = {CMD_ACK, {isOK, 0, 0}}; -// if (isOK) memcpy(ack.d.asBytes, data, 18); - - // add trace trailer - /* - * Removed by Martin, this piece of overwrites the 'data' variable - * which is sent two lines down, and is obviously not correct. - * - * memset(data, 0x44, 4); - * LogTrace(data, 4, 0, 0, TRUE); - */ LED_B_ON(); - cmd_send(CMD_ACK,isOK,0,0,data,18); -// UsbSendPacket((uint8_t *)&ack, sizeof(UsbCommand)); + cmd_send(CMD_ACK,isOK,0,0,data,18); LED_B_OFF(); if ((workFlags & 0x10) || (!isOK)) { diff --git a/armsrc/mifareutil.c b/armsrc/mifareutil.c index b847043bb..0b93db8f7 100644 --- a/armsrc/mifareutil.c +++ b/armsrc/mifareutil.c @@ -453,6 +453,27 @@ int mifare_ultra_halt(uint32_t uid) return 0; } + +// Mifare Memory Structure: up to 32 Sectors with 4 blocks each (1k and 2k cards), +// plus evtl. 8 sectors with 16 blocks each (4k cards) +uint8_t NumBlocksPerSector(uint8_t sectorNo) +{ + if (sectorNo < 32) + return 4; + else + return 16; +} + +uint8_t FirstBlockOfSector(uint8_t sectorNo) +{ + if (sectorNo < 32) + return sectorNo * 4; + else + return 32*4 + (sectorNo - 32) * 16; + +} + + // work with emulator memory void emlSetMem(uint8_t *data, int blockNum, int blocksCount) { uint8_t* emCARD = eml_get_bigbufptr_cardmem(); @@ -522,7 +543,7 @@ uint64_t emlGetKey(int sectorNum, int keyType) { uint8_t key[6]; uint8_t* emCARD = eml_get_bigbufptr_cardmem(); - memcpy(key, emCARD + 3 * 16 + sectorNum * 4 * 16 + keyType * 10, 6); + memcpy(key, emCARD + 16 * (FirstBlockOfSector(sectorNum) + NumBlocksPerSector(sectorNum) - 1) + keyType * 10, 6); return bytes_to_num(key, 6); } diff --git a/armsrc/mifareutil.h b/armsrc/mifareutil.h index ad637ea02..8708d3dd4 100644 --- a/armsrc/mifareutil.h +++ b/armsrc/mifareutil.h @@ -80,6 +80,10 @@ uint8_t* mifare_get_bigbufptr(void); uint8_t* eml_get_bigbufptr_sendbuf(void); uint8_t* eml_get_bigbufptr_recbuf(void); +// Mifare memory structure +uint8_t NumBlocksPerSector(uint8_t sectorNo); +uint8_t FirstBlockOfSector(uint8_t sectorNo); + // emulator functions void emlClearMem(void); void emlSetMem(uint8_t *data, int blockNum, int blocksCount); diff --git a/armsrc/util.c b/armsrc/util.c index 905bad253..2d3aab9ca 100644 --- a/armsrc/util.c +++ b/armsrc/util.c @@ -227,27 +227,27 @@ void FormatVersionInformation(char *dst, int len, const char *prefix, void *vers dst[0] = 0; strncat(dst, prefix, len); if(v->magic != VERSION_INFORMATION_MAGIC) { - strncat(dst, "Missing/Invalid version information", len); + strncat(dst, "Missing/Invalid version information", len - strlen(dst) - 1); return; } if(v->versionversion != 1) { - strncat(dst, "Version information not understood", len); + strncat(dst, "Version information not understood", len - strlen(dst) - 1); return; } if(!v->present) { - strncat(dst, "Version information not available", len); + strncat(dst, "Version information not available", len - strlen(dst) - 1); return; } - strncat(dst, v->svnversion, len); + strncat(dst, v->gitversion, len - strlen(dst) - 1); if(v->clean == 0) { - strncat(dst, "-unclean", len); + strncat(dst, "-unclean", len - strlen(dst) - 1); } else if(v->clean == 2) { - strncat(dst, "-suspect", len); + strncat(dst, "-suspect", len - strlen(dst) - 1); } - strncat(dst, " ", len); - strncat(dst, v->buildtime, len); + strncat(dst, " ", len - strlen(dst) - 1); + strncat(dst, v->buildtime, len - strlen(dst) - 1); } // ------------------------------------------------------------------------- diff --git a/client/Makefile b/client/Makefile index 6d75b4bbb..05ffc6671 100644 --- a/client/Makefile +++ b/client/Makefile @@ -15,7 +15,7 @@ OBJDIR = obj LDLIBS = -L/opt/local/lib -L/usr/local/lib -lreadline -lpthread ../liblua/liblua.a LDFLAGS = $(COMMON_FLAGS) -CFLAGS = -std=c99 -I. -I../include -I../common -I/opt/local/include -I../liblua -Wall $(COMMON_FLAGS) -g -O4 +CFLAGS = -std=c99 -lcrypto -I. -I../include -I../common -I/opt/local/include -I../liblua -Wall $(COMMON_FLAGS) -g -O4 LUAPLATFORM = generic ifneq (,$(findstring MINGW,$(platform))) @@ -24,9 +24,9 @@ QTLDLIBS = -L$(QTDIR)/lib -lQtCore4 -lQtGui4 MOC = $(QTDIR)/bin/moc LUAPLATFORM = mingw else ifeq ($(platform),Darwin) -CXXFLAGS = -I/Library/Frameworks/QtGui.framework/Versions/Current/Headers -I/Library/Frameworks/QtCore.framework/Versions/Current/Headers -QTLDLIBS = -framework QtGui -framework QtCore -MOC = moc +CXXFLAGS = $(shell pkg-config --cflags QtCore QtGui 2>/dev/null) -Wall -O4 +QTLDLIBS = $(shell pkg-config --libs QtCore QtGui 2>/dev/null) +MOC = $(shell pkg-config --variable=moc_location QtCore) LUAPLATFORM = macosx else CXXFLAGS = $(shell pkg-config --cflags QtCore QtGui 2>/dev/null) -Wall -O4 @@ -56,6 +56,12 @@ CORESRCS = uart.c \ CMDSRCS = nonce2key/crapto1.c\ nonce2key/crypto1.c\ nonce2key/nonce2key.c\ + loclass/cipher.c \ + loclass/cipherutils.c \ + loclass/des.c \ + loclass/ikeys.c \ + loclass/elite_crack.c\ + loclass/fileutils.c\ mifarehost.c\ crc16.c \ iso14443crc.c \ @@ -74,8 +80,8 @@ CMDSRCS = nonce2key/crapto1.c\ cmdhfmf.c \ cmdhw.c \ cmdlf.c \ - cmdlfhid.c \ cmdlfio.c \ + cmdlfhid.c \ cmdlfem4x.c \ cmdlfhitag.c \ cmdlfti.c \ diff --git a/client/cmddata.c b/client/cmddata.c index a7b804809..fa54d01a6 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -17,6 +17,7 @@ #include "ui.h" #include "graph.h" #include "cmdparser.h" +#include "util.h" #include "cmdmain.h" #include "cmddata.h" @@ -818,6 +819,41 @@ int CmdThreshold(const char *Cmd) return 0; } +int CmdDirectionalThreshold(const char *Cmd) +{ + int8_t upThres = param_get8(Cmd, 0); + int8_t downThres = param_get8(Cmd, 1); + + printf("Applying Up Threshold: %d, Down Threshold: %d\n", upThres, downThres); + + int lastValue = GraphBuffer[0]; + GraphBuffer[0] = 0; // Will be changed at the end, but init 0 as we adjust to last samples value if no threshold kicks in. + + for (int i = 1; i < GraphTraceLen; ++i) { + // Apply first threshold to samples heading up + if (GraphBuffer[i] >= upThres && GraphBuffer[i] > lastValue) + { + lastValue = GraphBuffer[i]; // Buffer last value as we overwrite it. + GraphBuffer[i] = 1; + } + // Apply second threshold to samples heading down + else if (GraphBuffer[i] <= downThres && GraphBuffer[i] < lastValue) + { + lastValue = GraphBuffer[i]; // Buffer last value as we overwrite it. + GraphBuffer[i] = -1; + } + else + { + lastValue = GraphBuffer[i]; // Buffer last value as we overwrite it. + GraphBuffer[i] = GraphBuffer[i-1]; + + } + } + GraphBuffer[0] = GraphBuffer[1]; // Aline with first edited sample. + RepaintGraphWindow(); + return 0; +} + int CmdZerocrossings(const char *Cmd) { // Zero-crossings aren't meaningful unless the signal is zero-mean. @@ -874,6 +910,7 @@ static command_t CommandTable[] = {"scale", CmdScale, 1, " -- Set cursor display scale"}, {"threshold", CmdThreshold, 1, " -- Maximize/minimize every value in the graph window depending on threshold"}, {"zerocrossings", CmdZerocrossings, 1, "Count time between zero-crossings"}, + {"dirthreshold", CmdDirectionalThreshold, 1, " -- Max rising higher up-thres/ Min falling lower down-thres, keep rest as prev."}, {NULL, NULL, 0, NULL} }; diff --git a/client/cmddata.h b/client/cmddata.h index 2f86a9417..716c9c39c 100644 --- a/client/cmddata.h +++ b/client/cmddata.h @@ -38,6 +38,7 @@ int CmdSamples(const char *Cmd); int CmdSave(const char *Cmd); int CmdScale(const char *Cmd); int CmdThreshold(const char *Cmd); +int CmdDirectionalThreshold(const char *Cmd); int CmdZerocrossings(const char *Cmd); #endif diff --git a/client/cmdhf14a.c b/client/cmdhf14a.c index d16d71ff0..39bdcf402 100644 --- a/client/cmdhf14a.c +++ b/client/cmdhf14a.c @@ -183,27 +183,29 @@ void iso14a_set_timeout(uint32_t timeout) { int CmdHF14AReader(const char *Cmd) { - UsbCommand c = {CMD_READER_ISO_14443a, {ISO14A_CONNECT, 0, 0}}; + UsbCommand c = {CMD_READER_ISO_14443a, {ISO14A_CONNECT | ISO14A_NO_DISCONNECT, 0, 0}}; SendCommand(&c); UsbCommand resp; WaitForResponse(CMD_ACK,&resp); - iso14a_card_select_t *card = (iso14a_card_select_t *)resp.d.asBytes; + iso14a_card_select_t card; + memcpy(&card, (iso14a_card_select_t *)resp.d.asBytes, sizeof(iso14a_card_select_t)); - if(resp.arg[0] == 0) { + uint64_t select_status = resp.arg[0]; // 0: couldn't read, 1: OK, with ATS, 2: OK, no ATS + + if(select_status == 0) { PrintAndLog("iso14443a card select failed"); return 0; } - PrintAndLog("ATQA : %02x %02x", card->atqa[0], card->atqa[1]); - PrintAndLog(" UID : %s", sprint_hex(card->uid, card->uidlen)); - PrintAndLog(" SAK : %02x [%d]", card->sak, resp.arg[0]); + PrintAndLog("ATQA : %02x %02x", card.atqa[1], card.atqa[0]); + PrintAndLog(" UID : %s", sprint_hex(card.uid, card.uidlen)); + PrintAndLog(" SAK : %02x [%d]", card.sak, resp.arg[0]); - switch (card->sak) { + switch (card.sak) { case 0x00: PrintAndLog("TYPE : NXP MIFARE Ultralight | Ultralight C"); break; case 0x04: PrintAndLog("TYPE : NXP MIFARE (various !DESFire !DESFire EV1)"); break; - case 0x08: PrintAndLog("TYPE : NXP MIFARE CLASSIC 1k | Plus 2k SL1"); break; case 0x09: PrintAndLog("TYPE : NXP MIFARE Mini 0.3k"); break; case 0x10: PrintAndLog("TYPE : NXP MIFARE Plus 2k SL2"); break; @@ -217,67 +219,107 @@ int CmdHF14AReader(const char *Cmd) case 0x98: PrintAndLog("TYPE : Gemplus MPCOS"); break; default: ; } - if(resp.arg[0] == 1) { + + + // try to request ATS even if tag claims not to support it + if (select_status == 2) { + uint8_t rats[] = { 0xE0, 0x80 }; // FSDI=8 (FSD=256), CID=0 + c.arg[0] = ISO14A_RAW | ISO14A_APPEND_CRC | ISO14A_NO_DISCONNECT; + c.arg[1] = 2; + c.arg[2] = 0; + memcpy(c.d.asBytes, rats, 2); + SendCommand(&c); + WaitForResponse(CMD_ACK,&resp); + + memcpy(&card.ats, resp.d.asBytes, resp.arg[0]); + card.ats_len = resp.arg[0]; // note: ats_len includes CRC Bytes + } + + // disconnect + c.arg[0] = 0; + c.arg[1] = 0; + c.arg[2] = 0; + SendCommand(&c); + + + if(card.ats_len >= 3) { // a valid ATS consists of at least the length byte (TL) and 2 CRC bytes bool ta1 = 0, tb1 = 0, tc1 = 0; int pos; - PrintAndLog(" ATS : %s", sprint_hex(card->ats, card->ats_len)); - if (card->ats_len > 0) { - PrintAndLog(" - TL : length is %d bytes", card->ats[0]); + if (select_status == 2) { + PrintAndLog("SAK incorrectly claims that card doesn't support RATS"); } - if (card->ats_len > 1) { - ta1 = (card->ats[1] & 0x10) == 0x10; - tb1 = (card->ats[1] & 0x20) == 0x20; - tc1 = (card->ats[1] & 0x40) == 0x40; + PrintAndLog(" ATS : %s", sprint_hex(card.ats, card.ats_len)); + PrintAndLog(" - TL : length is %d bytes", card.ats[0]); + if (card.ats[0] != card.ats_len - 2) { + PrintAndLog("ATS may be corrupted. Length of ATS (%d bytes incl. 2 Bytes CRC) doesn't match TL", card.ats_len); + } + + if (card.ats[0] > 1) { // there is a format byte (T0) + ta1 = (card.ats[1] & 0x10) == 0x10; + tb1 = (card.ats[1] & 0x20) == 0x20; + tc1 = (card.ats[1] & 0x40) == 0x40; + int16_t fsci = card.ats[1] & 0x0f; PrintAndLog(" - T0 : TA1 is%s present, TB1 is%s present, " - "TC1 is%s present, FSCI is %d", + "TC1 is%s present, FSCI is %d (FSC = %ld)", (ta1 ? "" : " NOT"), (tb1 ? "" : " NOT"), (tc1 ? "" : " NOT"), - (card->ats[1] & 0x0f)); + fsci, + fsci < 5 ? (fsci - 2) * 8 : + fsci < 8 ? (fsci - 3) * 32 : + fsci == 8 ? 256 : + -1 + ); } pos = 2; - if (ta1 && card->ats_len > pos) { + if (ta1) { char dr[16], ds[16]; dr[0] = ds[0] = '\0'; - if (card->ats[pos] & 0x10) strcat(ds, "2, "); - if (card->ats[pos] & 0x20) strcat(ds, "4, "); - if (card->ats[pos] & 0x40) strcat(ds, "8, "); - if (card->ats[pos] & 0x01) strcat(dr, "2, "); - if (card->ats[pos] & 0x02) strcat(dr, "4, "); - if (card->ats[pos] & 0x04) strcat(dr, "8, "); + if (card.ats[pos] & 0x10) strcat(ds, "2, "); + if (card.ats[pos] & 0x20) strcat(ds, "4, "); + if (card.ats[pos] & 0x40) strcat(ds, "8, "); + if (card.ats[pos] & 0x01) strcat(dr, "2, "); + if (card.ats[pos] & 0x02) strcat(dr, "4, "); + if (card.ats[pos] & 0x04) strcat(dr, "8, "); if (strlen(ds) != 0) ds[strlen(ds) - 2] = '\0'; if (strlen(dr) != 0) dr[strlen(dr) - 2] = '\0'; PrintAndLog(" - TA1 : different divisors are%s supported, " "DR: [%s], DS: [%s]", - (card->ats[pos] & 0x80 ? " NOT" : ""), dr, ds); + (card.ats[pos] & 0x80 ? " NOT" : ""), dr, ds); pos++; } - if (tb1 && card->ats_len > pos) { - PrintAndLog(" - TB1 : SFGI = %d, FWI = %d", - (card->ats[pos] & 0x08), - (card->ats[pos] & 0x80) >> 4); + if (tb1) { + uint32_t sfgi = card.ats[pos] & 0x0F; + uint32_t fwi = card.ats[pos] >> 4; + PrintAndLog(" - TB1 : SFGI = %d (SFGT = %s%ld/fc), FWI = %d (FWT = %ld/fc)", + (sfgi), + sfgi ? "" : "(not needed) ", + sfgi ? (1 << 12) << sfgi : 0, + fwi, + (1 << 12) << fwi + ); pos++; } - if (tc1 && card->ats_len > pos) { + if (tc1) { PrintAndLog(" - TC1 : NAD is%s supported, CID is%s supported", - (card->ats[pos] & 0x01) ? "" : " NOT", - (card->ats[pos] & 0x02) ? "" : " NOT"); + (card.ats[pos] & 0x01) ? "" : " NOT", + (card.ats[pos] & 0x02) ? "" : " NOT"); pos++; } - if (card->ats_len > pos) { + if (card.ats[0] > pos) { char *tip = ""; - if (card->ats_len - pos > 7) { - if (memcmp(card->ats + pos, "\xC1\x05\x2F\x2F\x01\xBC\xD6", 7) == 0) { + if (card.ats[0] - pos >= 7) { + if (memcmp(card.ats + pos, "\xC1\x05\x2F\x2F\x01\xBC\xD6", 7) == 0) { tip = "-> MIFARE Plus X 2K or 4K"; - } else if (memcmp(card->ats + pos, "\xC1\x05\x2F\x2F\x00\x35\xC7", 7) == 0) { + } else if (memcmp(card.ats + pos, "\xC1\x05\x2F\x2F\x00\x35\xC7", 7) == 0) { tip = "-> MIFARE Plus S 2K or 4K"; } } - PrintAndLog(" - HB : %s%s", sprint_hex(card->ats + pos, card->ats_len - pos - 2), tip); - if (card->ats[pos] == 0xC1) { + PrintAndLog(" - HB : %s%s", sprint_hex(card.ats + pos, card.ats[0] - pos), tip); + if (card.ats[pos] == 0xC1) { PrintAndLog(" c1 -> Mifare or (multiple) virtual cards of various type"); PrintAndLog(" %02x -> Length is %d bytes", - card->ats[pos + 1], card->ats[pos + 1]); - switch (card->ats[pos + 2] & 0xf0) { + card.ats[pos + 1], card.ats[pos + 1]); + switch (card.ats[pos + 2] & 0xf0) { case 0x10: PrintAndLog(" 1x -> MIFARE DESFire"); break; @@ -285,7 +327,7 @@ int CmdHF14AReader(const char *Cmd) PrintAndLog(" 2x -> MIFARE Plus"); break; } - switch (card->ats[pos + 2] & 0x0f) { + switch (card.ats[pos + 2] & 0x0f) { case 0x00: PrintAndLog(" x0 -> <1 kByte"); break; @@ -302,7 +344,7 @@ int CmdHF14AReader(const char *Cmd) PrintAndLog(" x0 -> 8 kByte"); break; } - switch (card->ats[pos + 3] & 0xf0) { + switch (card.ats[pos + 3] & 0xf0) { case 0x00: PrintAndLog(" 0x -> Engineering sample"); break; @@ -310,7 +352,7 @@ int CmdHF14AReader(const char *Cmd) PrintAndLog(" 2x -> Released"); break; } - switch (card->ats[pos + 3] & 0x0f) { + switch (card.ats[pos + 3] & 0x0f) { case 0x00: PrintAndLog(" x0 -> Generation 1"); break; @@ -321,7 +363,7 @@ int CmdHF14AReader(const char *Cmd) PrintAndLog(" x2 -> Generation 3"); break; } - switch (card->ats[pos + 4] & 0x0f) { + switch (card.ats[pos + 4] & 0x0f) { case 0x00: PrintAndLog(" x0 -> Only VCSL supported"); break; @@ -335,10 +377,10 @@ int CmdHF14AReader(const char *Cmd) } } } else { - PrintAndLog("proprietary non iso14443a-4 card found, RATS not supported"); - } + PrintAndLog("proprietary non iso14443-4 card found, RATS not supported"); + } - return resp.arg[0]; + return select_status; } // Collect ISO14443 Type A UIDs @@ -357,23 +399,20 @@ int CmdHF14ACUIDs(const char *Cmd) UsbCommand c = {CMD_READER_ISO_14443a, {ISO14A_CONNECT, 0, 0}}; SendCommand(&c); - UsbCommand resp; - WaitForResponse(CMD_ACK,&resp); + UsbCommand resp; + WaitForResponse(CMD_ACK,&resp); - uint8_t *uid = resp.d.asBytes; - iso14a_card_select_t *card = (iso14a_card_select_t *)(uid + 12); + iso14a_card_select_t *card = (iso14a_card_select_t *) resp.d.asBytes; // check if command failed if (resp.arg[0] == 0) { PrintAndLog("Card select failed."); } else { - // check if UID is 4 bytes - if ((card->atqa[1] & 0xC0) == 0) { - PrintAndLog("%02X%02X%02X%02X", - *uid, *(uid + 1), *(uid + 2), *(uid + 3)); - } else { - PrintAndLog("UID longer than 4 bytes"); + char uid_string[20]; + for (uint16_t i = 0; i < card->uidlen; i++) { + sprintf(&uid_string[2*i], "%02X", card->uid[i]); } + PrintAndLog("%s", uid_string); } } PrintAndLog("End: %u", time(NULL)); diff --git a/client/cmdhficlass.c b/client/cmdhficlass.c index f807e9721..7156b1188 100644 --- a/client/cmdhficlass.c +++ b/client/cmdhficlass.c @@ -1,6 +1,7 @@ //----------------------------------------------------------------------------- // Copyright (C) 2010 iZsh , Hagen Fritsch // Copyright (C) 2011 Gerhard de Koning Gans +// Copyright (C) 2014 Midnitesnake & Andy Davies & Martin Holst Swende // // This code is licensed to you under the terms of the GNU GPL, version 2 or, // at your option, any later version. See the LICENSE.txt file for the text of @@ -12,6 +13,7 @@ #include #include #include +#include #include "iso14443crc.h" // Can also be used for iClass, using 0xE012 as CRC-type #include "data.h" //#include "proxusb.h" @@ -21,10 +23,143 @@ #include "cmdhficlass.h" #include "common.h" #include "util.h" +#include "cmdmain.h" +#include "loclass/des.h" +#include "loclass/cipherutils.h" +#include "loclass/cipher.h" +#include "loclass/ikeys.h" +#include "loclass/elite_crack.h" +#include "loclass/fileutils.h" static int CmdHelp(const char *Cmd); +int xorbits_8(uint8_t val) +{ + uint8_t res = val ^ (val >> 1); //1st pass + res = res ^ (res >> 1); // 2nd pass + res = res ^ (res >> 2); // 3rd pass + res = res ^ (res >> 4); // 4th pass + return res & 1; +} + int CmdHFiClassList(const char *Cmd) +{ + + bool ShowWaitCycles = false; + char param = param_getchar(Cmd, 0); + + if (param != 0) { + PrintAndLog("List data in trace buffer."); + PrintAndLog("Usage: hf iclass list"); + PrintAndLog("h - help"); + PrintAndLog("sample: hf iclass list"); + return 0; + } + + uint8_t got[1920]; + GetFromBigBuf(got,sizeof(got),0); + WaitForResponse(CMD_ACK,NULL); + + PrintAndLog("Recorded Activity"); + PrintAndLog(""); + PrintAndLog("Start = Start of Start Bit, End = End of last modulation. Src = Source of Transfer"); + PrintAndLog("All times are in carrier periods (1/13.56Mhz)"); + PrintAndLog(""); + PrintAndLog(" Start | End | Src | Data"); + PrintAndLog("-----------|-----------|-----|--------"); + + int i; + uint32_t first_timestamp = 0; + uint32_t timestamp; + bool tagToReader; + uint32_t parityBits; + uint8_t len; + uint8_t *frame; + uint32_t EndOfTransmissionTimestamp = 0; + + + for( i=0; i < 1900;) + { + //First 32 bits contain + // isResponse (1 bit) + // timestamp (remaining) + //Then paritybits + //Then length + timestamp = *((uint32_t *)(got+i)); + parityBits = *((uint32_t *)(got+i+4)); + len = got[i+8]; + frame = (got+i+9); + uint32_t next_timestamp = (*((uint32_t *)(got+i+9))) & 0x7fffffff; + + tagToReader = timestamp & 0x80000000; + timestamp &= 0x7fffffff; + + if(i==0) { + first_timestamp = timestamp; + } + + // Break and stick with current result idf buffer was not completely full + if (frame[0] == 0x44 && frame[1] == 0x44 && frame[2] == 0x44 && frame[3] == 0x44) break; + + char line[1000] = ""; + + if(len)//We have some data to display + { + int j,oddparity; + + for(j = 0; j < len ; j++) + { + oddparity = 0x01 ^ xorbits_8(frame[j] & 0xFF); + + if (tagToReader && (oddparity != ((parityBits >> (len - j - 1)) & 0x01))) { + sprintf(line+(j*4), "%02x! ", frame[j]); + } else { + sprintf(line+(j*4), "%02x ", frame[j]); + } + } + }else + { + if (ShowWaitCycles) { + sprintf(line, "fdt (Frame Delay Time): %d", (next_timestamp - timestamp)); + } + } + + char *crc = ""; + + if(len > 2) + { + uint8_t b1, b2; + if(!tagToReader && len == 4) { + // Rough guess that this is a command from the reader + // For iClass the command byte is not part of the CRC + ComputeCrc14443(CRC_ICLASS, &frame[1], len-3, &b1, &b2); + } + else { + // For other data.. CRC might not be applicable (UPDATE commands etc.) + ComputeCrc14443(CRC_ICLASS, frame, len-2, &b1, &b2); + } + + if (b1 != frame[len-2] || b2 != frame[len-1]) { + crc = (tagToReader & (len < 8)) ? "" : " !crc"; + } + } + + i += (len + 9); + EndOfTransmissionTimestamp = (*((uint32_t *)(got+i))) & 0x7fffffff; + + // Not implemented for iclass on the ARM-side + //if (!ShowWaitCycles) i += 9; + + PrintAndLog(" %9d | %9d | %s | %s %s", + (timestamp - first_timestamp), + (EndOfTransmissionTimestamp - first_timestamp), + (len?(tagToReader ? "Tag" : "Rdr"):" "), + line, crc); + } + return 0; +} + +int CmdHFiClassListOld(const char *Cmd) { uint8_t got[1920]; GetFromBigBuf(got,sizeof(got),0); @@ -50,7 +185,9 @@ int CmdHFiClassList(const char *Cmd) isResponse = 0; } + int metric = 0; + int parityBits = *((uint32_t *)(got+i+4)); // 4 bytes of additional information... // maximum of 32 additional parity bit information @@ -160,11 +297,6 @@ int CmdHFiClassList(const char *Cmd) return 0; } -/*void iso14a_set_timeout(uint32_t timeout) { - UsbCommand c = {CMD_READER_ISO_14443a, {ISO14A_SET_TIMEOUT, 0, timeout}}; - SendCommand(&c); -}*/ - int CmdHFiClassSnoop(const char *Cmd) { UsbCommand c = {CMD_SNOOP_ICLASS}; @@ -177,69 +309,352 @@ int CmdHFiClassSim(const char *Cmd) uint8_t simType = 0; uint8_t CSN[8] = {0, 0, 0, 0, 0, 0, 0, 0}; - if (strlen(Cmd)<2) { - PrintAndLog("Usage: hf iclass sim "); + if (strlen(Cmd)<1) { + PrintAndLog("Usage: hf iclass sim [0 ] | x"); + PrintAndLog(" options"); + PrintAndLog(" 0 simulate the given CSN"); + PrintAndLog(" 1 simulate default CSN"); + PrintAndLog(" 2 iterate CSNs, gather MACs"); PrintAndLog(" sample: hf iclass sim 0 031FEC8AF7FF12E0"); + PrintAndLog(" sample: hf iclass sim 2"); return 0; } simType = param_get8(Cmd, 0); - if (param_gethex(Cmd, 1, CSN, 16)) { - PrintAndLog("A CSN should consist of 16 HEX symbols"); - return 1; + + if(simType == 0) + { + if (param_gethex(Cmd, 1, CSN, 16)) { + PrintAndLog("A CSN should consist of 16 HEX symbols"); + return 1; + } + PrintAndLog("--simtype:%02x csn:%s", simType, sprint_hex(CSN, 8)); + } - PrintAndLog("--simtype:%02x csn:%s", simType, sprint_hex(CSN, 8)); + if(simType > 2) + { + PrintAndLog("Undefined simptype %d", simType); + return 1; + } + uint8_t numberOfCSNs=0; - UsbCommand c = {CMD_SIMULATE_TAG_ICLASS, {simType}}; - memcpy(c.d.asBytes, CSN, 8); - SendCommand(&c); + if(simType == 2) + { + UsbCommand c = {CMD_SIMULATE_TAG_ICLASS, {simType,63}}; + UsbCommand resp = {0}; - /*UsbCommand * resp = WaitForResponseTimeout(CMD_ACK, 1500); - if (resp != NULL) { - uint8_t isOK = resp->arg[0] & 0xff; - PrintAndLog("isOk:%02x", isOK); - } else { - PrintAndLog("Command execute timeout"); - }*/ + uint8_t csns[64] = { + 0x00,0x0B,0x0F,0xFF,0xF7,0xFF,0x12,0xE0 , + 0x00,0x13,0x94,0x7e,0x76,0xff,0x12,0xe0 , + 0x2a,0x99,0xac,0x79,0xec,0xff,0x12,0xe0 , + 0x17,0x12,0x01,0xfd,0xf7,0xff,0x12,0xe0 , + 0xcd,0x56,0x01,0x7c,0x6f,0xff,0x12,0xe0 , + 0x4b,0x5e,0x0b,0x72,0xef,0xff,0x12,0xe0 , + 0x00,0x73,0xd8,0x75,0x58,0xff,0x12,0xe0 , + 0x0c,0x90,0x32,0xf3,0x5d,0xff,0x12,0xe0 }; + + memcpy(c.d.asBytes, csns, 64); + + SendCommand(&c); + if (!WaitForResponseTimeout(CMD_ACK, &resp, -1)) { + PrintAndLog("Command timed out"); + return 0; + } + + uint8_t num_mac_responses = resp.arg[1]; + PrintAndLog("Mac responses: %d MACs obtained (should be 8)", num_mac_responses); + + size_t datalen = 8*24; + /* + * Now, time to dump to file. We'll use this format: + * <8-byte CSN><8-byte CC><4 byte NR><4 byte MAC>.... + * So, it should wind up as + * 8 * 24 bytes. + * + * The returndata from the pm3 is on the following format + * <4 byte NR><4 byte MAC> + * CC are all zeroes, CSN is the same as was sent in + **/ + void* dump = malloc(datalen); + memset(dump,0,datalen);//<-- Need zeroes for the CC-field + uint8_t i = 0; + for(i = 0 ; i < 8 ; i++) + { + memcpy(dump+i*24, csns+i*8,8); //CSN + //8 zero bytes here... + //Then comes NR_MAC (eight bytes from the response) + memcpy(dump+i*24+16,resp.d.asBytes+i*8,8); + + } + /** Now, save to dumpfile **/ + saveFile("iclass_mac_attack", "bin", dump,datalen); + free(dump); + }else + { + UsbCommand c = {CMD_SIMULATE_TAG_ICLASS, {simType,numberOfCSNs}}; + memcpy(c.d.asBytes, CSN, 8); + SendCommand(&c); + } return 0; } int CmdHFiClassReader(const char *Cmd) { - uint8_t readerType = 0; - - if (strlen(Cmd)<1) { - PrintAndLog("Usage: hf iclass reader "); - PrintAndLog(" sample: hf iclass reader 0"); - return 0; - } - - readerType = param_get8(Cmd, 0); - PrintAndLog("--readertype:%02x", readerType); - - UsbCommand c = {CMD_READER_ICLASS, {readerType}}; - //memcpy(c.d.asBytes, CSN, 8); + UsbCommand c = {CMD_READER_ICLASS, {0}}; SendCommand(&c); + UsbCommand resp; + while(!ukbhit()){ + if (WaitForResponseTimeout(CMD_ACK,&resp,4500)) { + uint8_t isOK = resp.arg[0] & 0xff; + uint8_t * data = resp.d.asBytes; - /*UsbCommand * resp = WaitForResponseTimeout(CMD_ACK, 1500); - if (resp != NULL) { - uint8_t isOK = resp->arg[0] & 0xff; - PrintAndLog("isOk:%02x", isOK); - } else { - PrintAndLog("Command execute timeout"); - }*/ + PrintAndLog("isOk:%02x", isOK); + + if(isOK > 0) + { + PrintAndLog("CSN: %s",sprint_hex(data,8)); + } + if(isOK >= 1) + { + PrintAndLog("CC: %s",sprint_hex(data+8,8)); + }else{ + PrintAndLog("No CC obtained"); + } + } else { + PrintAndLog("Command execute timeout"); + } + } return 0; } +int CmdHFiClassReader_Replay(const char *Cmd) +{ + uint8_t readerType = 0; + uint8_t MAC[4]={0x00, 0x00, 0x00, 0x00}; + + if (strlen(Cmd)<1) { + PrintAndLog("Usage: hf iclass replay "); + PrintAndLog(" sample: hf iclass replay 00112233"); + return 0; + } + + if (param_gethex(Cmd, 0, MAC, 8)) { + PrintAndLog("MAC must include 8 HEX symbols"); + return 1; + } + + UsbCommand c = {CMD_READER_ICLASS_REPLAY, {readerType}}; + memcpy(c.d.asBytes, MAC, 4); + SendCommand(&c); + + return 0; +} + +int CmdHFiClassReader_Dump(const char *Cmd) +{ + uint8_t readerType = 0; + uint8_t MAC[4]={0x00,0x00,0x00,0x00}; + uint8_t KEY[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; + uint8_t CSN[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; + uint8_t CCNR[12]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; + //uint8_t CC_temp[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; + uint8_t div_key[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; + uint8_t keytable[128] = {0}; + int elite = 0; + uint8_t *used_key; + int i; + if (strlen(Cmd)<1) + { + PrintAndLog("Usage: hf iclass dump [e]"); + PrintAndLog(" Key - A 16 byte master key"); + PrintAndLog(" e - If 'e' is specified, the key is interpreted as the 16 byte"); + PrintAndLog(" Custom Key (KCus), which can be obtained via reader-attack"); + PrintAndLog(" See 'hf iclass sim 2'. This key should be on iclass-format"); + PrintAndLog(" sample: hf iclass dump 0011223344556677"); + + + return 0; + } + + if (param_gethex(Cmd, 0, KEY, 16)) + { + PrintAndLog("KEY must include 16 HEX symbols"); + return 1; + } + + if (param_getchar(Cmd, 1) == 'e') + { + PrintAndLog("Elite switch on"); + elite = 1; + + //calc h2 + hash2(KEY, keytable); + printarr_human_readable("keytable", keytable, 128); + + } + + + UsbCommand c = {CMD_READER_ICLASS, {0}}; + c.arg[0] = FLAG_ICLASS_READER_ONLY_ONCE; + + SendCommand(&c); + + UsbCommand resp; + + if (WaitForResponseTimeout(CMD_ACK,&resp,4500)) { + uint8_t isOK = resp.arg[0] & 0xff; + uint8_t * data = resp.d.asBytes; + + memcpy(CSN,data,8); + memcpy(CCNR,data+8,8); + + PrintAndLog("isOk:%02x", isOK); + + if(isOK > 0) + { + PrintAndLog("CSN: %s",sprint_hex(CSN,8)); + } + if(isOK > 1) + { + if(elite) + { + uint8_t key_sel[8] = {0}; + uint8_t key_sel_p[8] = { 0 }; + //Get the key index (hash1) + uint8_t key_index[8] = {0}; + + hash1(CSN, key_index); + printvar("hash1", key_index,8); + for(i = 0; i < 8 ; i++) + key_sel[i] = keytable[key_index[i]] & 0xFF; + printvar("k_sel", key_sel,8); + //Permute from iclass format to standard format + permutekey_rev(key_sel,key_sel_p); + used_key = key_sel_p; + }else{ + //Perhaps this should also be permuted to std format? + // Something like the code below? I have no std system + // to test this with /Martin + + //uint8_t key_sel_p[8] = { 0 }; + //permutekey_rev(KEY,key_sel_p); + //used_key = key_sel_p; + + used_key = KEY; + + } + printvar("Used key",used_key,8); + diversifyKey(CSN,used_key, div_key); + printvar("Div key", div_key, 8); + printvar("CC_NR:",CCNR,12); + doMAC(CCNR,12,div_key, MAC); + printvar("MAC", MAC, 4); + + UsbCommand d = {CMD_READER_ICLASS_REPLAY, {readerType}}; + memcpy(d.d.asBytes, MAC, 4); + SendCommand(&d); + + }else{ + PrintAndLog("Failed to obtain CC! Aborting"); + } + } else { + PrintAndLog("Command execute timeout"); + } + + return 0; +} + +int CmdHFiClass_iso14443A_write(const char *Cmd) +{ + uint8_t readerType = 0; + uint8_t MAC[4]={0x00,0x00,0x00,0x00}; + uint8_t KEY[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; + uint8_t CSN[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; + uint8_t CCNR[12]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; + uint8_t div_key[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; + + uint8_t blockNo=0; + uint8_t bldata[8]={0}; + + if (strlen(Cmd)<3) + { + PrintAndLog("Usage: hf iclass write "); + PrintAndLog(" sample: hf iclass write 0011223344556677 10 AAAAAAAAAAAAAAAA"); + return 0; + } + + if (param_gethex(Cmd, 0, KEY, 16)) + { + PrintAndLog("KEY must include 16 HEX symbols"); + return 1; + } + + blockNo = param_get8(Cmd, 1); + if (blockNo>32) + { + PrintAndLog("Error: Maximum number of blocks is 32 for iClass 2K Cards!"); + return 1; + } + if (param_gethex(Cmd, 2, bldata, 8)) + { + PrintAndLog("Block data must include 8 HEX symbols"); + return 1; + } + + UsbCommand c = {CMD_ICLASS_ISO14443A_WRITE, {0}}; + SendCommand(&c); + UsbCommand resp; + + if (WaitForResponseTimeout(CMD_ACK,&resp,4500)) { + uint8_t isOK = resp.arg[0] & 0xff; + uint8_t * data = resp.d.asBytes; + + memcpy(CSN,data,8); + memcpy(CCNR,data+8,8); + PrintAndLog("DEBUG: %s",sprint_hex(CSN,8)); + PrintAndLog("DEBUG: %s",sprint_hex(CCNR,8)); + PrintAndLog("isOk:%02x", isOK); + } else { + PrintAndLog("Command execute timeout"); + } + + diversifyKey(CSN,KEY, div_key); + + PrintAndLog("Div Key: %s",sprint_hex(div_key,8)); + doMAC(CCNR, 12,div_key, MAC); + + UsbCommand c2 = {CMD_ICLASS_ISO14443A_WRITE, {readerType,blockNo}}; + memcpy(c2.d.asBytes, bldata, 8); + memcpy(c2.d.asBytes+8, MAC, 4); + SendCommand(&c2); + + if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { + uint8_t isOK = resp.arg[0] & 0xff; + uint8_t * data = resp.d.asBytes; + + if (isOK) + PrintAndLog("isOk:%02x data:%s", isOK, sprint_hex(data, 4)); + else + PrintAndLog("isOk:%02x", isOK); + } else { + PrintAndLog("Command execute timeout"); + } + return 0; +} + + static command_t CommandTable[] = { - {"help", CmdHelp, 1, "This help"}, - {"list", CmdHFiClassList, 0, "List iClass history"}, - {"snoop", CmdHFiClassSnoop, 0, "Eavesdrop iClass communication"}, - {"sim", CmdHFiClassSim, 0, "Simulate iClass tag"}, - {"reader", CmdHFiClassReader, 0, "Read an iClass tag"}, + {"help", CmdHelp, 1, "This help"}, + {"list", CmdHFiClassList, 0, "List iClass history"}, + {"snoop", CmdHFiClassSnoop, 0, "Eavesdrop iClass communication"}, + {"sim", CmdHFiClassSim, 0, "Simulate iClass tag"}, + {"reader",CmdHFiClassReader, 0, "Read an iClass tag"}, + {"replay",CmdHFiClassReader_Replay, 0, "Read an iClass tag via Reply Attack"}, + {"dump", CmdHFiClassReader_Dump, 0, "Authenticate and Dump iClass tag"}, + {"write", CmdHFiClass_iso14443A_write, 0, "Authenticate and Write iClass block"}, {NULL, NULL, 0, NULL} }; diff --git a/client/cmdhficlass.h b/client/cmdhficlass.h index c1bf60c79..e4048eb17 100644 --- a/client/cmdhficlass.h +++ b/client/cmdhficlass.h @@ -18,5 +18,6 @@ int CmdHFiClassSnoop(const char *Cmd); int CmdHFiClassSim(const char *Cmd); int CmdHFiClassList(const char *Cmd); int CmdHFiClassReader(const char *Cmd); +int CmdHFiClassReader_Replay(const char *Cmd); #endif diff --git a/client/cmdhfmf.c b/client/cmdhfmf.c index a26652566..b66aa3a6d 100644 --- a/client/cmdhfmf.c +++ b/client/cmdhfmf.c @@ -121,7 +121,7 @@ int CmdHF14AMfWrBl(const char *Cmd) PrintAndLog("Block data must include 32 HEX symbols"); return 1; } - PrintAndLog("--block no:%02x key type:%02x key:%s", blockNo, keyType, sprint_hex(key, 6)); + PrintAndLog("--block no:%d, key type:%c, key:%s", blockNo, keyType?'B':'A', sprint_hex(key, 6)); PrintAndLog("--data: %s", sprint_hex(bldata, 16)); UsbCommand c = {CMD_MIFARE_WRITEBL, {blockNo, keyType, 0}}; @@ -168,7 +168,7 @@ int CmdHF14AMfUWrBl(const char *Cmd) if (!chinese_card){ PrintAndLog("Access Denied"); }else{ - PrintAndLog("--specialblock no:%02x", blockNo); + PrintAndLog("--specialblock no:%d", blockNo); PrintAndLog("--data: %s", sprint_hex(bldata, 4)); UsbCommand d = {CMD_MIFAREU_WRITEBL, {blockNo}}; memcpy(d.d.asBytes,bldata, 4); @@ -186,7 +186,7 @@ int CmdHF14AMfUWrBl(const char *Cmd) if (!chinese_card){ PrintAndLog("Access Denied"); }else{ - PrintAndLog("--specialblock no:%02x", blockNo); + PrintAndLog("--specialblock no:%d", blockNo); PrintAndLog("--data: %s", sprint_hex(bldata, 4)); UsbCommand d = {CMD_MIFAREU_WRITEBL, {blockNo}}; memcpy(d.d.asBytes,bldata, 4); @@ -204,7 +204,7 @@ int CmdHF14AMfUWrBl(const char *Cmd) if (!chinese_card){ PrintAndLog("Access Denied"); }else{ - PrintAndLog("--specialblock no:%02x", blockNo); + PrintAndLog("--specialblock no:%d", blockNo); PrintAndLog("--data: %s", sprint_hex(bldata, 4)); UsbCommand c = {CMD_MIFAREU_WRITEBL, {blockNo}}; memcpy(c.d.asBytes, bldata, 4); @@ -219,7 +219,7 @@ int CmdHF14AMfUWrBl(const char *Cmd) } break; case 3: - PrintAndLog("--specialblock no:%02x", blockNo); + PrintAndLog("--specialblock no:%d", blockNo); PrintAndLog("--data: %s", sprint_hex(bldata, 4)); UsbCommand d = {CMD_MIFAREU_WRITEBL, {blockNo}}; memcpy(d.d.asBytes,bldata, 4); @@ -233,7 +233,7 @@ int CmdHF14AMfUWrBl(const char *Cmd) } break; default: - PrintAndLog("--block no:%02x", blockNo); + PrintAndLog("--block no:%d", blockNo); PrintAndLog("--data: %s", sprint_hex(bldata, 4)); UsbCommand e = {CMD_MIFAREU_WRITEBL, {blockNo}}; memcpy(e.d.asBytes,bldata, 4); @@ -250,6 +250,7 @@ int CmdHF14AMfUWrBl(const char *Cmd) return 0; } + int CmdHF14AMfRdBl(const char *Cmd) { uint8_t blockNo = 0; @@ -276,7 +277,7 @@ int CmdHF14AMfRdBl(const char *Cmd) PrintAndLog("Key must include 12 HEX symbols"); return 1; } - PrintAndLog("--block no:%02x key type:%02x key:%s ", blockNo, keyType, sprint_hex(key, 6)); + PrintAndLog("--block no:%d, key type:%c, key:%s ", blockNo, keyType?'B':'A', sprint_hex(key, 6)); UsbCommand c = {CMD_MIFARE_READBL, {blockNo, keyType, 0}}; memcpy(c.d.asBytes, key, 6); @@ -284,8 +285,8 @@ int CmdHF14AMfRdBl(const char *Cmd) UsbCommand resp; if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { - uint8_t isOK = resp.arg[0] & 0xff; - uint8_t * data = resp.d.asBytes; + uint8_t isOK = resp.arg[0] & 0xff; + uint8_t *data = resp.d.asBytes; if (isOK) PrintAndLog("isOk:%02x data:%s", isOK, sprint_hex(data, 16)); @@ -300,66 +301,67 @@ int CmdHF14AMfRdBl(const char *Cmd) int CmdHF14AMfURdBl(const char *Cmd) { - uint8_t blockNo = 0; + uint8_t blockNo = 0; - if (strlen(Cmd)<1) { - PrintAndLog("Usage: hf mf urdbl "); - PrintAndLog(" sample: hf mf urdbl 0"); - return 0; - } + if (strlen(Cmd)<1) { + PrintAndLog("Usage: hf mf urdbl "); + PrintAndLog(" sample: hf mf urdbl 0"); + return 0; + } - blockNo = param_get8(Cmd, 0); - PrintAndLog("--block no:%02x", blockNo); + blockNo = param_get8(Cmd, 0); + PrintAndLog("--block no:%d", blockNo); - UsbCommand c = {CMD_MIFAREU_READBL, {blockNo}}; - SendCommand(&c); + UsbCommand c = {CMD_MIFAREU_READBL, {blockNo}}; + SendCommand(&c); - UsbCommand resp; - if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { - uint8_t isOK = resp.arg[0] & 0xff; - uint8_t * data = resp.d.asBytes; + UsbCommand resp; + if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { + uint8_t isOK = resp.arg[0] & 0xff; + uint8_t *data = resp.d.asBytes; - if (isOK) - PrintAndLog("isOk:%02x data:%s", isOK, sprint_hex(data, 4)); - else - PrintAndLog("isOk:%02x", isOK); - } else { - PrintAndLog("Command execute timeout"); - } + if (isOK) + PrintAndLog("isOk:%02x data:%s", isOK, sprint_hex(data, 4)); + else + PrintAndLog("isOk:%02x", isOK); + } else { + PrintAndLog("Command execute timeout"); + } - return 0; + return 0; } + int CmdHF14AMfURdCard(const char *Cmd) { - int i; - uint8_t sectorNo = 0; + int i; + uint8_t sectorNo = 0; uint8_t *lockbytes_t=NULL; uint8_t lockbytes[2]={0,0}; bool bit[16]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; - uint8_t isOK = 0; - uint8_t * data = NULL; + uint8_t isOK = 0; + uint8_t * data = NULL; - if (sectorNo > 15) { - PrintAndLog("Sector number must be less than 16"); - return 1; - } - PrintAndLog("Attempting to Read Ultralight... "); + if (sectorNo > 15) { + PrintAndLog("Sector number must be less than 16"); + return 1; + } + PrintAndLog("Attempting to Read Ultralight... "); UsbCommand c = {CMD_MIFAREU_READCARD, {sectorNo}}; SendCommand(&c); - UsbCommand resp; - if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { - isOK = resp.arg[0] & 0xff; - data = resp.d.asBytes; + UsbCommand resp; + if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { + isOK = resp.arg[0] & 0xff; + data = resp.d.asBytes; - PrintAndLog("isOk:%02x", isOK); - if (isOK) - for (i = 0; i < 16; i++) { - switch(i){ - case 2: + PrintAndLog("isOk:%02x", isOK); + if (isOK) + for (i = 0; i < 16; i++) { + switch(i){ + case 2: //process lock bytes lockbytes_t=data+(i*4); lockbytes[0]=lockbytes_t[2]; @@ -369,68 +371,67 @@ int CmdHF14AMfURdCard(const char *Cmd) } //PrintAndLog("LB %02x %02x", lockbytes[0],lockbytes[1]); //PrintAndLog("LB2b %02x %02x %02x %02x %02x %02x %02x %02x",bit[8],bit[9],bit[10],bit[11],bit[12],bit[13],bit[14],bit[15]); - PrintAndLog("Block %02x:%s ", i,sprint_hex(data + i * 4, 4)); + PrintAndLog("Block %3d:%s ", i,sprint_hex(data + i * 4, 4)); break; - case 3: - PrintAndLog("Block %02x:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[4]); + case 3: + PrintAndLog("Block %3d:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[4]); break; - case 4: - PrintAndLog("Block %02x:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[3]); + case 4: + PrintAndLog("Block %3d:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[3]); break; - case 5: - PrintAndLog("Block %02x:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[2]); + case 5: + PrintAndLog("Block %3d:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[2]); break; - case 6: - PrintAndLog("Block %02x:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[1]); + case 6: + PrintAndLog("Block %3d:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[1]); break; - case 7: - PrintAndLog("Block %02x:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[0]); + case 7: + PrintAndLog("Block %3d:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[0]); break; - case 8: - PrintAndLog("Block %02x:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[15]); + case 8: + PrintAndLog("Block %3d:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[15]); break; - case 9: - PrintAndLog("Block %02x:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[14]); + case 9: + PrintAndLog("Block %3d:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[14]); break; - case 10: - PrintAndLog("Block %02x:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[13]); + case 10: + PrintAndLog("Block %3d:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[13]); break; - case 11: - PrintAndLog("Block %02x:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[12]); + case 11: + PrintAndLog("Block %3d:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[12]); break; - case 12: - PrintAndLog("Block %02x:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[11]); + case 12: + PrintAndLog("Block %3d:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[11]); break; - case 13: - PrintAndLog("Block %02x:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[10]); + case 13: + PrintAndLog("Block %3d:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[10]); break; - case 14: - PrintAndLog("Block %02x:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[9]); + case 14: + PrintAndLog("Block %3d:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[9]); break; - case 15: - PrintAndLog("Block %02x:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[8]); + case 15: + PrintAndLog("Block %3d:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[8]); break; - default: - PrintAndLog("Block %02x:%s ", i,sprint_hex(data + i * 4, 4)); + default: + PrintAndLog("Block %3d:%s ", i,sprint_hex(data + i * 4, 4)); break; } } } else { - PrintAndLog("Command1 execute timeout"); + PrintAndLog("Command execute timeout"); } return 0; } + int CmdHF14AMfRdSc(const char *Cmd) { int i; uint8_t sectorNo = 0; uint8_t keyType = 0; uint8_t key[6] = {0, 0, 0, 0, 0, 0}; - uint8_t isOK = 0; - uint8_t * data = NULL; - + uint8_t *data = NULL; char cmdp = 0x00; if (strlen(Cmd)<3) { @@ -440,12 +441,12 @@ int CmdHF14AMfRdSc(const char *Cmd) } sectorNo = param_get8(Cmd, 0); - if (sectorNo > 63) { - PrintAndLog("Sector number must be less than 64"); + if (sectorNo > 39) { + PrintAndLog("Sector number must be less than 40"); return 1; } cmdp = param_getchar(Cmd, 1); - if (cmdp == 0x00) { + if (cmdp != 'a' && cmdp != 'A' && cmdp != 'b' && cmdp != 'B') { PrintAndLog("Key type must be A or B"); return 1; } @@ -454,11 +455,11 @@ int CmdHF14AMfRdSc(const char *Cmd) PrintAndLog("Key must include 12 HEX symbols"); return 1; } - PrintAndLog("--sector no:%02x key type:%02x key:%s ", sectorNo, keyType, sprint_hex(key, 6)); + PrintAndLog("--sector no:%d key type:%c key:%s ", sectorNo, keyType?'B':'A', sprint_hex(key, 6)); - UsbCommand c = {CMD_MIFARE_READSC, {sectorNo, keyType, 0}}; + UsbCommand c = {CMD_MIFARE_READSC, {sectorNo, keyType, 0}}; memcpy(c.d.asBytes, key, 6); - SendCommand(&c); + SendCommand(&c); PrintAndLog(" "); UsbCommand resp; @@ -467,95 +468,123 @@ int CmdHF14AMfRdSc(const char *Cmd) data = resp.d.asBytes; PrintAndLog("isOk:%02x", isOK); - if (isOK) - for (i = 0; i < 2; i++) { - PrintAndLog("data:%s", sprint_hex(data + i * 16, 16)); + if (isOK) { + for (i = 0; i < (sectorNo<32?3:15); i++) { + PrintAndLog("data : %s", sprint_hex(data + i * 16, 16)); } - } else { - PrintAndLog("Command1 execute timeout"); - } - - // response2 - PrintAndLog(" "); - if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { - isOK = resp.arg[0] & 0xff; - data = resp.d.asBytes; - - if (isOK) - for (i = 0; i < 2; i++) { - PrintAndLog("data:%s", sprint_hex(data + i * 16, 16)); + PrintAndLog("trailer: %s", sprint_hex(data + (sectorNo<32?3:15) * 16, 16)); } } else { - PrintAndLog("Command2 execute timeout"); + PrintAndLog("Command execute timeout"); } - + return 0; } + +uint8_t FirstBlockOfSector(uint8_t sectorNo) +{ + if (sectorNo < 32) { + return sectorNo * 4; + } else { + return 32 * 4 + (sectorNo - 32) * 16; + } +} + + +uint8_t NumBlocksPerSector(uint8_t sectorNo) +{ + if (sectorNo < 32) { + return 4; + } else { + return 16; + } +} + + int CmdHF14AMfDump(const char *Cmd) { - int i, j; + uint8_t sectorNo, blockNo; uint8_t keyA[40][6]; uint8_t keyB[40][6]; uint8_t rights[40][4]; + uint8_t carddata[256][16]; + uint8_t numSectors = 16; FILE *fin; FILE *fout; UsbCommand resp; + + char cmdp = param_getchar(Cmd, 0); + switch (cmdp) { + case '0' : numSectors = 5; break; + case '1' : + case '\0': numSectors = 16; break; + case '2' : numSectors = 32; break; + case '4' : numSectors = 40; break; + default: numSectors = 16; + } + + if (strlen(Cmd) > 1 || cmdp == 'h' || cmdp == 'H') { + PrintAndLog("Usage: hf mf dump [card memory]"); + PrintAndLog(" [card memory]: 0 = 320 bytes (Mifare Mini), 1 = 1K (default), 2 = 2K, 4 = 4K"); + PrintAndLog(""); + PrintAndLog("Samples: hf mf dump"); + PrintAndLog(" hf mf dump 4"); + return 0; + } if ((fin = fopen("dumpkeys.bin","rb")) == NULL) { PrintAndLog("Could not find file dumpkeys.bin"); return 1; } - if ((fout = fopen("dumpdata.bin","wb")) == NULL) { - PrintAndLog("Could not create file name dumpdata.bin"); - return 1; - } - // Read key file - - for (i=0 ; i<16 ; i++) { - if (fread( keyA[i], 1, 6, fin ) == 0) { - PrintAndLog("File reading error."); + + for (sectorNo=0; sectorNo>4) | ((data[8] & 0x1)<<1) | ((data[8] & 0x10)>>2); - rights[i][1] = ((data[7] & 0x20)>>5) | ((data[8] & 0x2)<<0) | ((data[8] & 0x20)>>3); - rights[i][2] = ((data[7] & 0x40)>>6) | ((data[8] & 0x4)>>1) | ((data[8] & 0x40)>>4); - rights[i][3] = ((data[7] & 0x80)>>7) | ((data[8] & 0x8)>>2) | ((data[8] & 0x80)>>5); - } - else{ - PrintAndLog("Could not get access rights for block %d", i); + rights[sectorNo][0] = ((data[7] & 0x10)>>2) | ((data[8] & 0x1)<<1) | ((data[8] & 0x10)>>4); // C1C2C3 for data area 0 + rights[sectorNo][1] = ((data[7] & 0x20)>>3) | ((data[8] & 0x2)<<0) | ((data[8] & 0x20)>>5); // C1C2C3 for data area 1 + rights[sectorNo][2] = ((data[7] & 0x40)>>4) | ((data[8] & 0x4)>>1) | ((data[8] & 0x40)>>6); // C1C2C3 for data area 2 + rights[sectorNo][3] = ((data[7] & 0x80)>>5) | ((data[8] & 0x8)>>2) | ((data[8] & 0x80)>>7); // C1C2C3 for sector trailer + } else { + PrintAndLog("Could not get access rights for sector %2d. Trying with defaults...", sectorNo); + rights[sectorNo][0] = rights[sectorNo][1] = rights[sectorNo][2] = 0x00; + rights[sectorNo][3] = 0x01; } - } - else { - PrintAndLog("Command execute timeout"); + } else { + PrintAndLog("Command execute timeout when trying to read access rights for sector %2d. Trying with defaults...", sectorNo); + rights[sectorNo][0] = rights[sectorNo][1] = rights[sectorNo][2] = 0x00; + rights[sectorNo][3] = 0x01; } } @@ -565,85 +594,116 @@ int CmdHF14AMfDump(const char *Cmd) PrintAndLog("|----- Dumping all blocks to file... -----|"); PrintAndLog("|-----------------------------------------|"); - - for (i=0 ; i<16 ; i++) { - for (j=0 ; j<4 ; j++) { - bool received = false; - - if (j == 3){ - UsbCommand c = {CMD_MIFARE_READBL, {i*4 + j, 0, 0}}; - memcpy(c.d.asBytes, keyA[i], 6); + bool isOK = true; + for (sectorNo = 0; isOK && sectorNo < numSectors; sectorNo++) { + for (blockNo = 0; isOK && blockNo < NumBlocksPerSector(sectorNo); blockNo++) { + bool received = false; + if (blockNo == NumBlocksPerSector(sectorNo) - 1) { // sector trailer. At least the Access Conditions can always be read with key A. + UsbCommand c = {CMD_MIFARE_READBL, {FirstBlockOfSector(sectorNo) + blockNo, 0, 0}}; + memcpy(c.d.asBytes, keyA[sectorNo], 6); SendCommand(&c); - received = WaitForResponseTimeout(CMD_ACK,&resp,1500); - } - else{ - if ((rights[i][j] == 6) | (rights[i][j] == 5)) { - UsbCommand c = {CMD_MIFARE_READBL, {i*4+j, 1, 0}}; - memcpy(c.d.asBytes, keyB[i], 6); + received = WaitForResponseTimeout(CMD_ACK,&resp,1500); + } else { // data block. Check if it can be read with key A or key B + uint8_t data_area = sectorNo<32?blockNo:blockNo/5; + if ((rights[sectorNo][data_area] == 0x03) || (rights[sectorNo][data_area] == 0x05)) { // only key B would work + UsbCommand c = {CMD_MIFARE_READBL, {FirstBlockOfSector(sectorNo) + blockNo, 1, 0}}; + memcpy(c.d.asBytes, keyB[sectorNo], 6); SendCommand(&c); - received = WaitForResponseTimeout(CMD_ACK,&resp,1500); - } - else if (rights[i][j] == 7) { - PrintAndLog("Access rights do not allow reading of sector %d block %d",i,j); - } - else { - UsbCommand c = {CMD_MIFARE_READBL, {i*4+j, 0, 0}}; - memcpy(c.d.asBytes, keyA[i], 6); + received = WaitForResponseTimeout(CMD_ACK,&resp,1500); + } else if (rights[sectorNo][data_area] == 0x07) { // no key would work + isOK = false; + PrintAndLog("Access rights do not allow reading of sector %2d block %3d", sectorNo, blockNo); + } else { // key A would work + UsbCommand c = {CMD_MIFARE_READBL, {FirstBlockOfSector(sectorNo) + blockNo, 0, 0}}; + memcpy(c.d.asBytes, keyA[sectorNo], 6); SendCommand(&c); - received = WaitForResponseTimeout(CMD_ACK,&resp,1500); + received = WaitForResponseTimeout(CMD_ACK,&resp,1500); } } if (received) { - uint8_t isOK = resp.arg[0] & 0xff; + isOK = resp.arg[0] & 0xff; uint8_t *data = resp.d.asBytes; - if (j == 3) { - data[0] = (keyA[i][0]); - data[1] = (keyA[i][1]); - data[2] = (keyA[i][2]); - data[3] = (keyA[i][3]); - data[4] = (keyA[i][4]); - data[5] = (keyA[i][5]); - data[10] = (keyB[i][0]); - data[11] = (keyB[i][1]); - data[12] = (keyB[i][2]); - data[13] = (keyB[i][3]); - data[14] = (keyB[i][4]); - data[15] = (keyB[i][5]); + if (blockNo == NumBlocksPerSector(sectorNo) - 1) { // sector trailer. Fill in the keys. + data[0] = (keyA[sectorNo][0]); + data[1] = (keyA[sectorNo][1]); + data[2] = (keyA[sectorNo][2]); + data[3] = (keyA[sectorNo][3]); + data[4] = (keyA[sectorNo][4]); + data[5] = (keyA[sectorNo][5]); + data[10] = (keyB[sectorNo][0]); + data[11] = (keyB[sectorNo][1]); + data[12] = (keyB[sectorNo][2]); + data[13] = (keyB[sectorNo][3]); + data[14] = (keyB[sectorNo][4]); + data[15] = (keyB[sectorNo][5]); } if (isOK) { - fwrite ( data, 1, 16, fout ); - PrintAndLog("Dumped card data into 'dumpdata.bin'"); - - } - else { - PrintAndLog("Could not get access rights for block %d", i); + memcpy(carddata[FirstBlockOfSector(sectorNo) + blockNo], data, 16); + PrintAndLog("Successfully read block %2d of sector %2d.", blockNo, sectorNo); + } else { + PrintAndLog("Could not read block %2d of sector %2d", blockNo, sectorNo); + break; } } else { - PrintAndLog("Command execute timeout"); + isOK = false; + PrintAndLog("Command execute timeout when trying to read block %2d of sector %2d.", blockNo, sectorNo); + break; } } + } - + + if (isOK) { + if ((fout = fopen("dumpdata.bin","wb")) == NULL) { + PrintAndLog("Could not create file name dumpdata.bin"); + return 1; + } + uint16_t numblocks = FirstBlockOfSector(numSectors - 1) + NumBlocksPerSector(numSectors - 1); + fwrite(carddata, 1, 16*numblocks, fout); + fclose(fout); + PrintAndLog("Dumped %d blocks (%d bytes) to file dumpdata.bin", numblocks, 16*numblocks); + } + fclose(fin); - fclose(fout); - return 0; + return 0; } + int CmdHF14AMfRestore(const char *Cmd) { - int i,j; + uint8_t sectorNo,blockNo; uint8_t keyType = 0; uint8_t key[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; uint8_t bldata[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; - uint8_t keyA[16][6]; - uint8_t keyB[16][6]; + uint8_t keyA[40][6]; + uint8_t keyB[40][6]; + uint8_t numSectors; FILE *fdump; FILE *fkeys; - + + char cmdp = param_getchar(Cmd, 0); + switch (cmdp) { + case '0' : numSectors = 5; break; + case '1' : + case '\0': numSectors = 16; break; + case '2' : numSectors = 32; break; + case '4' : numSectors = 40; break; + default: numSectors = 16; + } + + if (strlen(Cmd) > 1 || cmdp == 'h' || cmdp == 'H') { + PrintAndLog("Usage: hf mf restore [card memory]"); + PrintAndLog(" [card memory]: 0 = 320 bytes (Mifare Mini), 1 = 1K (default), 2 = 2K, 4 = 4K"); + PrintAndLog(""); + PrintAndLog("Samples: hf mf restore"); + PrintAndLog(" hf mf restore 4"); + return 0; + } + if ((fdump = fopen("dumpdata.bin","rb")) == NULL) { PrintAndLog("Could not find file dumpdata.bin"); return 1; @@ -653,63 +713,54 @@ int CmdHF14AMfRestore(const char *Cmd) return 1; } - for (i=0 ; i<16 ; i++) { - if (fread(keyA[i], 1, 6, fkeys) == 0) { - PrintAndLog("File reading error."); + for (sectorNo = 0; sectorNo < numSectors; sectorNo++) { + if (fread(keyA[sectorNo], 1, 6, fkeys) == 0) { + PrintAndLog("File reading error (dumpkeys.bin)."); return 2; - } + } } - for (i=0 ; i<16 ; i++) { - if (fread(keyB[i], 1, 6, fkeys) == 0) { - PrintAndLog("File reading error."); + + for (sectorNo = 0; sectorNo < numSectors; sectorNo++) { + if (fread(keyB[sectorNo], 1, 6, fkeys) == 0) { + PrintAndLog("File reading error (dumpkeys.bin)."); return 2; - } + } } - + PrintAndLog("Restoring dumpdata.bin to card"); - for (i=0 ; i<16 ; i++) { - for( j=0 ; j<4 ; j++) { - UsbCommand c = {CMD_MIFARE_WRITEBL, {i*4 + j, keyType, 0}}; + for (sectorNo = 0; sectorNo < numSectors; sectorNo++) { + for(blockNo = 0; blockNo < NumBlocksPerSector(sectorNo); blockNo++) { + UsbCommand c = {CMD_MIFARE_WRITEBL, {FirstBlockOfSector(sectorNo) + blockNo, keyType, 0}}; memcpy(c.d.asBytes, key, 6); if (fread(bldata, 1, 16, fdump) == 0) { - PrintAndLog("File reading error."); - return 2; - } + PrintAndLog("File reading error (dumpdata.bin)."); + return 2; + } - if (j == 3) { - bldata[0] = (keyA[i][0]); - bldata[1] = (keyA[i][1]); - bldata[2] = (keyA[i][2]); - bldata[3] = (keyA[i][3]); - bldata[4] = (keyA[i][4]); - bldata[5] = (keyA[i][5]); - bldata[10] = (keyB[i][0]); - bldata[11] = (keyB[i][1]); - bldata[12] = (keyB[i][2]); - bldata[13] = (keyB[i][3]); - bldata[14] = (keyB[i][4]); - bldata[15] = (keyB[i][5]); + if (blockNo == NumBlocksPerSector(sectorNo) - 1) { // sector trailer + bldata[0] = (keyA[sectorNo][0]); + bldata[1] = (keyA[sectorNo][1]); + bldata[2] = (keyA[sectorNo][2]); + bldata[3] = (keyA[sectorNo][3]); + bldata[4] = (keyA[sectorNo][4]); + bldata[5] = (keyA[sectorNo][5]); + bldata[10] = (keyB[sectorNo][0]); + bldata[11] = (keyB[sectorNo][1]); + bldata[12] = (keyB[sectorNo][2]); + bldata[13] = (keyB[sectorNo][3]); + bldata[14] = (keyB[sectorNo][4]); + bldata[15] = (keyB[sectorNo][5]); } - PrintAndLog("Writing to block %2d: %s", i*4+j, sprint_hex(bldata, 16)); - - /* - PrintAndLog("Writing to block %2d: %s Confirm? [Y,N]", i*4+j, sprint_hex(bldata, 16)); - - scanf("%c",&ch); - if ((ch != 'y') && (ch != 'Y')){ - PrintAndLog("Aborting !"); - return 1; - } - */ + PrintAndLog("Writing to block %3d: %s", FirstBlockOfSector(sectorNo) + blockNo, sprint_hex(bldata, 16)); memcpy(c.d.asBytes + 10, bldata, 16); SendCommand(&c); UsbCommand resp; - if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { + if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { uint8_t isOK = resp.arg[0] & 0xff; PrintAndLog("isOk:%02x", isOK); } else { @@ -723,22 +774,22 @@ int CmdHF14AMfRestore(const char *Cmd) return 0; } + int CmdHF14AMfNested(const char *Cmd) { int i, j, res, iterations; - sector * e_sector = NULL; + sector *e_sector = NULL; uint8_t blockNo = 0; uint8_t keyType = 0; uint8_t trgBlockNo = 0; uint8_t trgKeyType = 0; - uint8_t blDiff = 0; - int SectorsCnt = 0; + uint8_t SectorsCnt = 0; uint8_t key[6] = {0, 0, 0, 0, 0, 0}; uint8_t keyBlock[6*6]; uint64_t key64 = 0; - int transferToEml = 0; + bool transferToEml = false; - int createDumpFile = 0; + bool createDumpFile = false; FILE *fkeys; uint8_t standart[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; uint8_t tempkey[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; @@ -755,16 +806,16 @@ int CmdHF14AMfNested(const char *Cmd) PrintAndLog("d - write keys to binary file"); PrintAndLog(" "); PrintAndLog(" sample1: hf mf nested 1 0 A FFFFFFFFFFFF "); - PrintAndLog(" sample1: hf mf nested 1 0 A FFFFFFFFFFFF t "); - PrintAndLog(" sample1: hf mf nested 1 0 A FFFFFFFFFFFF d "); - PrintAndLog(" sample2: hf mf nested o 0 A FFFFFFFFFFFF 4 A"); + PrintAndLog(" sample2: hf mf nested 1 0 A FFFFFFFFFFFF t "); + PrintAndLog(" sample3: hf mf nested 1 0 A FFFFFFFFFFFF d "); + PrintAndLog(" sample4: hf mf nested o 0 A FFFFFFFFFFFF 4 A"); return 0; } cmdp = param_getchar(Cmd, 0); blockNo = param_get8(Cmd, 1); ctmp = param_getchar(Cmd, 2); - if (ctmp == 0x00) { + if (ctmp != 'a' && ctmp != 'A' && ctmp != 'b' && ctmp != 'B') { PrintAndLog("Key type must be A or B"); return 1; } @@ -778,7 +829,7 @@ int CmdHF14AMfNested(const char *Cmd) cmdp = 'o'; trgBlockNo = param_get8(Cmd, 4); ctmp = param_getchar(Cmd, 5); - if (ctmp == 0x00) { + if (ctmp != 'a' && ctmp != 'A' && ctmp != 'b' && ctmp != 'B') { PrintAndLog("Target key type must be A or B"); return 1; } @@ -788,24 +839,21 @@ int CmdHF14AMfNested(const char *Cmd) case '0': SectorsCnt = 05; break; case '1': SectorsCnt = 16; break; case '2': SectorsCnt = 32; break; - case '4': SectorsCnt = 64; break; + case '4': SectorsCnt = 40; break; default: SectorsCnt = 16; } } ctmp = param_getchar(Cmd, 4); - if (ctmp == 't' || ctmp == 'T') transferToEml = 1; - else if (ctmp == 'd' || ctmp == 'D') createDumpFile = 1; + if (ctmp == 't' || ctmp == 'T') transferToEml = true; + else if (ctmp == 'd' || ctmp == 'D') createDumpFile = true; ctmp = param_getchar(Cmd, 6); transferToEml |= (ctmp == 't' || ctmp == 'T'); transferToEml |= (ctmp == 'd' || ctmp == 'D'); - PrintAndLog("--block no:%02x key type:%02x key:%s etrans:%d", blockNo, keyType, sprint_hex(key, 6), transferToEml); - if (cmdp == 'o') - PrintAndLog("--target block no:%02x target key type:%02x ", trgBlockNo, trgKeyType); - if (cmdp == 'o') { + PrintAndLog("--target block no:%3d, target key type:%c ", trgBlockNo, trgKeyType?'B':'A'); if (mfnested(blockNo, keyType, key, trgBlockNo, trgKeyType, keyBlock, true)) { PrintAndLog("Nested error."); return 2; @@ -816,13 +864,19 @@ int CmdHF14AMfNested(const char *Cmd) // transfer key to the emulator if (transferToEml) { - mfEmlGetMem(keyBlock, (trgBlockNo / 4) * 4 + 3, 1); + uint8_t sectortrailer; + if (trgBlockNo < 32*4) { // 4 block sector + sectortrailer = (trgBlockNo & 0x03) + 3; + } else { // 16 block sector + sectortrailer = (trgBlockNo & 0x0f) + 15; + } + mfEmlGetMem(keyBlock, sectortrailer, 1); if (!trgKeyType) num_to_bytes(key64, 6, keyBlock); else num_to_bytes(key64, 6, &keyBlock[10]); - mfEmlSetMem(keyBlock, (trgBlockNo / 4) * 4 + 3, 1); + mfEmlSetMem(keyBlock, sectortrailer, 1); } } else { PrintAndLog("No valid key found"); @@ -832,12 +886,10 @@ int CmdHF14AMfNested(const char *Cmd) clock_t time1; time1 = clock(); - blDiff = blockNo % 4; - PrintAndLog("Block shift=%d", blDiff); e_sector = calloc(SectorsCnt, sizeof(sector)); if (e_sector == NULL) return 1; - //test current key 4 sectors + //test current key and additional standard keys first memcpy(keyBlock, key, 6); num_to_bytes(0xffffffffffff, 6, (uint8_t*)(keyBlock + 1 * 6)); num_to_bytes(0x000000000000, 6, (uint8_t*)(keyBlock + 2 * 6)); @@ -850,7 +902,7 @@ int CmdHF14AMfNested(const char *Cmd) for (j = 0; j < 2; j++) { if (e_sector[i].foundKey[j]) continue; - res = mfCheckKeys(i * 4 + blDiff, j, 6, keyBlock, &key64); + res = mfCheckKeys(FirstBlockOfSector(i), j, 6, keyBlock, &key64); if (!res) { e_sector[i].Key[j] = key64; @@ -865,11 +917,11 @@ int CmdHF14AMfNested(const char *Cmd) PrintAndLog("nested..."); bool calibrate = true; for (i = 0; i < NESTED_SECTOR_RETRY; i++) { - for (trgBlockNo = blDiff; trgBlockNo < SectorsCnt * 4; trgBlockNo = trgBlockNo + 4) { + for (uint8_t sectorNo = 0; sectorNo < SectorsCnt; sectorNo++) { for (trgKeyType = 0; trgKeyType < 2; trgKeyType++) { - if (e_sector[trgBlockNo / 4].foundKey[trgKeyType]) continue; + if (e_sector[sectorNo].foundKey[trgKeyType]) continue; PrintAndLog("-----------------------------------------------"); - if(mfnested(blockNo, keyType, key, trgBlockNo, trgKeyType, keyBlock, calibrate)) { + if(mfnested(blockNo, keyType, key, FirstBlockOfSector(sectorNo), trgKeyType, keyBlock, calibrate)) { PrintAndLog("Nested error.\n"); return 2; } @@ -882,8 +934,8 @@ int CmdHF14AMfNested(const char *Cmd) key64 = bytes_to_num(keyBlock, 6); if (key64) { PrintAndLog("Found valid key:%012"llx, key64); - e_sector[trgBlockNo / 4].foundKey[trgKeyType] = 1; - e_sector[trgBlockNo / 4].Key[trgKeyType] = key64; + e_sector[sectorNo].foundKey[trgKeyType] = 1; + e_sector[sectorNo].Key[trgKeyType] = key64; } } } @@ -905,12 +957,12 @@ int CmdHF14AMfNested(const char *Cmd) // transfer them to the emulator if (transferToEml) { for (i = 0; i < SectorsCnt; i++) { - mfEmlGetMem(keyBlock, i * 4 + 3, 1); + mfEmlGetMem(keyBlock, FirstBlockOfSector(i) + NumBlocksPerSector(i) - 1, 1); if (e_sector[i].foundKey[0]) num_to_bytes(e_sector[i].Key[0], 6, keyBlock); if (e_sector[i].foundKey[1]) num_to_bytes(e_sector[i].Key[1], 6, &keyBlock[10]); - mfEmlSetMem(keyBlock, i * 4 + 3, 1); + mfEmlSetMem(keyBlock, FirstBlockOfSector(i) + NumBlocksPerSector(i) - 1, 1); } } @@ -921,8 +973,8 @@ int CmdHF14AMfNested(const char *Cmd) free(e_sector); return 1; } - PrintAndLog("Printing keys to bynary file dumpkeys.bin..."); - for(i=0; i<16; i++) { + PrintAndLog("Printing keys to binary file dumpkeys.bin..."); + for(i=0; i/<*card memory> [t] [] []"); + PrintAndLog("Usage: hf mf chk |<*card memory> [t] [] []"); PrintAndLog(" * - all sectors"); PrintAndLog("card memory - 0 - MINI(320 bytes), 1 - 1K, 2 - 2K, 4 - 4K, - 1K"); -// PrintAndLog("d - write keys to binary file\n"); - + PrintAndLog("d - write keys to binary file\n"); PrintAndLog(" sample: hf mf chk 0 A 1234567890ab keys.dic"); PrintAndLog(" hf mf chk *1 ? t"); return 0; @@ -1061,7 +1101,7 @@ int CmdHF14AMfChk(const char *Cmd) } keyBlock = p; } - PrintAndLog("chk key[%d] %02x%02x%02x%02x%02x%02x", keycnt, + PrintAndLog("chk key[%2d] %02x%02x%02x%02x%02x%02x", keycnt, (keyBlock + 6*keycnt)[0],(keyBlock + 6*keycnt)[1], (keyBlock + 6*keycnt)[2], (keyBlock + 6*keycnt)[3], (keyBlock + 6*keycnt)[4], (keyBlock + 6*keycnt)[5], 6); keycnt++; @@ -1100,7 +1140,7 @@ int CmdHF14AMfChk(const char *Cmd) } memset(keyBlock + 6 * keycnt, 0, 6); num_to_bytes(strtoll(buf, NULL, 16), 6, keyBlock + 6*keycnt); - PrintAndLog("chk custom key[%d] %012"llx, keycnt, bytes_to_num(keyBlock + 6*keycnt, 6)); + PrintAndLog("chk custom key[%2d] %012"llx, keycnt, bytes_to_num(keyBlock + 6*keycnt, 6)); keycnt++; memset(buf, 0, sizeof(buf)); } @@ -1114,31 +1154,39 @@ int CmdHF14AMfChk(const char *Cmd) } if (keycnt == 0) { - PrintAndLog("No key specified,try default keys"); + PrintAndLog("No key specified, trying default keys"); for (;keycnt < defaultKeysSize; keycnt++) - PrintAndLog("chk default key[%d] %02x%02x%02x%02x%02x%02x", keycnt, - (keyBlock + 6*keycnt)[0],(keyBlock + 6*keycnt)[1], (keyBlock + 6*keycnt)[2], - (keyBlock + 6*keycnt)[3], (keyBlock + 6*keycnt)[4], (keyBlock + 6*keycnt)[5], 6); + PrintAndLog("chk default key[%2d] %02x%02x%02x%02x%02x%02x", keycnt, + (keyBlock + 6*keycnt)[0],(keyBlock + 6*keycnt)[1], (keyBlock + 6*keycnt)[2], + (keyBlock + 6*keycnt)[3], (keyBlock + 6*keycnt)[4], (keyBlock + 6*keycnt)[5], 6); } - for ( int t = !keyType ; t < 2 ; keyType==2?(t++):(t=2) ) { + // initialize storage for found keys + bool validKey[2][40]; + uint8_t foundKey[2][40][6]; + for (uint16_t t = 0; t < 2; t++) { + for (uint16_t sectorNo = 0; sectorNo < SectorsCnt; sectorNo++) { + validKey[t][sectorNo] = false; + for (uint16_t i = 0; i < 6; i++) { + foundKey[t][sectorNo][i] = 0xff; + } + } + } + + for ( int t = !keyType; t < 2; keyType==2?(t++):(t=2) ) { int b=blockNo; - for (int i=0; iUSB_CMD_DATA_SIZE/6?USB_CMD_DATA_SIZE/6:keycnt; for (uint32_t c = 0; c < keycnt; c+=max_keys) { uint32_t size = keycnt-c>max_keys?max_keys:keycnt-c; res = mfCheckKeys(b, t, size, &keyBlock[6*c], &key64); - if (res !=1) { + if (res != 1) { if (!res) { PrintAndLog("Found valid key:[%012"llx"]",key64); - if (transferToEml) { - uint8_t block[16]; - mfEmlGetMem(block, get_trailer_block(b), 1); - num_to_bytes(key64, 6, block + t*10); - mfEmlSetMem(block, get_trailer_block(b), 1); - } - } + num_to_bytes(key64, 6, foundKey[t][i]); + validKey[t][i] = true; + } } else { PrintAndLog("Command execute timeout"); } @@ -1146,42 +1194,43 @@ int CmdHF14AMfChk(const char *Cmd) b<127?(b+=4):(b+=16); } } - - free(keyBlock); -/* - // Create dump file + if (transferToEml) { + uint8_t block[16]; + for (uint16_t sectorNo = 0; sectorNo < SectorsCnt; sectorNo++) { + if (validKey[0][sectorNo] || validKey[1][sectorNo]) { + mfEmlGetMem(block, FirstBlockOfSector(sectorNo) + NumBlocksPerSector(sectorNo) - 1, 1); + for (uint16_t t = 0; t < 2; t++) { + if (validKey[t][sectorNo]) { + memcpy(block + t*10, foundKey[t][sectorNo], 6); + } + } + mfEmlSetMem(block, FirstBlockOfSector(sectorNo) + NumBlocksPerSector(sectorNo) - 1, 1); + } + } + PrintAndLog("Found keys have been transferred to the emulator memory"); + } + if (createDumpFile) { - if ((fkeys = fopen("dumpkeys.bin","wb")) == NULL) { + FILE *fkeys = fopen("dumpkeys.bin","wb"); + if (fkeys == NULL) { PrintAndLog("Could not create file dumpkeys.bin"); - free(e_sector); + free(keyBlock); return 1; } - PrintAndLog("Printing keys to bynary file dumpkeys.bin..."); - for(i=0; i<16; i++) { - if (e_sector[i].foundKey[0]){ - num_to_bytes(e_sector[i].Key[0], 6, tempkey); - fwrite ( tempkey, 1, 6, fkeys ); - } - else{ - fwrite ( &standart, 1, 6, fkeys ); - } - } - for(i=0; i<16; i++) { - if (e_sector[i].foundKey[1]){ - num_to_bytes(e_sector[i].Key[1], 6, tempkey); - fwrite ( tempkey, 1, 6, fkeys ); - } - else{ - fwrite ( &standart, 1, 6, fkeys ); - } + for (uint16_t t = 0; t < 2; t++) { + fwrite(foundKey[t], 1, 6*SectorsCnt, fkeys); } fclose(fkeys); + PrintAndLog("Found keys have been dumped to file dumpkeys.bin. 0xffffffffffff has been inserted for unknown keys."); } -*/ - return 0; + + free(keyBlock); + + return 0; } + int CmdHF14AMf1kSim(const char *Cmd) { uint8_t uid[7] = {0, 0, 0, 0, 0, 0, 0}; @@ -1194,21 +1243,19 @@ int CmdHF14AMf1kSim(const char *Cmd) PrintAndLog(" n (Optional) Automatically exit simulation after blocks have been read by reader. 0 = infinite"); PrintAndLog(" i (Optional) Interactive, means that console will not be returned until simulation finishes or is aborted"); PrintAndLog(" x (Optional) Crack, performs the 'reader attack', nr/ar attack against a legitimate reader, fishes out the key(s)"); - PrintAndLog(" sample: hf mf sim 0a0a0a0a "); + PrintAndLog(" sample: hf mf sim u 0a0a0a0a "); return 0; } uint8_t pnr = 0; if (param_getchar(Cmd, pnr) == 'u') { if(param_gethex(Cmd, pnr+1, uid, 8) == 0) { - flags |=FLAG_4B_UID_IN_DATA; // UID from packet - }else if(param_gethex(Cmd,pnr+1,uid,14) == 0) - { + flags |= FLAG_4B_UID_IN_DATA; // UID from packet + } else if(param_gethex(Cmd,pnr+1,uid,14) == 0) { flags |= FLAG_7B_UID_IN_DATA;// UID from packet - }else - { - PrintAndLog("UID, if specified, must include 8 or 14 HEX symbols"); - return 1; + } else { + PrintAndLog("UID, if specified, must include 8 or 14 HEX symbols"); + return 1; } pnr +=2; } @@ -1232,36 +1279,39 @@ int CmdHF14AMf1kSim(const char *Cmd) , exitAfterNReads, flags,flags); - UsbCommand c = {CMD_SIMULATE_MIFARE_CARD, {flags, exitAfterNReads,0}}; - memcpy(c.d.asBytes, uid, sizeof(uid)); - SendCommand(&c); + UsbCommand c = {CMD_SIMULATE_MIFARE_CARD, {flags, exitAfterNReads,0}}; + memcpy(c.d.asBytes, uid, sizeof(uid)); + SendCommand(&c); - if(flags & FLAG_INTERACTIVE) - { - UsbCommand resp; - PrintAndLog("Press pm3-button to abort simulation"); - while(! WaitForResponseTimeout(CMD_ACK,&resp,1500)) { - //We're waiting only 1.5 s at a time, otherwise we get the - // annoying message about "Waiting for a response... " - } - } - - return 0; + if(flags & FLAG_INTERACTIVE) + { + UsbCommand resp; + PrintAndLog("Press pm3-button to abort simulation"); + while(! WaitForResponseTimeout(CMD_ACK,&resp,1500)) { + //We're waiting only 1.5 s at a time, otherwise we get the + // annoying message about "Waiting for a response... " + } + } + + return 0; } + int CmdHF14AMfDbg(const char *Cmd) { int dbgMode = param_get32ex(Cmd, 0, 0, 10); if (dbgMode > 4) { - PrintAndLog("Max debud mode parameter is 4 \n"); + PrintAndLog("Max debug mode parameter is 4 \n"); } if (strlen(Cmd) < 1 || !param_getchar(Cmd, 0) || dbgMode > 4) { PrintAndLog("Usage: hf mf dbg "); PrintAndLog(" 0 - no debug messages"); PrintAndLog(" 1 - error messages"); - PrintAndLog(" 2 - all messages"); - PrintAndLog(" 4 - extended debug mode"); + PrintAndLog(" 2 - plus information messages"); + PrintAndLog(" 3 - plus debug messages"); + PrintAndLog(" 4 - print even debug messages in timing critical functions"); + PrintAndLog(" Note: this option therefore may cause malfunction itself"); return 0; } @@ -1271,11 +1321,11 @@ int CmdHF14AMfDbg(const char *Cmd) return 0; } + int CmdHF14AMfEGet(const char *Cmd) { uint8_t blockNo = 0; - uint8_t data[3 * 16]; - int i; + uint8_t data[16]; if (strlen(Cmd) < 1 || param_getchar(Cmd, 0) == 'h') { PrintAndLog("Usage: hf mf eget "); @@ -1286,10 +1336,8 @@ int CmdHF14AMfEGet(const char *Cmd) blockNo = param_get8(Cmd, 0); PrintAndLog(" "); - if (!mfEmlGetMem(data, blockNo, 3)) { - for (i = 0; i < 3; i++) { - PrintAndLog("data[%d]:%s", blockNo + i, sprint_hex(data + i * 16, 16)); - } + if (!mfEmlGetMem(data, blockNo, 1)) { + PrintAndLog("data[%3d]:%s", blockNo, sprint_hex(data, 16)); } else { PrintAndLog("Command execute timeout"); } @@ -1297,6 +1345,7 @@ int CmdHF14AMfEGet(const char *Cmd) return 0; } + int CmdHF14AMfEClear(const char *Cmd) { if (param_getchar(Cmd, 0) == 'h') { @@ -1310,6 +1359,7 @@ int CmdHF14AMfEClear(const char *Cmd) return 0; } + int CmdHF14AMfESet(const char *Cmd) { uint8_t memBlock[16]; @@ -1331,17 +1381,18 @@ int CmdHF14AMfESet(const char *Cmd) } // 1 - blocks count - UsbCommand c = {CMD_MIFARE_EML_MEMSET, {blockNo, 1, 0}}; + UsbCommand c = {CMD_MIFARE_EML_MEMSET, {blockNo, 1, 0}}; memcpy(c.d.asBytes, memBlock, 16); - SendCommand(&c); - return 0; + SendCommand(&c); + return 0; } + int CmdHF14AMfELoad(const char *Cmd) { FILE * f; char filename[20]; - char * fnameptr = filename; + char *fnameptr = filename; char buf[64]; uint8_t buf8[64]; int i, len, blockNum; @@ -1375,42 +1426,41 @@ int CmdHF14AMfELoad(const char *Cmd) while(!feof(f)){ memset(buf, 0, sizeof(buf)); if (fgets(buf, sizeof(buf), f) == NULL) { - if(blockNum == 16 * 4) - { + if((blockNum == 16*4) || (blockNum == 32*4 + 8*16)) { // supports both old (1K) and new (4K) .eml files) break; } PrintAndLog("File reading error."); return 2; - } - + } if (strlen(buf) < 32){ if(strlen(buf) && feof(f)) break; PrintAndLog("File content error. Block data must include 32 HEX symbols"); return 2; } - for (i = 0; i < 32; i += 2) - sscanf(&buf[i], "%02x", (unsigned int *)&buf8[i / 2]); + for (i = 0; i < 32; i += 2) { + sscanf(&buf[i], "%02x", (unsigned int *)&buf8[i / 2]); // PrintAndLog("data[%02d]:%s", blockNum, sprint_hex(buf8, 16)); - + } if (mfEmlSetMem(buf8, blockNum, 1)) { - PrintAndLog("Cant set emul block: %d", blockNum); + PrintAndLog("Cant set emul block: %3d", blockNum); return 3; } blockNum++; - if (blockNum >= 32 * 4 + 8 * 16) break; + if (blockNum >= 32*4 + 8*16) break; } fclose(f); - if (blockNum != 16 * 4 && blockNum != 32 * 4 + 8 * 16){ - PrintAndLog("File content error. There must be 64 blocks"); + if ((blockNum != 16*4) && (blockNum != 32*4 + 8*16)) { + PrintAndLog("File content error. There must be 64 or 256 blocks."); return 4; } PrintAndLog("Loaded %d blocks from file: %s", blockNum, filename); - return 0; + return 0; } + int CmdHF14AMfESave(const char *Cmd) { FILE * f; @@ -1452,7 +1502,7 @@ int CmdHF14AMfESave(const char *Cmd) f = fopen(filename, "w+"); // put hex - for (i = 0; i < 32 * 4 + 8 * 16; i++) { + for (i = 0; i < 32*4 + 8*16; i++) { if (mfEmlGetMem(buf, i, 1)) { PrintAndLog("Cant get block: %d", i); break; @@ -1468,33 +1518,50 @@ int CmdHF14AMfESave(const char *Cmd) return 0; } + int CmdHF14AMfECFill(const char *Cmd) { uint8_t keyType = 0; - + uint8_t numSectors = 16; + if (strlen(Cmd) < 1 || param_getchar(Cmd, 0) == 'h') { - PrintAndLog("Usage: hf mf efill "); - PrintAndLog("sample: hf mf efill A"); - PrintAndLog("Card data blocks transfers to card emulator memory."); - PrintAndLog("Keys must be laid in the simulator memory. \n"); + PrintAndLog("Usage: hf mf ecfill [card memory]"); + PrintAndLog(" [card memory]: 0 = 320 bytes (Mifare Mini), 1 = 1K (default), 2 = 2K, 4 = 4K"); + PrintAndLog(""); + PrintAndLog("samples: hf mf ecfill A"); + PrintAndLog(" hf mf ecfill A 4"); + PrintAndLog("Read card and transfer its data to emulator memory."); + PrintAndLog("Keys must be laid in the emulator memory. \n"); return 0; } char ctmp = param_getchar(Cmd, 0); - if (ctmp == 0x00) { + if (ctmp != 'a' && ctmp != 'A' && ctmp != 'b' && ctmp != 'B') { PrintAndLog("Key type must be A or B"); return 1; } if (ctmp != 'A' && ctmp != 'a') keyType = 1; - UsbCommand c = {CMD_MIFARE_EML_CARDLOAD, {0, keyType, 0}}; - SendCommand(&c); - return 0; + ctmp = param_getchar(Cmd, 1); + switch (ctmp) { + case '0' : numSectors = 5; break; + case '1' : + case '\0': numSectors = 16; break; + case '2' : numSectors = 32; break; + case '4' : numSectors = 40; break; + default: numSectors = 16; + } + + printf("--params: numSectors: %d, keyType:%d", numSectors, keyType); + UsbCommand c = {CMD_MIFARE_EML_CARDLOAD, {numSectors, keyType, 0}}; + SendCommand(&c); + return 0; } + int CmdHF14AMfEKeyPrn(const char *Cmd) { - int i,b=-1; + int i; uint8_t data[16]; uint64_t keyA, keyB; @@ -1502,9 +1569,8 @@ int CmdHF14AMfEKeyPrn(const char *Cmd) PrintAndLog("|sec|key A |key B |"); PrintAndLog("|---|----------------|----------------|"); for (i = 0; i < 40; i++) { - b<127?(b+=4):(b+=16); - if (mfEmlGetMem(data, b, 1)) { - PrintAndLog("error get block %d", b); + if (mfEmlGetMem(data, FirstBlockOfSector(i) + NumBlocksPerSector(i) - 1, 1)) { + PrintAndLog("error get block %d", FirstBlockOfSector(i) + NumBlocksPerSector(i) - 1); break; } keyA = bytes_to_num(data, 6); @@ -1516,6 +1582,7 @@ int CmdHF14AMfEKeyPrn(const char *Cmd) return 0; } + int CmdHF14AMfCSetUID(const char *Cmd) { uint8_t wipeCard = 0; @@ -1551,6 +1618,7 @@ int CmdHF14AMfCSetUID(const char *Cmd) return 0; } + int CmdHF14AMfCSetBlk(const char *Cmd) { uint8_t uid[8]; @@ -1574,7 +1642,7 @@ int CmdHF14AMfCSetBlk(const char *Cmd) return 1; } - PrintAndLog("--block number:%02x data:%s", blockNo, sprint_hex(memBlock, 16)); + PrintAndLog("--block number:%2d data:%s", blockNo, sprint_hex(memBlock, 16)); res = mfCSetBlock(blockNo, memBlock, uid, 0, CSETBLOCK_SINGLE_OPER); if (res) { @@ -1586,6 +1654,7 @@ int CmdHF14AMfCSetBlk(const char *Cmd) return 0; } + int CmdHF14AMfCLoad(const char *Cmd) { FILE * f; @@ -1649,9 +1718,9 @@ int CmdHF14AMfCLoad(const char *Cmd) while(!feof(f)){ memset(buf, 0, sizeof(buf)); if (fgets(buf, sizeof(buf), f) == NULL) { - PrintAndLog("File reading error."); - return 2; - } + PrintAndLog("File reading error."); + return 2; + } if (strlen(buf) < 32){ if(strlen(buf) && feof(f)) @@ -1666,7 +1735,7 @@ int CmdHF14AMfCLoad(const char *Cmd) if (blockNum == 16 * 4 - 1) flags = CSETBLOCK_HALT + CSETBLOCK_RESET_FIELD; if (mfCSetBlock(blockNum, buf8, NULL, 0, flags)) { - PrintAndLog("Cant set magic card block: %d", blockNum); + PrintAndLog("Can't set magic card block: %d", blockNum); return 3; } blockNum++; @@ -1675,7 +1744,7 @@ int CmdHF14AMfCLoad(const char *Cmd) } fclose(f); - if (blockNum != 16 * 4 && blockNum != 32 * 4 + 8 * 16){ + if (blockNum != 16 * 4){ PrintAndLog("File content error. There must be 64 blocks"); return 4; } @@ -1684,6 +1753,7 @@ int CmdHF14AMfCLoad(const char *Cmd) } } + int CmdHF14AMfCGetBlk(const char *Cmd) { uint8_t memBlock[16]; uint8_t blockNo = 0; @@ -1699,7 +1769,7 @@ int CmdHF14AMfCGetBlk(const char *Cmd) { blockNo = param_get8(Cmd, 0); - PrintAndLog("--block number:%02x ", blockNo); + PrintAndLog("--block number:%2d ", blockNo); res = mfCGetBlock(blockNo, memBlock, CSETBLOCK_SINGLE_OPER); if (res) { @@ -1711,6 +1781,7 @@ int CmdHF14AMfCGetBlk(const char *Cmd) { return 0; } + int CmdHF14AMfCGetSc(const char *Cmd) { uint8_t memBlock[16]; uint8_t sectorNo = 0; @@ -1730,7 +1801,7 @@ int CmdHF14AMfCGetSc(const char *Cmd) { return 1; } - PrintAndLog("--sector number:%02x ", sectorNo); + PrintAndLog("--sector number:%d ", sectorNo); flags = CSETBLOCK_INIT_FIELD + CSETBLOCK_WUPC; for (i = 0; i < 4; i++) { @@ -1739,15 +1810,16 @@ int CmdHF14AMfCGetSc(const char *Cmd) { res = mfCGetBlock(sectorNo * 4 + i, memBlock, flags); if (res) { - PrintAndLog("Can't read block. %02x error=%d", sectorNo * 4 + i, res); + PrintAndLog("Can't read block. %d error=%d", sectorNo * 4 + i, res); return 1; } - PrintAndLog("block %02x data:%s", sectorNo * 4 + i, sprint_hex(memBlock, 16)); + PrintAndLog("block %3d data:%s", sectorNo * 4 + i, sprint_hex(memBlock, 16)); } return 0; } + int CmdHF14AMfCSave(const char *Cmd) { FILE * f; @@ -1835,6 +1907,7 @@ int CmdHF14AMfCSave(const char *Cmd) { } } + int CmdHF14AMfSniff(const char *Cmd){ // params bool wantLogToFile = 0; @@ -1848,7 +1921,8 @@ int CmdHF14AMfSniff(const char *Cmd){ int blockLen = 0; int num = 0; int pckNum = 0; - uint8_t uid[8]; + uint8_t uid[7]; + uint8_t uid_len; uint8_t atqa[2]; uint8_t sak; bool isTag; @@ -1858,7 +1932,7 @@ int CmdHF14AMfSniff(const char *Cmd){ memset(buf, 0x00, 3000); if (param_getchar(Cmd, 0) == 'h') { - PrintAndLog("It continuously get data from the field and saves it to: log, emulator, emulator file."); + PrintAndLog("It continuously gets data from the field and saves it to: log, emulator, emulator file."); PrintAndLog("You can specify:"); PrintAndLog(" l - save encrypted sequence to logfile `uid.log`"); PrintAndLog(" d - decrypt sequence and put it to log file `uid.log`"); @@ -1926,14 +2000,19 @@ int CmdHF14AMfSniff(const char *Cmd){ bufPtr += 4; len = bufPtr[0]; bufPtr++; - if ((len == 14) && (bufPtr[0] = 0xff) && (bufPtr[1] = 0xff)) { + if ((len == 14) && (bufPtr[0] == 0xff) && (bufPtr[1] == 0xff)) { memcpy(uid, bufPtr + 2, 7); memcpy(atqa, bufPtr + 2 + 7, 2); + uid_len = (atqa[0] & 0xC0) == 0x40 ? 7 : 4; sak = bufPtr[11]; - PrintAndLog("tag select uid:%s atqa:%02x %02x sak:0x%02x", sprint_hex(uid, 7), atqa[0], atqa[1], sak); + PrintAndLog("tag select uid:%s atqa:0x%02x%02x sak:0x%02x", + sprint_hex(uid + (7 - uid_len), uid_len), + atqa[1], + atqa[0], + sak); if (wantLogToFile || wantDecrypt) { - FillFileNameByUID(logHexFileName, uid, ".log", 7); + FillFileNameByUID(logHexFileName, uid + (7 - uid_len), ".log", uid_len); AddLogCurrentDT(logHexFileName); } if (wantDecrypt) mfTraceInit(uid, atqa, sak, wantSaveToEmlFile); @@ -1954,31 +2033,31 @@ int CmdHF14AMfSniff(const char *Cmd){ static command_t CommandTable[] = { - {"help", CmdHelp, 1, "This help"}, - {"dbg", CmdHF14AMfDbg, 0, "Set default debug mode"}, + {"help", CmdHelp, 1, "This help"}, + {"dbg", CmdHF14AMfDbg, 0, "Set default debug mode"}, {"rdbl", CmdHF14AMfRdBl, 0, "Read MIFARE classic block"}, - {"urdbl", CmdHF14AMfURdBl, 0, "Read MIFARE Ultralight block"}, - {"urdcard", CmdHF14AMfURdCard, 0,"Read MIFARE Ultralight Card"}, + {"urdbl", CmdHF14AMfURdBl, 0, "Read MIFARE Ultralight block"}, + {"urdcard", CmdHF14AMfURdCard, 0,"Read MIFARE Ultralight Card"}, {"uwrbl", CmdHF14AMfUWrBl, 0,"Write MIFARE Ultralight block"}, {"rdsc", CmdHF14AMfRdSc, 0, "Read MIFARE classic sector"}, {"dump", CmdHF14AMfDump, 0, "Dump MIFARE classic tag to binary file"}, - {"restore", CmdHF14AMfRestore, 0, "Restore MIFARE classic binary file to BLANK tag"}, + {"restore", CmdHF14AMfRestore, 0, "Restore MIFARE classic binary file to BLANK tag"}, {"wrbl", CmdHF14AMfWrBl, 0, "Write MIFARE classic block"}, - {"chk", CmdHF14AMfChk, 0, "Test block keys"}, + {"chk", CmdHF14AMfChk, 0, "Test block keys"}, {"mifare", CmdHF14AMifare, 0, "Read parity error messages."}, {"nested", CmdHF14AMfNested, 0, "Test nested authentication"}, {"sniff", CmdHF14AMfSniff, 0, "Sniff card-reader communication"}, - {"sim", CmdHF14AMf1kSim, 0, "Simulate MIFARE card"}, + {"sim", CmdHF14AMf1kSim, 0, "Simulate MIFARE card"}, {"eclr", CmdHF14AMfEClear, 0, "Clear simulator memory block"}, {"eget", CmdHF14AMfEGet, 0, "Get simulator memory block"}, {"eset", CmdHF14AMfESet, 0, "Set simulator memory block"}, {"eload", CmdHF14AMfELoad, 0, "Load from file emul dump"}, {"esave", CmdHF14AMfESave, 0, "Save to file emul dump"}, {"ecfill", CmdHF14AMfECFill, 0, "Fill simulator memory with help of keys from simulator"}, - {"ekeyprn", CmdHF14AMfEKeyPrn, 0, "Print keys from simulator memory"}, - {"csetuid", CmdHF14AMfCSetUID, 0, "Set UID for magic Chinese card"}, - {"csetblk", CmdHF14AMfCSetBlk, 0, "Write block into magic Chinese card"}, - {"cgetblk", CmdHF14AMfCGetBlk, 0, "Read block from magic Chinese card"}, + {"ekeyprn", CmdHF14AMfEKeyPrn, 0, "Print keys from simulator memory"}, + {"csetuid", CmdHF14AMfCSetUID, 0, "Set UID for magic Chinese card"}, + {"csetblk", CmdHF14AMfCSetBlk, 0, "Write block into magic Chinese card"}, + {"cgetblk", CmdHF14AMfCGetBlk, 0, "Read block from magic Chinese card"}, {"cgetsc", CmdHF14AMfCGetSc, 0, "Read sector from magic Chinese card"}, {"cload", CmdHF14AMfCLoad, 0, "Load dump into magic Chinese card"}, {"csave", CmdHF14AMfCSave, 0, "Save dump from magic Chinese card into file or emulator"}, diff --git a/client/cmdlf.c b/client/cmdlf.c index 387e60d58..22aa1e059 100644 --- a/client/cmdlf.c +++ b/client/cmdlf.c @@ -450,6 +450,28 @@ int CmdLFSimManchester(const char *Cmd) return 0; } +int CmdLFSnoop(const char *Cmd) +{ + UsbCommand c = {CMD_LF_SNOOP_RAW_ADC_SAMPLES}; + // 'h' means higher-low-frequency, 134 kHz + c.arg[0] = 0; + c.arg[1] = -1; + if (*Cmd == 0) { + // empty + } else if (*Cmd == 'l') { + sscanf(Cmd, "l %"lli, &c.arg[1]); + } else if(*Cmd == 'h') { + c.arg[0] = 1; + sscanf(Cmd, "h %"lli, &c.arg[1]); + } else if (sscanf(Cmd, "%"lli" %"lli, &c.arg[0], &c.arg[1]) < 1) { + PrintAndLog("use 'snoop' or 'snoop {l,h} [trigger threshold]', or 'snoop [trigger threshold]'"); + return 0; + } + SendCommand(&c); + WaitForResponse(CMD_ACK,NULL); + return 0; +} + int CmdVchDemod(const char *Cmd) { // Is this the entire sync pattern, or does this also include some @@ -540,6 +562,7 @@ static command_t CommandTable[] = {"sim", CmdLFSim, 0, "[GAP] -- Simulate LF tag from buffer with optional GAP (in microseconds)"}, {"simbidir", CmdLFSimBidir, 0, "Simulate LF tag (with bidirectional data transmission between reader and tag)"}, {"simman", CmdLFSimManchester, 0, " [GAP] Simulate arbitrary Manchester LF tag"}, + {"snoop", CmdLFSnoop, 0, "['l'|'h'|] [trigger threshold]-- Snoop LF (l:125khz, h:134khz)"}, {"ti", CmdLFTI, 1, "{ TI RFIDs... }"}, {"hitag", CmdLFHitag, 1, "{ Hitag tags and transponders... }"}, {"vchdemod", CmdVchDemod, 1, "['clone'] -- Demodulate samples for VeriChip"}, diff --git a/client/cmdlf.h b/client/cmdlf.h index 471e4e0cb..7278754b8 100644 --- a/client/cmdlf.h +++ b/client/cmdlf.h @@ -21,6 +21,7 @@ int CmdLFRead(const char *Cmd); int CmdLFSim(const char *Cmd); int CmdLFSimBidir(const char *Cmd); int CmdLFSimManchester(const char *Cmd); +int CmdLFSnoop(const char *Cmd); int CmdVchDemod(const char *Cmd); #endif diff --git a/client/default_keys.dic b/client/default_keys.dic new file mode 100644 index 000000000..5c2773008 --- /dev/null +++ b/client/default_keys.dic @@ -0,0 +1,79 @@ +# Default Keys as already in Proxmark.exe: +ffffffffffff,//Defaultkey(firstkeyusedbyprogramifnouserdefinedkey) +000000000000,//Blankkey +a0a1a2a3a4a5,//NFCForumMADkey +b0b1b2b3b4b5, +aabbccddeeff, +4d3a99c351dd, +1a982c7e459a, +d3f7d3f7d3f7, +714c5c886e97, +587ee5f9350f, +a0478cc39091, +533cb6c723f6, +8fd0a4f256e9 +# more Keys from mf_default_keys.lua +000000000001, +000000000002, +00000000000a, +00000000000b, +00000ffe2488,--V盲sttrafikenKeyB +010203040506, +0123456789ab, +0297927c0f77,--V盲sttrafikenKeyA +100000000000, +111111111111, +123456789abc, +12f2ee3478c1, +14d446e33363, +1999a3554a55, +200000000000, +222222222222, +26940b21ff5d,--RKFSLKeyA +27dd91f1fcf1, +2BA9621E0A36,--DirectoryandeventlogKeyB +333333333333, +33f974b42769, +34d1df9934c5, +434f4d4d4f41,--RKFJOJOGROUPKeyA +434f4d4d4f42,--RKFJOJOGROUPKeyB +43ab19ef5c31, +444444444444, +47524f555041,--RKFJOJOGROUPKeyA +47524f555042,--RKFJOJOGROUPKeyB +4AF9D7ADEBE4,--DirectoryandeventlogKeyA +505249564141,--RKFJOJOPRIVAKeyA +505249564142,--RKFJOJOPRIVAKeyB +505249565441, +505249565442, +54726176656c,--V盲sttrafikenKeyA +555555555555, +55f5a5dd38c9, +5c598c9c58b5,--RKFSLKeyB +666666666666, +722bfcc5375f,--RKFRejskortDanmarkKeyA +776974687573,--V盲sttrafikenKeyB +777777777777, +888888888888, +999999999999, +99c636334433, +a00000000000, +a053a292a4af, +a64598a77478,--RKFSLKeyA +a94133013401, +aaaaaaaaaaaa, +abcdef123456,--Keyfromladyada.net +b00000000000, +b127c6f41436, +bbbbbbbbbbbb, +bd493a3962b6, +c934fe34d934, +cccccccccccc, +dddddddddddd, +e4d2770a89be,--RKFSLKeyB +ee0042f88840,--V盲sttrafikenKeyB +eeeeeeeeeeee, +f1a97341a9fc, +f1d83f964314,--RKFRejskortDanmarkKeyB +fc00018778f7,--V盲sttrafikenKeyA +fc0001877bf7,--RKF脰stg枚taTrafikenKeyA diff --git a/client/loclass/cipher.c b/client/loclass/cipher.c new file mode 100644 index 000000000..463ba9be8 --- /dev/null +++ b/client/loclass/cipher.c @@ -0,0 +1,255 @@ +/***************************************************************************** + * This file is part of iClassCipher. It is a reconstructon of the cipher engine + * used in iClass, and RFID techology. + * + * The implementation is based on the work performed by + * Flavio D. Garcia, Gerhard de Koning Gans, Roel Verdult and + * Milosch Meriac in the paper "Dismantling IClass". + * + * Copyright (C) 2014 Martin Holst Swende + * + * This is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as published + * by the Free Software Foundation. + * + * This file is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with IClassCipher. If not, see . + ****************************************************************************/ + +#include "cipher.h" +#include "cipherutils.h" +#include +#include +#include +#include +#include +#include +#include "fileutils.h" +uint8_t keytable[] = { 0,0,0,0,0,0,0,0}; + +/** +* Definition 1 (Cipher state). A cipher state of iClass s is an element of F 40/2 +* consisting of the following four components: +* 1. the left register l = (l 0 . . . l 7 ) 鈭 F 8/2 ; +* 2. the right register r = (r 0 . . . r 7 ) 鈭 F 8/2 ; +* 3. the top register t = (t 0 . . . t 15 ) 鈭 F 16/2 . +* 4. the bottom register b = (b 0 . . . b 7 ) 鈭 F 8/2 . +**/ +typedef struct { + uint8_t l; + uint8_t r; + uint8_t b; + uint16_t t; +} State; + +/** +* Definition 2. The feedback function for the top register T : F 16/2 鈫 F 2 +* is defined as +* T (x 0 x 1 . . . . . . x 15 ) = x 0 鈯 x 1 鈯 x 5 鈯 x 7 鈯 x 10 鈯 x 11 鈯 x 14 鈯 x 15 . +**/ +bool T(State state) +{ + bool x0 = state.t & 0x8000; + bool x1 = state.t & 0x4000; + bool x5 = state.t & 0x0400; + bool x7 = state.t & 0x0100; + bool x10 = state.t & 0x0020; + bool x11 = state.t & 0x0010; + bool x14 = state.t & 0x0002; + bool x15 = state.t & 0x0001; + return x0 ^ x1 ^ x5 ^ x7 ^ x10 ^ x11 ^ x14 ^ x15; +} +/** +* Similarly, the feedback function for the bottom register B : F 8/2 鈫 F 2 is defined as +* B(x 0 x 1 . . . x 7 ) = x 1 鈯 x 2 鈯 x 3 鈯 x 7 . +**/ +bool B(State state) +{ + bool x1 = state.b & 0x40; + bool x2 = state.b & 0x20; + bool x3 = state.b & 0x10; + bool x7 = state.b & 0x01; + + return x1 ^ x2 ^ x3 ^ x7; + +} + + +/** +* Definition 3 (Selection function). The selection function select : F 2 脳 F 2 脳 +* F 8/2 鈫 F 3/2 is defined as select(x, y, r) = z 0 z 1 z 2 where +* z 0 = (r 0 鈭 r 2 ) 鈯 (r 1 鈭 r 3 ) 鈯 (r 2 鈭 r 4 ) +* z 1 = (r 0 鈭 r 2 ) 鈯 (r 5 鈭 r 7 ) 鈯 r 1 鈯 r 6 鈯 x 鈯 y +* z 2 = (r 3 鈭 r 5 ) 鈯 (r 4 鈭 r 6 ) 鈯 r 7 鈯 x +**/ +uint8_t _select(bool x, bool y, uint8_t r) +{ + bool r0 = r >> 7 & 0x1; + bool r1 = r >> 6 & 0x1; + bool r2 = r >> 5 & 0x1; + bool r3 = r >> 4 & 0x1; + bool r4 = r >> 3 & 0x1; + bool r5 = r >> 2 & 0x1; + bool r6 = r >> 1 & 0x1; + bool r7 = r & 0x1; + + bool z0 = (r0 & r2) ^ (r1 & ~r3) ^ (r2 | r4); + bool z1 = (r0 | r2) ^ ( r5 | r7) ^ r1 ^ r6 ^ x ^ y; + bool z2 = (r3 & ~r5) ^ (r4 & r6 ) ^ r7 ^ x; + + // The three bitz z0.. z1 are packed into a uint8_t: + // 00000ZZZ + //Return value is a uint8_t + uint8_t retval = 0; + retval |= (z0 << 2) & 4; + retval |= (z1 << 1) & 2; + retval |= z2 & 1; + + // Return value 0 <= retval <= 7 + return retval; +} + +/** +* Definition 4 (Successor state). Let s = l, r, t, b be a cipher state, k 鈭 (F 82 ) 8 +* be a key and y 鈭 F 2 be the input bit. Then, the successor cipher state s 鈥 = +* l 鈥 , r 鈥 , t 鈥 , b 鈥 is defined as +* t 鈥 := (T (t) 鈯 r 0 鈯 r 4 )t 0 . . . t 14 l 鈥 := (k [select(T (t),y,r)] 鈯 b 鈥 ) 鈯 l 鈯 r +* b 鈥 := (B(b) 鈯 r 7 )b 0 . . . b 6 r 鈥 := (k [select(T (t),y,r)] 鈯 b 鈥 ) 鈯 l +* +* @param s - state +* @param k - array containing 8 bytes +**/ +State successor(uint8_t* k, State s, bool y) +{ + bool r0 = s.r >> 7 & 0x1; + bool r4 = s.r >> 3 & 0x1; + bool r7 = s.r & 0x1; + + State successor = {0,0,0,0}; + + successor.t = s.t >> 1; + successor.t |= (T(s) ^ r0 ^ r4) << 15; + + successor.b = s.b >> 1; + successor.b |= (B(s) ^ r7) << 7; + + bool Tt = T(s); + + successor.l = ((k[_select(Tt,y,s.r)] ^ successor.b) + s.l+s.r ) & 0xFF; + successor.r = ((k[_select(Tt,y,s.r)] ^ successor.b) + s.l ) & 0xFF; + + return successor; +} +/** +* We define the successor function suc which takes a key k 鈭 (F 82 ) 8 , a state s and +* an input y 鈭 F 2 and outputs the successor state s 鈥 . We overload the function suc +* to multiple bit input x 鈭 F n 2 which we define as +* @param k - array containing 8 bytes +**/ +State suc(uint8_t* k,State s, BitstreamIn *bitstream) +{ + if(bitsLeft(bitstream) == 0) + { + return s; + } + bool lastbit = tailBit(bitstream); + return successor(k,suc(k,s,bitstream), lastbit); +} + +/** +* Definition 5 (Output). Define the function output which takes an internal +* state s =< l, r, t, b > and returns the bit r 5 . We also define the function output +* on multiple bits input which takes a key k, a state s and an input x 鈭 F n 2 as +* output(k, s, 谦) = 谦 +* output(k, s, x 0 . . . x n ) = output(s) 路 output(k, s 鈥 , x 1 . . . x n ) +* where s 鈥 = suc(k, s, x 0 ). +**/ +void output(uint8_t* k,State s, BitstreamIn* in, BitstreamOut* out) +{ + if(bitsLeft(in) == 0) + { + return; + } + pushBit(out,(s.r >> 2) & 1); + //Remove first bit + uint8_t x0 = headBit(in); + State ss = successor(k,s,x0); + output(k,ss,in, out); +} + +/** +* Definition 6 (Initial state). Define the function init which takes as input a +* key k 鈭 (F 82 ) 8 and outputs the initial cipher state s =< l, r, t, b > +**/ + +State init(uint8_t* k) +{ + State s = { + ((k[0] ^ 0x4c) + 0xEC) & 0xFF,// l + ((k[0] ^ 0x4c) + 0x21) & 0xFF,// r + 0x4c, // b + 0xE012 // t + }; + return s; +} +void MAC(uint8_t* k, BitstreamIn input, BitstreamOut out) +{ + uint8_t zeroes_32[] = {0,0,0,0}; + BitstreamIn input_32_zeroes = {zeroes_32,sizeof(zeroes_32)*8,0}; + State initState = suc(k,init(k),&input); + output(k,initState,&input_32_zeroes,&out); +} + +void doMAC(uint8_t *cc_nr_p, int length, uint8_t *div_key_p, uint8_t mac[4]) +{ + uint8_t *cc_nr; + uint8_t div_key[8]; + cc_nr=(uint8_t*)malloc(length+1); + memcpy(cc_nr,cc_nr_p,length); + memcpy(div_key,div_key_p,8); + + reverse_arraybytes(cc_nr,length); + BitstreamIn bitstream = {cc_nr,length * 8,0}; + uint8_t dest []= {0,0,0,0,0,0,0,0}; + BitstreamOut out = { dest, sizeof(dest)*8, 0 }; + MAC(div_key,bitstream, out); + //The output MAC must also be reversed + reverse_arraybytes(dest, sizeof(dest)); + memcpy(mac, dest, 4); + //printf("Calculated_MAC\t%02x%02x%02x%02x\n", dest[0],dest[1],dest[2],dest[3]); + free(cc_nr); + return; +} + +int testMAC() +{ + prnlog("[+] Testing MAC calculation..."); + + //From the "dismantling.IClass" paper: + uint8_t cc_nr[] = {0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0,0,0,0}; + //From the paper + uint8_t div_key[8] = {0xE0,0x33,0xCA,0x41,0x9A,0xEE,0x43,0xF9}; + uint8_t correct_MAC[4] = {0x1d,0x49,0xC9,0xDA}; + + uint8_t calculated_mac[4] = {0}; + doMAC(cc_nr, 12,div_key, calculated_mac); + + if(memcmp(calculated_mac, correct_MAC,4) == 0) + { + prnlog("[+] MAC calculation OK!"); + + }else + { + prnlog("[+] FAILED: MAC calculation failed:"); + printarr(" Calculated_MAC", calculated_mac, 4); + printarr(" Correct_MAC ", correct_MAC, 4); + return 1; + } + + return 0; +} diff --git a/client/loclass/cipher.h b/client/loclass/cipher.h new file mode 100644 index 000000000..4bfbe0b75 --- /dev/null +++ b/client/loclass/cipher.h @@ -0,0 +1,31 @@ +/***************************************************************************** + * This file is part of iClassCipher. It is a reconstructon of the cipher engine + * used in iClass, and RFID techology. + * + * The implementation is based on the work performed by + * Flavio D. Garcia, Gerhard de Koning Gans, Roel Verdult and + * Milosch Meriac in the paper "Dismantling IClass". + * + * Copyright (C) 2014 Martin Holst Swende + * + * This is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as published + * by the Free Software Foundation. + * + * This file is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with IClassCipher. If not, see . + ****************************************************************************/ + +#ifndef CIPHER_H +#define CIPHER_H +#include + +void doMAC(uint8_t *cc_nr_p, int length, uint8_t *div_key_p, uint8_t mac[4]); +int testMAC(); + +#endif // CIPHER_H diff --git a/client/loclass/cipherutils.c b/client/loclass/cipherutils.c new file mode 100644 index 000000000..1e08cf105 --- /dev/null +++ b/client/loclass/cipherutils.c @@ -0,0 +1,273 @@ +/***************************************************************************** + * This file is part of iClassCipher. It is a reconstructon of the cipher engine + * used in iClass, and RFID techology. + * + * The implementation is based on the work performed by + * Flavio D. Garcia, Gerhard de Koning Gans, Roel Verdult and + * Milosch Meriac in the paper "Dismantling IClass". + * + * Copyright (C) 2014 Martin Holst Swende + * + * This is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as published + * by the Free Software Foundation. + * + * This file is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with IClassCipher. If not, see . + ****************************************************************************/ + +#include +#include +#include +#include "fileutils.h" +#include "cipherutils.h" +/** + * + * @brief Return and remove the first bit (x0) in the stream : + * @param stream + * @return + */ +bool headBit( BitstreamIn *stream) +{ + int bytepos = stream->position >> 3; // divide by 8 + int bitpos = (stream->position++) & 7; // mask out 00000111 + return (*(stream->buffer + bytepos) >> (7-bitpos)) & 1; +} +/** + * @brief Return and remove the last bit (xn) in the stream: + * @param stream + * @return + */ +bool tailBit( BitstreamIn *stream) +{ + int bitpos = stream->numbits -1 - (stream->position++); + + int bytepos= bitpos >> 3; + bitpos &= 7; + return (*(stream->buffer + bytepos) >> (7-bitpos)) & 1; +} +/** + * @brief Pushes bit onto the stream + * @param stream + * @param bit + */ +void pushBit( BitstreamOut* stream, bool bit) +{ + int bytepos = stream->position >> 3; // divide by 8 + int bitpos = stream->position & 7; + *(stream->buffer+bytepos) |= (bit & 1) << (7 - bitpos); + stream->position++; + stream->numbits++; +} + +/** + * @brief Pushes the lower six bits onto the stream + * as b0 b1 b2 b3 b4 b5 b6 + * @param stream + * @param bits + */ +void push6bits( BitstreamOut* stream, uint8_t bits) +{ + pushBit(stream, bits & 0x20); + pushBit(stream, bits & 0x10); + pushBit(stream, bits & 0x08); + pushBit(stream, bits & 0x04); + pushBit(stream, bits & 0x02); + pushBit(stream, bits & 0x01); +} + +/** + * @brief bitsLeft + * @param stream + * @return number of bits left in stream + */ +int bitsLeft( BitstreamIn *stream) +{ + return stream->numbits - stream->position; +} +/** + * @brief numBits + * @param stream + * @return Number of bits stored in stream + */ +int numBits(BitstreamOut *stream) +{ + return stream->numbits; +} + +void x_num_to_bytes(uint64_t n, size_t len, uint8_t* dest) +{ + while (len--) { + dest[len] = (uint8_t) n; + n >>= 8; + } +} + +uint64_t x_bytes_to_num(uint8_t* src, size_t len) +{ + uint64_t num = 0; + while (len--) + { + num = (num << 8) | (*src); + src++; + } + return num; +} +uint8_t reversebytes(uint8_t b) { + b = (b & 0xF0) >> 4 | (b & 0x0F) << 4; + b = (b & 0xCC) >> 2 | (b & 0x33) << 2; + b = (b & 0xAA) >> 1 | (b & 0x55) << 1; + return b; +} +void reverse_arraybytes(uint8_t* arr, size_t len) +{ + uint8_t i; + for( i =0; i< len ; i++) + { + arr[i] = reversebytes(arr[i]); + } +} +void reverse_arraycopy(uint8_t* arr, uint8_t* dest, size_t len) +{ + uint8_t i; + for( i =0; i< len ; i++) + { + dest[i] = reversebytes(arr[i]); + } +} + +void printarr(char * name, uint8_t* arr, int len) +{ + int cx; + size_t outsize = 40+strlen(name)+len*5; + char* output = malloc(outsize); + memset(output, 0,outsize); + + int i ; + cx = snprintf(output,outsize, "uint8_t %s[] = {", name); + for(i =0 ; i< len ; i++) + { + cx += snprintf(output+cx,outsize-cx,"0x%02x,",*(arr+i));//5 bytes per byte + } + cx += snprintf(output+cx,outsize-cx,"};"); + prnlog(output); +} + +void printvar(char * name, uint8_t* arr, int len) +{ + int cx; + size_t outsize = 40+strlen(name)+len*2; + char* output = malloc(outsize); + memset(output, 0,outsize); + + int i ; + cx = snprintf(output,outsize,"%s = ", name); + for(i =0 ; i< len ; i++) + { + cx += snprintf(output+cx,outsize-cx,"%02x",*(arr+i));//2 bytes per byte + } + + prnlog(output); +} + +void printarr_human_readable(char * title, uint8_t* arr, int len) +{ + int cx; + size_t outsize = 100+strlen(title)+len*4; + char* output = malloc(outsize); + memset(output, 0,outsize); + + + int i; + cx = snprintf(output,outsize, "\n\t%s\n", title); + for(i =0 ; i< len ; i++) + { + if(i % 16 == 0) + cx += snprintf(output+cx,outsize-cx,"\n%02x| ", i ); + cx += snprintf(output+cx,outsize-cx, "%02x ",*(arr+i)); + } + prnlog(output); +} + +//----------------------------- +// Code for testing below +//----------------------------- + + +int testBitStream() +{ + uint8_t input [] = {0xDE,0xAD,0xBE,0xEF,0xDE,0xAD,0xBE,0xEF}; + uint8_t output [] = {0,0,0,0,0,0,0,0}; + BitstreamIn in = { input, sizeof(input) * 8,0}; + BitstreamOut out ={ output, 0,0} + ; + while(bitsLeft(&in) > 0) + { + pushBit(&out, headBit(&in)); + //printf("Bits left: %d\n", bitsLeft(&in)); + //printf("Bits out: %d\n", numBits(&out)); + } + if(memcmp(input, output, sizeof(input)) == 0) + { + prnlog(" Bitstream test 1 ok"); + }else + { + prnlog(" Bitstream test 1 failed"); + uint8_t i; + for(i = 0 ; i < sizeof(input) ; i++) + { + prnlog(" IN %02x, OUT %02x", input[i], output[i]); + } + return 1; + } + return 0; +} + +int testReversedBitstream() +{ + uint8_t input [] = {0xDE,0xAD,0xBE,0xEF,0xDE,0xAD,0xBE,0xEF}; + uint8_t reverse [] = {0,0,0,0,0,0,0,0}; + uint8_t output [] = {0,0,0,0,0,0,0,0}; + BitstreamIn in = { input, sizeof(input) * 8,0}; + BitstreamOut out ={ output, 0,0}; + BitstreamIn reversed_in ={ reverse, sizeof(input)*8,0}; + BitstreamOut reversed_out ={ reverse,0 ,0}; + + while(bitsLeft(&in) > 0) + { + pushBit(&reversed_out, tailBit(&in)); + } + while(bitsLeft(&reversed_in) > 0) + { + pushBit(&out, tailBit(&reversed_in)); + } + if(memcmp(input, output, sizeof(input)) == 0) + { + prnlog(" Bitstream test 2 ok"); + }else + { + prnlog(" Bitstream test 2 failed"); + uint8_t i; + for(i = 0 ; i < sizeof(input) ; i++) + { + prnlog(" IN %02x, MIDDLE: %02x, OUT %02x", input[i],reverse[i], output[i]); + } + return 1; + } + return 0; +} + + +int testCipherUtils(void) +{ + prnlog("[+] Testing some internals..."); + int retval = 0; + retval |= testBitStream(); + retval |= testReversedBitstream(); + return retval; +} diff --git a/client/loclass/cipherutils.h b/client/loclass/cipherutils.h new file mode 100644 index 000000000..acf96115b --- /dev/null +++ b/client/loclass/cipherutils.h @@ -0,0 +1,59 @@ +/***************************************************************************** + * This file is part of iClassCipher. It is a reconstructon of the cipher engine + * used in iClass, and RFID techology. + * + * The implementation is based on the work performed by + * Flavio D. Garcia, Gerhard de Koning Gans, Roel Verdult and + * Milosch Meriac in the paper "Dismantling IClass". + * + * Copyright (C) 2014 Martin Holst Swende + * + * This is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as published + * by the Free Software Foundation. + * + * This file is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with IClassCipher. If not, see . + ****************************************************************************/ + +#ifndef CIPHERUTILS_H +#define CIPHERUTILS_H +#include +#include +#include + +typedef struct { + uint8_t * buffer; + uint8_t numbits; + uint8_t position; +} BitstreamIn; + +typedef struct { + uint8_t * buffer; + uint8_t numbits; + uint8_t position; +}BitstreamOut; + +bool headBit( BitstreamIn *stream); +bool tailBit( BitstreamIn *stream); +void pushBit( BitstreamOut *stream, bool bit); +int bitsLeft( BitstreamIn *stream); + +int testCipherUtils(void); +int testMAC(); +void push6bits( BitstreamOut* stream, uint8_t bits); +void EncryptDES(bool key[56], bool outBlk[64], bool inBlk[64], int verbose) ; +void x_num_to_bytes(uint64_t n, size_t len, uint8_t* dest); +uint64_t x_bytes_to_num(uint8_t* src, size_t len); +uint8_t reversebytes(uint8_t b); +void reverse_arraybytes(uint8_t* arr, size_t len); +void reverse_arraycopy(uint8_t* arr, uint8_t* dest, size_t len); +void printarr(char * name, uint8_t* arr, int len); +void printvar(char * name, uint8_t* arr, int len); +void printarr_human_readable(char * title, uint8_t* arr, int len); +#endif // CIPHERUTILS_H diff --git a/client/loclass/des.c b/client/loclass/des.c new file mode 100644 index 000000000..746752d7e --- /dev/null +++ b/client/loclass/des.c @@ -0,0 +1,1014 @@ +/* + * FIPS-46-3 compliant Triple-DES implementation + * + * Copyright (C) 2006-2014, Brainspark B.V. + * + * This file is part of PolarSSL (http://www.polarssl.org) + * Lead Maintainer: Paul Bakker + * + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ +/* + * DES, on which TDES is based, was originally designed by Horst Feistel + * at IBM in 1974, and was adopted as a standard by NIST (formerly NBS). + * + * http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf + */ + +//#include "polarssl/config.h" +#define POLARSSL_DES_C + +#if defined(POLARSSL_DES_C) + +#include "des.h" + +#if defined(POLARSSL_PLATFORM_C) +#include "polarssl/platform.h" +#else +#define polarssl_printf printf +#endif + +#if !defined(POLARSSL_DES_ALT) + +/* + * 32-bit integer manipulation macros (big endian) + */ +#ifndef GET_UINT32_BE +#define GET_UINT32_BE(n,b,i) \ +{ \ + (n) = ( (uint32_t) (b)[(i) ] << 24 ) \ + | ( (uint32_t) (b)[(i) + 1] << 16 ) \ + | ( (uint32_t) (b)[(i) + 2] << 8 ) \ + | ( (uint32_t) (b)[(i) + 3] ); \ +} +#endif + +#ifndef PUT_UINT32_BE +#define PUT_UINT32_BE(n,b,i) \ +{ \ + (b)[(i) ] = (unsigned char) ( (n) >> 24 ); \ + (b)[(i) + 1] = (unsigned char) ( (n) >> 16 ); \ + (b)[(i) + 2] = (unsigned char) ( (n) >> 8 ); \ + (b)[(i) + 3] = (unsigned char) ( (n) ); \ +} +#endif + +/* + * Expanded DES S-boxes + */ +static const uint32_t SB1[64] = +{ + 0x01010400, 0x00000000, 0x00010000, 0x01010404, + 0x01010004, 0x00010404, 0x00000004, 0x00010000, + 0x00000400, 0x01010400, 0x01010404, 0x00000400, + 0x01000404, 0x01010004, 0x01000000, 0x00000004, + 0x00000404, 0x01000400, 0x01000400, 0x00010400, + 0x00010400, 0x01010000, 0x01010000, 0x01000404, + 0x00010004, 0x01000004, 0x01000004, 0x00010004, + 0x00000000, 0x00000404, 0x00010404, 0x01000000, + 0x00010000, 0x01010404, 0x00000004, 0x01010000, + 0x01010400, 0x01000000, 0x01000000, 0x00000400, + 0x01010004, 0x00010000, 0x00010400, 0x01000004, + 0x00000400, 0x00000004, 0x01000404, 0x00010404, + 0x01010404, 0x00010004, 0x01010000, 0x01000404, + 0x01000004, 0x00000404, 0x00010404, 0x01010400, + 0x00000404, 0x01000400, 0x01000400, 0x00000000, + 0x00010004, 0x00010400, 0x00000000, 0x01010004 +}; + +static const uint32_t SB2[64] = +{ + 0x80108020, 0x80008000, 0x00008000, 0x00108020, + 0x00100000, 0x00000020, 0x80100020, 0x80008020, + 0x80000020, 0x80108020, 0x80108000, 0x80000000, + 0x80008000, 0x00100000, 0x00000020, 0x80100020, + 0x00108000, 0x00100020, 0x80008020, 0x00000000, + 0x80000000, 0x00008000, 0x00108020, 0x80100000, + 0x00100020, 0x80000020, 0x00000000, 0x00108000, + 0x00008020, 0x80108000, 0x80100000, 0x00008020, + 0x00000000, 0x00108020, 0x80100020, 0x00100000, + 0x80008020, 0x80100000, 0x80108000, 0x00008000, + 0x80100000, 0x80008000, 0x00000020, 0x80108020, + 0x00108020, 0x00000020, 0x00008000, 0x80000000, + 0x00008020, 0x80108000, 0x00100000, 0x80000020, + 0x00100020, 0x80008020, 0x80000020, 0x00100020, + 0x00108000, 0x00000000, 0x80008000, 0x00008020, + 0x80000000, 0x80100020, 0x80108020, 0x00108000 +}; + +static const uint32_t SB3[64] = +{ + 0x00000208, 0x08020200, 0x00000000, 0x08020008, + 0x08000200, 0x00000000, 0x00020208, 0x08000200, + 0x00020008, 0x08000008, 0x08000008, 0x00020000, + 0x08020208, 0x00020008, 0x08020000, 0x00000208, + 0x08000000, 0x00000008, 0x08020200, 0x00000200, + 0x00020200, 0x08020000, 0x08020008, 0x00020208, + 0x08000208, 0x00020200, 0x00020000, 0x08000208, + 0x00000008, 0x08020208, 0x00000200, 0x08000000, + 0x08020200, 0x08000000, 0x00020008, 0x00000208, + 0x00020000, 0x08020200, 0x08000200, 0x00000000, + 0x00000200, 0x00020008, 0x08020208, 0x08000200, + 0x08000008, 0x00000200, 0x00000000, 0x08020008, + 0x08000208, 0x00020000, 0x08000000, 0x08020208, + 0x00000008, 0x00020208, 0x00020200, 0x08000008, + 0x08020000, 0x08000208, 0x00000208, 0x08020000, + 0x00020208, 0x00000008, 0x08020008, 0x00020200 +}; + +static const uint32_t SB4[64] = +{ + 0x00802001, 0x00002081, 0x00002081, 0x00000080, + 0x00802080, 0x00800081, 0x00800001, 0x00002001, + 0x00000000, 0x00802000, 0x00802000, 0x00802081, + 0x00000081, 0x00000000, 0x00800080, 0x00800001, + 0x00000001, 0x00002000, 0x00800000, 0x00802001, + 0x00000080, 0x00800000, 0x00002001, 0x00002080, + 0x00800081, 0x00000001, 0x00002080, 0x00800080, + 0x00002000, 0x00802080, 0x00802081, 0x00000081, + 0x00800080, 0x00800001, 0x00802000, 0x00802081, + 0x00000081, 0x00000000, 0x00000000, 0x00802000, + 0x00002080, 0x00800080, 0x00800081, 0x00000001, + 0x00802001, 0x00002081, 0x00002081, 0x00000080, + 0x00802081, 0x00000081, 0x00000001, 0x00002000, + 0x00800001, 0x00002001, 0x00802080, 0x00800081, + 0x00002001, 0x00002080, 0x00800000, 0x00802001, + 0x00000080, 0x00800000, 0x00002000, 0x00802080 +}; + +static const uint32_t SB5[64] = +{ + 0x00000100, 0x02080100, 0x02080000, 0x42000100, + 0x00080000, 0x00000100, 0x40000000, 0x02080000, + 0x40080100, 0x00080000, 0x02000100, 0x40080100, + 0x42000100, 0x42080000, 0x00080100, 0x40000000, + 0x02000000, 0x40080000, 0x40080000, 0x00000000, + 0x40000100, 0x42080100, 0x42080100, 0x02000100, + 0x42080000, 0x40000100, 0x00000000, 0x42000000, + 0x02080100, 0x02000000, 0x42000000, 0x00080100, + 0x00080000, 0x42000100, 0x00000100, 0x02000000, + 0x40000000, 0x02080000, 0x42000100, 0x40080100, + 0x02000100, 0x40000000, 0x42080000, 0x02080100, + 0x40080100, 0x00000100, 0x02000000, 0x42080000, + 0x42080100, 0x00080100, 0x42000000, 0x42080100, + 0x02080000, 0x00000000, 0x40080000, 0x42000000, + 0x00080100, 0x02000100, 0x40000100, 0x00080000, + 0x00000000, 0x40080000, 0x02080100, 0x40000100 +}; + +static const uint32_t SB6[64] = +{ + 0x20000010, 0x20400000, 0x00004000, 0x20404010, + 0x20400000, 0x00000010, 0x20404010, 0x00400000, + 0x20004000, 0x00404010, 0x00400000, 0x20000010, + 0x00400010, 0x20004000, 0x20000000, 0x00004010, + 0x00000000, 0x00400010, 0x20004010, 0x00004000, + 0x00404000, 0x20004010, 0x00000010, 0x20400010, + 0x20400010, 0x00000000, 0x00404010, 0x20404000, + 0x00004010, 0x00404000, 0x20404000, 0x20000000, + 0x20004000, 0x00000010, 0x20400010, 0x00404000, + 0x20404010, 0x00400000, 0x00004010, 0x20000010, + 0x00400000, 0x20004000, 0x20000000, 0x00004010, + 0x20000010, 0x20404010, 0x00404000, 0x20400000, + 0x00404010, 0x20404000, 0x00000000, 0x20400010, + 0x00000010, 0x00004000, 0x20400000, 0x00404010, + 0x00004000, 0x00400010, 0x20004010, 0x00000000, + 0x20404000, 0x20000000, 0x00400010, 0x20004010 +}; + +static const uint32_t SB7[64] = +{ + 0x00200000, 0x04200002, 0x04000802, 0x00000000, + 0x00000800, 0x04000802, 0x00200802, 0x04200800, + 0x04200802, 0x00200000, 0x00000000, 0x04000002, + 0x00000002, 0x04000000, 0x04200002, 0x00000802, + 0x04000800, 0x00200802, 0x00200002, 0x04000800, + 0x04000002, 0x04200000, 0x04200800, 0x00200002, + 0x04200000, 0x00000800, 0x00000802, 0x04200802, + 0x00200800, 0x00000002, 0x04000000, 0x00200800, + 0x04000000, 0x00200800, 0x00200000, 0x04000802, + 0x04000802, 0x04200002, 0x04200002, 0x00000002, + 0x00200002, 0x04000000, 0x04000800, 0x00200000, + 0x04200800, 0x00000802, 0x00200802, 0x04200800, + 0x00000802, 0x04000002, 0x04200802, 0x04200000, + 0x00200800, 0x00000000, 0x00000002, 0x04200802, + 0x00000000, 0x00200802, 0x04200000, 0x00000800, + 0x04000002, 0x04000800, 0x00000800, 0x00200002 +}; + +static const uint32_t SB8[64] = +{ + 0x10001040, 0x00001000, 0x00040000, 0x10041040, + 0x10000000, 0x10001040, 0x00000040, 0x10000000, + 0x00040040, 0x10040000, 0x10041040, 0x00041000, + 0x10041000, 0x00041040, 0x00001000, 0x00000040, + 0x10040000, 0x10000040, 0x10001000, 0x00001040, + 0x00041000, 0x00040040, 0x10040040, 0x10041000, + 0x00001040, 0x00000000, 0x00000000, 0x10040040, + 0x10000040, 0x10001000, 0x00041040, 0x00040000, + 0x00041040, 0x00040000, 0x10041000, 0x00001000, + 0x00000040, 0x10040040, 0x00001000, 0x00041040, + 0x10001000, 0x00000040, 0x10000040, 0x10040000, + 0x10040040, 0x10000000, 0x00040000, 0x10001040, + 0x00000000, 0x10041040, 0x00040040, 0x10000040, + 0x10040000, 0x10001000, 0x10001040, 0x00000000, + 0x10041040, 0x00041000, 0x00041000, 0x00001040, + 0x00001040, 0x00040040, 0x10000000, 0x10041000 +}; + +/* + * PC1: left and right halves bit-swap + */ +static const uint32_t LHs[16] = +{ + 0x00000000, 0x00000001, 0x00000100, 0x00000101, + 0x00010000, 0x00010001, 0x00010100, 0x00010101, + 0x01000000, 0x01000001, 0x01000100, 0x01000101, + 0x01010000, 0x01010001, 0x01010100, 0x01010101 +}; + +static const uint32_t RHs[16] = +{ + 0x00000000, 0x01000000, 0x00010000, 0x01010000, + 0x00000100, 0x01000100, 0x00010100, 0x01010100, + 0x00000001, 0x01000001, 0x00010001, 0x01010001, + 0x00000101, 0x01000101, 0x00010101, 0x01010101, +}; + +/* + * Initial Permutation macro + */ +#define DES_IP(X,Y) \ +{ \ + T = ((X >> 4) ^ Y) & 0x0F0F0F0F; Y ^= T; X ^= (T << 4); \ + T = ((X >> 16) ^ Y) & 0x0000FFFF; Y ^= T; X ^= (T << 16); \ + T = ((Y >> 2) ^ X) & 0x33333333; X ^= T; Y ^= (T << 2); \ + T = ((Y >> 8) ^ X) & 0x00FF00FF; X ^= T; Y ^= (T << 8); \ + Y = ((Y << 1) | (Y >> 31)) & 0xFFFFFFFF; \ + T = (X ^ Y) & 0xAAAAAAAA; Y ^= T; X ^= T; \ + X = ((X << 1) | (X >> 31)) & 0xFFFFFFFF; \ +} + +/* + * Final Permutation macro + */ +#define DES_FP(X,Y) \ +{ \ + X = ((X << 31) | (X >> 1)) & 0xFFFFFFFF; \ + T = (X ^ Y) & 0xAAAAAAAA; X ^= T; Y ^= T; \ + Y = ((Y << 31) | (Y >> 1)) & 0xFFFFFFFF; \ + T = ((Y >> 8) ^ X) & 0x00FF00FF; X ^= T; Y ^= (T << 8); \ + T = ((Y >> 2) ^ X) & 0x33333333; X ^= T; Y ^= (T << 2); \ + T = ((X >> 16) ^ Y) & 0x0000FFFF; Y ^= T; X ^= (T << 16); \ + T = ((X >> 4) ^ Y) & 0x0F0F0F0F; Y ^= T; X ^= (T << 4); \ +} + +/* + * DES round macro + */ +#define DES_ROUND(X,Y) \ +{ \ + T = *SK++ ^ X; \ + Y ^= SB8[ (T ) & 0x3F ] ^ \ + SB6[ (T >> 8) & 0x3F ] ^ \ + SB4[ (T >> 16) & 0x3F ] ^ \ + SB2[ (T >> 24) & 0x3F ]; \ + \ + T = *SK++ ^ ((X << 28) | (X >> 4)); \ + Y ^= SB7[ (T ) & 0x3F ] ^ \ + SB5[ (T >> 8) & 0x3F ] ^ \ + SB3[ (T >> 16) & 0x3F ] ^ \ + SB1[ (T >> 24) & 0x3F ]; \ +} + +#define SWAP(a,b) { uint32_t t = a; a = b; b = t; t = 0; } + +static const unsigned char odd_parity_table[128] = { 1, 2, 4, 7, 8, + 11, 13, 14, 16, 19, 21, 22, 25, 26, 28, 31, 32, 35, 37, 38, 41, 42, 44, + 47, 49, 50, 52, 55, 56, 59, 61, 62, 64, 67, 69, 70, 73, 74, 76, 79, 81, + 82, 84, 87, 88, 91, 93, 94, 97, 98, 100, 103, 104, 107, 109, 110, 112, + 115, 117, 118, 121, 122, 124, 127, 128, 131, 133, 134, 137, 138, 140, + 143, 145, 146, 148, 151, 152, 155, 157, 158, 161, 162, 164, 167, 168, + 171, 173, 174, 176, 179, 181, 182, 185, 186, 188, 191, 193, 194, 196, + 199, 200, 203, 205, 206, 208, 211, 213, 214, 217, 218, 220, 223, 224, + 227, 229, 230, 233, 234, 236, 239, 241, 242, 244, 247, 248, 251, 253, + 254 }; + +void des_key_set_parity( unsigned char key[DES_KEY_SIZE] ) +{ + int i; + + for( i = 0; i < DES_KEY_SIZE; i++ ) + key[i] = odd_parity_table[key[i] / 2]; +} + +/* + * Check the given key's parity, returns 1 on failure, 0 on SUCCESS + */ +int des_key_check_key_parity( const unsigned char key[DES_KEY_SIZE] ) +{ + int i; + + for( i = 0; i < DES_KEY_SIZE; i++ ) + if ( key[i] != odd_parity_table[key[i] / 2] ) + return( 1 ); + + return( 0 ); +} + +/* + * Table of weak and semi-weak keys + * + * Source: http://en.wikipedia.org/wiki/Weak_key + * + * Weak: + * Alternating ones + zeros (0x0101010101010101) + * Alternating 'F' + 'E' (0xFEFEFEFEFEFEFEFE) + * '0xE0E0E0E0F1F1F1F1' + * '0x1F1F1F1F0E0E0E0E' + * + * Semi-weak: + * 0x011F011F010E010E and 0x1F011F010E010E01 + * 0x01E001E001F101F1 and 0xE001E001F101F101 + * 0x01FE01FE01FE01FE and 0xFE01FE01FE01FE01 + * 0x1FE01FE00EF10EF1 and 0xE01FE01FF10EF10E + * 0x1FFE1FFE0EFE0EFE and 0xFE1FFE1FFE0EFE0E + * 0xE0FEE0FEF1FEF1FE and 0xFEE0FEE0FEF1FEF1 + * + */ + +#define WEAK_KEY_COUNT 16 + +static const unsigned char weak_key_table[WEAK_KEY_COUNT][DES_KEY_SIZE] = +{ + { 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 }, + { 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE }, + { 0x1F, 0x1F, 0x1F, 0x1F, 0x0E, 0x0E, 0x0E, 0x0E }, + { 0xE0, 0xE0, 0xE0, 0xE0, 0xF1, 0xF1, 0xF1, 0xF1 }, + + { 0x01, 0x1F, 0x01, 0x1F, 0x01, 0x0E, 0x01, 0x0E }, + { 0x1F, 0x01, 0x1F, 0x01, 0x0E, 0x01, 0x0E, 0x01 }, + { 0x01, 0xE0, 0x01, 0xE0, 0x01, 0xF1, 0x01, 0xF1 }, + { 0xE0, 0x01, 0xE0, 0x01, 0xF1, 0x01, 0xF1, 0x01 }, + { 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE }, + { 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01, 0xFE, 0x01 }, + { 0x1F, 0xE0, 0x1F, 0xE0, 0x0E, 0xF1, 0x0E, 0xF1 }, + { 0xE0, 0x1F, 0xE0, 0x1F, 0xF1, 0x0E, 0xF1, 0x0E }, + { 0x1F, 0xFE, 0x1F, 0xFE, 0x0E, 0xFE, 0x0E, 0xFE }, + { 0xFE, 0x1F, 0xFE, 0x1F, 0xFE, 0x0E, 0xFE, 0x0E }, + { 0xE0, 0xFE, 0xE0, 0xFE, 0xF1, 0xFE, 0xF1, 0xFE }, + { 0xFE, 0xE0, 0xFE, 0xE0, 0xFE, 0xF1, 0xFE, 0xF1 } +}; + +int des_key_check_weak( const unsigned char key[DES_KEY_SIZE] ) +{ + int i; + + for( i = 0; i < WEAK_KEY_COUNT; i++ ) + if( memcmp( weak_key_table[i], key, DES_KEY_SIZE) == 0) + return( 1 ); + + return( 0 ); +} + +static void des_setkey( uint32_t SK[32], const unsigned char key[DES_KEY_SIZE] ) +{ + int i; + uint32_t X, Y, T; + + GET_UINT32_BE( X, key, 0 ); + GET_UINT32_BE( Y, key, 4 ); + + /* + * Permuted Choice 1 + */ + T = ((Y >> 4) ^ X) & 0x0F0F0F0F; X ^= T; Y ^= (T << 4); + T = ((Y ) ^ X) & 0x10101010; X ^= T; Y ^= (T ); + + X = (LHs[ (X ) & 0xF] << 3) | (LHs[ (X >> 8) & 0xF ] << 2) + | (LHs[ (X >> 16) & 0xF] << 1) | (LHs[ (X >> 24) & 0xF ] ) + | (LHs[ (X >> 5) & 0xF] << 7) | (LHs[ (X >> 13) & 0xF ] << 6) + | (LHs[ (X >> 21) & 0xF] << 5) | (LHs[ (X >> 29) & 0xF ] << 4); + + Y = (RHs[ (Y >> 1) & 0xF] << 3) | (RHs[ (Y >> 9) & 0xF ] << 2) + | (RHs[ (Y >> 17) & 0xF] << 1) | (RHs[ (Y >> 25) & 0xF ] ) + | (RHs[ (Y >> 4) & 0xF] << 7) | (RHs[ (Y >> 12) & 0xF ] << 6) + | (RHs[ (Y >> 20) & 0xF] << 5) | (RHs[ (Y >> 28) & 0xF ] << 4); + + X &= 0x0FFFFFFF; + Y &= 0x0FFFFFFF; + + /* + * calculate subkeys + */ + for( i = 0; i < 16; i++ ) + { + if( i < 2 || i == 8 || i == 15 ) + { + X = ((X << 1) | (X >> 27)) & 0x0FFFFFFF; + Y = ((Y << 1) | (Y >> 27)) & 0x0FFFFFFF; + } + else + { + X = ((X << 2) | (X >> 26)) & 0x0FFFFFFF; + Y = ((Y << 2) | (Y >> 26)) & 0x0FFFFFFF; + } + + *SK++ = ((X << 4) & 0x24000000) | ((X << 28) & 0x10000000) + | ((X << 14) & 0x08000000) | ((X << 18) & 0x02080000) + | ((X << 6) & 0x01000000) | ((X << 9) & 0x00200000) + | ((X >> 1) & 0x00100000) | ((X << 10) & 0x00040000) + | ((X << 2) & 0x00020000) | ((X >> 10) & 0x00010000) + | ((Y >> 13) & 0x00002000) | ((Y >> 4) & 0x00001000) + | ((Y << 6) & 0x00000800) | ((Y >> 1) & 0x00000400) + | ((Y >> 14) & 0x00000200) | ((Y ) & 0x00000100) + | ((Y >> 5) & 0x00000020) | ((Y >> 10) & 0x00000010) + | ((Y >> 3) & 0x00000008) | ((Y >> 18) & 0x00000004) + | ((Y >> 26) & 0x00000002) | ((Y >> 24) & 0x00000001); + + *SK++ = ((X << 15) & 0x20000000) | ((X << 17) & 0x10000000) + | ((X << 10) & 0x08000000) | ((X << 22) & 0x04000000) + | ((X >> 2) & 0x02000000) | ((X << 1) & 0x01000000) + | ((X << 16) & 0x00200000) | ((X << 11) & 0x00100000) + | ((X << 3) & 0x00080000) | ((X >> 6) & 0x00040000) + | ((X << 15) & 0x00020000) | ((X >> 4) & 0x00010000) + | ((Y >> 2) & 0x00002000) | ((Y << 8) & 0x00001000) + | ((Y >> 14) & 0x00000808) | ((Y >> 9) & 0x00000400) + | ((Y ) & 0x00000200) | ((Y << 7) & 0x00000100) + | ((Y >> 7) & 0x00000020) | ((Y >> 3) & 0x00000011) + | ((Y << 2) & 0x00000004) | ((Y >> 21) & 0x00000002); + } +} + +/* + * DES key schedule (56-bit, encryption) + */ +int des_setkey_enc( des_context *ctx, const unsigned char key[DES_KEY_SIZE] ) +{ + des_setkey( ctx->sk, key ); + + return( 0 ); +} + +/* + * DES key schedule (56-bit, decryption) + */ +int des_setkey_dec( des_context *ctx, const unsigned char key[DES_KEY_SIZE] ) +{ + int i; + + des_setkey( ctx->sk, key ); + + for( i = 0; i < 16; i += 2 ) + { + SWAP( ctx->sk[i ], ctx->sk[30 - i] ); + SWAP( ctx->sk[i + 1], ctx->sk[31 - i] ); + } + + return( 0 ); +} + +static void des3_set2key( uint32_t esk[96], + uint32_t dsk[96], + const unsigned char key[DES_KEY_SIZE*2] ) +{ + int i; + + des_setkey( esk, key ); + des_setkey( dsk + 32, key + 8 ); + + for( i = 0; i < 32; i += 2 ) + { + dsk[i ] = esk[30 - i]; + dsk[i + 1] = esk[31 - i]; + + esk[i + 32] = dsk[62 - i]; + esk[i + 33] = dsk[63 - i]; + + esk[i + 64] = esk[i ]; + esk[i + 65] = esk[i + 1]; + + dsk[i + 64] = dsk[i ]; + dsk[i + 65] = dsk[i + 1]; + } +} + +/* + * Triple-DES key schedule (112-bit, encryption) + */ +int des3_set2key_enc( des3_context *ctx, const unsigned char key[DES_KEY_SIZE * 2] ) +{ + uint32_t sk[96]; + + des3_set2key( ctx->sk, sk, key ); + memset( sk, 0, sizeof( sk ) ); + + return( 0 ); +} + +/* + * Triple-DES key schedule (112-bit, decryption) + */ +int des3_set2key_dec( des3_context *ctx, const unsigned char key[DES_KEY_SIZE * 2] ) +{ + uint32_t sk[96]; + + des3_set2key( sk, ctx->sk, key ); + memset( sk, 0, sizeof( sk ) ); + + return( 0 ); +} + +static void des3_set3key( uint32_t esk[96], + uint32_t dsk[96], + const unsigned char key[24] ) +{ + int i; + + des_setkey( esk, key ); + des_setkey( dsk + 32, key + 8 ); + des_setkey( esk + 64, key + 16 ); + + for( i = 0; i < 32; i += 2 ) + { + dsk[i ] = esk[94 - i]; + dsk[i + 1] = esk[95 - i]; + + esk[i + 32] = dsk[62 - i]; + esk[i + 33] = dsk[63 - i]; + + dsk[i + 64] = esk[30 - i]; + dsk[i + 65] = esk[31 - i]; + } +} + +/* + * Triple-DES key schedule (168-bit, encryption) + */ +int des3_set3key_enc( des3_context *ctx, const unsigned char key[DES_KEY_SIZE * 3] ) +{ + uint32_t sk[96]; + + des3_set3key( ctx->sk, sk, key ); + memset( sk, 0, sizeof( sk ) ); + + return( 0 ); +} + +/* + * Triple-DES key schedule (168-bit, decryption) + */ +int des3_set3key_dec( des3_context *ctx, const unsigned char key[DES_KEY_SIZE * 3] ) +{ + uint32_t sk[96]; + + des3_set3key( sk, ctx->sk, key ); + memset( sk, 0, sizeof( sk ) ); + + return( 0 ); +} + +/* + * DES-ECB block encryption/decryption + */ +int des_crypt_ecb( des_context *ctx, + const unsigned char input[8], + unsigned char output[8] ) +{ + int i; + uint32_t X, Y, T, *SK; + + SK = ctx->sk; + + GET_UINT32_BE( X, input, 0 ); + GET_UINT32_BE( Y, input, 4 ); + + DES_IP( X, Y ); + + for( i = 0; i < 8; i++ ) + { + DES_ROUND( Y, X ); + DES_ROUND( X, Y ); + } + + DES_FP( Y, X ); + + PUT_UINT32_BE( Y, output, 0 ); + PUT_UINT32_BE( X, output, 4 ); + + return( 0 ); +} + +#if defined(POLARSSL_CIPHER_MODE_CBC) +/* + * DES-CBC buffer encryption/decryption + */ +int des_crypt_cbc( des_context *ctx, + int mode, + size_t length, + unsigned char iv[8], + const unsigned char *input, + unsigned char *output ) +{ + int i; + unsigned char temp[8]; + + if( length % 8 ) + return( POLARSSL_ERR_DES_INVALID_INPUT_LENGTH ); + + if( mode == DES_ENCRYPT ) + { + while( length > 0 ) + { + for( i = 0; i < 8; i++ ) + output[i] = (unsigned char)( input[i] ^ iv[i] ); + + des_crypt_ecb( ctx, output, output ); + memcpy( iv, output, 8 ); + + input += 8; + output += 8; + length -= 8; + } + } + else /* DES_DECRYPT */ + { + while( length > 0 ) + { + memcpy( temp, input, 8 ); + des_crypt_ecb( ctx, input, output ); + + for( i = 0; i < 8; i++ ) + output[i] = (unsigned char)( output[i] ^ iv[i] ); + + memcpy( iv, temp, 8 ); + + input += 8; + output += 8; + length -= 8; + } + } + + return( 0 ); +} +#endif /* POLARSSL_CIPHER_MODE_CBC */ + +/* + * 3DES-ECB block encryption/decryption + */ +int des3_crypt_ecb( des3_context *ctx, + const unsigned char input[8], + unsigned char output[8] ) +{ + int i; + uint32_t X, Y, T, *SK; + + SK = ctx->sk; + + GET_UINT32_BE( X, input, 0 ); + GET_UINT32_BE( Y, input, 4 ); + + DES_IP( X, Y ); + + for( i = 0; i < 8; i++ ) + { + DES_ROUND( Y, X ); + DES_ROUND( X, Y ); + } + + for( i = 0; i < 8; i++ ) + { + DES_ROUND( X, Y ); + DES_ROUND( Y, X ); + } + + for( i = 0; i < 8; i++ ) + { + DES_ROUND( Y, X ); + DES_ROUND( X, Y ); + } + + DES_FP( Y, X ); + + PUT_UINT32_BE( Y, output, 0 ); + PUT_UINT32_BE( X, output, 4 ); + + return( 0 ); +} + +#if defined(POLARSSL_CIPHER_MODE_CBC) +/* + * 3DES-CBC buffer encryption/decryption + */ +int des3_crypt_cbc( des3_context *ctx, + int mode, + size_t length, + unsigned char iv[8], + const unsigned char *input, + unsigned char *output ) +{ + int i; + unsigned char temp[8]; + + if( length % 8 ) + return( POLARSSL_ERR_DES_INVALID_INPUT_LENGTH ); + + if( mode == DES_ENCRYPT ) + { + while( length > 0 ) + { + for( i = 0; i < 8; i++ ) + output[i] = (unsigned char)( input[i] ^ iv[i] ); + + des3_crypt_ecb( ctx, output, output ); + memcpy( iv, output, 8 ); + + input += 8; + output += 8; + length -= 8; + } + } + else /* DES_DECRYPT */ + { + while( length > 0 ) + { + memcpy( temp, input, 8 ); + des3_crypt_ecb( ctx, input, output ); + + for( i = 0; i < 8; i++ ) + output[i] = (unsigned char)( output[i] ^ iv[i] ); + + memcpy( iv, temp, 8 ); + + input += 8; + output += 8; + length -= 8; + } + } + + return( 0 ); +} +#endif /* POLARSSL_CIPHER_MODE_CBC */ + +#endif /* !POLARSSL_DES_ALT */ + +#if defined(POLARSSL_SELF_TEST) + +#include + +/* + * DES and 3DES test vectors from: + * + * http://csrc.nist.gov/groups/STM/cavp/documents/des/tripledes-vectors.zip + */ +static const unsigned char des3_test_keys[24] = +{ + 0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF, + 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF, 0x01, + 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF, 0x01, 0x23 +}; + +static const unsigned char des3_test_buf[8] = +{ + 0x4E, 0x6F, 0x77, 0x20, 0x69, 0x73, 0x20, 0x74 +}; + +static const unsigned char des3_test_ecb_dec[3][8] = +{ + { 0xCD, 0xD6, 0x4F, 0x2F, 0x94, 0x27, 0xC1, 0x5D }, + { 0x69, 0x96, 0xC8, 0xFA, 0x47, 0xA2, 0xAB, 0xEB }, + { 0x83, 0x25, 0x39, 0x76, 0x44, 0x09, 0x1A, 0x0A } +}; + +static const unsigned char des3_test_ecb_enc[3][8] = +{ + { 0x6A, 0x2A, 0x19, 0xF4, 0x1E, 0xCA, 0x85, 0x4B }, + { 0x03, 0xE6, 0x9F, 0x5B, 0xFA, 0x58, 0xEB, 0x42 }, + { 0xDD, 0x17, 0xE8, 0xB8, 0xB4, 0x37, 0xD2, 0x32 } +}; + +#if defined(POLARSSL_CIPHER_MODE_CBC) +static const unsigned char des3_test_iv[8] = +{ + 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF, +}; + +static const unsigned char des3_test_cbc_dec[3][8] = +{ + { 0x12, 0x9F, 0x40, 0xB9, 0xD2, 0x00, 0x56, 0xB3 }, + { 0x47, 0x0E, 0xFC, 0x9A, 0x6B, 0x8E, 0xE3, 0x93 }, + { 0xC5, 0xCE, 0xCF, 0x63, 0xEC, 0xEC, 0x51, 0x4C } +}; + +static const unsigned char des3_test_cbc_enc[3][8] = +{ + { 0x54, 0xF1, 0x5A, 0xF6, 0xEB, 0xE3, 0xA4, 0xB4 }, + { 0x35, 0x76, 0x11, 0x56, 0x5F, 0xA1, 0x8E, 0x4D }, + { 0xCB, 0x19, 0x1F, 0x85, 0xD1, 0xED, 0x84, 0x39 } +}; +#endif /* POLARSSL_CIPHER_MODE_CBC */ + +/* + * Checkup routine + */ +int des_self_test( int verbose ) +{ + int i, j, u, v; + des_context ctx; + des3_context ctx3; + unsigned char key[24]; + unsigned char buf[8]; +#if defined(POLARSSL_CIPHER_MODE_CBC) + unsigned char prv[8]; + unsigned char iv[8]; +#endif + + memset( key, 0, 24 ); + + /* + * ECB mode + */ + for( i = 0; i < 6; i++ ) + { + u = i >> 1; + v = i & 1; + + if( verbose != 0 ) + polarssl_printf( " DES%c-ECB-%3d (%s): ", + ( u == 0 ) ? ' ' : '3', 56 + u * 56, + ( v == DES_DECRYPT ) ? "dec" : "enc" ); + + memcpy( buf, des3_test_buf, 8 ); + + switch( i ) + { + case 0: + des_setkey_dec( &ctx, des3_test_keys ); + break; + + case 1: + des_setkey_enc( &ctx, des3_test_keys ); + break; + + case 2: + des3_set2key_dec( &ctx3, des3_test_keys ); + break; + + case 3: + des3_set2key_enc( &ctx3, des3_test_keys ); + break; + + case 4: + des3_set3key_dec( &ctx3, des3_test_keys ); + break; + + case 5: + des3_set3key_enc( &ctx3, des3_test_keys ); + break; + + default: + return( 1 ); + } + + for( j = 0; j < 10000; j++ ) + { + if( u == 0 ) + des_crypt_ecb( &ctx, buf, buf ); + else + des3_crypt_ecb( &ctx3, buf, buf ); + } + + if( ( v == DES_DECRYPT && + memcmp( buf, des3_test_ecb_dec[u], 8 ) != 0 ) || + ( v != DES_DECRYPT && + memcmp( buf, des3_test_ecb_enc[u], 8 ) != 0 ) ) + { + if( verbose != 0 ) + polarssl_printf( "failed\n" ); + + return( 1 ); + } + + if( verbose != 0 ) + polarssl_printf( "passed\n" ); + } + + if( verbose != 0 ) + polarssl_printf( "\n" ); + +#if defined(POLARSSL_CIPHER_MODE_CBC) + /* + * CBC mode + */ + for( i = 0; i < 6; i++ ) + { + u = i >> 1; + v = i & 1; + + if( verbose != 0 ) + polarssl_printf( " DES%c-CBC-%3d (%s): ", + ( u == 0 ) ? ' ' : '3', 56 + u * 56, + ( v == DES_DECRYPT ) ? "dec" : "enc" ); + + memcpy( iv, des3_test_iv, 8 ); + memcpy( prv, des3_test_iv, 8 ); + memcpy( buf, des3_test_buf, 8 ); + + switch( i ) + { + case 0: + des_setkey_dec( &ctx, des3_test_keys ); + break; + + case 1: + des_setkey_enc( &ctx, des3_test_keys ); + break; + + case 2: + des3_set2key_dec( &ctx3, des3_test_keys ); + break; + + case 3: + des3_set2key_enc( &ctx3, des3_test_keys ); + break; + + case 4: + des3_set3key_dec( &ctx3, des3_test_keys ); + break; + + case 5: + des3_set3key_enc( &ctx3, des3_test_keys ); + break; + + default: + return( 1 ); + } + + if( v == DES_DECRYPT ) + { + for( j = 0; j < 10000; j++ ) + { + if( u == 0 ) + des_crypt_cbc( &ctx, v, 8, iv, buf, buf ); + else + des3_crypt_cbc( &ctx3, v, 8, iv, buf, buf ); + } + } + else + { + for( j = 0; j < 10000; j++ ) + { + unsigned char tmp[8]; + + if( u == 0 ) + des_crypt_cbc( &ctx, v, 8, iv, buf, buf ); + else + des3_crypt_cbc( &ctx3, v, 8, iv, buf, buf ); + + memcpy( tmp, prv, 8 ); + memcpy( prv, buf, 8 ); + memcpy( buf, tmp, 8 ); + } + + memcpy( buf, prv, 8 ); + } + + if( ( v == DES_DECRYPT && + memcmp( buf, des3_test_cbc_dec[u], 8 ) != 0 ) || + ( v != DES_DECRYPT && + memcmp( buf, des3_test_cbc_enc[u], 8 ) != 0 ) ) + { + if( verbose != 0 ) + polarssl_printf( "failed\n" ); + + return( 1 ); + } + + if( verbose != 0 ) + polarssl_printf( "passed\n" ); + } +#endif /* POLARSSL_CIPHER_MODE_CBC */ + + if( verbose != 0 ) + polarssl_printf( "\n" ); + + return( 0 ); +} + +#endif + +#endif diff --git a/client/loclass/des.h b/client/loclass/des.h new file mode 100644 index 000000000..907d56b10 --- /dev/null +++ b/client/loclass/des.h @@ -0,0 +1,256 @@ +/** + * \file des.h + * + * \brief DES block cipher + * + * Copyright (C) 2006-2013, Brainspark B.V. + * + * This file is part of PolarSSL (http://www.polarssl.org) + * Lead Maintainer: Paul Bakker + * + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ +#ifndef POLARSSL_DES_H +#define POLARSSL_DES_H + +//#include "config.h" + +#include + +#if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32) +#include +typedef UINT32 uint32_t; +#else +#include +#endif + +#define DES_ENCRYPT 1 +#define DES_DECRYPT 0 + +#define POLARSSL_ERR_DES_INVALID_INPUT_LENGTH -0x0032 /**< The data input has an invalid length. */ + +#define DES_KEY_SIZE 8 + +#if !defined(POLARSSL_DES_ALT) +// Regular implementation +// + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \brief DES context structure + */ +typedef struct +{ + int mode; /*!< encrypt/decrypt */ + uint32_t sk[32]; /*!< DES subkeys */ +} +des_context; + +/** + * \brief Triple-DES context structure + */ +typedef struct +{ + int mode; /*!< encrypt/decrypt */ + uint32_t sk[96]; /*!< 3DES subkeys */ +} +des3_context; + +/** + * \brief Set key parity on the given key to odd. + * + * DES keys are 56 bits long, but each byte is padded with + * a parity bit to allow verification. + * + * \param key 8-byte secret key + */ +void des_key_set_parity( unsigned char key[DES_KEY_SIZE] ); + +/** + * \brief Check that key parity on the given key is odd. + * + * DES keys are 56 bits long, but each byte is padded with + * a parity bit to allow verification. + * + * \param key 8-byte secret key + * + * \return 0 is parity was ok, 1 if parity was not correct. + */ +int des_key_check_key_parity( const unsigned char key[DES_KEY_SIZE] ); + +/** + * \brief Check that key is not a weak or semi-weak DES key + * + * \param key 8-byte secret key + * + * \return 0 if no weak key was found, 1 if a weak key was identified. + */ +int des_key_check_weak( const unsigned char key[DES_KEY_SIZE] ); + +/** + * \brief DES key schedule (56-bit, encryption) + * + * \param ctx DES context to be initialized + * \param key 8-byte secret key + * + * \return 0 + */ +int des_setkey_enc( des_context *ctx, const unsigned char key[DES_KEY_SIZE] ); + +/** + * \brief DES key schedule (56-bit, decryption) + * + * \param ctx DES context to be initialized + * \param key 8-byte secret key + * + * \return 0 + */ +int des_setkey_dec( des_context *ctx, const unsigned char key[DES_KEY_SIZE] ); + +/** + * \brief Triple-DES key schedule (112-bit, encryption) + * + * \param ctx 3DES context to be initialized + * \param key 16-byte secret key + * + * \return 0 + */ +int des3_set2key_enc( des3_context *ctx, const unsigned char key[DES_KEY_SIZE * 2] ); + +/** + * \brief Triple-DES key schedule (112-bit, decryption) + * + * \param ctx 3DES context to be initialized + * \param key 16-byte secret key + * + * \return 0 + */ +int des3_set2key_dec( des3_context *ctx, const unsigned char key[DES_KEY_SIZE * 2] ); + +/** + * \brief Triple-DES key schedule (168-bit, encryption) + * + * \param ctx 3DES context to be initialized + * \param key 24-byte secret key + * + * \return 0 + */ +int des3_set3key_enc( des3_context *ctx, const unsigned char key[DES_KEY_SIZE * 3] ); + +/** + * \brief Triple-DES key schedule (168-bit, decryption) + * + * \param ctx 3DES context to be initialized + * \param key 24-byte secret key + * + * \return 0 + */ +int des3_set3key_dec( des3_context *ctx, const unsigned char key[DES_KEY_SIZE * 3] ); + +/** + * \brief DES-ECB block encryption/decryption + * + * \param ctx DES context + * \param input 64-bit input block + * \param output 64-bit output block + * + * \return 0 if successful + */ +int des_crypt_ecb( des_context *ctx, + const unsigned char input[8], + unsigned char output[8] ); + +#if defined(POLARSSL_CIPHER_MODE_CBC) +/** + * \brief DES-CBC buffer encryption/decryption + * + * \param ctx DES context + * \param mode DES_ENCRYPT or DES_DECRYPT + * \param length length of the input data + * \param iv initialization vector (updated after use) + * \param input buffer holding the input data + * \param output buffer holding the output data + */ +int des_crypt_cbc( des_context *ctx, + int mode, + size_t length, + unsigned char iv[8], + const unsigned char *input, + unsigned char *output ); +#endif /* POLARSSL_CIPHER_MODE_CBC */ + +/** + * \brief 3DES-ECB block encryption/decryption + * + * \param ctx 3DES context + * \param input 64-bit input block + * \param output 64-bit output block + * + * \return 0 if successful + */ +int des3_crypt_ecb( des3_context *ctx, + const unsigned char input[8], + unsigned char output[8] ); + +#if defined(POLARSSL_CIPHER_MODE_CBC) +/** + * \brief 3DES-CBC buffer encryption/decryption + * + * \param ctx 3DES context + * \param mode DES_ENCRYPT or DES_DECRYPT + * \param length length of the input data + * \param iv initialization vector (updated after use) + * \param input buffer holding the input data + * \param output buffer holding the output data + * + * \return 0 if successful, or POLARSSL_ERR_DES_INVALID_INPUT_LENGTH + */ +int des3_crypt_cbc( des3_context *ctx, + int mode, + size_t length, + unsigned char iv[8], + const unsigned char *input, + unsigned char *output ); +#endif /* POLARSSL_CIPHER_MODE_CBC */ + +#ifdef __cplusplus +} +#endif + +#else /* POLARSSL_DES_ALT */ +#include "des_alt.h" +#endif /* POLARSSL_DES_ALT */ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \brief Checkup routine + * + * \return 0 if successful, or 1 if the test failed + */ +int des_self_test( int verbose ); + +#ifdef __cplusplus +} +#endif + +#endif /* des.h */ diff --git a/client/loclass/elite_crack.c b/client/loclass/elite_crack.c new file mode 100644 index 000000000..1a464b6cd --- /dev/null +++ b/client/loclass/elite_crack.c @@ -0,0 +1,656 @@ +#include +#include +#include +#include +#include +#include "cipherutils.h" +#include "cipher.h" +#include "ikeys.h" +#include "elite_crack.h" +#include "fileutils.h" +#include "des.h" + +/** + * @brief Permutes a key from standard NIST format to Iclass specific format + * from http://www.proxmark.org/forum/viewtopic.php?pid=11220#p11220 + * + * If you permute [6c 8d 44 f9 2a 2d 01 bf] you get [8a 0d b9 88 bb a7 90 ea] as shown below. + * + * 1 0 1 1 1 1 1 1 bf + * 0 0 0 0 0 0 0 1 01 + * 0 0 1 0 1 1 0 1 2d + * 0 0 1 0 1 0 1 0 2a + * 1 1 1 1 1 0 0 1 f9 + * 0 1 0 0 0 1 0 0 44 + * 1 0 0 0 1 1 0 1 8d + * 0 1 1 0 1 1 0 0 6c + * + * 8 0 b 8 b a 9 e + * a d 9 8 b 7 0 a + * + * @param key + * @param dest + */ +void permutekey(uint8_t key[8], uint8_t dest[8]) +{ + + int i; + for(i = 0 ; i < 8 ; i++) + { + dest[i] = (((key[7] & (0x80 >> i)) >> (7-i)) << 7) | + (((key[6] & (0x80 >> i)) >> (7-i)) << 6) | + (((key[5] & (0x80 >> i)) >> (7-i)) << 5) | + (((key[4] & (0x80 >> i)) >> (7-i)) << 4) | + (((key[3] & (0x80 >> i)) >> (7-i)) << 3) | + (((key[2] & (0x80 >> i)) >> (7-i)) << 2) | + (((key[1] & (0x80 >> i)) >> (7-i)) << 1) | + (((key[0] & (0x80 >> i)) >> (7-i)) << 0); + } + + return; +} +/** + * Permutes a key from iclass specific format to NIST format + * @brief permutekey_rev + * @param key + * @param dest + */ +void permutekey_rev(uint8_t key[8], uint8_t dest[8]) +{ + int i; + for(i = 0 ; i < 8 ; i++) + { + dest[7-i] = (((key[0] & (0x80 >> i)) >> (7-i)) << 7) | + (((key[1] & (0x80 >> i)) >> (7-i)) << 6) | + (((key[2] & (0x80 >> i)) >> (7-i)) << 5) | + (((key[3] & (0x80 >> i)) >> (7-i)) << 4) | + (((key[4] & (0x80 >> i)) >> (7-i)) << 3) | + (((key[5] & (0x80 >> i)) >> (7-i)) << 2) | + (((key[6] & (0x80 >> i)) >> (7-i)) << 1) | + (((key[7] & (0x80 >> i)) >> (7-i)) << 0); + } +} + +/** + * Helper function for hash1 + * @brief rr + * @param val + * @return + */ +uint8_t rr(uint8_t val) +{ + return val >> 1 | (( val & 1) << 7); +} +/** + * Helper function for hash1 + * @brief rl + * @param val + * @return + */ +uint8_t rl(uint8_t val) +{ + return val << 1 | (( val & 0x80) >> 7); +} +/** + * Helper function for hash1 + * @brief swap + * @param val + * @return + */ +uint8_t swap(uint8_t val) +{ + return ((val >> 4) & 0xFF) | ((val &0xFF) << 4); +} + +/** + * Hash1 takes CSN as input, and determines what bytes in the keytable will be used + * when constructing the K_sel. + * @param csn the CSN used + * @param k output + */ +void hash1(uint8_t csn[] , uint8_t k[]) +{ + k[0] = csn[0]^csn[1]^csn[2]^csn[3]^csn[4]^csn[5]^csn[6]^csn[7]; + k[1] = csn[0]+csn[1]+csn[2]+csn[3]+csn[4]+csn[5]+csn[6]+csn[7]; + k[2] = rr(swap( csn[2]+k[1] )); + k[3] = rr(swap( csn[3]+k[0] )); + k[4] = ~rr(swap( csn[4]+k[2] ))+1; + k[5] = ~rr(swap( csn[5]+k[3] ))+1; + k[6] = rr( csn[6]+(k[4]^0x3c) ); + k[7] = rl( csn[7]+(k[5]^0xc3) ); + int i; + for(i = 7; i >=0; i--) + k[i] = k[i] & 0x7F; +} +/** +Definition 14. Define the rotate key function rk : (F 82 ) 8 脳 N 鈫 (F 82 ) 8 as +rk(x [0] . . . x [7] , 0) = x [0] . . . x [7] +rk(x [0] . . . x [7] , n + 1) = rk(rl(x [0] ) . . . rl(x [7] ), n) +**/ +void rk(uint8_t *key, uint8_t n, uint8_t *outp_key) +{ + + memcpy(outp_key, key, 8); + + uint8_t j; + + while(n-- > 0) + for(j=0; j < 8 ; j++) + outp_key[j] = rl(outp_key[j]); + + return; +} + +static des_context ctx_enc = {DES_ENCRYPT,{0}}; +static des_context ctx_dec = {DES_DECRYPT,{0}}; + +void desdecrypt_iclass(uint8_t *iclass_key, uint8_t *input, uint8_t *output) +{ + uint8_t key_std_format[8] = {0}; + permutekey_rev(iclass_key, key_std_format); + des_setkey_dec( &ctx_dec, key_std_format); + des_crypt_ecb(&ctx_dec,input,output); +} +void desencrypt_iclass(uint8_t *iclass_key, uint8_t *input, uint8_t *output) +{ + uint8_t key_std_format[8] = {0}; + permutekey_rev(iclass_key, key_std_format); + des_setkey_enc( &ctx_enc, key_std_format); + des_crypt_ecb(&ctx_enc,input,output); +} + +/** + * @brief Insert uint8_t[8] custom master key to calculate hash2 and return key_select. + * @param key unpermuted custom key + * @param hash1 hash1 + * @param key_sel output key_sel=h[hash1[i]] + */ +void hash2(uint8_t *key64, uint8_t *outp_keytable) +{ + /** + *Expected: + * High Security Key Table + +00 F1 35 59 A1 0D 5A 26 7F 18 60 0B 96 8A C0 25 C1 +10 BF A1 3B B0 FF 85 28 75 F2 1F C6 8F 0E 74 8F 21 +20 14 7A 55 16 C8 A9 7D B3 13 0C 5D C9 31 8D A9 B2 +30 A3 56 83 0F 55 7E DE 45 71 21 D2 6D C1 57 1C 9C +40 78 2F 64 51 42 7B 64 30 FA 26 51 76 D3 E0 FB B6 +50 31 9F BF 2F 7E 4F 94 B4 BD 4F 75 91 E3 1B EB 42 +60 3F 88 6F B8 6C 2C 93 0D 69 2C D5 20 3C C1 61 95 +70 43 08 A0 2F FE B3 26 D7 98 0B 34 7B 47 70 A0 AB + +**** The 64-bit HS Custom Key Value = 5B7C62C491C11B39 ******/ + uint8_t key64_negated[8] = {0}; + uint8_t z[8][8]={{0},{0}}; + uint8_t temp_output[8]={0}; + //calculate complement of key + int i; + for(i=0;i<8;i++) + key64_negated[i]= ~key64[i]; + + // Once again, key is on iclass-format + desencrypt_iclass(key64, key64_negated, z[0]); + + prnlog("\nHigh security custom key (Kcus):"); + printvar("z0 ", z[0],8); + + uint8_t y[8][8]={{0},{0}}; + + // y[0]=DES_dec(z[0],~key) + // Once again, key is on iclass-format + desdecrypt_iclass(z[0], key64_negated, y[0]); + printvar("y0 ", y[0],8); + + for(i=1; i<8; i++) + { + + // z [i] = DES dec (rk(K cus , i), z [i鈭1] ) + rk(key64, i, temp_output); + //y [i] = DES enc (rk(K cus , i), y [i鈭1] ) + + desdecrypt_iclass(temp_output,z[i-1], z[i]); + desencrypt_iclass(temp_output,y[i-1], y[i]); + + } + if(outp_keytable != NULL) + { + for(i = 0 ; i < 8 ; i++) + { + memcpy(outp_keytable+i*16,y[i],8); + memcpy(outp_keytable+8+i*16,z[i],8); + } + }else + { + printarr_human_readable("hash2", outp_keytable,128); + } +} + +/** + * @brief Reads data from the iclass-reader-attack dump file. + * @param dump, data from a iclass reader attack dump. The format of the dumpdata is expected to be as follows: + * <8 byte CSN><8 byte CC><4 byte NR><4 byte MAC><8 byte HASH1><1 byte NUM_BYTES_TO_RECOVER><3 bytes BYTES_TO_RECOVER> + * .. N times... + * + * So the first attack, with 3 bytes to recover would be : ... 03000145 + * And a later attack, with 1 byte to recover (byte 0x5)would be : ...01050000 + * And an attack, with 2 bytes to recover (byte 0x5 and byte 0x07 )would be : ...02050700 + * + * @param cc_nr an array to store cc_nr into (12 bytes) + * @param csn an arracy ot store CSN into (8 bytes) + * @param received_mac an array to store MAC into (4 bytes) + * @param i the number to read. Should be less than 127, or something is wrong... + * @return + */ +int _readFromDump(uint8_t dump[], dumpdata* item, uint8_t i) +{ + size_t itemsize = sizeof(dumpdata); + //dumpdata item = {0}; + memcpy(item,dump+i*itemsize, itemsize); + if(true) + { + printvar("csn", item->csn,8); + printvar("cc_nr", item->cc_nr,12); + printvar("mac", item->mac,4); + } + return 0; +} + +static uint32_t startvalue = 0; +/** + * @brief Performs brute force attack against a dump-data item, containing csn, cc_nr and mac. + *This method calculates the hash1 for the CSN, and determines what bytes need to be bruteforced + *on the fly. If it finds that more than three bytes need to be bruteforced, it aborts. + *It updates the keytable with the findings, also using the upper half of the 16-bit ints + *to signal if the particular byte has been cracked or not. + * + * @param dump The dumpdata from iclass reader attack. + * @param keytable where to write found values. + * @return + */ +int bruteforceItem(dumpdata item, uint16_t keytable[]) +{ + int errors = 0; + uint8_t key_sel_p[8] = { 0 }; + uint8_t div_key[8] = {0}; + int found = false; + uint8_t key_sel[8] = {0}; + uint8_t calculated_MAC[4] = { 0 }; + + //Get the key index (hash1) + uint8_t key_index[8] = {0}; + hash1(item.csn, key_index); + + + /* + * Determine which bytes to retrieve. A hash is typically + * 01010000454501 + * We go through that hash, and in the corresponding keytable, we put markers + * on what state that particular index is: + * - CRACKED (this has already been cracked) + * - BEING_CRACKED (this is being bruteforced now) + * - CRACK_FAILED (self-explaining...) + * + * The markers are placed in the high area of the 16 bit key-table. + * Only the lower eight bits correspond to the (hopefully cracked) key-value. + **/ + uint8_t bytes_to_recover[3] = {0}; + uint8_t numbytes_to_recover = 0 ; + int i; + for(i =0 ; i < 8 ; i++) + { + if(keytable[key_index[i]] & (CRACKED | BEING_CRACKED)) continue; + bytes_to_recover[numbytes_to_recover++] = key_index[i]; + keytable[key_index[i]] |= BEING_CRACKED; + + if(numbytes_to_recover > 3) + { + prnlog("The CSN requires > 3 byte bruteforce, not supported"); + printvar("CSN", item.csn,8); + printvar("HASH1", key_index,8); + + //Before we exit, reset the 'BEING_CRACKED' to zero + keytable[bytes_to_recover[0]] &= ~BEING_CRACKED; + keytable[bytes_to_recover[1]] &= ~BEING_CRACKED; + keytable[bytes_to_recover[2]] &= ~BEING_CRACKED; + + return 1; + } + } + + /* + *A uint32 has room for 4 bytes, we'll only need 24 of those bits to bruteforce up to three bytes, + */ + uint32_t brute = startvalue; + /* + Determine where to stop the bruteforce. A 1-byte attack stops after 256 tries, + (when brute reaches 0x100). And so on... + bytes_to_recover = 1 --> endmask = 0x0000100 + bytes_to_recover = 2 --> endmask = 0x0010000 + bytes_to_recover = 3 --> endmask = 0x1000000 + */ + + uint32_t endmask = 1 << 8*numbytes_to_recover; + + for(i =0 ; i < numbytes_to_recover && numbytes_to_recover > 1; i++) + prnlog("Bruteforcing byte %d", bytes_to_recover[i]); + + while(!found && !(brute & endmask)) + { + + //Update the keytable with the brute-values + for(i =0 ; i < numbytes_to_recover; i++) + { + keytable[bytes_to_recover[i]] &= 0xFF00; + keytable[bytes_to_recover[i]] |= (brute >> (i*8) & 0xFF); + } + + // Piece together the key + key_sel[0] = keytable[key_index[0]] & 0xFF;key_sel[1] = keytable[key_index[1]] & 0xFF; + key_sel[2] = keytable[key_index[2]] & 0xFF;key_sel[3] = keytable[key_index[3]] & 0xFF; + key_sel[4] = keytable[key_index[4]] & 0xFF;key_sel[5] = keytable[key_index[5]] & 0xFF; + key_sel[6] = keytable[key_index[6]] & 0xFF;key_sel[7] = keytable[key_index[7]] & 0xFF; + + //Permute from iclass format to standard format + permutekey_rev(key_sel,key_sel_p); + //Diversify + diversifyKey(item.csn, key_sel_p, div_key); + //Calc mac + doMAC(item.cc_nr,12, div_key,calculated_MAC); + + if(memcmp(calculated_MAC, item.mac, 4) == 0) + { + for(i =0 ; i < numbytes_to_recover; i++) + prnlog("=> %d: 0x%02x", bytes_to_recover[i],0xFF & keytable[bytes_to_recover[i]]); + found = true; + break; + } + brute++; + if((brute & 0xFFFF) == 0) + { + printf("%d",(brute >> 16) & 0xFF); + fflush(stdout); + } + } + if(! found) + { + prnlog("Failed to recover %d bytes using the following CSN",numbytes_to_recover); + printvar("CSN",item.csn,8); + errors++; + //Before we exit, reset the 'BEING_CRACKED' to zero + for(i =0 ; i < numbytes_to_recover; i++) + { + keytable[bytes_to_recover[i]] &= 0xFF; + keytable[bytes_to_recover[i]] |= CRACK_FAILED; + } + + }else + { + for(i =0 ; i < numbytes_to_recover; i++) + { + keytable[bytes_to_recover[i]] &= 0xFF; + keytable[bytes_to_recover[i]] |= CRACKED; + } + + } + return errors; +} + + +/** + * From dismantling iclass-paper: + * Assume that an adversary somehow learns the first 16 bytes of hash2(K_cus ), i.e., y [0] and z [0] . + * Then he can simply recover the master custom key K_cus by computing + * K_cus = ~DES(z[0] , y[0] ) . + * + * Furthermore, the adversary is able to verify that he has the correct K cus by + * checking whether z [0] = DES enc (K_cus , ~K_cus ). + * @param keytable an array (128 bytes) of hash2(kcus) + * @param master_key where to put the master key + * @return 0 for ok, 1 for failz + */ +int calculateMasterKey(uint8_t first16bytes[], uint64_t master_key[] ) +{ + des_context ctx_e = {DES_ENCRYPT,{0}}; + + uint8_t z_0[8] = {0}; + uint8_t y_0[8] = {0}; + uint8_t z_0_rev[8] = {0}; + uint8_t key64[8] = {0}; + uint8_t key64_negated[8] = {0}; + uint8_t result[8] = {0}; + + // y_0 and z_0 are the first 16 bytes of the keytable + memcpy(y_0,first16bytes,8); + memcpy(z_0,first16bytes+8,8); + + // Our DES-implementation uses the standard NIST + // format for keys, thus must translate from iclass + // format to NIST-format + permutekey_rev(z_0, z_0_rev); + + // ~K_cus = DESenc(z[0], y[0]) + des_setkey_enc( &ctx_e, z_0_rev ); + des_crypt_ecb(&ctx_e, y_0, key64_negated); + + int i; + for(i = 0; i < 8 ; i++) + { + key64[i] = ~key64_negated[i]; + } + + // Can we verify that the key is correct? + // Once again, key is on iclass-format + uint8_t key64_stdformat[8] = {0}; + permutekey_rev(key64, key64_stdformat); + + des_setkey_enc( &ctx_e, key64_stdformat ); + des_crypt_ecb(&ctx_e, key64_negated, result); + prnlog("\nHigh security custom key (Kcus):"); + printvar("Std format ", key64_stdformat,8); + printvar("Iclass format", key64,8); + + if(master_key != NULL) + memcpy(master_key, key64, 8); + + if(memcmp(z_0,result,4) != 0) + { + prnlog("Failed to verify calculated master key (k_cus)! Something is wrong."); + return 1; + }else{ + prnlog("Key verified ok!\n"); + } + return 0; +} +/** + * @brief Same as bruteforcefile, but uses a an array of dumpdata instead + * @param dump + * @param dumpsize + * @param keytable + * @return + */ +int bruteforceDump(uint8_t dump[], size_t dumpsize, uint16_t keytable[]) +{ + uint8_t i; + int errors = 0; + size_t itemsize = sizeof(dumpdata); + clock_t t1 = clock(); + + dumpdata* attack = (dumpdata* ) malloc(itemsize); + + for(i = 0 ; i * itemsize < dumpsize ; i++ ) + { + memcpy(attack,dump+i*itemsize, itemsize); + errors += bruteforceItem(*attack, keytable); + } + free(attack); + clock_t t2 = clock(); + float diff = (((float)t2 - (float)t1) / CLOCKS_PER_SEC ); + prnlog("\nPerformed full crack in %f seconds",diff); + + // Pick out the first 16 bytes of the keytable. + // The keytable is now in 16-bit ints, where the upper 8 bits + // indicate crack-status. Those must be discarded for the + // master key calculation + uint8_t first16bytes[16] = {0}; + + for(i = 0 ; i < 16 ; i++) + { + first16bytes[i] = keytable[i] & 0xFF; + if(!(keytable[i] & CRACKED)) + { + prnlog("Error, we are missing byte %d, custom key calculation will fail...", i); + } + } + errors += calculateMasterKey(first16bytes, NULL); + return errors; +} +/** + * Perform a bruteforce against a file which has been saved by pm3 + * + * @brief bruteforceFile + * @param filename + * @return + */ +int bruteforceFile(const char *filename, uint16_t keytable[]) +{ + + FILE *f = fopen(filename, "rb"); + if(!f) { + prnlog("Failed to read from file '%s'", filename); + return 1; + } + + fseek(f, 0, SEEK_END); + long fsize = ftell(f); + fseek(f, 0, SEEK_SET); + + uint8_t *dump = malloc(fsize); + size_t bytes_read = fread(dump, fsize, 1, f); + + fclose(f); + if (bytes_read < fsize) + { + prnlog("Error, could only read %d bytes (should be %d)",bytes_read, fsize ); + } + return bruteforceDump(dump,fsize,keytable); +} +/** + * + * @brief Same as above, if you don't care about the returned keytable (results only printed on screen) + * @param filename + * @return + */ +int bruteforceFileNoKeys(const char *filename) +{ + uint16_t keytable[128] = {0}; + return bruteforceFile(filename, keytable); +} + +// --------------------------------------------------------------------------------- +// ALL CODE BELOW THIS LINE IS PURELY TESTING +// --------------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- +// TEST CODE BELOW +// ---------------------------------------------------------------------------- + +int _testBruteforce() +{ + int errors = 0; + if(true){ + // First test + prnlog("[+] Testing crack from dumpfile..."); + + /** + Expected values for the dumpfile: + High Security Key Table + + 00 F1 35 59 A1 0D 5A 26 7F 18 60 0B 96 8A C0 25 C1 + 10 BF A1 3B B0 FF 85 28 75 F2 1F C6 8F 0E 74 8F 21 + 20 14 7A 55 16 C8 A9 7D B3 13 0C 5D C9 31 8D A9 B2 + 30 A3 56 83 0F 55 7E DE 45 71 21 D2 6D C1 57 1C 9C + 40 78 2F 64 51 42 7B 64 30 FA 26 51 76 D3 E0 FB B6 + 50 31 9F BF 2F 7E 4F 94 B4 BD 4F 75 91 E3 1B EB 42 + 60 3F 88 6F B8 6C 2C 93 0D 69 2C D5 20 3C C1 61 95 + 70 43 08 A0 2F FE B3 26 D7 98 0B 34 7B 47 70 A0 AB + + **** The 64-bit HS Custom Key Value = 5B7C62C491C11B39 **** + **/ + uint16_t keytable[128] = {0}; + //save some time... + startvalue = 0x7B0000; + errors |= bruteforceFile("iclass_dump.bin",keytable); + } + return errors; +} + +int _test_iclass_key_permutation() +{ + uint8_t testcase[8] = {0x6c,0x8d,0x44,0xf9,0x2a,0x2d,0x01,0xbf}; + uint8_t testcase_output[8] = {0}; + uint8_t testcase_output_correct[8] = {0x8a,0x0d,0xb9,0x88,0xbb,0xa7,0x90,0xea}; + uint8_t testcase_output_rev[8] = {0}; + permutekey(testcase, testcase_output); + permutekey_rev(testcase_output, testcase_output_rev); + + + if(memcmp(testcase_output, testcase_output_correct,8) != 0) + { + prnlog("Error with iclass key permute!"); + printarr("testcase_output", testcase_output, 8); + printarr("testcase_output_correct", testcase_output_correct, 8); + return 1; + + } + if(memcmp(testcase, testcase_output_rev, 8) != 0) + { + prnlog("Error with reverse iclass key permute"); + printarr("testcase", testcase, 8); + printarr("testcase_output_rev", testcase_output_rev, 8); + return 1; + } + + prnlog("[+] Iclass key permutation OK!"); + return 0; +} + +int testElite() +{ + prnlog("[+] Testing iClass Elite functinality..."); + prnlog("[+] Testing hash2"); + uint8_t k_cus[8] = {0x5B,0x7C,0x62,0xC4,0x91,0xC1,0x1B,0x39}; + + /** + *Expected: + * High Security Key Table + +00 F1 35 59 A1 0D 5A 26 7F 18 60 0B 96 8A C0 25 C1 +10 BF A1 3B B0 FF 85 28 75 F2 1F C6 8F 0E 74 8F 21 +20 14 7A 55 16 C8 A9 7D B3 13 0C 5D C9 31 8D A9 B2 +30 A3 56 83 0F 55 7E DE 45 71 21 D2 6D C1 57 1C 9C +40 78 2F 64 51 42 7B 64 30 FA 26 51 76 D3 E0 FB B6 +50 31 9F BF 2F 7E 4F 94 B4 BD 4F 75 91 E3 1B EB 42 +60 3F 88 6F B8 6C 2C 93 0D 69 2C D5 20 3C C1 61 95 +70 43 08 A0 2F FE B3 26 D7 98 0B 34 7B 47 70 A0 AB + + + +**** The 64-bit HS Custom Key Value = 5B7C62C491C11B39 **** + */ + uint8_t keytable[128] = {0}; + hash2(k_cus, keytable); + printarr_human_readable("Hash2", keytable, 128); + if(keytable[3] == 0xA1 && keytable[0x30] == 0xA3 && keytable[0x6F] == 0x95) + { + prnlog("[+] Hash2 looks fine..."); + } + + prnlog("[+] Testing key diversification ..."); + + int errors = 0 ; + errors +=_test_iclass_key_permutation(); + errors += _testBruteforce(); + return errors; + +} + diff --git a/client/loclass/elite_crack.h b/client/loclass/elite_crack.h new file mode 100644 index 000000000..21004e599 --- /dev/null +++ b/client/loclass/elite_crack.h @@ -0,0 +1,108 @@ +#ifndef ELITE_CRACK_H +#define ELITE_CRACK_H +void permutekey(uint8_t key[8], uint8_t dest[8]); +/** + * Permutes a key from iclass specific format to NIST format + * @brief permutekey_rev + * @param key + * @param dest + */ +void permutekey_rev(uint8_t key[8], uint8_t dest[8]); +//Crack status, see below +#define CRACKED 0x0100 +#define BEING_CRACKED 0x0200 +#define CRACK_FAILED 0x0400 + +/** + * Perform a bruteforce against a file which has been saved by pm3 + * + * @brief bruteforceFile + * @param filename + * @param keytable an arrah (128 x 16 bit ints). This is where the keydata is stored. + * OBS! the upper part of the 16 bits store crack-status, + * @return + */ +int bruteforceFile(const char *filename, uint16_t keytable[]); +/** + * + * @brief Same as above, if you don't care about the returned keytable (results only printed on screen) + * @param filename + * @return + */ +int bruteforceFileNoKeys(const char *filename); +/** + * @brief Same as bruteforcefile, but uses a an array of dumpdata instead + * @param dump + * @param dumpsize + * @param keytable + * @return + */ +int bruteforceDump(uint8_t dump[], size_t dumpsize, uint16_t keytable[]); + +/** + This is how we expect each 'entry' in a dumpfile to look +**/ +typedef struct { + uint8_t csn[8]; + uint8_t cc_nr[12]; + uint8_t mac[4]; + +}dumpdata; + +/** + * @brief Performs brute force attack against a dump-data item, containing csn, cc_nr and mac. + *This method calculates the hash1 for the CSN, and determines what bytes need to be bruteforced + *on the fly. If it finds that more than three bytes need to be bruteforced, it aborts. + *It updates the keytable with the findings, also using the upper half of the 16-bit ints + *to signal if the particular byte has been cracked or not. + * + * @param dump The dumpdata from iclass reader attack. + * @param keytable where to write found values. + * @return + */ +int bruteforceItem(dumpdata item, uint16_t keytable[]); +/** + * Hash1 takes CSN as input, and determines what bytes in the keytable will be used + * when constructing the K_sel. + * @param csn the CSN used + * @param k output + */ +void hash1(uint8_t csn[] , uint8_t k[]); +void hash2(uint8_t *key64, uint8_t *outp_keytable); +/** + * From dismantling iclass-paper: + * Assume that an adversary somehow learns the first 16 bytes of hash2(K_cus ), i.e., y [0] and z [0] . + * Then he can simply recover the master custom key K_cus by computing + * K_cus = ~DES(z[0] , y[0] ) . + * + * Furthermore, the adversary is able to verify that he has the correct K cus by + * checking whether z [0] = DES enc (K_cus , ~K_cus ). + * @param keytable an array (128 bytes) of hash2(kcus) + * @param master_key where to put the master key + * @return 0 for ok, 1 for failz + */ +int calculateMasterKey(uint8_t first16bytes[], uint64_t master_key[] ); + +/** + * @brief Test function + * @return + */ +int testElite(); + +/** + Here are some pretty optimal values that can be used to recover necessary data in only + eight auth attempts. +// CSN HASH1 Bytes recovered // +{ {0x00,0x0B,0x0F,0xFF,0xF7,0xFF,0x12,0xE0} , {0x01,0x01,0x00,0x00,0x45,0x01,0x45,0x45 } ,{0,1 }}, +{ {0x00,0x13,0x94,0x7e,0x76,0xff,0x12,0xe0} , {0x02,0x0c,0x01,0x00,0x45,0x01,0x45,0x45} , {2,12}}, +{ {0x2a,0x99,0xac,0x79,0xec,0xff,0x12,0xe0} , {0x07,0x45,0x0b,0x00,0x45,0x01,0x45,0x45} , {7,11}}, +{ {0x17,0x12,0x01,0xfd,0xf7,0xff,0x12,0xe0} , {0x03,0x0f,0x00,0x00,0x45,0x01,0x45,0x45} , {3,15}}, +{ {0xcd,0x56,0x01,0x7c,0x6f,0xff,0x12,0xe0} , {0x04,0x00,0x08,0x00,0x45,0x01,0x45,0x45} , {4,8}}, +{ {0x4b,0x5e,0x0b,0x72,0xef,0xff,0x12,0xe0} , {0x0e,0x06,0x08,0x00,0x45,0x01,0x45,0x45} , {6,14}}, +{ {0x00,0x73,0xd8,0x75,0x58,0xff,0x12,0xe0} , {0x0b,0x09,0x0f,0x00,0x45,0x01,0x05,0x45} , {9,5}}, +{ {0x0c,0x90,0x32,0xf3,0x5d,0xff,0x12,0xe0} , {0x0d,0x0f,0x0a,0x00,0x45,0x01,0x05,0x45} , {10,13}}, + +**/ + + +#endif diff --git a/client/loclass/fileutils.c b/client/loclass/fileutils.c new file mode 100644 index 000000000..2f7b6b655 --- /dev/null +++ b/client/loclass/fileutils.c @@ -0,0 +1,65 @@ +#include +#include +#include +#include +#include +#include "fileutils.h" +#include "ui.h" +/** + * @brief checks if a file exists + * @param filename + * @return + */ +int fileExists(const char *filename) { + struct stat st; + int result = stat(filename, &st); + return result == 0; +} + +int saveFile(const char *preferredName, const char *suffix, const void* data, size_t datalen) +{ + int size = sizeof(char) * (strlen(preferredName)+strlen(suffix)+5); + char * fileName = malloc(size); + + memset(fileName,0,size); + int num = 1; + sprintf(fileName,"%s.%s", preferredName, suffix); + while(fileExists(fileName)) + { + sprintf(fileName,"%s-%d.%s", preferredName, num, suffix); + num++; + } + /* We should have a valid filename now, e.g. dumpdata-3.bin */ + + /*Opening file for writing in binary mode*/ + FILE *fileHandle=fopen(fileName,"wb"); + if(!fileHandle) { + prnlog("Failed to write to file '%s'", fileName); + return 1; + } + fwrite(data, 1, datalen, fileHandle); + fclose(fileHandle); + prnlog("Saved data to '%s'", fileName); + free(fileName); + + return 0; +} + +/** + * Utility function to print to console. This is used consistently within the library instead + * of printf, but it actually only calls printf (and adds a linebreak). + * The reason to have this method is to + * make it simple to plug this library into proxmark, which has this function already to + * write also to a logfile. When doing so, just delete this function. + * @param fmt + */ +void prnlog(char *fmt, ...) +{ + + va_list args; + va_start(args,fmt); + PrintAndLog(fmt, args); + //vprintf(fmt,args); + va_end(args); + //printf("\n"); +} diff --git a/client/loclass/fileutils.h b/client/loclass/fileutils.h new file mode 100644 index 000000000..a0f5a799e --- /dev/null +++ b/client/loclass/fileutils.h @@ -0,0 +1,24 @@ +#ifndef FILEUTILS_H +#define FILEUTILS_H +/** + * @brief Utility function to save data to a file. This method takes a preferred name, but if that + * file already exists, it tries with another name until it finds something suitable. + * E.g. dumpdata-15.txt + * @param preferredName + * @param suffix the file suffix. Leave out the ".". + * @param data The binary data to write to the file + * @param datalen the length of the data + * @return 0 for ok, 1 for failz + */ +int saveFile(const char *preferredName, const char *suffix, const void* data, size_t datalen); + + +/** + * Utility function to print to console. This is used consistently within the library instead + * of printf, but it actually only calls printf. The reason to have this method is to + *make it simple to plug this library into proxmark, which has this function already to + * write also to a logfile. When doing so, just point this function to use PrintAndLog + * @param fmt + */ +void prnlog(char *fmt, ...); +#endif // FILEUTILS_H diff --git a/client/loclass/ikeys.c b/client/loclass/ikeys.c new file mode 100644 index 000000000..cd2b72ee0 --- /dev/null +++ b/client/loclass/ikeys.c @@ -0,0 +1,878 @@ +/***************************************************************************** + * This file is part of iClassCipher. It is a reconstructon of the cipher engine + * used in iClass, and RFID techology. + * + * The implementation is based on the work performed by + * Flavio D. Garcia, Gerhard de Koning Gans, Roel Verdult and + * Milosch Meriac in the paper "Dismantling IClass". + * + * This is a reference implementation of iclass key diversification. I'm sure it can be + * optimized heavily. It is written for ease of understanding and correctness, please take it + * and tweak it and make a super fast version instead, using this for testing and verification. + + * Copyright (C) 2014 Martin Holst Swende + * + * This is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as published + * by the Free Software Foundation. + * + * This file is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with IClassCipher. If not, see . + ****************************************************************************/ +/** + + +From "Dismantling iclass": + This section describes in detail the built-in key diversification algorithm of iClass. + Besides the obvious purpose of deriving a card key from a master key, this + algorithm intends to circumvent weaknesses in the cipher by preventing the + usage of certain 鈥榳eak鈥 keys. In order to compute a diversified key, the iClass + reader first encrypts the card identity id with the master key K, using single + DES. The resulting ciphertext is then input to a function called hash0 which + outputs the diversified key k. + + k = hash0(DES enc (id, K)) + + Here the DES encryption of id with master key K outputs a cryptogram c + of 64 bits. These 64 bits are divided as c = x, y, z [0] , . . . , z [7] 鈭 F 82 脳 F 82 脳 (F 62 ) 8 + which is used as input to the hash0 function. This function introduces some + obfuscation by performing a number of permutations, complement and modulo + operations, see Figure 2.5. Besides that, it checks for and removes patterns like + similar key bytes, which could produce a strong bias in the cipher. Finally, the + output of hash0 is the diversified card key k = k [0] , . . . , k [7] 鈭 (F 82 ) 8 . + + +**/ + + +#include +#include +#include +#include +#include +#include "fileutils.h" +#include "cipherutils.h" +#include "des.h" + +uint8_t pi[35] = {0x0F,0x17,0x1B,0x1D,0x1E,0x27,0x2B,0x2D,0x2E,0x33,0x35,0x39,0x36,0x3A,0x3C,0x47,0x4B,0x4D,0x4E,0x53,0x55,0x56,0x59,0x5A,0x5C,0x63,0x65,0x66,0x69,0x6A,0x6C,0x71,0x72,0x74,0x78}; + +static des_context ctx_enc = {DES_ENCRYPT,{0}}; +static des_context ctx_dec = {DES_DECRYPT,{0}}; + +static int debug_print = 0; + +/** + * @brief The key diversification algorithm uses 6-bit bytes. + * This implementation uses 64 bit uint to pack seven of them into one + * variable. When they are there, they are placed as follows: + * XXXX XXXX N0 .... N7, occupying the lsat 48 bits. + * + * This function picks out one from such a collection + * @param all + * @param n bitnumber + * @return + */ +uint8_t getSixBitByte(uint64_t c, int n) +{ + return (c >> (42-6*n)) & 0x3F; +} + +/** + * @brief Puts back a six-bit 'byte' into a uint64_t. + * @param c buffer + * @param z the value to place there + * @param n bitnumber. + */ +void pushbackSixBitByte(uint64_t *c, uint8_t z, int n) +{ + //0x XXXX YYYY ZZZZ ZZZZ ZZZZ + // ^z0 ^z7 + //z0: 1111 1100 0000 0000 + + uint64_t masked = z & 0x3F; + uint64_t eraser = 0x3F; + masked <<= 42-6*n; + eraser <<= 42-6*n; + + //masked <<= 6*n; + //eraser <<= 6*n; + + eraser = ~eraser; + (*c) &= eraser; + (*c) |= masked; + +} +/** + * @brief Swaps the z-values. + * If the input value has format XYZ0Z1...Z7, the output will have the format + * XYZ7Z6...Z0 instead + * @param c + * @return + */ +uint64_t swapZvalues(uint64_t c) +{ + uint64_t newz = 0; + pushbackSixBitByte(&newz, getSixBitByte(c,0),7); + pushbackSixBitByte(&newz, getSixBitByte(c,1),6); + pushbackSixBitByte(&newz, getSixBitByte(c,2),5); + pushbackSixBitByte(&newz, getSixBitByte(c,3),4); + pushbackSixBitByte(&newz, getSixBitByte(c,4),3); + pushbackSixBitByte(&newz, getSixBitByte(c,5),2); + pushbackSixBitByte(&newz, getSixBitByte(c,6),1); + pushbackSixBitByte(&newz, getSixBitByte(c,7),0); + newz |= (c & 0xFFFF000000000000); + return newz; +} + +/** +* @return 4 six-bit bytes chunked into a uint64_t,as 00..00a0a1a2a3 +*/ +uint64_t ck(int i, int j, uint64_t z) +{ + + if(i == 1 && j == -1) + { + // ck(1, 鈭1, z [0] . . . z [3] ) = z [0] . . . z [3] + return z; + + }else if( j == -1) + { + // ck(i, 鈭1, z [0] . . . z [3] ) = ck(i 鈭 1, i 鈭 2, z [0] . . . z [3] ) + return ck(i-1,i-2, z); + } + + if(getSixBitByte(z,i) == getSixBitByte(z,j)) + { + + //ck(i, j 鈭 1, z [0] . . . z [i] 鈫 j . . . z [3] ) + uint64_t newz = 0; + int c; + for(c = 0; c < 4 ;c++) + { + uint8_t val = getSixBitByte(z,c); + if(c == i) + { + pushbackSixBitByte(&newz, j, c); + }else + { + pushbackSixBitByte(&newz, val, c); + } + } + return ck(i,j-1,newz); + }else + { + return ck(i,j-1,z); + } +} +/** + + Definition 8. + Let the function check : (F 62 ) 8 鈫 (F 62 ) 8 be defined as + check(z [0] . . . z [7] ) = ck(3, 2, z [0] . . . z [3] ) 路 ck(3, 2, z [4] . . . z [7] ) + + where ck : N 脳 N 脳 (F 62 ) 4 鈫 (F 62 ) 4 is defined as + + ck(1, 鈭1, z [0] . . . z [3] ) = z [0] . . . z [3] + ck(i, 鈭1, z [0] . . . z [3] ) = ck(i 鈭 1, i 鈭 2, z [0] . . . z [3] ) + ck(i, j, z [0] . . . z [3] ) = + ck(i, j 鈭 1, z [0] . . . z [i] 鈫 j . . . z [3] ), if z [i] = z [j] ; + ck(i, j 鈭 1, z [0] . . . z [3] ), otherwise + + otherwise. +**/ + +uint64_t check(uint64_t z) +{ + //These 64 bits are divided as c = x, y, z [0] , . . . , z [7] + + // ck(3, 2, z [0] . . . z [3] ) + uint64_t ck1 = ck(3,2, z ); + + // ck(3, 2, z [4] . . . z [7] ) + uint64_t ck2 = ck(3,2, z << 24); + + //The ck function will place the values + // in the middle of z. + ck1 &= 0x00000000FFFFFF000000; + ck2 &= 0x00000000FFFFFF000000; + + return ck1 | ck2 >> 24; + +} + +void permute(BitstreamIn *p_in, uint64_t z,int l,int r, BitstreamOut* out) +{ + if(bitsLeft(p_in) == 0) + { + return; + } + bool pn = tailBit(p_in); + if( pn ) // pn = 1 + { + uint8_t zl = getSixBitByte(z,l); + + push6bits(out, zl+1); + permute(p_in, z, l+1,r, out); + }else // otherwise + { + uint8_t zr = getSixBitByte(z,r); + + push6bits(out, zr); + permute(p_in,z,l,r+1,out); + } +} +void printbegin() +{ + if(debug_print <2) + return ; + + prnlog(" | x| y|z0|z1|z2|z3|z4|z5|z6|z7|"); +} + +void printState(char* desc, uint64_t c) +{ + if(debug_print < 2) + return ; + + printf("%s : ", desc); + uint8_t x = (c & 0xFF00000000000000 ) >> 56; + uint8_t y = (c & 0x00FF000000000000 ) >> 48; + printf(" %02x %02x", x,y); + int i ; + for(i =0 ; i < 8 ; i++) + { + printf(" %02x", getSixBitByte(c,i)); + } + printf("\n"); +} + +/** + * @brief + *Definition 11. Let the function hash0 : F 82 脳 F 82 脳 (F 62 ) 8 鈫 (F 82 ) 8 be defined as + * hash0(x, y, z [0] . . . z [7] ) = k [0] . . . k [7] where + * z'[i] = (z[i] mod (63-i)) + i i = 0...3 + * z'[i+4] = (z[i+4] mod (64-i)) + i i = 0...3 + * 岷 = check(z'); + * @param c + * @param k this is where the diversified key is put (should be 8 bytes) + * @return + */ +void hash0(uint64_t c, uint8_t k[8]) +{ + c = swapZvalues(c); + + printbegin(); + printState("origin",c); + //These 64 bits are divided as c = x, y, z [0] , . . . , z [7] + // x = 8 bits + // y = 8 bits + // z0-z7 6 bits each : 48 bits + uint8_t x = (c & 0xFF00000000000000 ) >> 56; + uint8_t y = (c & 0x00FF000000000000 ) >> 48; + int n; + uint8_t zn, zn4, _zn, _zn4; + uint64_t zP = 0; + + for(n = 0; n < 4 ; n++) + { + zn = getSixBitByte(c,n); + + zn4 = getSixBitByte(c,n+4); + + _zn = (zn % (63-n)) + n; + _zn4 = (zn4 % (64-n)) + n; + + + pushbackSixBitByte(&zP, _zn,n); + pushbackSixBitByte(&zP, _zn4,n+4); + + } + printState("0|0|z'",zP); + + uint64_t zCaret = check(zP); + printState("0|0|z^",zP); + + + uint8_t p = pi[x % 35]; + + if(x & 1) //Check if x7 is 1 + { + p = ~p; + } + + if(debug_print >= 2) prnlog("p:%02x", p); + + BitstreamIn p_in = { &p, 8,0 }; + uint8_t outbuffer[] = {0,0,0,0,0,0,0,0}; + BitstreamOut out = {outbuffer,0,0}; + permute(&p_in,zCaret,0,4,&out);//returns 48 bits? or 6 8-bytes + + //Out is now a buffer containing six-bit bytes, should be 48 bits + // if all went well + //Shift z-values down onto the lower segment + + uint64_t zTilde = x_bytes_to_num(outbuffer,8); + + zTilde >>= 16; + + printState("0|0|z~", zTilde); + + int i; + int zerocounter =0 ; + for(i =0 ; i < 8 ; i++) + { + + // the key on index i is first a bit from y + // then six bits from z, + // then a bit from p + + // Init with zeroes + k[i] = 0; + // First, place yi leftmost in k + //k[i] |= (y << i) & 0x80 ; + + // First, place y(7-i) leftmost in k + k[i] |= (y << (7-i)) & 0x80 ; + + + + uint8_t zTilde_i = getSixBitByte(zTilde, i); + // zTildeI is now on the form 00XXXXXX + // with one leftshift, it'll be + // 0XXXXXX0 + // So after leftshift, we can OR it into k + // However, when doing complement, we need to + // again MASK 0XXXXXX0 (0x7E) + zTilde_i <<= 1; + + //Finally, add bit from p or p-mod + //Shift bit i into rightmost location (mask only after complement) + uint8_t p_i = p >> i & 0x1; + + if( k[i] )// yi = 1 + { + //printf("k[%d] +1\n", i); + k[i] |= ~zTilde_i & 0x7E; + k[i] |= p_i & 1; + k[i] += 1; + + }else // otherwise + { + k[i] |= zTilde_i & 0x7E; + k[i] |= (~p_i) & 1; + } + if((k[i] & 1 )== 0) + { + zerocounter ++; + } + } +} +/** + * @brief Performs Elite-class key diversification + * @param csn + * @param key + * @param div_key + */ +void diversifyKey(uint8_t csn[8], uint8_t key[8], uint8_t div_key[8]) +{ + + // Prepare the DES key + des_setkey_enc( &ctx_enc, key); + + uint8_t crypted_csn[8] = {0}; + + // Calculate DES(CSN, KEY) + des_crypt_ecb(&ctx_enc,csn, crypted_csn); + + //Calculate HASH0(DES)) + uint64_t crypt_csn = x_bytes_to_num(crypted_csn, 8); + //uint64_t crypted_csn_swapped = swapZvalues(crypt_csn); + + hash0(crypt_csn,div_key); +} + + + + + +void testPermute() +{ + + uint64_t x = 0; + pushbackSixBitByte(&x,0x00,0); + pushbackSixBitByte(&x,0x01,1); + pushbackSixBitByte(&x,0x02,2); + pushbackSixBitByte(&x,0x03,3); + pushbackSixBitByte(&x,0x04,4); + pushbackSixBitByte(&x,0x05,5); + pushbackSixBitByte(&x,0x06,6); + pushbackSixBitByte(&x,0x07,7); + + uint8_t mres[8] = { getSixBitByte(x, 0), + getSixBitByte(x, 1), + getSixBitByte(x, 2), + getSixBitByte(x, 3), + getSixBitByte(x, 4), + getSixBitByte(x, 5), + getSixBitByte(x, 6), + getSixBitByte(x, 7)}; + printarr("input_perm", mres,8); + + uint8_t p = ~pi[0]; + BitstreamIn p_in = { &p, 8,0 }; + uint8_t outbuffer[] = {0,0,0,0,0,0,0,0}; + BitstreamOut out = {outbuffer,0,0}; + + permute(&p_in, x,0,4, &out); + + uint64_t permuted = x_bytes_to_num(outbuffer,8); + //printf("zTilde 0x%"PRIX64"\n", zTilde); + permuted >>= 16; + + uint8_t res[8] = { getSixBitByte(permuted, 0), + getSixBitByte(permuted, 1), + getSixBitByte(permuted, 2), + getSixBitByte(permuted, 3), + getSixBitByte(permuted, 4), + getSixBitByte(permuted, 5), + getSixBitByte(permuted, 6), + getSixBitByte(permuted, 7)}; + printarr("permuted", res, 8); +} + +//These testcases are +//{ UID , TEMP_KEY, DIV_KEY} using the specific key +typedef struct +{ + uint8_t uid[8]; + uint8_t t_key[8]; + uint8_t div_key[8]; +} Testcase; + + +int testDES(Testcase testcase, des_context ctx_enc, des_context ctx_dec) +{ + uint8_t des_encrypted_csn[8] = {0}; + uint8_t decrypted[8] = {0}; + uint8_t div_key[8] = {0}; + int retval = des_crypt_ecb(&ctx_enc,testcase.uid,des_encrypted_csn); + retval |= des_crypt_ecb(&ctx_dec,des_encrypted_csn,decrypted); + + if(memcmp(testcase.uid,decrypted,8) != 0) + { + //Decryption fail + prnlog("Encryption <-> Decryption FAIL"); + printarr("Input", testcase.uid, 8); + printarr("Decrypted", decrypted, 8); + retval = 1; + } + + if(memcmp(des_encrypted_csn,testcase.t_key,8) != 0) + { + //Encryption fail + prnlog("Encryption != Expected result"); + printarr("Output", des_encrypted_csn, 8); + printarr("Expected", testcase.t_key, 8); + retval = 1; + } + uint64_t crypted_csn = x_bytes_to_num(des_encrypted_csn,8); + hash0(crypted_csn, div_key); + + if(memcmp(div_key, testcase.div_key ,8) != 0) + { + //Key diversification fail + prnlog("Div key != expected result"); + printarr(" csn ", testcase.uid,8); + printarr("{csn} ", des_encrypted_csn,8); + printarr("hash0 ", div_key, 8); + printarr("Expected", testcase.div_key, 8); + retval = 1; + + } + return retval; +} +bool des_getParityBitFromKey(uint8_t key) +{//The top 7 bits is used + bool parity = ((key & 0x80) >> 7) + ^ ((key & 0x40) >> 6) ^ ((key & 0x20) >> 5) + ^ ((key & 0x10) >> 4) ^ ((key & 0x08) >> 3) + ^ ((key & 0x04) >> 2) ^ ((key & 0x02) >> 1); + return !parity; +} + + +void des_checkParity(uint8_t* key) +{ + int i; + int fails =0; + for(i =0 ; i < 8 ; i++) + { + bool parity = des_getParityBitFromKey(key[i]); + if(parity != (key[i] & 0x1)) + { + fails++; + prnlog("[+] parity1 fail, byte %d [%02x] was %d, should be %d",i,key[i],(key[i] & 0x1),parity); + } + } + if(fails) + { + prnlog("[+] parity fails: %d", fails); + }else + { + prnlog("[+] Key syntax is with parity bits inside each byte"); + } +} + +Testcase testcases[] ={ + + {{0x8B,0xAC,0x60,0x1F,0x53,0xB8,0xED,0x11},{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},{0x02,0x04,0x06,0x08,0x01,0x03,0x05,0x07}}, + {{0xAE,0x51,0xE5,0x62,0xE7,0x9A,0x99,0x39},{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01},{0x04,0x02,0x06,0x08,0x01,0x03,0x05,0x07}}, + {{0x9B,0x21,0xE4,0x31,0x6A,0x00,0x29,0x62},{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02},{0x06,0x04,0x02,0x08,0x01,0x03,0x05,0x07}}, + {{0x65,0x24,0x0C,0x41,0x4F,0xC2,0x21,0x93},{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04},{0x0A,0x04,0x06,0x08,0x01,0x03,0x05,0x07}}, + {{0x7F,0xEB,0xAE,0x93,0xE5,0x30,0x08,0xBD},{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08},{0x12,0x04,0x06,0x08,0x01,0x03,0x05,0x07}}, + {{0x49,0x7B,0x70,0x74,0x9B,0x35,0x1B,0x83},{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10},{0x22,0x04,0x06,0x08,0x01,0x03,0x05,0x07}}, + {{0x02,0x3C,0x15,0x6B,0xED,0xA5,0x64,0x6C},{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20},{0x42,0x04,0x06,0x08,0x01,0x03,0x05,0x07}}, + {{0xE8,0x37,0xE0,0xE2,0xC6,0x45,0x24,0xF3},{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40},{0x02,0x06,0x04,0x08,0x01,0x03,0x05,0x07}}, + {{0xAB,0xBD,0x30,0x05,0x29,0xC8,0xF7,0x12},{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80},{0x02,0x08,0x06,0x04,0x01,0x03,0x05,0x07}}, + {{0x17,0xE8,0x97,0xF0,0x99,0xB6,0x79,0x31},{0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00},{0x02,0x0C,0x06,0x08,0x01,0x03,0x05,0x07}}, + {{0x49,0xA4,0xF0,0x8F,0x5F,0x96,0x83,0x16},{0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00},{0x02,0x14,0x06,0x08,0x01,0x03,0x05,0x07}}, + {{0x60,0xF5,0x7E,0x54,0xAA,0x41,0x83,0xD4},{0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00},{0x02,0x24,0x06,0x08,0x01,0x03,0x05,0x07}}, + {{0x1D,0xF6,0x3B,0x6B,0x85,0x55,0xF0,0x4B},{0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00},{0x02,0x44,0x06,0x08,0x01,0x03,0x05,0x07}}, + {{0x1F,0xDC,0x95,0x1A,0xEA,0x6B,0x4B,0xB4},{0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00},{0x02,0x04,0x08,0x06,0x01,0x03,0x05,0x07}}, + {{0xEC,0x93,0x72,0xF0,0x3B,0xA9,0xF5,0x0B},{0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00},{0x02,0x04,0x0A,0x08,0x01,0x03,0x05,0x07}}, + {{0xDE,0x57,0x5C,0xBE,0x2D,0x55,0x03,0x12},{0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00},{0x02,0x04,0x0E,0x08,0x01,0x03,0x05,0x07}}, + {{0x1E,0xD2,0xB5,0xCE,0x90,0xC9,0xC1,0xCC},{0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00},{0x02,0x04,0x16,0x08,0x01,0x03,0x05,0x07}}, + {{0xD8,0x65,0x96,0x4E,0xE7,0x74,0x99,0xB8},{0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00},{0x02,0x04,0x26,0x08,0x01,0x03,0x05,0x07}}, + {{0xE3,0x7A,0x29,0x83,0x31,0xD5,0x3A,0x54},{0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00},{0x02,0x04,0x46,0x08,0x01,0x03,0x05,0x07}}, + {{0x3A,0xB5,0x1A,0x34,0x34,0x25,0x12,0xF0},{0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00},{0x02,0x04,0x06,0x0A,0x01,0x03,0x05,0x07}}, + {{0xF2,0x88,0xEE,0x6F,0x70,0x6F,0xC2,0x52},{0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00},{0x02,0x04,0x06,0x0C,0x01,0x03,0x05,0x07}}, + {{0x76,0xEF,0xEB,0x80,0x52,0x43,0x83,0x57},{0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00},{0x02,0x04,0x06,0x10,0x01,0x03,0x05,0x07}}, + {{0x1C,0x09,0x8E,0x3B,0x23,0x23,0x52,0xB5},{0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00},{0x02,0x04,0x06,0x18,0x01,0x03,0x05,0x07}}, + {{0xA9,0x13,0xA2,0xBE,0xCF,0x1A,0xC4,0x9A},{0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00},{0x02,0x04,0x06,0x28,0x01,0x03,0x05,0x07}}, + {{0x25,0x56,0x4B,0xB0,0xC8,0x2A,0xD4,0x27},{0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00},{0x02,0x04,0x06,0x48,0x01,0x03,0x05,0x07}}, + {{0xB1,0x04,0x57,0x3F,0xA7,0x16,0x62,0xD4},{0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00},{0x02,0x04,0x06,0x08,0x03,0x01,0x05,0x07}}, + {{0x45,0x46,0xED,0xCC,0xE7,0xD3,0x8E,0xA3},{0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00},{0x02,0x04,0x06,0x08,0x05,0x03,0x01,0x07}}, + {{0x22,0x6D,0xB5,0x35,0xE0,0x5A,0xE0,0x90},{0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00},{0x02,0x04,0x06,0x08,0x09,0x03,0x05,0x07}}, + {{0xB8,0xF5,0xE5,0x44,0xC5,0x98,0x4A,0xBD},{0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00},{0x02,0x04,0x06,0x08,0x11,0x03,0x05,0x07}}, + {{0xAC,0x78,0x0A,0x23,0x9E,0xF6,0xBC,0xA0},{0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00},{0x02,0x04,0x06,0x08,0x21,0x03,0x05,0x07}}, + {{0x46,0x6B,0x2D,0x70,0x41,0x17,0xBF,0x3D},{0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00},{0x02,0x04,0x06,0x08,0x41,0x03,0x05,0x07}}, + {{0x64,0x44,0x24,0x71,0xA2,0x56,0xDF,0xB5},{0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00},{0x02,0x04,0x06,0x08,0x01,0x05,0x03,0x07}}, + {{0xC4,0x00,0x52,0x24,0xA2,0xD6,0x16,0x7A},{0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00},{0x02,0x04,0x06,0x08,0x01,0x07,0x05,0x03}}, + {{0xD8,0x4A,0x80,0x1E,0x95,0x5B,0x70,0xC4},{0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00},{0x02,0x04,0x06,0x08,0x01,0x0B,0x05,0x07}}, + {{0x08,0x56,0x6E,0xB5,0x64,0xD6,0x47,0x4E},{0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00},{0x02,0x04,0x06,0x08,0x01,0x13,0x05,0x07}}, + {{0x41,0x6F,0xBA,0xA4,0xEB,0xAE,0xA0,0x55},{0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00},{0x02,0x04,0x06,0x08,0x01,0x23,0x05,0x07}}, + {{0x62,0x9D,0xDE,0x72,0x84,0x4A,0x53,0xD5},{0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00},{0x02,0x04,0x06,0x08,0x01,0x43,0x05,0x07}}, + {{0x39,0xD3,0x2B,0x66,0xB8,0x08,0x40,0x2E},{0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00},{0x02,0x04,0x06,0x08,0x01,0x03,0x07,0x05}}, + {{0xAF,0x67,0xA9,0x18,0x57,0x21,0xAF,0x8D},{0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00},{0x02,0x04,0x06,0x08,0x01,0x03,0x09,0x07}}, + {{0x34,0xBC,0x9D,0xBC,0xC4,0xC2,0x3B,0xC8},{0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00},{0x02,0x04,0x06,0x08,0x01,0x03,0x0D,0x07}}, + {{0xB6,0x50,0xF9,0x81,0xF6,0xBF,0x90,0x3C},{0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00},{0x02,0x04,0x06,0x08,0x01,0x03,0x15,0x07}}, + {{0x71,0x41,0x93,0xA1,0x59,0x81,0xA5,0x52},{0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00},{0x02,0x04,0x06,0x08,0x01,0x03,0x25,0x07}}, + {{0x6B,0x00,0xBD,0x74,0x1C,0x3C,0xE0,0x1A},{0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00},{0x02,0x04,0x06,0x08,0x01,0x03,0x45,0x07}}, + {{0x76,0xFD,0x0B,0xD0,0x41,0xD2,0x82,0x5D},{0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00},{0x02,0x04,0x06,0x08,0x01,0x03,0x05,0x09}}, + {{0xC6,0x3A,0x1C,0x25,0x63,0x5A,0x2F,0x0E},{0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00},{0x02,0x04,0x06,0x08,0x01,0x03,0x05,0x0B}}, + {{0xD9,0x0E,0xD7,0x30,0xE2,0xAD,0xA9,0x87},{0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00},{0x02,0x04,0x06,0x08,0x01,0x03,0x05,0x0F}}, + {{0x6B,0x81,0xC6,0xD1,0x05,0x09,0x87,0x1E},{0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00},{0x02,0x04,0x06,0x08,0x01,0x03,0x05,0x17}}, + {{0xB4,0xA7,0x1E,0x02,0x54,0x37,0x43,0x35},{0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00},{0x02,0x04,0x06,0x08,0x01,0x03,0x05,0x27}}, + {{0x45,0x14,0x7C,0x7F,0xE0,0xDE,0x09,0x65},{0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00},{0x02,0x04,0x06,0x08,0x01,0x03,0x05,0x47}}, + {{0x78,0xB0,0xF5,0x20,0x8B,0x7D,0xF3,0xDD},{0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00},{0xFE,0x04,0x06,0x08,0x01,0x03,0x05,0x07}}, + {{0x88,0xB3,0x3C,0xE1,0xF7,0x87,0x42,0xA1},{0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00},{0x02,0xFC,0x06,0x08,0x01,0x03,0x05,0x07}}, + {{0x11,0x2F,0xB2,0xF7,0xE2,0xB2,0x4F,0x6E},{0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00},{0x02,0x04,0xFA,0x08,0x01,0x03,0x05,0x07}}, + {{0x25,0x56,0x4E,0xC6,0xEB,0x2D,0x74,0x5B},{0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00},{0x02,0x04,0x06,0xF8,0x01,0x03,0x05,0x07}}, + {{0x7E,0x98,0x37,0xF9,0x80,0x8F,0x09,0x82},{0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00},{0x02,0x04,0x06,0x08,0xFF,0x03,0x05,0x07}}, + {{0xF9,0xB5,0x62,0x3B,0xD8,0x7B,0x3C,0x3F},{0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00},{0x02,0x04,0x06,0x08,0x01,0xFD,0x05,0x07}}, + {{0x29,0xC5,0x2B,0xFA,0xD1,0xFC,0x5C,0xC7},{0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00},{0x02,0x04,0x06,0x08,0x01,0x03,0xFB,0x07}}, + {{0xC1,0xA3,0x09,0x71,0xBD,0x8E,0xAF,0x2F},{0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00},{0x02,0x04,0x06,0x08,0x01,0x03,0x05,0xF9}}, + {{0xB6,0xDD,0xD1,0xAD,0xAA,0x15,0x6F,0x29},{0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00},{0x01,0x03,0x05,0x02,0x07,0x04,0x06,0x08}}, + {{0x65,0x34,0x03,0x19,0x17,0xB3,0xA3,0x96},{0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00},{0x02,0x04,0x01,0x06,0x08,0x03,0x05,0x07}}, + {{0xF9,0x38,0x43,0x56,0x52,0xE5,0xB1,0xA9},{0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00},{0x01,0x02,0x04,0x06,0x08,0x03,0x05,0x07}}, + + {{0xA4,0xA0,0xAF,0xDA,0x48,0xB0,0xA1,0x10},{0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00},{0x01,0x02,0x04,0x06,0x03,0x08,0x05,0x07}}, + {{0x55,0x15,0x8A,0x0D,0x48,0x29,0x01,0xD8},{0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00},{0x02,0x04,0x01,0x06,0x03,0x05,0x08,0x07}}, + {{0xC4,0x81,0x96,0x7D,0xA3,0xB7,0x73,0x50},{0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00},{0x01,0x02,0x03,0x05,0x04,0x06,0x08,0x07}}, + {{0x36,0x73,0xDF,0xC1,0x1B,0x98,0xA8,0x1D},{0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00},{0x01,0x02,0x03,0x04,0x05,0x06,0x08,0x07}}, + {{0xCE,0xE0,0xB3,0x1B,0x41,0xEB,0x15,0x12},{0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00},{0x01,0x02,0x03,0x04,0x06,0x05,0x08,0x07}}, + {{0},{0},{0}} +}; + + +int testKeyDiversificationWithMasterkeyTestcases() +{ + + int error = 0; + int i; + + uint8_t empty[8]={0}; + prnlog("[+} Testing encryption/decryption"); + + for (i = 0; memcmp(testcases+i,empty,8) ; i++) { + error += testDES(testcases[i],ctx_enc, ctx_dec); + } + if(error) + { + prnlog("[+] %d errors occurred (%d testcases)", error, i); + }else + { + prnlog("[+] Hashing seems to work (%d testcases)", i); + } + return error; +} + + +void print64bits(char*name, uint64_t val) +{ + printf("%s%08x%08x\n",name,(uint32_t) (val >> 32) ,(uint32_t) (val & 0xFFFFFFFF)); +} + +uint64_t testCryptedCSN(uint64_t crypted_csn, uint64_t expected) +{ + int retval = 0; + uint8_t result[8] = {0}; + if(debug_print) prnlog("debug_print %d", debug_print); + if(debug_print) print64bits(" {csn} ", crypted_csn ); + + uint64_t crypted_csn_swapped = swapZvalues(crypted_csn); + + if(debug_print) print64bits(" {csn-revz} ", crypted_csn_swapped); + + hash0(crypted_csn, result); + uint64_t resultbyte = x_bytes_to_num(result,8 ); + if(debug_print) print64bits(" hash0 " , resultbyte ); + + if(resultbyte != expected ) + { + + if(debug_print) { + prnlog("\n[+] FAIL!"); + print64bits(" expected " , expected ); + } + retval = 1; + + }else + { + if(debug_print) prnlog(" [OK]"); + } + return retval; +} + +int testDES2(uint64_t csn, uint64_t expected) +{ + uint8_t result[8] = {0}; + uint8_t input[8] = {0}; + + print64bits(" csn ", csn); + x_num_to_bytes(csn, 8,input); + + des_crypt_ecb(&ctx_enc,input, result); + + uint64_t crypt_csn = x_bytes_to_num(result, 8); + print64bits(" {csn} ", crypt_csn ); + print64bits(" expected ", expected ); + + if( expected == crypt_csn ) + { + prnlog("[+] OK"); + return 0; + }else + { + return 1; + } +} + +/** + * These testcases come from http://www.proxmark.org/forum/viewtopic.php?pid=10977#p10977 + * @brief doTestsWithKnownInputs + * @return + */ +int doTestsWithKnownInputs() +{ + + // KSel from http://www.proxmark.org/forum/viewtopic.php?pid=10977#p10977 + int errors = 0; + prnlog("[+] Testing DES encryption"); +// uint8_t key[8] = {0x6c,0x8d,0x44,0xf9,0x2a,0x2d,0x01,0xbf}; + prnlog("[+] Testing foo"); + uint8_t key[8] = {0x6c,0x8d,0x44,0xf9,0x2a,0x2d,0x01,0xbf}; + + des_setkey_enc( &ctx_enc, key); + testDES2(0xbbbbaaaabbbbeeee,0xd6ad3ca619659e6b); + + prnlog("[+] Testing hashing algorithm"); + + errors += testCryptedCSN(0x0102030405060708,0x0bdd6512073c460a); + errors += testCryptedCSN(0x1020304050607080,0x0208211405f3381f); + errors += testCryptedCSN(0x1122334455667788,0x2bee256d40ac1f3a); + errors += testCryptedCSN(0xabcdabcdabcdabcd,0xa91c9ec66f7da592); + errors += testCryptedCSN(0xbcdabcdabcdabcda,0x79ca5796a474e19b); + errors += testCryptedCSN(0xcdabcdabcdabcdab,0xa8901b9f7ec76da4); + errors += testCryptedCSN(0xdabcdabcdabcdabc,0x357aa8e0979a5b8d); + errors += testCryptedCSN(0x21ba6565071f9299,0x34e80f88d5cf39ea); + errors += testCryptedCSN(0x14e2adfc5bb7e134,0x6ac90c6508bd9ea3); + + if(errors) + { + prnlog("[+] %d errors occurred (9 testcases)", errors); + }else + { + prnlog("[+] Hashing seems to work (9 testcases)" ); + } + return errors; +} + +int readKeyFile(uint8_t key[8]) +{ + + FILE *f; + + f = fopen("iclass_key.bin", "rb"); + if (f) + { + if(fread(key, sizeof(key), 1, f) == 1) return 0; + } + return 1; + +} + + +int doKeyTests(uint8_t debuglevel) +{ + debug_print = debuglevel; + + prnlog("[+] Checking if the master key is present (iclass_key.bin)..."); + uint8_t key[8] = {0}; + if(readKeyFile(key)) + { + prnlog("[+] Master key not present, will not be able to do all testcases"); + }else + { + + //Test if it's the right key... + uint8_t i; + uint8_t j = 0; + for(i =0 ; i < sizeof(key) ; i++) + j += key[i]; + + if(j != 185) + { + prnlog("[+] A key was loaded, but it does not seem to be the correct one. Aborting these tests"); + }else + { + prnlog("[+] Key present"); + + prnlog("[+] Checking key parity..."); + des_checkParity(key); + des_setkey_enc( &ctx_enc, key); + des_setkey_dec( &ctx_dec, key); + // Test hashing functions + prnlog("[+] The following tests require the correct 8-byte master key"); + testKeyDiversificationWithMasterkeyTestcases(); + } + } + prnlog("[+] Testing key diversification with non-sensitive keys..."); + doTestsWithKnownInputs(); + return 0; +} + +/** + +void checkParity2(uint8_t* key) +{ + + uint8_t stored_parity = key[7]; + printf("Parity byte: 0x%02x\n", stored_parity); + int i; + int byte; + int fails =0; + BitstreamIn bits = {key, 56, 0}; + + bool parity = 0; + + for(i =0 ; i < 56; i++) + { + + if ( i > 0 && i % 7 == 0) + { + parity = !parity; + bool pbit = stored_parity & (0x80 >> (byte)); + if(parity != pbit) + { + printf("parity2 fail byte %d, should be %d, was %d\n", (i / 7), parity, pbit); + fails++; + } + parity =0 ; + byte = i / 7; + } + parity = parity ^ headBit(&bits); + } + if(fails) + { + printf("parity2 fails: %d\n", fails); + }else + { + printf("Key syntax is with parity bits grouped in the last byte!\n"); + } +} +void modifyKey_put_parity_last(uint8_t * key, uint8_t* output) +{ + uint8_t paritybits = 0; + bool parity =0; + BitstreamOut out = { output, 0,0}; + unsigned int bbyte, bbit; + for(bbyte=0; bbyte <8 ; bbyte++ ) + { + for(bbit =0 ; bbit< 7 ; bbit++) + { + bool bit = *(key+bbyte) & (1 << (7-bbit)); + pushBit(&out,bit); + parity ^= bit; + } + bool paritybit = *(key+bbyte) & 1; + paritybits |= paritybit << (7-bbyte); + parity = 0; + + } + output[7] = paritybits; + printf("Parity byte: %02x\n", paritybits); +} + + * @brief Modifies a key with parity bits last, so that it is formed with parity + * bits inside each byte + * @param key + * @param output + +void modifyKey_put_parity_allover(uint8_t * key, uint8_t* output) +{ + bool parity =0; + BitstreamOut out = { output, 0,0}; + BitstreamIn in = {key, 0,0}; + unsigned int bbyte, bbit; + for(bbit =0 ; bbit < 56 ; bbit++) + { + + if( bbit > 0 && bbit % 7 == 0) + { + pushBit(&out,!parity); + parity = 0; + } + bool bit = headBit(&in); + pushBit(&out,bit ); + parity ^= bit; + + } + pushBit(&out, !parity); + + + if( des_key_check_key_parity(output)) + { + printf("modifyKey_put_parity_allover fail, DES key invalid parity!"); + } + +} + +*/ + + diff --git a/client/loclass/ikeys.h b/client/loclass/ikeys.h new file mode 100644 index 000000000..1de46b62c --- /dev/null +++ b/client/loclass/ikeys.h @@ -0,0 +1,32 @@ +#ifndef IKEYS_H +#define IKEYS_H + + +/** + * @brief + *Definition 11. Let the function hash0 : F 82 脳 F 82 脳 (F 62 ) 8 鈫 (F 82 ) 8 be defined as + * hash0(x, y, z [0] . . . z [7] ) = k [0] . . . k [7] where + * z'[i] = (z[i] mod (63-i)) + i i = 0...3 + * z'[i+4] = (z[i+4] mod (64-i)) + i i = 0...3 + * 岷 = check(z'); + * @param c + * @param k this is where the diversified key is put (should be 8 bytes) + * @return + */ +void hash0(uint64_t c, uint8_t k[8]); +int doKeyTests(uint8_t debuglevel); +/** + * @brief Performs Elite-class key diversification + * @param csn + * @param key + * @param div_key + */ + +void diversifyKey(uint8_t csn[8], uint8_t key[8], uint8_t div_key[8]); +/** + * @brief Permutes a key from standard NIST format to Iclass specific format + * @param key + * @param dest + */ + +#endif // IKEYS_H diff --git a/client/loclass/main.c b/client/loclass/main.c new file mode 100644 index 000000000..42019072f --- /dev/null +++ b/client/loclass/main.c @@ -0,0 +1,96 @@ +/***************************************************************************** + * This file is part of iClassCipher. It is a reconstructon of the cipher engine + * used in iClass, and RFID techology. + * + * The implementation is based on the work performed by + * Flavio D. Garcia, Gerhard de Koning Gans, Roel Verdult and + * Milosch Meriac in the paper "Dismantling IClass". + * + * Copyright (C) 2014 Martin Holst Swende + * + * This is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as published + * by the Free Software Foundation. + * + * This file is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with IClassCipher. If not, see . + ****************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include "cipherutils.h" +#include "cipher.h" +#include "ikeys.h" +#include "fileutils.h" +#include "elite_crack.h" + +int unitTests() +{ + int errors = testCipherUtils(); + errors += testMAC(); + errors += doKeyTests(0); + errors += testElite(); + return errors; +} +int showHelp() +{ + prnlog("Usage: iclazz [options]"); + prnlog("Options:"); + prnlog("-t Perform self-test"); + prnlog("-h Show this help"); + prnlog("-f Bruteforce iclass dumpfile"); + prnlog(" An iclass dumpfile is assumed to consist of an arbitrary number of malicious CSNs, and their protocol responses"); + prnlog(" The the binary format of the file is expected to be as follows: "); + prnlog(" <8 byte CSN><8 byte CC><4 byte NR><4 byte MAC>"); + prnlog(" <8 byte CSN><8 byte CC><4 byte NR><4 byte MAC>"); + prnlog(" <8 byte CSN><8 byte CC><4 byte NR><4 byte MAC>"); + prnlog(" ... totalling N*24 bytes"); + prnlog(" Check iclass_dump.bin for an example"); + + return 0; +} + +int main (int argc, char **argv) +{ + prnlog("IClass Cipher version 1.2, Copyright (C) 2014 Martin Holst Swende\n"); + prnlog("Comes with ABSOLUTELY NO WARRANTY"); + prnlog("This is free software, and you are welcome to use, abuse and repackage, please keep the credits\n"); + char *fileName = NULL; + int c; + while ((c = getopt (argc, argv, "thf:")) != -1) + switch (c) + { + case 't': + return unitTests(); + case 'h': + return showHelp(); + case 'f': + fileName = optarg; + return bruteforceFileNoKeys(fileName); + case '?': + if (optopt == 'f') + fprintf (stderr, "Option -%c requires an argument.\n", optopt); + else if (isprint (optopt)) + fprintf (stderr, "Unknown option `-%c'.\n", optopt); + else + fprintf (stderr, + "Unknown option character `\\x%x'.\n", + optopt); + return 1; + //default: + //showHelp(); + } + showHelp(); + return 0; +} + diff --git a/client/lualibs/html_dumplib.lua b/client/lualibs/html_dumplib.lua index e730920c0..b8c7ccaa2 100644 --- a/client/lualibs/html_dumplib.lua +++ b/client/lualibs/html_dumplib.lua @@ -8,10 +8,17 @@ bin = require('bin') --- -- A debug printout-function local function dbg(args) - if DEBUG then + + if type(args) == "table" then + local i = 1 + while args[i] do + print("###", args[i]) + i = i+1 + end + else print("###", args) - end -end + end +end --- -- This is only meant to be used when errors occur local function oops(err) @@ -40,20 +47,38 @@ local function save_HTML(javascript, filename) end - +local function save_BIN(data, filename) + -- Open the output file + + local outfile = io.open(filename, "wb") + if outfile == nil then + return oops(string.format("Could not write to file %s",tostring(filename))) + end + + -- Write the data into it + local i = 1 + while data[i] do + outfile:write(data[i]) + i = i+1 + end + + io.close(outfile) + return filename +end local function convert_ascii_dump_to_JS(infile) local t = infile:read("*all") local output = "["; for line in string.gmatch(t, "[^\n]+") do - output = output .. "'"..line.."',\n" + if string.byte(line,1) ~= string.byte("+",1) then + output = output .. "'"..line.."',\n" + end end output = output .. "]" return output end - local function convert_binary_dump_to_JS(infile, blockLen) local bindata = infile:read("*all") len = string.len(bindata) @@ -78,6 +103,21 @@ local function convert_binary_dump_to_JS(infile, blockLen) return js end +local function convert_ascii_dump_to_BIN(infile) + local t = infile:read("*all") + + local output = {}; + for line in string.gmatch(t, "[^\n]+") do + if string.byte(line) ~= string.byte("+") then + for c in (line or ''):gmatch('..') do + output[#output+1] = string.char( tonumber(c,16) ) + end + end + end + return output +end + + --- -- Converts a .eml-file into a HTML/Javascript file. -- @param input the file to convert @@ -118,7 +158,27 @@ local function convert_bin_to_html(input, output, blockLen) return save_HTML(javascript, output ) end +--- Converts a eml dump into a binary file +-- @param input the file containing the eml-dump (defaults to dumpdata.eml) +-- @param output the file to write to ( defaults to dumpdata.bin) +local function convert_eml_to_bin(input, output) + input = input or 'dumpdata.eml' + output = output or 'dumpdata.bin' + + local infile = io.open(input, "rb") + if infile == nil then + return oops(string.format("Could not read file %s",tostring(input))) + end + -- Read file, get BIN + local data = convert_ascii_dump_to_BIN(infile) + io.close(infile) + + return save_BIN(data, output ) +end + + return { convert_bin_to_html = convert_bin_to_html, - convert_eml_to_html = convert_eml_to_html, + convert_eml_to_html = convert_eml_to_html, + convert_eml_to_bin = convert_eml_to_bin, } diff --git a/client/lualibs/mf_default_keys.lua b/client/lualibs/mf_default_keys.lua index f6264a336..4859ff0c1 100644 --- a/client/lualibs/mf_default_keys.lua +++ b/client/lualibs/mf_default_keys.lua @@ -126,6 +126,21 @@ local _keys = { 'eeeeeeeeeeee', '0123456789ab', '123456789abc', + + --[[ + The keys below are taken from from https://github.com/4ZM/mfterm/blob/master/dictionary.txt + --]] + + 'abcdef123456', -- Key from ladyada.net + + '000000000001', + '000000000002', + '00000000000a', + '00000000000b', + '100000000000', + '200000000000', + 'a00000000000', + 'b00000000000', } --- @@ -148,4 +163,4 @@ local function uniq(list) return foobar end -return uniq(_keys) \ No newline at end of file +return uniq(_keys) diff --git a/client/lualibs/utils.lua b/client/lualibs/utils.lua new file mode 100644 index 000000000..3d27d5b68 --- /dev/null +++ b/client/lualibs/utils.lua @@ -0,0 +1,57 @@ +--[[ + This may be moved to a separate library at some point (Holiman) +--]] +local Utils = +{ + -- Asks the user for Yes or No + confirm = function(message, ...) + local answer + message = message .. " [y/n] ?" + repeat + io.write(message) + io.flush() + answer=io.read() + if answer == 'Y' or answer == "y" then + return true + elseif answer == 'N' or answer == 'n' then + return false + end + until false + end, + --- + -- Asks the user for input + input = function (message , default) + local answer + if default ~= nil then + message = message .. " (default: ".. default.. " )" + end + message = message .." \n > " + io.write(message) + io.flush() + answer=io.read() + if answer == '' then answer = default end + + return answer + end, + -- + -- Converts DECIMAL to HEX + ConvertDec2Hex = function(IN) + local B,K,OUT,I,D=16,"0123456789ABCDEF","",0 + while IN>0 do + I=I+1 + IN,D=math.floor(IN/B),math.mod(IN,B)+1 + OUT=string.sub(K,D,D)..OUT + end + return OUT + end, + --- + -- Convert Byte array to string of hex + ConvertBytes2String = function(bytes) + s = {} + for i = 1, #(bytes) do + s[i] = string.format("%02X",bytes[i]) + end + return table.concat(s) + end, +} +return Utils \ No newline at end of file diff --git a/client/obj/loclass/.dummy b/client/obj/loclass/.dummy new file mode 100644 index 000000000..e69de29bb diff --git a/client/scripts/dumptoemul.lua b/client/scripts/dumptoemul.lua index f4f919313..f9b715091 100644 --- a/client/scripts/dumptoemul.lua +++ b/client/scripts/dumptoemul.lua @@ -13,7 +13,7 @@ by the emulator Arguments: -h This help -i Specifies the dump-file (input). If omitted, 'dumpdata.bin' is used - -o Speciies the output file. If omitted, .eml is used. + -o Specifies the output file. If omitted, .eml is used. ]] diff --git a/client/scripts/emul2dump.lua b/client/scripts/emul2dump.lua new file mode 100644 index 000000000..315ad99ab --- /dev/null +++ b/client/scripts/emul2dump.lua @@ -0,0 +1,60 @@ +local getopt = require('getopt') +local bin = require('bin') +local dumplib = require('html_dumplib') + +example =[[ + 1. script run emul2dump + 2. script run emul2dump -i myfile.eml + 3. script run emul2dump -i myfile.eml -o myfile.bin +]] +author = "Iceman" +usage = "script run emul2dump [-i ] [-o ]" +desc =[[ +This script takes an dumpfile on EML (ASCII) format and converts it to the PM3 dumpbin file to be used with "hf mf restore" + +Arguments: + -h This help + -i Specifies the dump-file (input). If omitted, 'dumpdata.eml' is used + -o Specifies the output file. If omitted, .bin is used. +]] + +--- +-- This is only meant to be used when errors occur +function oops(err) + print("ERROR: ",err) +end +--- +-- Usage help +function help() + print(desc) + print("Example usage") + print(example) +end +-- +-- Exit message +function ExitMsg(msg) + print( string.rep('--',20) ) + print( string.rep('--',20) ) + print(msg) + print() +end + +local function main(args) + + local input = "dumpdata.eml" + local output = os.date("%Y-%m-%d_%H%M%S.bin"); + + -- Arguments for the script + for o, a in getopt.getopt(args, 'hi:o:') do + if o == "h" then return help() end + if o == "i" then input = a end + if o == "o" then output = a end + end + + local filename, err = dumplib.convert_eml_to_bin(input,output) + if err then return oops(err) end + + ExitMsg(("Wrote a BIN dump to the file %s"):format(filename)) +end + +main(args) \ No newline at end of file diff --git a/client/scripts/formatMifare.lua b/client/scripts/formatMifare.lua new file mode 100644 index 000000000..1ced0c28d --- /dev/null +++ b/client/scripts/formatMifare.lua @@ -0,0 +1,196 @@ +local cmds = require('commands') +local getopt = require('getopt') +local bin = require('bin') +local lib14a = require('read14a') +local utils = require('utils') + +example =[[ + 1. script run formatMifare + 2. script run formatMifare -k aabbccddeeff -n 112233445566 -a FF0780 +]] +author = "Iceman" +usage = "script run formatMifare -k " +desc =[[ +This script will generate 'hf mf wrbl' commands for each block to format a Mifare card. + +Alla datablocks gets 0x00 +As default the script sets the keys A/B to 0xFFFFFFFFFFFF +and the access bytes will become 0x78,0x77,0x88 +The GDB will become 0x00 + +The script will skip the manufactoring block 0. + +Arguments: + -h - this help + -k - the current six byte key with write access + -n - the new key that will be written to the card + -a - the new access bytes that will be written to the card +]] +local TIMEOUT = 2000 -- Shouldn't take longer than 2 seconds +local DEBUG = true -- the debug flag +local CmdString = 'hf mf wrbl %d B %s %s' +local numBlocks = 64 +local numSectors = 16 +--- +-- A debug printout-function +function dbg(args) + if not DEBUG then + return + end + + if type(args) == "table" then + local i = 1 + while result[i] do + dbg(result[i]) + i = i+1 + end + else + print("###", args) + end +end +--- +-- This is only meant to be used when errors occur +function oops(err) + print("ERROR: ",err) +end +--- +-- Usage help +function help() + print(desc) + print("Example usage") + print(example) +end +-- +-- Exit message +function ExitMsg(msg) + print( string.rep('--',20) ) + print( string.rep('--',20) ) + print(msg) + print() +end +-- +-- Read information from a card +function GetCardInfo() + result, err = lib14a.read1443a(false) + if not result then + print(err) + return + end + print(("Found: %s"):format(result.name)) + + core.clearCommandBuffer() + + if 0x18 == result.sak then --NXP MIFARE Classic 4k | Plus 4k + -- IFARE Classic 4K offers 4096 bytes split into forty sectors, + -- of which 32 are same size as in the 1K with eight more that are quadruple size sectors. + numSectors = 40 + elseif 0x08 == result.sak then -- NXP MIFARE CLASSIC 1k | Plus 2k + -- 1K offers 1024 bytes of data storage, split into 16 sector + numSectors = 16 + elseif 0x09 == result.sak then -- NXP MIFARE Mini 0.3k + -- MIFARE Classic mini offers 320 bytes split into five sectors. + numSectors = 5 + elseif 0x10 == result.sak then-- "NXP MIFARE Plus 2k" + numSectors = 32 + else + print("I don't know how many sectors there are on this type of card, defaulting to 16") + end + --[[ + The mifare Classic 1k card has 16 sectors of 4 data blocks each. + The first 32 sectors of a mifare Classic 4k card consists of 4 data blocks and the remaining + 8 sectors consist of 16 data blocks. + --]] + + -- Defaults to 16 * 4 = 64 - 1 = 63 + numBlocks = numSectors * 4 - 1 + + if numSectors > 32 then + numBlocks = 32*4+ (numSectors-32)*16 -1 + end + +end + +local function main(args) + + print( string.rep('--',20) ) + print( string.rep('--',20) ) + print() + + local OldKey + local NewKey + local Accessbytes + + -- Arguments for the script + for o, a in getopt.getopt(args, 'hk:n:a:') do + if o == "h" then return help() end + if o == "k" then OldKey = a end + if o == "n" then NewKey = a end + if o == "a" then Accessbytes = a end + end + + -- validate input args. + OldKey = OldKey or 'FFFFFFFFFFFF' + if #(OldKey) ~= 12 then + return oops( string.format('Wrong length of write key (was %d) expected 12', #OldKey)) + end + + NewKey = NewKey or 'FFFFFFFFFFFF' + if #(NewKey) ~= 12 then + return oops( string.format('Wrong length of new key (was %d) expected 12', #NewKey)) + end + + --Accessbytes = Accessbytes or '787788' + Accessbytes = Accessbytes or 'FF0780' + if #(Accessbytes) ~= 6 then + return oops( string.format('Wrong length of accessbytes (was %d) expected 12', #Accessbytes)) + end + + GetCardInfo() + + -- Show info + print( string.format('Estimating number of blocks: %d', numBlocks)) + print( string.format('Old key: %s', OldKey)) + print( string.format('New key: %s', NewKey)) + print( string.format('New Access: %s', Accessbytes)) + print( string.rep('--',20) ) + + -- Set new block data + local EMPTY_BL = string.rep('00',16) + local EMPTY_SECTORTRAIL = string.format('%s%s%s%s',NewKey,Accessbytes,'00',NewKey) + + dbg( string.format('New sector-trailer : %s',EMPTY_SECTORTRAIL)) + dbg( string.format('New emptyblock: %s',EMPTY_BL)) + dbg('') + + -- Ask + local dialogResult = utils.confirm("Do you want to erase this card") + if dialogResult == false then + return ExitMsg('Quiting it is then. Your wish is my command...') + end + + print( string.rep('--',20) ) + + -- main loop + for block=0,numBlocks,1 do + + local reminder = (block+1) % 4 + local cmd + if reminder == 0 then + cmd = CmdString:format(block, OldKey , EMPTY_SECTORTRAIL) + else + cmd = CmdString:format(block, OldKey , EMPTY_BL) + end + + if block ~= 0 then + print(cmd) + --core.console(cmd) + end + + if core.ukbhit() then + print("aborted by user") + break + end + end +end + +main(args) \ No newline at end of file diff --git a/common/iso15693tools.c b/common/iso15693tools.c index add0ba69f..0f7a250bf 100644 --- a/common/iso15693tools.c +++ b/common/iso15693tools.c @@ -12,6 +12,9 @@ #include //#include "iso15693tools.h" +#define POLY 0x8408 + + // The CRC as described in ISO 15693-Part 3-Annex C // v buffer with data // n length @@ -63,5 +66,31 @@ char* Iso15693sprintUID(char *target,uint8_t *uid) { return target; } +unsigned short iclass_crc16(char *data_p, unsigned short length) +{ + unsigned char i; + unsigned int data; + unsigned int crc = 0xffff; + if (length == 0) + return (~crc); + + do + { + for (i=0, data=(unsigned int)0xff & *data_p++; + i < 8; + i++, data >>= 1) + { + if ((crc & 0x0001) ^ (data & 0x0001)) + crc = (crc >> 1) ^ POLY; + else crc >>= 1; + } + } while (--length); + + crc = ~crc; + data = crc; + crc = (crc << 8) | (data >> 8 & 0xff); + crc = crc ^ 0xBC3; + return (crc); +} diff --git a/common/iso15693tools.h b/common/iso15693tools.h index c831fec4c..ec63728fe 100644 --- a/common/iso15693tools.h +++ b/common/iso15693tools.h @@ -70,6 +70,7 @@ uint16_t Iso15693Crc(uint8_t *v, int n); int Iso15693AddCrc(uint8_t *req, int n); char* Iso15693sprintUID(char *target,uint8_t *uid); +unsigned short iclass_crc16(char *data_p, unsigned short length); //----------------------------------------------------------------------------- // Map a sequence of octets (~layer 2 command) into the set of bits to feed diff --git a/common/ldscript.common b/common/ldscript.common index 7cde5891d..f1b63550d 100644 --- a/common/ldscript.common +++ b/common/ldscript.common @@ -13,8 +13,8 @@ MEMORY { bootphase1 : ORIGIN = 0x00100000, LENGTH = 0x200 /* Phase 1 bootloader: Copies real bootloader to RAM */ bootphase2 : ORIGIN = 0x00100200, LENGTH = 0x2000 - 0x200 /* Main bootloader code, stored in Flash, executed from RAM */ - fpgaimage : ORIGIN = 0x00102000, LENGTH = 64k - 0x2000 /* Place where the FPGA image will end up */ - osimage : ORIGIN = 0x00110000, LENGTH = 256K - 64k /* Place where the main OS will end up */ + fpgaimage : ORIGIN = 0x00102000, LENGTH = 96k - 0x2000 /* Place where the FPGA image will end up */ + osimage : ORIGIN = 0x00118000, LENGTH = 256K - 96k /* Place where the main OS will end up */ ram : ORIGIN = 0x00200000, LENGTH = 64K - 0x20 /* RAM, minus small common area */ commonarea : ORIGIN = 0x00200000 + 64K - 0x20, LENGTH = 0x20 /* Communication between bootloader and main OS */ } diff --git a/fpga/Makefile b/fpga/Makefile index 12aeaaaec..fad2ff04c 100644 --- a/fpga/Makefile +++ b/fpga/Makefile @@ -1,31 +1,33 @@ include ../common/Makefile.common -all: fpga.ngc fpga.ngd fpga.ncd fpga-placed.ncd fpga.bit +all: fpga_lf.bit fpga_hf.bit clean: - $(DELETE) fpga.bgn fpga.drc fpga.ncd fpga.ngd fpga_par.xrpt fpga-placed.pad fpga-placed.par fpga-placed.xpi fpga_usage.xml xlnx_auto_0.ise xst.srp - $(DELETE) fpga.map fpga.ngc fpga_ngdbuild.xrpt fpga.pcf fpga-placed_pad.csv fpga-placed.ptwx fpga.rbt xlnx_auto_0_xdb - $(DELETE) fpga.bld fpga.mrp fpga.ngc_xst.xrpt fpga.ngm fpga-placed.ncd fpga-placed_pad.txt fpga-placed.unroutes fpga_summary.xml netlist.lst xst + $(DELETE) *.bgn *.drc *.ncd *.ngd *_par.xrpt *-placed.* *-placed_pad.* *_usage.xml xst_hf.srp xst_lf.srp + $(DELETE) *.map *.ngc *.xrpt *.pcf *.rbt *_auto_* *.bld *.mrp *.ngm *.unroutes *_summary.xml netlist.lst xst -fpga.ngc: fpga.v fpga.ucf xst.scr util.v lo_edge_detect.v lo_read.v lo_passthru.v hi_simulate.v hi_read_tx.v hi_read_rx_xcorr.v hi_iso14443a.v - $(DELETE) fpga.ngc - $(XILINX_TOOLS_PREFIX)xst -ifn xst.scr +fpga_hf.ngc: fpga_hf.v fpga.ucf xst_hf.scr util.v hi_simulate.v hi_read_tx.v hi_read_rx_xcorr.v hi_iso14443a.v + $(DELETE) $@ + $(XILINX_TOOLS_PREFIX)xst -ifn xst_hf.scr -fpga.ngd: fpga.ngc - $(DELETE) fpga.ngd - $(XILINX_TOOLS_PREFIX)ngdbuild -aul -p xc2s30-5-vq100 -nt timestamp -uc fpga.ucf fpga.ngc fpga.ngd +fpga_lf.ngc: fpga_lf.v fpga.ucf xst_lf.scr util.v clk_divider.v lo_edge_detect.v lo_read.v lo_passthru.v lp20khz_1MSa_iir_filter.v min_max_tracker.v lf_edge_detect.v + $(DELETE) $@ + $(XILINX_TOOLS_PREFIX)xst -ifn xst_lf.scr -fpga.ncd: fpga.ngd - $(DELETE) fpga.ncd - $(XILINX_TOOLS_PREFIX)map -p xc2s30-5-vq100 fpga.ngd +%.ngd: %.ngc + $(DELETE) $@ + $(XILINX_TOOLS_PREFIX)ngdbuild -aul -p xc2s30-5-vq100 -nt timestamp -uc fpga.ucf $< $@ -fpga-placed.ncd: fpga.ncd - $(DELETE) fpga-placed.ncd - $(XILINX_TOOLS_PREFIX)par fpga.ncd fpga-placed.ncd +%.ncd: %.ngd + $(DELETE) $@ + $(XILINX_TOOLS_PREFIX)map -p xc2s30-5-vq100 $< -fpga.bit: fpga-placed.ncd - $(DELETE) fpga.bit fpga.drc fpga.rbt - $(XILINX_TOOLS_PREFIX)bitgen fpga-placed.ncd fpga.bit +%-placed.ncd: %.ncd + $(DELETE) $@ + $(XILINX_TOOLS_PREFIX)par $< $@ +%.bit: %-placed.ncd + $(DELETE) $@ $*.drc $*.rbt + $(XILINX_TOOLS_PREFIX)bitgen $< $@ .PHONY: all clean help help: diff --git a/fpga/clk_divider.v b/fpga/clk_divider.v new file mode 100644 index 000000000..882af5cc8 --- /dev/null +++ b/fpga/clk_divider.v @@ -0,0 +1,25 @@ +//----------------------------------------------------------------------------- +// Copyright (C) 2014 iZsh +// +// This code is licensed to you under the terms of the GNU GPL, version 2 or, +// at your option, any later version. See the LICENSE.txt file for the text of +// the license. +//----------------------------------------------------------------------------- +module clk_divider(input clk, input [7:0] divisor, output [7:0] div_cnt, output div_clk); + + reg [7:0] div_cnt_ = 0; + reg div_clk_; + assign div_cnt = div_cnt_; + assign div_clk = div_clk_; + + always @(posedge clk) + begin + if(div_cnt == divisor) begin + div_cnt_ <= 8'd0; + div_clk_ = !div_clk_; + end else + div_cnt_ <= div_cnt_ + 1; + end + +endmodule + diff --git a/fpga/fpga.bit b/fpga/fpga.bit deleted file mode 100644 index e773ef932..000000000 Binary files a/fpga/fpga.bit and /dev/null differ diff --git a/fpga/fpga.v b/fpga/fpga.v deleted file mode 100644 index a083ae5cf..000000000 --- a/fpga/fpga.v +++ /dev/null @@ -1,220 +0,0 @@ -//----------------------------------------------------------------------------- -// The FPGA is responsible for interfacing between the A/D, the coil drivers, -// and the ARM. In the low-frequency modes it passes the data straight -// through, so that the ARM gets raw A/D samples over the SSP. In the high- -// frequency modes, the FPGA might perform some demodulation first, to -// reduce the amount of data that we must send to the ARM. -// -// I am not really an FPGA/ASIC designer, so I am sure that a lot of this -// could be improved. -// -// Jonathan Westhues, March 2006 -// Added ISO14443-A support by Gerhard de Koning Gans, April 2008 -//----------------------------------------------------------------------------- - -`include "lo_read.v" -`include "lo_passthru.v" -`include "lo_edge_detect.v" -`include "hi_read_tx.v" -`include "hi_read_rx_xcorr.v" -`include "hi_simulate.v" -`include "hi_iso14443a.v" -`include "util.v" - -module fpga( - spck, miso, mosi, ncs, - pck0, ck_1356meg, ck_1356megb, - pwr_lo, pwr_hi, pwr_oe1, pwr_oe2, pwr_oe3, pwr_oe4, - adc_d, adc_clk, adc_noe, - ssp_frame, ssp_din, ssp_dout, ssp_clk, - cross_hi, cross_lo, - dbg -); - input spck, mosi, ncs; - output miso; - input pck0, ck_1356meg, ck_1356megb; - output pwr_lo, pwr_hi, pwr_oe1, pwr_oe2, pwr_oe3, pwr_oe4; - input [7:0] adc_d; - output adc_clk, adc_noe; - input ssp_dout; - output ssp_frame, ssp_din, ssp_clk; - input cross_hi, cross_lo; - output dbg; - -//assign pck0 = pck0i; -// IBUFG #(.IOSTANDARD("DEFAULT") ) pck0b( -// .O(pck0), -// .I(pck0i) -// ); -//assign spck = spcki; -// IBUFG #(.IOSTANDARD("DEFAULT") ) spckb( - // .O(spck), - // .I(spcki) -// ); - - -//----------------------------------------------------------------------------- -// The SPI receiver. This sets up the configuration word, which the rest of -// the logic looks at to determine how to connect the A/D and the coil -// drivers (i.e., which section gets it). Also assign some symbolic names -// to the configuration bits, for use below. -//----------------------------------------------------------------------------- - -reg [15:0] shift_reg; -reg [7:0] divisor; -reg [7:0] conf_word; - -// We switch modes between transmitting to the 13.56 MHz tag and receiving -// from it, which means that we must make sure that we can do so without -// glitching, or else we will glitch the transmitted carrier. -always @(posedge ncs) -begin - case(shift_reg[15:12]) - 4'b0001: conf_word <= shift_reg[7:0]; // FPGA_CMD_SET_CONFREG - 4'b0010: divisor <= shift_reg[7:0]; // FPGA_CMD_SET_DIVISOR - endcase -end - -always @(posedge spck) -begin - if(~ncs) - begin - shift_reg[15:1] <= shift_reg[14:0]; - shift_reg[0] <= mosi; - end -end - -wire [2:0] major_mode; -assign major_mode = conf_word[7:5]; - -// For the low-frequency configuration: -wire lo_is_125khz; -assign lo_is_125khz = conf_word[3]; - -// For the high-frequency transmit configuration: modulation depth, either -// 100% (just quite driving antenna, steady LOW), or shallower (tri-state -// some fraction of the buffers) -wire hi_read_tx_shallow_modulation; -assign hi_read_tx_shallow_modulation = conf_word[0]; - -// For the high-frequency receive correlator: frequency against which to -// correlate. -wire hi_read_rx_xcorr_848; -assign hi_read_rx_xcorr_848 = conf_word[0]; -// and whether to drive the coil (reader) or just short it (snooper) -wire hi_read_rx_xcorr_snoop; -assign hi_read_rx_xcorr_snoop = conf_word[1]; - -// Divide the expected subcarrier frequency for hi_read_rx_xcorr by 4 -wire hi_read_rx_xcorr_quarter; -assign hi_read_rx_xcorr_quarter = conf_word[2]; - -// For the high-frequency simulated tag: what kind of modulation to use. -wire [2:0] hi_simulate_mod_type; -assign hi_simulate_mod_type = conf_word[2:0]; - -// For the high-frequency simulated tag: what kind of modulation to use. -wire lf_field; -assign lf_field = conf_word[0]; - -//----------------------------------------------------------------------------- -// And then we instantiate the modules corresponding to each of the FPGA's -// major modes, and use muxes to connect the outputs of the active mode to -// the output pins. -//----------------------------------------------------------------------------- - -lo_read lr( - pck0, ck_1356meg, ck_1356megb, - lr_pwr_lo, lr_pwr_hi, lr_pwr_oe1, lr_pwr_oe2, lr_pwr_oe3, lr_pwr_oe4, - adc_d, lr_adc_clk, - lr_ssp_frame, lr_ssp_din, ssp_dout, lr_ssp_clk, - cross_hi, cross_lo, - lr_dbg, - lo_is_125khz, divisor -); - -lo_passthru lp( - pck0, ck_1356meg, ck_1356megb, - lp_pwr_lo, lp_pwr_hi, lp_pwr_oe1, lp_pwr_oe2, lp_pwr_oe3, lp_pwr_oe4, - adc_d, lp_adc_clk, - lp_ssp_frame, lp_ssp_din, ssp_dout, lp_ssp_clk, - cross_hi, cross_lo, - lp_dbg, divisor -); - -lo_edge_detect ls( - pck0, ck_1356meg, ck_1356megb, - ls_pwr_lo, ls_pwr_hi, ls_pwr_oe1, ls_pwr_oe2, ls_pwr_oe3, ls_pwr_oe4, - adc_d, ls_adc_clk, - ls_ssp_frame, ls_ssp_din, ssp_dout, ls_ssp_clk, - cross_hi, cross_lo, - ls_dbg, divisor, - lf_field -); - -hi_read_tx ht( - pck0, ck_1356meg, ck_1356megb, - ht_pwr_lo, ht_pwr_hi, ht_pwr_oe1, ht_pwr_oe2, ht_pwr_oe3, ht_pwr_oe4, - adc_d, ht_adc_clk, - ht_ssp_frame, ht_ssp_din, ssp_dout, ht_ssp_clk, - cross_hi, cross_lo, - ht_dbg, - hi_read_tx_shallow_modulation -); - -hi_read_rx_xcorr hrxc( - pck0, ck_1356meg, ck_1356megb, - hrxc_pwr_lo, hrxc_pwr_hi, hrxc_pwr_oe1, hrxc_pwr_oe2, hrxc_pwr_oe3, hrxc_pwr_oe4, - adc_d, hrxc_adc_clk, - hrxc_ssp_frame, hrxc_ssp_din, ssp_dout, hrxc_ssp_clk, - cross_hi, cross_lo, - hrxc_dbg, - hi_read_rx_xcorr_848, hi_read_rx_xcorr_snoop, hi_read_rx_xcorr_quarter -); - -hi_simulate hs( - pck0, ck_1356meg, ck_1356megb, - hs_pwr_lo, hs_pwr_hi, hs_pwr_oe1, hs_pwr_oe2, hs_pwr_oe3, hs_pwr_oe4, - adc_d, hs_adc_clk, - hs_ssp_frame, hs_ssp_din, ssp_dout, hs_ssp_clk, - cross_hi, cross_lo, - hs_dbg, - hi_simulate_mod_type -); - -hi_iso14443a hisn( - pck0, ck_1356meg, ck_1356megb, - hisn_pwr_lo, hisn_pwr_hi, hisn_pwr_oe1, hisn_pwr_oe2, hisn_pwr_oe3, hisn_pwr_oe4, - adc_d, hisn_adc_clk, - hisn_ssp_frame, hisn_ssp_din, ssp_dout, hisn_ssp_clk, - cross_hi, cross_lo, - hisn_dbg, - hi_simulate_mod_type -); - -// Major modes: -// 000 -- LF reader (generic) -// 001 -- LF simulated tag (generic) -// 010 -- HF reader, transmitting to tag; modulation depth selectable -// 011 -- HF reader, receiving from tag, correlating as it goes; frequency selectable -// 100 -- HF simulated tag -// 101 -- HF ISO14443-A -// 110 -- LF passthrough -// 111 -- everything off - -mux8 mux_ssp_clk (major_mode, ssp_clk, lr_ssp_clk, ls_ssp_clk, ht_ssp_clk, hrxc_ssp_clk, hs_ssp_clk, hisn_ssp_clk, lp_ssp_clk, 1'b0); -mux8 mux_ssp_din (major_mode, ssp_din, lr_ssp_din, ls_ssp_din, ht_ssp_din, hrxc_ssp_din, hs_ssp_din, hisn_ssp_din, lp_ssp_din, 1'b0); -mux8 mux_ssp_frame (major_mode, ssp_frame, lr_ssp_frame, ls_ssp_frame, ht_ssp_frame, hrxc_ssp_frame, hs_ssp_frame, hisn_ssp_frame, lp_ssp_frame, 1'b0); -mux8 mux_pwr_oe1 (major_mode, pwr_oe1, lr_pwr_oe1, ls_pwr_oe1, ht_pwr_oe1, hrxc_pwr_oe1, hs_pwr_oe1, hisn_pwr_oe1, lp_pwr_oe1, 1'b0); -mux8 mux_pwr_oe2 (major_mode, pwr_oe2, lr_pwr_oe2, ls_pwr_oe2, ht_pwr_oe2, hrxc_pwr_oe2, hs_pwr_oe2, hisn_pwr_oe2, lp_pwr_oe2, 1'b0); -mux8 mux_pwr_oe3 (major_mode, pwr_oe3, lr_pwr_oe3, ls_pwr_oe3, ht_pwr_oe3, hrxc_pwr_oe3, hs_pwr_oe3, hisn_pwr_oe3, lp_pwr_oe3, 1'b0); -mux8 mux_pwr_oe4 (major_mode, pwr_oe4, lr_pwr_oe4, ls_pwr_oe4, ht_pwr_oe4, hrxc_pwr_oe4, hs_pwr_oe4, hisn_pwr_oe4, lp_pwr_oe4, 1'b0); -mux8 mux_pwr_lo (major_mode, pwr_lo, lr_pwr_lo, ls_pwr_lo, ht_pwr_lo, hrxc_pwr_lo, hs_pwr_lo, hisn_pwr_lo, lp_pwr_lo, 1'b0); -mux8 mux_pwr_hi (major_mode, pwr_hi, lr_pwr_hi, ls_pwr_hi, ht_pwr_hi, hrxc_pwr_hi, hs_pwr_hi, hisn_pwr_hi, lp_pwr_hi, 1'b0); -mux8 mux_adc_clk (major_mode, adc_clk, lr_adc_clk, ls_adc_clk, ht_adc_clk, hrxc_adc_clk, hs_adc_clk, hisn_adc_clk, lp_adc_clk, 1'b0); -mux8 mux_dbg (major_mode, dbg, lr_dbg, ls_dbg, ht_dbg, hrxc_dbg, hs_dbg, hisn_dbg, lp_dbg, 1'b0); - -// In all modes, let the ADC's outputs be enabled. -assign adc_noe = 1'b0; - -endmodule diff --git a/fpga/fpga_hf.bit b/fpga/fpga_hf.bit new file mode 100644 index 000000000..5389428c5 Binary files /dev/null and b/fpga/fpga_hf.bit differ diff --git a/fpga/fpga_hf.v b/fpga/fpga_hf.v new file mode 100644 index 000000000..a2100df65 --- /dev/null +++ b/fpga/fpga_hf.v @@ -0,0 +1,151 @@ +//----------------------------------------------------------------------------- +// The FPGA is responsible for interfacing between the A/D, the coil drivers, +// and the ARM. In the low-frequency modes it passes the data straight +// through, so that the ARM gets raw A/D samples over the SSP. In the high- +// frequency modes, the FPGA might perform some demodulation first, to +// reduce the amount of data that we must send to the ARM. +// +// I am not really an FPGA/ASIC designer, so I am sure that a lot of this +// could be improved. +// +// Jonathan Westhues, March 2006 +// Added ISO14443-A support by Gerhard de Koning Gans, April 2008 +// iZsh , June 2014 +//----------------------------------------------------------------------------- + +`include "hi_read_tx.v" +`include "hi_read_rx_xcorr.v" +`include "hi_simulate.v" +`include "hi_iso14443a.v" +`include "util.v" + +module fpga_hf( + input spck, output miso, input mosi, input ncs, + input pck0, input ck_1356meg, input ck_1356megb, + output pwr_lo, output pwr_hi, + output pwr_oe1, output pwr_oe2, output pwr_oe3, output pwr_oe4, + input [7:0] adc_d, output adc_clk, output adc_noe, + output ssp_frame, output ssp_din, input ssp_dout, output ssp_clk, + input cross_hi, input cross_lo, + output dbg +); + +//----------------------------------------------------------------------------- +// The SPI receiver. This sets up the configuration word, which the rest of +// the logic looks at to determine how to connect the A/D and the coil +// drivers (i.e., which section gets it). Also assign some symbolic names +// to the configuration bits, for use below. +//----------------------------------------------------------------------------- + +reg [15:0] shift_reg; +reg [7:0] conf_word; + +// We switch modes between transmitting to the 13.56 MHz tag and receiving +// from it, which means that we must make sure that we can do so without +// glitching, or else we will glitch the transmitted carrier. +always @(posedge ncs) +begin + case(shift_reg[15:12]) + 4'b0001: conf_word <= shift_reg[7:0]; // FPGA_CMD_SET_CONFREG + endcase +end + +always @(posedge spck) +begin + if(~ncs) + begin + shift_reg[15:1] <= shift_reg[14:0]; + shift_reg[0] <= mosi; + end +end + +wire [2:0] major_mode; +assign major_mode = conf_word[7:5]; + +// For the high-frequency transmit configuration: modulation depth, either +// 100% (just quite driving antenna, steady LOW), or shallower (tri-state +// some fraction of the buffers) +wire hi_read_tx_shallow_modulation = conf_word[0]; + +// For the high-frequency receive correlator: frequency against which to +// correlate. +wire hi_read_rx_xcorr_848 = conf_word[0]; +// and whether to drive the coil (reader) or just short it (snooper) +wire hi_read_rx_xcorr_snoop = conf_word[1]; + +// Divide the expected subcarrier frequency for hi_read_rx_xcorr by 4 +wire hi_read_rx_xcorr_quarter = conf_word[2]; + +// For the high-frequency simulated tag: what kind of modulation to use. +wire [2:0] hi_simulate_mod_type = conf_word[2:0]; + +//----------------------------------------------------------------------------- +// And then we instantiate the modules corresponding to each of the FPGA's +// major modes, and use muxes to connect the outputs of the active mode to +// the output pins. +//----------------------------------------------------------------------------- + +hi_read_tx ht( + pck0, ck_1356meg, ck_1356megb, + ht_pwr_lo, ht_pwr_hi, ht_pwr_oe1, ht_pwr_oe2, ht_pwr_oe3, ht_pwr_oe4, + adc_d, ht_adc_clk, + ht_ssp_frame, ht_ssp_din, ssp_dout, ht_ssp_clk, + cross_hi, cross_lo, + ht_dbg, + hi_read_tx_shallow_modulation +); + +hi_read_rx_xcorr hrxc( + pck0, ck_1356meg, ck_1356megb, + hrxc_pwr_lo, hrxc_pwr_hi, hrxc_pwr_oe1, hrxc_pwr_oe2, hrxc_pwr_oe3, hrxc_pwr_oe4, + adc_d, hrxc_adc_clk, + hrxc_ssp_frame, hrxc_ssp_din, ssp_dout, hrxc_ssp_clk, + cross_hi, cross_lo, + hrxc_dbg, + hi_read_rx_xcorr_848, hi_read_rx_xcorr_snoop, hi_read_rx_xcorr_quarter +); + +hi_simulate hs( + pck0, ck_1356meg, ck_1356megb, + hs_pwr_lo, hs_pwr_hi, hs_pwr_oe1, hs_pwr_oe2, hs_pwr_oe3, hs_pwr_oe4, + adc_d, hs_adc_clk, + hs_ssp_frame, hs_ssp_din, ssp_dout, hs_ssp_clk, + cross_hi, cross_lo, + hs_dbg, + hi_simulate_mod_type +); + +hi_iso14443a hisn( + pck0, ck_1356meg, ck_1356megb, + hisn_pwr_lo, hisn_pwr_hi, hisn_pwr_oe1, hisn_pwr_oe2, hisn_pwr_oe3, hisn_pwr_oe4, + adc_d, hisn_adc_clk, + hisn_ssp_frame, hisn_ssp_din, ssp_dout, hisn_ssp_clk, + cross_hi, cross_lo, + hisn_dbg, + hi_simulate_mod_type +); + +// Major modes: + +// 000 -- HF reader, transmitting to tag; modulation depth selectable +// 001 -- HF reader, receiving from tag, correlating as it goes; frequency selectable +// 010 -- HF simulated tag +// 011 -- HF ISO14443-A +// 111 -- everything off + +mux8 mux_ssp_clk (major_mode, ssp_clk, ht_ssp_clk, hrxc_ssp_clk, hs_ssp_clk, hisn_ssp_clk, 1'b0, 1'b0, 1'b0, 1'b0); +mux8 mux_ssp_din (major_mode, ssp_din, ht_ssp_din, hrxc_ssp_din, hs_ssp_din, hisn_ssp_din, 1'b0, 1'b0, 1'b0, 1'b0); +mux8 mux_ssp_frame (major_mode, ssp_frame, ht_ssp_frame, hrxc_ssp_frame, hs_ssp_frame, hisn_ssp_frame, 1'b0, 1'b0, 1'b0, 1'b0); +mux8 mux_pwr_oe1 (major_mode, pwr_oe1, ht_pwr_oe1, hrxc_pwr_oe1, hs_pwr_oe1, hisn_pwr_oe1, 1'b0, 1'b0, 1'b0, 1'b0); +mux8 mux_pwr_oe2 (major_mode, pwr_oe2, ht_pwr_oe2, hrxc_pwr_oe2, hs_pwr_oe2, hisn_pwr_oe2, 1'b0, 1'b0, 1'b0, 1'b0); +mux8 mux_pwr_oe3 (major_mode, pwr_oe3, ht_pwr_oe3, hrxc_pwr_oe3, hs_pwr_oe3, hisn_pwr_oe3, 1'b0, 1'b0, 1'b0, 1'b0); +mux8 mux_pwr_oe4 (major_mode, pwr_oe4, ht_pwr_oe4, hrxc_pwr_oe4, hs_pwr_oe4, hisn_pwr_oe4, 1'b0, 1'b0, 1'b0, 1'b0); +mux8 mux_pwr_lo (major_mode, pwr_lo, ht_pwr_lo, hrxc_pwr_lo, hs_pwr_lo, hisn_pwr_lo, 1'b0, 1'b0, 1'b0, 1'b0); +mux8 mux_pwr_hi (major_mode, pwr_hi, ht_pwr_hi, hrxc_pwr_hi, hs_pwr_hi, hisn_pwr_hi, 1'b0, 1'b0, 1'b0, 1'b0); +mux8 mux_adc_clk (major_mode, adc_clk, ht_adc_clk, hrxc_adc_clk, hs_adc_clk, hisn_adc_clk, 1'b0, 1'b0, 1'b0, 1'b0); +mux8 mux_dbg (major_mode, dbg, ht_dbg, hrxc_dbg, hs_dbg, hisn_dbg, 1'b0, 1'b0, 1'b0, 1'b0); + +// In all modes, let the ADC's outputs be enabled. +assign adc_noe = 1'b0; + +endmodule diff --git a/fpga/fpga_lf.bit b/fpga/fpga_lf.bit new file mode 100644 index 000000000..e942921a8 Binary files /dev/null and b/fpga/fpga_lf.bit differ diff --git a/fpga/fpga_lf.v b/fpga/fpga_lf.v new file mode 100644 index 000000000..1b7a11276 --- /dev/null +++ b/fpga/fpga_lf.v @@ -0,0 +1,123 @@ +//----------------------------------------------------------------------------- +// Jonathan Westhues, March 2006 +// iZsh , June 2014 +//----------------------------------------------------------------------------- + +`include "lo_read.v" +`include "lo_passthru.v" +`include "lo_edge_detect.v" +`include "util.v" +`include "clk_divider.v" + +module fpga_lf( + input spck, output miso, input mosi, input ncs, + input pck0, input ck_1356meg, input ck_1356megb, + output pwr_lo, output pwr_hi, + output pwr_oe1, output pwr_oe2, output pwr_oe3, output pwr_oe4, + input [7:0] adc_d, output adc_clk, output adc_noe, + output ssp_frame, output ssp_din, input ssp_dout, output ssp_clk, + input cross_hi, input cross_lo, + output dbg +); + +//----------------------------------------------------------------------------- +// The SPI receiver. This sets up the configuration word, which the rest of +// the logic looks at to determine how to connect the A/D and the coil +// drivers (i.e., which section gets it). Also assign some symbolic names +// to the configuration bits, for use below. +//----------------------------------------------------------------------------- + +reg [15:0] shift_reg; +reg [7:0] divisor; +reg [7:0] conf_word; +reg [7:0] user_byte1; + +always @(posedge ncs) +begin + case(shift_reg[15:12]) + 4'b0001: + begin + conf_word <= shift_reg[7:0]; + if (shift_reg[7:0] == 8'b00000001) begin // LF edge detect + user_byte1 <= 127; // default threshold + end + end + 4'b0010: divisor <= shift_reg[7:0]; // FPGA_CMD_SET_DIVISOR + 4'b0011: user_byte1 <= shift_reg[7:0]; // FPGA_CMD_SET_USER_BYTE1 + endcase +end + +always @(posedge spck) +begin + if(~ncs) + begin + shift_reg[15:1] <= shift_reg[14:0]; + shift_reg[0] <= mosi; + end +end + +wire [2:0] major_mode = conf_word[7:5]; + +// For the low-frequency configuration: +wire lf_field = conf_word[0]; +wire lf_ed_toggle_mode = conf_word[1]; // for lo_edge_detect +wire [7:0] lf_ed_threshold = user_byte1; + +//----------------------------------------------------------------------------- +// And then we instantiate the modules corresponding to each of the FPGA's +// major modes, and use muxes to connect the outputs of the active mode to +// the output pins. +//----------------------------------------------------------------------------- +wire [7:0] pck_cnt; +wire pck_divclk; +clk_divider div_clk(pck0, divisor, pck_cnt, pck_divclk); + +lo_read lr( + pck0, pck_cnt, pck_divclk, + lr_pwr_lo, lr_pwr_hi, lr_pwr_oe1, lr_pwr_oe2, lr_pwr_oe3, lr_pwr_oe4, + adc_d, lr_adc_clk, + lr_ssp_frame, lr_ssp_din, lr_ssp_clk, + lr_dbg, lf_field +); + +lo_passthru lp( + pck_divclk, + lp_pwr_lo, lp_pwr_hi, lp_pwr_oe1, lp_pwr_oe2, lp_pwr_oe3, lp_pwr_oe4, + lp_adc_clk, + lp_ssp_din, ssp_dout, + cross_lo, + lp_dbg +); + +lo_edge_detect le( + pck0, pck_divclk, + le_pwr_lo, le_pwr_hi, le_pwr_oe1, le_pwr_oe2, le_pwr_oe3, le_pwr_oe4, + adc_d, le_adc_clk, + le_ssp_frame, ssp_dout, le_ssp_clk, + cross_lo, + le_dbg, + lf_field, + lf_ed_toggle_mode, lf_ed_threshold +); + +// Major modes: +// 000 -- LF reader (generic) +// 001 -- LF edge detect (generic) +// 010 -- LF passthrough + +mux8 mux_ssp_clk (major_mode, ssp_clk, lr_ssp_clk, le_ssp_clk, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0); +mux8 mux_ssp_din (major_mode, ssp_din, lr_ssp_din, 1'b0, lp_ssp_din, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0); +mux8 mux_ssp_frame (major_mode, ssp_frame, lr_ssp_frame, le_ssp_frame, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0); +mux8 mux_pwr_oe1 (major_mode, pwr_oe1, lr_pwr_oe1, le_pwr_oe1, lp_pwr_oe1, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0); +mux8 mux_pwr_oe2 (major_mode, pwr_oe2, lr_pwr_oe2, le_pwr_oe2, lp_pwr_oe2, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0); +mux8 mux_pwr_oe3 (major_mode, pwr_oe3, lr_pwr_oe3, le_pwr_oe3, lp_pwr_oe3, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0); +mux8 mux_pwr_oe4 (major_mode, pwr_oe4, lr_pwr_oe4, le_pwr_oe4, lp_pwr_oe4, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0); +mux8 mux_pwr_lo (major_mode, pwr_lo, lr_pwr_lo, le_pwr_lo, lp_pwr_lo, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0); +mux8 mux_pwr_hi (major_mode, pwr_hi, lr_pwr_hi, le_pwr_hi, lp_pwr_hi, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0); +mux8 mux_adc_clk (major_mode, adc_clk, lr_adc_clk, le_adc_clk, lp_adc_clk, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0); +mux8 mux_dbg (major_mode, dbg, lr_dbg, le_dbg, lp_dbg, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0); + +// In all modes, let the ADC's outputs be enabled. +assign adc_noe = 1'b0; + +endmodule diff --git a/fpga/go.bat b/fpga/go.bat index 8600d3cd9..d9704e08d 100644 --- a/fpga/go.bat +++ b/fpga/go.bat @@ -2,37 +2,67 @@ rmdir/s/q xst -del fpga.ngc -xst -ifn xst.scr +del fpga_lf.ngc +xst -ifn xst_lf.scr if errorlevel 0 goto ok1 goto done :ok1 -del fpga.ngd -ngdbuild -aul -p xc2s30-6vq100 -nt timestamp -uc fpga.ucf fpga.ngc fpga.ngd +del fpga_lf.ngd +ngdbuild -aul -p xc2s30-6vq100 -nt timestamp -uc fpga.ucf fpga_lf.ngc fpga_lf.ngd if errorlevel 0 goto ok2 goto done :ok2 -del fpga.ncd -map -p xc2s30-6vq100 fpga.ngd +del fpga_lf.ncd +map -p xc2s30-6vq100 fpga_lf.ngd if errorlevel 0 goto ok3 goto done :ok3 -del fpga-placed.ncd -par fpga.ncd fpga-placed.ncd +del fpga_lf-placed.ncd +par fpga_lf.ncd fpga_lf-placed.ncd if errorlevel 0 goto ok4 goto done :ok4 -del fpga.bit fpga.drc fpga.rbt -bitgen -b fpga-placed.ncd fpga.bit +del fpga_lf.bit fpga_lf.drc fpga_lf.rbt +bitgen -b fpga_lf-placed.ncd fpga_lf.bit if errorlevel 0 goto ok5 goto done :ok5 +del fpga_hf.ngc +xst -ifn xst_hf.scr +if errorlevel 0 goto ok6 +goto done +:ok6 + +del fpga_hf.ngd +ngdbuild -aul -p xc2s30-6vq100 -nt timestamp -uc fpga.ucf fpga_hf.ngc fpga_hf.ngd +if errorlevel 0 goto ok7 +goto done +:ok7 + +del fpga_hf.ncd +map -p xc2s30-6vq100 fpga_hf.ngd +if errorlevel 0 goto ok8 +goto done +:ok8 + +del fpga_hf-placed.ncd +par fpga_hf.ncd fpga_hf-placed.ncd +if errorlevel 0 goto ok9 +goto done +:ok9 + +del fpga_hf.bit fpga_hf.drc fpga_hf.rbt +bitgen -b fpga_hf-placed.ncd fpga_hf.bit +if errorlevel 0 goto ok10 +goto done +:ok10 + echo okay -perl ..\tools\rbt2c.pl fpga.rbt > ..\armsrc\fpgaimg.c +perl ..\tools\rbt2c.pl fpga_lf.rbt > ..\armsrc\fpgaimg.c :done diff --git a/fpga/hi_simulate.v b/fpga/hi_simulate.v index efaf452fa..c04ade80b 100644 --- a/fpga/hi_simulate.v +++ b/fpga/hi_simulate.v @@ -89,7 +89,9 @@ always @(mod_type or ssp_clk or ssp_dout) else if(mod_type == 3'b001) modulating_carrier <= ssp_dout ^ ssp_clk_divider[3]; // XOR means BPSK else if(mod_type == 3'b010) - modulating_carrier <= ssp_dout & ssp_clk_divider[5]; // switch 212kHz subcarrier on/off + modulating_carrier <= ssp_dout & ssp_clk_divider[5]; // switch 212kHz subcarrier on/off + else if(mod_type == 3'b100) + modulating_carrier <= ssp_dout & ssp_clk_divider[4]; // switch 424kHz modulation on/off else modulating_carrier <= 1'b0; // yet unused @@ -105,5 +107,8 @@ assign pwr_oe4 = modulating_carrier; assign pwr_oe3 = 1'b0; assign dbg = after_hysteresis; +//reg dbg; +//always @(ssp_dout) +// dbg <= ssp_dout; endmodule diff --git a/fpga/lf_edge_detect.v b/fpga/lf_edge_detect.v new file mode 100644 index 000000000..573adf7bd --- /dev/null +++ b/fpga/lf_edge_detect.v @@ -0,0 +1,77 @@ +//----------------------------------------------------------------------------- +// Copyright (C) 2014 iZsh +// +// This code is licensed to you under the terms of the GNU GPL, version 2 or, +// at your option, any later version. See the LICENSE.txt file for the text of +// the license. +//----------------------------------------------------------------------------- +// input clk is 24Mhz +`include "min_max_tracker.v" + +module lf_edge_detect(input clk, input [7:0] adc_d, input [7:0] lf_ed_threshold, + output [7:0] max, output [7:0] min, + output [7:0] high_threshold, output [7:0] highz_threshold, + output [7:0] lowz_threshold, output [7:0] low_threshold, + output edge_state, output edge_toggle); + + min_max_tracker tracker(clk, adc_d, lf_ed_threshold, min, max); + + // auto-tune + assign high_threshold = (max + min) / 2 + (max - min) / 4; + assign highz_threshold = (max + min) / 2 + (max - min) / 8; + assign lowz_threshold = (max + min) / 2 - (max - min) / 8; + assign low_threshold = (max + min) / 2 - (max - min) / 4; + + // heuristic to see if it makes sense to try to detect an edge + wire enabled = + (high_threshold > highz_threshold) + & (highz_threshold > lowz_threshold) + & (lowz_threshold > low_threshold) + & ((high_threshold - highz_threshold) > 8) + & ((highz_threshold - lowz_threshold) > 16) + & ((lowz_threshold - low_threshold) > 8); + + // Toggle the output with hysteresis + // Set to high if the ADC value is above the threshold + // Set to low if the ADC value is below the threshold + reg is_high = 0; + reg is_low = 0; + reg is_zero = 0; + reg trigger_enabled = 1; + reg output_edge = 0; + reg output_state; + + always @(posedge clk) + begin + is_high <= (adc_d >= high_threshold); + is_low <= (adc_d <= low_threshold); + is_zero <= ((adc_d > lowz_threshold) & (adc_d < highz_threshold)); + end + + // all edges detection + always @(posedge clk) + if (enabled) begin + // To enable detecting two consecutive peaks at the same level + // (low or high) we check whether or not we went back near 0 in-between. + // This extra check is necessary to prevent from noise artifacts + // around the threshold values. + if (trigger_enabled & (is_high | is_low)) begin + output_edge <= ~output_edge; + trigger_enabled <= 0; + end else + trigger_enabled <= trigger_enabled | is_zero; + end + + // edge states + always @(posedge clk) + if (enabled) begin + if (is_high) + output_state <= 1'd1; + else if (is_low) + output_state <= 1'd0; + end + + assign edge_state = output_state; + assign edge_toggle = output_edge; + +endmodule diff --git a/fpga/lo_edge_detect.v b/fpga/lo_edge_detect.v index 8458ee692..dc97fc6f5 100644 --- a/fpga/lo_edge_detect.v +++ b/fpga/lo_edge_detect.v @@ -1,40 +1,38 @@ //----------------------------------------------------------------------------- -// The way that we connect things in low-frequency simulation mode. In this -// case just pass everything through to the ARM, which can bit-bang this -// (because it is so slow). +// Copyright (C) 2014 iZsh // -// Jonathan Westhues, April 2006 +// This code is licensed to you under the terms of the GNU GPL, version 2 or, +// at your option, any later version. See the LICENSE.txt file for the text of +// the license. //----------------------------------------------------------------------------- +// +// There are two modes: +// - lf_ed_toggle_mode == 0: the output is set low (resp. high) when a low +// (resp. high) edge/peak is detected, with hysteresis +// - lf_ed_toggle_mode == 1: the output is toggling whenever an edge/peak +// is detected. +// That way you can detect two consecutive edges/peaks at the same level (L/H) +// +// Output: +// - ssp_frame (wired to TIOA1 on the arm) for the edge detection/state +// - ssp_clk: cross_lo +`include "lp20khz_1MSa_iir_filter.v" +`include "lf_edge_detect.v" module lo_edge_detect( - pck0, ck_1356meg, ck_1356megb, - pwr_lo, pwr_hi, pwr_oe1, pwr_oe2, pwr_oe3, pwr_oe4, - adc_d, adc_clk, - ssp_frame, ssp_din, ssp_dout, ssp_clk, - cross_hi, cross_lo, - dbg, - divisor, - lf_field + input pck0, input pck_divclk, + output pwr_lo, output pwr_hi, + output pwr_oe1, output pwr_oe2, output pwr_oe3, output pwr_oe4, + input [7:0] adc_d, output adc_clk, + output ssp_frame, input ssp_dout, output ssp_clk, + input cross_lo, + output dbg, + input lf_field, + input lf_ed_toggle_mode, input [7:0] lf_ed_threshold ); - input pck0, ck_1356meg, ck_1356megb; - output pwr_lo, pwr_hi, pwr_oe1, pwr_oe2, pwr_oe3, pwr_oe4; - input [7:0] adc_d; - output adc_clk; - input ssp_dout; - output ssp_frame, ssp_din, ssp_clk; - input cross_hi, cross_lo; - output dbg; - input [7:0] divisor; - input lf_field; -// Divide the clock to be used for the ADC -reg [7:0] pck_divider; -reg clk_state; - -wire tag_modulation; -assign tag_modulation = ssp_dout & !lf_field; -wire reader_modulation; -assign reader_modulation = !ssp_dout & lf_field & clk_state; +wire tag_modulation = ssp_dout & !lf_field; +wire reader_modulation = !ssp_dout & lf_field & pck_divclk; // No logic, straight through. assign pwr_oe1 = 1'b0; // not used in LF mode @@ -44,47 +42,25 @@ assign pwr_oe4 = tag_modulation; assign ssp_clk = cross_lo; assign pwr_lo = reader_modulation; assign pwr_hi = 1'b0; -assign dbg = ssp_frame; -always @(posedge pck0) -begin - if(pck_divider == divisor[7:0]) - begin - pck_divider <= 8'd0; - clk_state = !clk_state; - end - else - begin - pck_divider <= pck_divider + 1; - end -end +// filter the ADC values +wire data_rdy; +wire [7:0] adc_filtered; +assign adc_clk = pck0; +lp20khz_1MSa_iir_filter adc_filter(pck0, adc_d, data_rdy, adc_filtered); -assign adc_clk = ~clk_state; +// detect edges +wire [7:0] high_threshold, highz_threshold, lowz_threshold, low_threshold; +wire [7:0] max, min; +wire edge_state, edge_toggle; +lf_edge_detect lf_ed(pck0, adc_filtered, lf_ed_threshold, + max, min, + high_threshold, highz_threshold, lowz_threshold, low_threshold, + edge_state, edge_toggle); -// Toggle the output with hysteresis -// Set to high if the ADC value is above 200 -// Set to low if the ADC value is below 64 -reg is_high; -reg is_low; -reg output_state; +assign dbg = lf_ed_toggle_mode ? edge_toggle : edge_state; -always @(posedge pck0) -begin - if((pck_divider == 8'd7) && !clk_state) begin - is_high = (adc_d >= 8'd190); - is_low = (adc_d <= 8'd70); - end -end - -always @(posedge is_high or posedge is_low) -begin - if(is_high) - output_state <= 1'd1; - else if(is_low) - output_state <= 1'd0; -end - -assign ssp_frame = output_state; +assign ssp_frame = lf_ed_toggle_mode ? edge_toggle : edge_state; endmodule diff --git a/fpga/lo_passthru.v b/fpga/lo_passthru.v index 5c59d11ca..3507f660e 100644 --- a/fpga/lo_passthru.v +++ b/fpga/lo_passthru.v @@ -2,44 +2,17 @@ // For reading TI tags, we need to place the FPGA in pass through mode // and pass everything through to the ARM //----------------------------------------------------------------------------- +// iZsh , June 2014 module lo_passthru( - pck0, ck_1356meg, ck_1356megb, - pwr_lo, pwr_hi, pwr_oe1, pwr_oe2, pwr_oe3, pwr_oe4, - adc_d, adc_clk, - ssp_frame, ssp_din, ssp_dout, ssp_clk, - cross_hi, cross_lo, - dbg, divisor + input pck_divclk, + output pwr_lo, output pwr_hi, + output pwr_oe1, output pwr_oe2, output pwr_oe3, output pwr_oe4, + output adc_clk, + output ssp_din, input ssp_dout, + input cross_lo, + output dbg ); - input pck0, ck_1356meg, ck_1356megb; - output pwr_lo, pwr_hi, pwr_oe1, pwr_oe2, pwr_oe3, pwr_oe4; - input [7:0] adc_d; - output adc_clk; - input ssp_dout; - output ssp_frame, ssp_din, ssp_clk; - input cross_hi, cross_lo; - output dbg; - input [7:0] divisor; - -reg [7:0] pck_divider; -reg ant_lo; - -// this task runs on the rising egde of pck0 clock (24Mhz) and creates ant_lo -// which is high for (divisor+1) pck0 cycles and low for the same duration -// ant_lo is therefore a 50% duty cycle clock signal with a frequency of -// 12Mhz/(divisor+1) which drives the antenna as well as the ADC clock adc_clk -always @(posedge pck0) -begin - if(pck_divider == divisor[7:0]) - begin - pck_divider <= 8'd0; - ant_lo = !ant_lo; - end - else - begin - pck_divider <= pck_divider + 1; - end -end // the antenna is modulated when ssp_dout = 1, when 0 the // antenna drivers stop modulating and go into listen mode @@ -47,7 +20,7 @@ assign pwr_oe3 = 1'b0; assign pwr_oe1 = ssp_dout; assign pwr_oe2 = ssp_dout; assign pwr_oe4 = ssp_dout; -assign pwr_lo = ant_lo && ssp_dout; +assign pwr_lo = pck_divclk && ssp_dout; assign pwr_hi = 1'b0; assign adc_clk = 1'b0; assign ssp_din = cross_lo; diff --git a/fpga/lo_read.v b/fpga/lo_read.v index e6f245ca6..a6d077b99 100644 --- a/fpga/lo_read.v +++ b/fpga/lo_read.v @@ -4,68 +4,39 @@ // The A/D samples at that same rate and the result is serialized. // // Jonathan Westhues, April 2006 +// iZsh , June 2014 //----------------------------------------------------------------------------- module lo_read( - pck0, ck_1356meg, ck_1356megb, - pwr_lo, pwr_hi, pwr_oe1, pwr_oe2, pwr_oe3, pwr_oe4, - adc_d, adc_clk, - ssp_frame, ssp_din, ssp_dout, ssp_clk, - cross_hi, cross_lo, - dbg, - lo_is_125khz, divisor + input pck0, input [7:0] pck_cnt, input pck_divclk, + output pwr_lo, output pwr_hi, + output pwr_oe1, output pwr_oe2, output pwr_oe3, output pwr_oe4, + input [7:0] adc_d, output adc_clk, + output ssp_frame, output ssp_din, output ssp_clk, + output dbg, + input lf_field ); - input pck0, ck_1356meg, ck_1356megb; - output pwr_lo, pwr_hi, pwr_oe1, pwr_oe2, pwr_oe3, pwr_oe4; - input [7:0] adc_d; - output adc_clk; - input ssp_dout; - output ssp_frame, ssp_din, ssp_clk; - input cross_hi, cross_lo; - output dbg; - input lo_is_125khz; // redundant signal, no longer used anywhere - input [7:0] divisor; reg [7:0] to_arm_shiftreg; -reg [7:0] pck_divider; -reg ant_lo; - -// this task runs on the rising egde of pck0 clock (24Mhz) and creates ant_lo -// which is high for (divisor+1) pck0 cycles and low for the same duration -// ant_lo is therefore a 50% duty cycle clock signal with a frequency of -// 12Mhz/(divisor+1) which drives the antenna as well as the ADC clock adc_clk -always @(posedge pck0) -begin - if(pck_divider == divisor[7:0]) - begin - pck_divider <= 8'd0; - ant_lo = !ant_lo; - end - else - begin - pck_divider <= pck_divider + 1; - end -end // this task also runs at pck0 frequency (24Mhz) and is used to serialize // the ADC output which is then clocked into the ARM SSP. -// because ant_lo always transitions when pck_divider = 0 we use the -// pck_divider counter to sync our other signals off it -// we read the ADC value when pck_divider=7 and shift it out on counts 8..15 +// because pck_divclk always transitions when pck_cnt = 0 we use the +// pck_div counter to sync our other signals off it +// we read the ADC value when pck_cnt=7 and shift it out on counts 8..15 always @(posedge pck0) begin - if((pck_divider == 8'd7) && !ant_lo) - to_arm_shiftreg <= adc_d; - else - begin - to_arm_shiftreg[7:1] <= to_arm_shiftreg[6:0]; + if((pck_cnt == 8'd7) && !pck_divclk) + to_arm_shiftreg <= adc_d; + else begin + to_arm_shiftreg[7:1] <= to_arm_shiftreg[6:0]; // simulation showed a glitch occuring due to the LSB of the shifter // not being set as we shift bits out // this ensures the ssp_din remains low after a transfer and suppresses // the glitch that would occur when the last data shifted out ended in // a 1 bit and the next data shifted out started with a 0 bit - to_arm_shiftreg[0] <= 1'b0; + to_arm_shiftreg[0] <= 1'b0; end end @@ -83,11 +54,11 @@ end // ssp_clk |_| |_| |_| |_| |_| |_| |_| |_| |_| |_ // serialized SSP data is gated by ant_lo to suppress unwanted signal -assign ssp_din = to_arm_shiftreg[7] && !ant_lo; +assign ssp_din = to_arm_shiftreg[7] && !pck_divclk; // SSP clock always runs at 24Mhz assign ssp_clk = pck0; // SSP frame is gated by ant_lo and goes high when pck_divider=8..15 -assign ssp_frame = (pck_divider[7:3] == 5'd1) && !ant_lo; +assign ssp_frame = (pck_cnt[7:3] == 5'd1) && !pck_divclk; // unused signals tied low assign pwr_hi = 1'b0; assign pwr_oe1 = 1'b0; @@ -95,9 +66,9 @@ assign pwr_oe2 = 1'b0; assign pwr_oe3 = 1'b0; assign pwr_oe4 = 1'b0; // this is the antenna driver signal -assign pwr_lo = ant_lo; +assign pwr_lo = lf_field & pck_divclk; // ADC clock out of phase with antenna driver -assign adc_clk = ~ant_lo; +assign adc_clk = ~pck_divclk; // ADC clock also routed to debug pin assign dbg = adc_clk; endmodule diff --git a/fpga/lp20khz_1MSa_iir_filter.v b/fpga/lp20khz_1MSa_iir_filter.v new file mode 100644 index 000000000..a227a902c --- /dev/null +++ b/fpga/lp20khz_1MSa_iir_filter.v @@ -0,0 +1,81 @@ +//----------------------------------------------------------------------------- +// Copyright (C) 2014 iZsh +// +// This code is licensed to you under the terms of the GNU GPL, version 2 or, +// at your option, any later version. See the LICENSE.txt file for the text of +// the license. +//----------------------------------------------------------------------------- +// Butterworth low pass IIR filter +// input: 8bit ADC signal, 1MS/s +// output: 8bit value, Fc=20khz +// +// coef: (using http://www-users.cs.york.ac.uk/~fisher/mkfilter/trad.html) +// Recurrence relation: +// y[n] = ( 1 * x[n- 2]) +// + ( 2 * x[n- 1]) +// + ( 1 * x[n- 0]) + +// + ( -0.8371816513 * y[n- 2]) +// + ( 1.8226949252 * y[n- 1]) +// +// therefore: +// a = [1,2,1] +// b = [-0.8371816513, 1.8226949252] +// b is approximated to b = [-0xd6/0x100, 0x1d3 / 0x100] (for optimization) +// gain = 2.761139367e2 +// +// See details about its design see +// https://fail0verflow.com/blog/2014/proxmark3-fpga-iir-filter.html +module lp20khz_1MSa_iir_filter(input clk, input [7:0] adc_d, output rdy, output [7:0] out); + + // clk is 24Mhz, the IIR filter is designed for 1MS/s + // hence we need to divide it by 24 + // using a shift register takes less area than a counter + reg [23:0] cnt = 1; + assign rdy = cnt[0]; + always @(posedge clk) + cnt <= {cnt[22:0], cnt[23]}; + + reg [7:0] x0 = 0; + reg [7:0] x1 = 0; + reg [16:0] y0 = 0; + reg [16:0] y1 = 0; + + always @(posedge clk) + begin + if (rdy) + begin + x0 <= x1; + x1 <= adc_d; + y0 <= y1; + y1 <= + // center the signal: + // input range is [0; 255] + // We want "128" to be at the center of the 17bit register + // (128+z)*gain = 17bit center + // z = (1<<16)/gain - 128 = 109 + // We could use 9bit x registers for that, but that would be + // a waste, let's just add the constant during the computation + // (x0+109) + 2*(x1+109) + (x2+109) = x0 + 2*x1 + x2 + 436 + x0 + {x1, 1'b0} + adc_d + 436 + // we want "- y0 * 0xd6 / 0x100" using only shift and add + // 0xd6 == 0b11010110 + // so *0xd6/0x100 is equivalent to + // ((x << 1) + (x << 2) + (x << 4) + (x << 6) + (x << 7)) >> 8 + // which is also equivalent to + // (x >> 7) + (x >> 6) + (x >> 4) + (x >> 2) + (x >> 1) + - ((y0 >> 7) + (y0 >> 6) + (y0 >> 4) + (y0 >> 2) + (y0 >> 1)) // - y0 * 0xd6 / 0x100 + // we want "+ y1 * 0x1d3 / 0x100" + // 0x1d3 == 0b111010011 + // so this is equivalent to + // ((x << 0) + (x << 1) + (x << 4) + (x << 6) + (x << 7) + (x << 8)) >> 8 + // which is also equivalent to + // (x >> 8) + (x >> 7) + (x >> 4) + (x >> 2) + (x >> 1) + (x >> 0) + + ((y1 >> 8) + (y1 >> 7) + (y1 >> 4) + (y1 >> 2) + (y1 >> 1) + y1); + end + end + + // output: reduce to 8bit + assign out = y1[16:9]; + +endmodule diff --git a/fpga/min_max_tracker.v b/fpga/min_max_tracker.v new file mode 100644 index 000000000..8abd40fba --- /dev/null +++ b/fpga/min_max_tracker.v @@ -0,0 +1,65 @@ +//----------------------------------------------------------------------------- +// Copyright (C) 2014 iZsh +// +// This code is licensed to you under the terms of the GNU GPL, version 2 or, +// at your option, any later version. See the LICENSE.txt file for the text of +// the license. +//----------------------------------------------------------------------------- +// track min and max peak values (envelope follower) +// +// NB: the min value (resp. max value) is updated only when the next high peak +// (resp. low peak) is reached/detected, since you can't know it isn't a +// local minima (resp. maxima) until then. +// This also means the peaks are detected with an unpredictable delay. +// This algorithm therefore can't be used directly for realtime peak detections, +// but it can be used as a simple envelope follower. +module min_max_tracker(input clk, input [7:0] adc_d, input [7:0] threshold, + output [7:0] min, output [7:0] max); + + reg [7:0] min_val = 255; + reg [7:0] max_val = 0; + reg [7:0] cur_min_val = 255; + reg [7:0] cur_max_val = 0; + reg [1:0] state = 0; + + always @(posedge clk) + begin + case (state) + 0: + begin + if (cur_max_val >= ({1'b0, adc_d} + threshold)) + state <= 2; + else if (adc_d >= ({1'b0, cur_min_val} + threshold)) + state <= 1; + if (cur_max_val <= adc_d) + cur_max_val <= adc_d; + else if (adc_d <= cur_min_val) + cur_min_val <= adc_d; + end + 1: + begin + if (cur_max_val <= adc_d) + cur_max_val <= adc_d; + else if (({1'b0, adc_d} + threshold) <= cur_max_val) begin + state <= 2; + cur_min_val <= adc_d; + max_val <= cur_max_val; + end + end + 2: + begin + if (adc_d <= cur_min_val) + cur_min_val <= adc_d; + else if (adc_d >= ({1'b0, cur_min_val} + threshold)) begin + state <= 1; + cur_max_val <= adc_d; + min_val <= cur_min_val; + end + end + endcase + end + + assign min = min_val; + assign max = max_val; + +endmodule diff --git a/fpga/tests/Makefile b/fpga/tests/Makefile new file mode 100644 index 000000000..755604633 --- /dev/null +++ b/fpga/tests/Makefile @@ -0,0 +1,87 @@ +#----------------------------------------------------------------------------- +# Copyright (C) 2014 iZsh +# +# This code is licensed to you under the terms of the GNU GPL, version 2 or, +# at your option, any later version. See the LICENSE.txt file for the text of +# the license. +#----------------------------------------------------------------------------- + +TEST_OUTDIR = tb_tmp + +TB_SOURCES = \ + tb_lp20khz_1MSa_iir_filter.v \ + tb_min_max_tracker.v \ + tb_lf_edge_detect.v + +TBS = $(TB_SOURCES:.v=.vvp) + +TB_DATA = \ + pcf7931_write1byte_1MSA_data \ + pcf7931_read_1MSA_data + +all: $(TBS) tests + +%.vvp: %.v + iverilog -I .. -o $@ $< + +clean: + rm -rf *.vvp $(TEST_OUTDIR) + +tests: tb_lp20khz_1MSa_iir_filter tb_min_max_tracker tb_lf_edge_detect + +tb_lp20khz_1MSa_iir_filter: tb_lp20khz_1MSa_iir_filter.vvp | test_dir + @printf "Testing $@\n" + @for d in $(TB_DATA); do \ + $(call run_test,$@.vvp,$$d,in); \ + $(call check_golden,$$d,filtered); \ + done; \ + rm -f $(TEST_OUTDIR)/data.* + +tb_min_max_tracker: tb_min_max_tracker.vvp | test_dir + @printf "Testing $@\n" + @for d in $(TB_DATA); do \ + $(call run_test,$@.vvp,$$d,in filtered.gold); \ + $(call check_golden,$$d,min); \ + $(call check_golden,$$d,max); \ + done; \ + rm -f $(TEST_OUTDIR)/data.* + +tb_lf_edge_detect: tb_lf_edge_detect.vvp | test_dir + @printf "Testing $@\n" + @for d in $(TB_DATA); do \ + $(call run_test,$@.vvp,$$d,in filtered.gold); \ + $(call check_golden,$$d,min); \ + $(call check_golden,$$d,max); \ + $(call check_golden,$$d,state); \ + $(call check_golden,$$d,toggle); \ + $(call check_golden,$$d,high); \ + $(call check_golden,$$d,highz); \ + $(call check_golden,$$d,lowz); \ + $(call check_golden,$$d,low); \ + done; \ + rm -f $(TEST_OUTDIR)/data.* + +test_dir: + @if [ ! -d $(TEST_OUTDIR) ] ; then mkdir $(TEST_OUTDIR) ; fi + +.PHONY: all clean + +# $(1) = basename +# $(2) = extension to check +check_golden = \ + printf " Checking $(1).$(2)... "; \ + mv $(TEST_OUTDIR)/data.$(2) $(TEST_OUTDIR)/$(1).$(2); \ + if cmp -s tb_data/$(1).$(2).gold $(TEST_OUTDIR)/$(1).$(2); then \ + printf "OK\n"; \ + else \ + printf "ERROR\n"; \ + fi + +# $(1) = vvp file +# $(2) = data basename +# $(3) = data extensions to copy +run_test = \ + env echo " With $(2)... "; \ + cp tb_data/$(2).time $(TEST_OUTDIR); \ + for e in $(3); do cp tb_data/$(2).$$e $(TEST_OUTDIR)/data.$$e; done; \ + ./$(1) diff --git a/fpga/tests/plot_edgedetect.py b/fpga/tests/plot_edgedetect.py new file mode 100755 index 000000000..4e244ebc3 --- /dev/null +++ b/fpga/tests/plot_edgedetect.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python +#----------------------------------------------------------------------------- +# Copyright (C) 2014 iZsh +# +# This code is licensed to you under the terms of the GNU GPL, version 2 or, +# at your option, any later version. See the LICENSE.txt file for the text of +# the license. +#----------------------------------------------------------------------------- +import numpy +import matplotlib.pyplot as plt +import sys + +if len(sys.argv) != 2: + print "Usage: %s " % sys.argv[0] + sys.exit(1) + +BASENAME = sys.argv[1] + +nx = numpy.fromfile(BASENAME + ".time") + +def plot_time(dat1): + plt.plot(nx, dat1) + +sig = open(BASENAME + ".filtered").read() +sig = map(lambda x: ord(x), sig) + +min_vals = open(BASENAME + ".min").read() +min_vals = map(lambda x: ord(x), min_vals) + +max_vals = open(BASENAME + ".max").read() +max_vals = map(lambda x: ord(x), max_vals) + +states = open(BASENAME + ".state").read() +states = map(lambda x: ord(x) * 10 + 65, states) + +toggles = open(BASENAME+ ".toggle").read() +toggles = map(lambda x: ord(x) * 10 + 80, toggles) + +high = open(BASENAME + ".high").read() +high = map(lambda x: ord(x), high) +highz = open(BASENAME + ".highz").read() +highz = map(lambda x: ord(x), highz) +lowz = open(BASENAME + ".lowz").read() +lowz = map(lambda x: ord(x), lowz) +low = open(BASENAME + ".low").read() +low = map(lambda x: ord(x), low) + +plot_time(sig) +plot_time(min_vals) +plot_time(max_vals) +plot_time(states) +plot_time(toggles) +plot_time(high) +plot_time(highz) +plot_time(lowz) +plot_time(low) + +plt.show() diff --git a/fpga/tests/tb_data/pcf7931_read_1MSA_data.filtered.gold b/fpga/tests/tb_data/pcf7931_read_1MSA_data.filtered.gold new file mode 100644 index 000000000..7851db99a --- /dev/null +++ b/fpga/tests/tb_data/pcf7931_read_1MSA_data.filtered.gold @@ -0,0 +1 @@ +  (/7?GNU\cioty~倖妽悡枠殯潪煚、ⅲ¥いいいいい####ⅱⅱⅱⅱⅰ           、ⅱⅱⅱⅱⅰ                                                                          、ⅰ                                                                                                                                                  ⅱⅰ           ⅱⅱⅱⅱⅱⅱ                          ⅱⅱⅱⅱⅱⅱⅱⅱⅱ                       ⅱⅱⅱ                                                                             ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                             、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ           ⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                                                                                                                                                                                                                                               、ⅱⅰ                                               ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                         、ⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                           、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ   ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                                                                                                                     、ⅱⅱⅱⅰ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          、ⅱⅱⅰ                                                                                                                                                 ⅱⅱⅱ                                                                                                                                               、ⅱⅱⅱⅱⅱⅱⅱⅱⅰ   ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ            、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                                                                                                                                                                          ⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                        ⅱⅱⅱⅱⅰ                                                                                                                                                            ⅱⅱⅱⅰ       ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                             、ⅱⅱⅱⅱ                                                                                                                                                                                                                                                                                                                      、ⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                                、ⅱⅱⅱⅱⅱ                                                                                                                                                                                                                                                                                                                               、ⅱ                                                                                                                                                                   、ⅱⅰ                                                                                                                                                                                                                                  、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                            ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                                                                                      ⅱⅱⅰ                                                  ⅱⅱⅱⅰ       、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                             ⅱⅱⅱⅱⅰ                                                                                   、ⅱⅱⅱⅰ                        ⅱ                                                                                                    、ⅱⅱⅱⅱⅱⅰ                            ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                                                                                                                                                                                               、ⅰ                                                                                                                                                                                ⅱⅱⅱⅱⅱⅱ                                                                                           ⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                       、ⅱⅰ              ⅱⅱⅱ                                                                                                            ⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                                    ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                、ⅱⅱⅱⅱⅱⅱⅰ                                ⅱⅱⅱⅱⅱⅱ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          、ⅱⅱⅱⅱⅱⅱ                                                                    ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                      ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                       、ⅱ                                                                                                                                                                                        、ⅱⅱⅱⅱⅰ  ⅱⅱⅱⅱⅱⅰ                        、ⅱⅱⅱ                                                                                                                                                                                                                                                                     、ⅱⅱⅱ                            ⅱⅱⅱⅱⅱⅱⅱ                                                                                                                             、ⅱⅰ                    ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ          ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                             、ⅱⅱⅱⅱⅱⅱⅱ                   、ⅱⅱⅱⅰ                                                                                                                                                        ⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ             、ⅱⅱⅱ                           、ⅱⅱⅱⅱⅱⅱⅱ                             、ⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                            ⅱⅱⅰ                                                                            、ⅱⅱⅱ                                                                                                 ⅱⅱⅱⅱ                                                                                                                                                                                                  ⅱⅱⅱ                                          ⅱⅱⅱⅱⅱⅱⅰ                                                                                                                               、ⅱⅱⅱⅱⅱⅱⅱⅱⅱ              ⅱⅱⅱⅱⅱⅱⅱ                                                                                                                    ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                      、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                     ⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                    ⅱⅱⅱⅱⅱⅱⅱⅱⅱ                ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                      、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ            ⅱⅱⅱⅰ                               、ⅱⅱⅱⅱⅱⅰ                                        、ⅱⅱⅱⅱⅱ                                                                                                          、ⅱⅱⅱⅱⅱⅱ                                              ⅱⅱⅱⅱⅰ                                        ⅱⅱⅱⅱⅱⅱⅱ            ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                 ⅱⅱⅰ                                                              、ⅱⅱⅱ                                                      ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                  ⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                              ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                            ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                    ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                  、ⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                             、ⅱⅰ                   ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                           、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                         、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ         、ⅱⅱⅱⅰ                                                                                                                                          、ⅱⅱⅱⅰ                                                                                                                                                                                           、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                       、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                     、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                             、ⅱⅱⅱⅱⅱ 、ⅱⅱ                                                                                                                                      、ⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                   ⅱⅱⅱ   ⅱⅱⅱⅰ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅱⅱⅱⅱⅰ      、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                            ⅱⅱⅱⅱⅱⅱⅱ                                                                                   ⅱⅰ                           ⅱⅱⅱⅰ                                                          ⅱⅱⅰ                                                                                 、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                            ⅱⅱⅱ                                                                                                                                                                                                                                                                                                                                                                                               ⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                                           、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                     、ⅱⅱⅱⅰ                                                                                                                                                                               、ⅱⅱ                                                        ⅱⅱ                                                                                                                                                                                                                                        、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                    ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                、ⅱⅱⅱⅱⅱⅱⅱⅱ                                                                    ⅱⅱⅱⅱⅱⅰ                                                                                                   、ⅱⅱⅱⅱⅰ                                                                                                                         ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                ⅱ           、ⅱⅱⅱⅱ                                                  、ⅱⅱⅱⅰ                                                                                                                                                                                   、ⅱⅱⅱⅱⅱ                                                                       、ⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                              、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                   、ⅱⅱⅱⅱⅰ                            ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ 、ⅱⅱⅱⅱⅱⅱ                                                                                                                、ⅱⅱⅱⅱⅱⅱⅱⅱⅱ              、ⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                  、ⅱ                                         、ⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                               ⅱⅱⅱⅱⅱⅱⅰ 、ⅱⅱ      、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ             ⅱ                                                                                              ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                         、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                                                                                                                                                                     ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                              ⅱⅱⅰ               ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ               ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                        、ⅱⅱⅰ                                                                                                                                                                                                                                                                                                                                                                                                   ⅱⅱⅱⅱⅱⅱ                                                                        、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                               、ⅱⅰ                                                                                                      ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                  ⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                           ⅱⅰ                                                                        ⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                                                                          ⅱⅱⅱⅱⅱⅱⅱ                          、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                              、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                         ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                    、ⅱⅱⅱⅱⅰ   ⅱⅱⅱⅱⅱⅱⅱⅱⅰ       ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                                      ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   、ⅱⅱⅱⅰ                                                                   、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                     ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                ⅱⅱⅱⅱⅱⅰ                    ⅱⅱⅱⅱⅱⅰ                                                                                                                                                    ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                 ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                          、ⅱⅱⅱ                            ⅱⅱⅱⅱⅱⅱⅱⅱ                                                                          、ⅱⅱⅱⅱⅱ          、ⅱⅱⅰ  ⅱⅱⅱⅱⅱⅱⅱⅱⅰ      ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                        、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                 、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                           、ⅱⅱⅱⅱⅰ                                                                                    ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ  ⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                                                           ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                         ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                 、ⅱⅱⅱⅱⅱⅱⅱ                  、ⅱⅰ         ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                  ⅱ      、ⅱⅱⅱ                      ⅱⅱⅰ                                         ⅱⅱⅱⅱⅱⅰ                                                                                         ⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                             ⅱⅱⅰ                                                                                          ⅱⅱⅱⅱ                                                                                                                                                                                                                 ⅱⅰ                                                        ⅱⅱⅱⅱⅱⅱⅱ                                                                               、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         ⅱⅱⅱⅱⅱ                                                                        ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                       ⅱⅱⅱⅱ                                                                                                                                                                                                                                                                                                                                         、ⅱⅱⅱⅱⅱⅱⅱⅰ                                                                               、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                         ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                        ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ           、ⅱⅱⅱⅱⅰ                                                                                                                                                                            ⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                                                                                                                                                                ⅱⅱⅱⅱⅱⅱⅱⅱⅰ ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ              、ⅱⅱⅱ                                                                                                                                   、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                 、ⅱⅱⅱⅱⅱⅱⅱⅱⅰ ⅱⅱ                                                                                                                                                            ⅱⅱ                           ⅱⅱ                                                                                       ⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ⅱⅱⅰ                                                                                                                                                                                                        、ⅱⅱⅱⅱⅱⅱⅰ                     ⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                   、ⅱⅱⅰ                                                                        ⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                                                                                          ⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                                                                                                                                                 ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                     、ⅱⅱⅱⅱⅰ                                                                                                                                                                                                                                                                             ⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                                                   ⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                                                                                                                                                                                                                                                                、ⅱⅰ                                                       ⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                              、ⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                                                                                                                                                                                            、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                   ⅱⅱⅱⅱⅱⅱⅱⅰ                     ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                            ⅱⅱⅱⅱ                                           ⅱⅱⅱⅱⅱⅱ     、ⅱⅱⅱⅱⅱⅰ                                                                   ⅱⅱⅱⅱⅱⅱⅱⅰ      、ⅱⅱⅱⅱⅱⅱ                                                                                                                                                                                                              ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                      ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                                   ⅱⅱⅱⅱⅱⅰ                                                                                                                   、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                 ⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                    、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                                                ⅱⅱⅱⅱⅱⅱⅰ                                                                                  、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                   ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                   、ⅱⅱ                                                                                                                                                                                                                                              ⅱⅱⅱⅱⅱⅱ                                                                          、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                            、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                             ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             ⅱⅱ                              、ⅱⅱⅱⅱ                                                                                                            ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                 ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                                                                                                                                                                                           、ⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                       、ⅱⅱ                                                                                                                                                                                                                                                                                                                                                                         、ⅱⅱ      ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                   、ⅱⅱⅱⅰ                                                                                                                                                                                                                                                                                                                                                                                                                                                                     、ⅱⅱⅱⅱⅱ                                                                                                                                、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                                                                                                                                                         、ⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                                                                                                                                                                                               ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                             ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                                                                                                                                                      、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                           ⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                               ⅱⅱⅱⅱⅱⅰ      、ⅱⅱⅱⅱⅱⅱ                                                                                                                                        ⅱⅱⅱⅱⅰ                                 ⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                            、ⅱⅱⅱⅰ                                                                                                                              、ⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                                                                            ⅱ                                                                                                   ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                             ⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                           、ⅱⅱⅱⅱⅱⅱⅰ                                                                                                                     ⅱⅱⅱ                                         、ⅱⅱⅱⅱⅱⅱ                                                                                                               、ⅱⅱⅱⅱⅱⅱⅱⅱⅰ            、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                                                                                                                                                                                                         、ⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                       、ⅱⅰ                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                        ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ        ⅱⅱⅱⅱⅱⅱ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      、ⅱⅰ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ⅱⅱⅱⅱⅱⅱ                                                                   ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                                               ⅱⅱⅱⅱ                                                                                                                                                                                         、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                        、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                       、ⅱⅰ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                         、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                     、ⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         、ⅱⅱⅱⅱⅱⅱ                                                                                                                                                                                                                                                                      ⅱⅱⅱⅱⅱⅱⅱ                                     、ⅱⅱⅱⅱⅱⅱⅱ ⅱⅱⅱⅰ                                                                                                 ⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                                、ⅱⅱⅱⅱⅰ                                                     、ⅱⅱⅱⅱⅱⅰ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                                           ⅱⅱⅱⅱⅰ                                                                                                                                                                                                                                                                                                                                                                                                                   、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                           ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                        、ⅱⅰ  ⅱⅱⅱⅱⅱⅱⅱ         ⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                             、ⅱⅱⅰ                                                                                                                           、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                                                                                                                                                                                                                 ⅱⅱⅱⅱⅱⅱ                                                                                                                                 、ⅱⅱⅱⅱⅱ                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ⅱⅱⅱⅱⅱⅰ                、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                           ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                        、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                、ⅱⅱ    ⅱⅱⅱⅰ                                        、ⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                              ⅱⅱⅱ                                                                      、ⅱⅱⅱⅱⅱⅱⅱⅱⅱ           ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                                  ⅱⅱⅱⅱ                                                                                                    ⅱⅱⅱⅱⅰ     ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                      ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                                                                                                                                                ⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                         ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                                                                                                                                     ⅱ                                 、ⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                       ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                                                                                           、ⅱⅱⅱⅰ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ⅱⅱ                                                                                                                                                                                  、ⅱⅱⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                                                                                                                                                                                                                                                                                                             ⅱⅱⅱⅱⅱ ⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                      ⅱⅱⅱ                                                                                                                                            、ⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                            ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ    ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                      、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                  ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ⅱⅱⅱⅱⅱⅱ                                                                     、ⅱⅱⅱⅱⅱⅱⅱ                                                              ⅱⅱⅱⅱⅱⅱⅱ                                                                                               ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                                                                                                                                                                                                                         、ⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                                                                                                                                                         、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                  、ⅱⅱⅱⅱ                                                                                                                                                                                                                                    、ⅱⅱⅱⅱⅱⅱ                                                                                                                                                                                                                                                                                                                 ⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                                                                       ⅱⅱ                                                                                                                         ⅱⅱⅱⅰ                                                                                                                                                 、ⅱⅰ                                                       、ⅱⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                          、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ⅱⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                                                                                                                                                                                     、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                                                                                                                                                         、ⅱⅱⅱⅱⅱ                                                                                                           、ⅱⅱⅱⅱⅱⅱⅱ                                                                                                                                                                                 、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ                    ⅱⅰ    、ⅱⅱⅱⅱⅰ                                                                                                                                                                                                                                                                                                  、ⅱⅱ                                 ⅱⅱ                        、う┈按富棵撬窝肇圯噔滏栝腱眍镳瘃蝌蝮篌篌篝趑趑篌篌篌篌篌篌篌篌篁蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝌蝰耨耨耨耩痧痧痫镱铑铐眄祀腚腙觊梃珑珑驽邃溷沣忉徉噙哌掭蒈苒圹谫儇刈鬃终赵栽佑乙研行邢衔瓮屯烫趟适噬缮扇乔乔破婆拍哪哪妹侣侣亮晾揽靠靠揪浇浇浇技换换换汉构构构父贩贩贩范抖档档档创创创闯吵膊膊膊北北北北鞍鞍鞍鞍┅┅┅┅┅èèèèèèèěЁЁЁЁΖΖΖΖΖΖΖΖゥゥゥゥゥゥゥゥイゥゥゥいぅゥイいいぅいいいいいいいいいいいいい#¥いぃ##¥#####"#######"###ⅱⅲ##ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱ  、                                                                                          ⅱⅰ  ⅱⅰ      ⅱⅰ  、                     牋牎  牋牎                                                                                   ⅱⅰ  ⅱⅰ  、ⅰ          、ⅰ  ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅰ 、ⅱⅱ 、ⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ  ⅱⅰ                              、ⅰ  、ⅰ  ⅱⅰ  ⅱⅱ 、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ  ⅱⅰ  ⅱⅰ              、ⅰ  ⅱⅱ 、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅱ 、ⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ"ⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ"ⅱⅱ#"ⅱⅱ#"ⅱⅱ#"ⅱⅱⅲ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ#"ⅱⅱ#"ⅱⅱⅲ"ⅱⅱ#"ⅱⅱⅲ"ⅱⅱⅲ"ⅱⅱ#"ⅱⅱ#"ⅱⅱ#"ⅱⅱ#"ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ"ⅱⅱⅲⅱⅱⅱⅲ"ⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ"ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ#"ⅱⅱ#"ⅱⅱ#"ⅱⅱ#"ⅱⅱⅲ"ⅱⅱ#"ⅱⅱ#"ⅱⅱⅲ"ⅱⅱ#"ⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ##ⅱⅲ##ⅱⅱ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ"ⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ"ⅱⅱⅲ"ⅱⅱⅲ"ⅱⅱⅲ"ⅱⅱⅱⅱⅱⅱⅲⅱⅱⅱⅲⅱⅱⅱⅲ"ⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱ#"ⅱⅱ#"ⅱⅱ#"ⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ"ⅱⅱ#"ⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ"ⅱⅱⅲ"ⅱⅱⅲ"ⅱⅱⅲ"ⅱⅱⅲ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ"ⅱⅱ#"ⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ"ⅱⅱⅲ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ"ⅱⅱⅲ"ⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱ 、ⅱⅱ 、ⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱ ⅱⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ ⅱⅱⅱ 、ⅱⅱ  ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱ ⅱⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱⅰⅱⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ"ⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱⅰⅱⅱⅱⅰⅱⅱⅱ 、ⅱⅱ ⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱ 、ⅱⅱ  ⅱⅰ  、ⅰ  ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ、ⅱⅱ 、ⅱⅱ ⅱⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱ ⅱⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱ  ⅱⅱ 、ⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅱ  ⅱⅰ  ⅱⅱ 、ⅱⅱ 、ⅱⅱ ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱⅰⅱⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱ ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅱ ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱ 、ⅱⅱ 、ⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱ 、ⅱⅱ 、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅱ 、ⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱⅰⅱⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱⅰⅱⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱ 、ⅱⅱ ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱⅰⅱⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅱ ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ  ⅱⅰ  ⅱⅱ ⅱⅱⅱⅰⅱⅱⅱⅰⅱⅱⅱⅰ、ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅱ ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱⅰⅱⅱⅱⅰⅱⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅱ 、ⅱⅱ  ⅱⅱ 、ⅱⅱ 、ⅱⅱ ⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅱ  ⅱⅰ          、ⅰ  ⅱⅰ  ⅱⅰ  ⅱⅱ ⅱⅱⅱⅰ、ⅱⅱ 、ⅱⅱⅰⅱⅱⅱ 、ⅱⅱ  ⅱⅰ  、           、   、ⅰ  ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅱ 、ⅱⅱⅰⅱⅱⅱⅰⅱⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱⅰⅱⅱⅱ 、ⅱⅰ  ⅱⅰ 、ⅱⅱ 、ⅱⅱ  ⅱⅰ  ⅱⅰ          、   、ⅰ  、ⅰ  ⅱⅱ  ⅱⅰ  ⅱⅰ  、ⅰ  ⅱⅱ  ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱ  ⅱⅰ  ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅰ  ⅱⅰ  ⅱ       ⅱⅱ 、ⅱⅱ 、ⅱⅱ ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱ ⅱⅱⅱ 、ⅱⅱ ⅱⅱⅱ 、ⅱⅱ  ⅱⅰ      ⅱⅰ              、ⅰ  ⅱⅰ  ⅱⅱ ⅱⅱⅱⅱⅱⅱⅱ  ⅱⅰ      、ⅰ  ⅱⅰ  、       、ⅰ  、ⅰ  ⅱⅰ          ⅱⅰ  ⅱⅱ 、ⅱⅰ  ⅱⅰ  ⅱⅰ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱ ⅱⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅰ                  、                                       ⅱⅰ                                          、ⅰ  ⅱ                   、ⅰ  ⅱⅰ  、ⅰ                          、ⅰ  ⅱⅰ  、ⅰ                                                                                、ⅰ  ⅱⅰ                      、ⅰ          、ⅰ  ⅱⅰ  ⅱⅰ  ⅱⅰ                                      、ⅰ                                              ⅱⅰ  ⅱⅰ      ⅱⅰ  ⅱⅰ  、ⅰ  ⅱⅰ                      、ⅰ  ⅱⅱ ⅱⅱⅱ ⅱⅱⅱ 、ⅱⅰ  ⅱⅰ  ⅱⅱ 、ⅱⅰ  、ⅰ  、ⅰ  、   、ⅰ  ⅱⅱ  ⅱⅰ                  、   、                牋牎  牋牎                                                      ⅱⅱ  ⅱⅱ 、ⅱⅱⅰⅱⅱⅱ 、ⅱⅰ  、                                                           、ⅰ                                           牋牎  牋牋  牋牎  牋牎  牋牎  牋牎            、ⅰ  、ⅰ                                                          、                     牋牎                         牋牎  牋      牋   牋       牋                           牋牎                                                牋牎  牋牎  牋牎  牋                               牋牎                    牋牎  牋牎  牋牎  牋                     、ⅰ  ⅱⅰ  、                                                                    牋牎  牋牋  牋       牋牎 牋牋 牋牋牎牋牋牎牋牎  牋               牋牋 牋牋  牋牎  牋                                  牋牎  牋                                   牎  牋牎  牋牎      牋牎  牋牎  牋牋 牋牋牋牋牋牋牋牋牋牋牎 牋牎     牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋  牋牎  牋         牋牎  牋牎        牋                   牋牎  牋牋 牋牋 牋牋  牋       牋牎  牋牎  牋牋 牋牋牎牋牋牋牋牋牋 牋牋 牋牋牎牋牋牋牎牋牋牎牋牋 牋牋  牋牎  牋牋 牋牋牎牋牋 牋牋牎牋牋 牋牋 牋牋 牋牋牎牋牋牋 牋牋 牋牋  牋              牋牋 牋牎  牋牎  牋牎         牋牎 牋牋  牋牎                             牋牋牎牋牋牋牎牋牋 牋牋 牋牋 牋牋 牋牋牎牋牋  牋牋 牋牋 牋牋  牋牋  牋牎  牋牎  牋牎                  牋牎  牋牎 牋牋牎牋牋  牋牎 牋牋牎牋牋 牋牋  牋牎                               牋牎 牋牋牎牋牋 牋牋  牋牎  牋牎  牋牎  牋牋 牋牋牋牋牋牋牋牋牋牋牋牎牋牋 牋牋 牋牋牋牋牋牋牎牋牋 牋牋 牋牋  牋牎     牋牎  牋牋  牋              牋牎  牋牋 牋牋 牋牋 牋牋牎牋牋牋牋牋牋牋牎牋牋牎牋牋牋牋牋牋牋牋牋牋牎牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋牋牎牋牋牋牎牋牋牋牋牋牋牋牎牋牋 牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋  牋牎  牋牎  牋牋 牋牋  牋牎  牋牎            牋牎  牋牎  牋              牋牎  牋牎  牋   牋牎  牋牎                 牋牋 牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋牎牋牋牋牋牋牋牋牋牋牋 牋牋 牋牋 牋牋牎牋牋牋牋牋牋牎牋牋牋牎牋牋牋牎牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋 牋牋 牋牋牎牋牋牋牋牋牋牋牋牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋 牋牋牎牋牋 牋牋牎牋牋牋牋牋牋牋牎牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牎  牋牎  牋牎  牋牎 牋牋 牋牋牎牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋 牋牋 牋牋  牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牎  牋牎 牋牋 牋牋牎牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋  牋牎  牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋牎牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋牎牋牋 牋牋 牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋牎牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋牎牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊牋牋牋牋牋牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋牋牋牋牋牋牋牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋 牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊牋牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煙煚牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊牋牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊煚牋牋煙煚牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煙煚牋牋煙煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊牋牋牋牋牋牋牋牋牋牋牋牊牋牋牋牊牋牋牋煙煚牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊煚牋牋煙煚牋牋煙煚牋牋煙煚牋牋煙煚牋牋煙牋牋牋牊牋牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊牋牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊牋牋牋煙煚牋牋煙煚牋牋煙煚牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煙煚牋牋煙煚牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煙煚牋牋煙煚牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊牋牋牋牊牋牋牋牊牋牋牋牊牋牋牋牋牋牋牋煙煚牋牋煙煚牋牋煙牋牋牋牋牋牋牋牋牋牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊牋牋牋牊牋牋牋牊牋牋牋牋牋牋牋牊牋牋牋煙煚牋牋煙煚牋牋煙煚牋牋煙煚牋牋煙煚牋牋煙煚牋牋煙煚牋牋煙煙牋牋煙煙牋牊煙煙牋牋煙煚牋牋煙煚牋牋煙煚牋牋煙煚牋牋煙煚牋牋煙煚牋牋煙煚牋牋牋牋牋牋牊牋牋牋煙煚牋牋煙煚牋牋煙煙牋牋煙煚牋牋煙煚牋牋牊牋牋牋煙煚牋牋牊牋牋牋牋牋牋牋牊煚牋牋煙牋牋牋牋牋牋牋牋牋牋牋牊牋牋牋煙牋牋牋牊牋牋牋煙煚牋牋煙煚牋牋煙煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊牋牋牋煙煚牋牋煙煚牋牋煙煚牋牋煙牋牋牋牋牋牋牋牋牋牋牋牊牋牋牋牊牋牋牋牊牋牋牋煙牋牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煙煙牋牊煙煙牋牋煙煙牋牋煙煚牋牋煙煚牋牋煙煙牋牊煙煙牋牋煙煚牋牋牊牋牋牋牊牋牋牋煙煚牋牋煙煚牋牋煙煚牋牋煙牋牋牋牋牋牋牋煙煚牋牋煙煙牋牊煙煙牋牊煙煙牋牋煙煙牋牊煙煙牋牋煙煚牋牋牊牋牋牋牋牋牋牋牋牋牋牋牊牋牋牋牋牋牋牋煙煙牋牊煙煙牋牋煙煚牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牎ⅱ¥ェ┈豆搅娜讼艺刿葸怃骁殛祉铒镳耨蝌蝌蝌蝌耨痧镱盱腴桤邃忉咿苒儇衷右研瓮趟噬惹瞧拍妹寐铝晾览览揽靠靠靠烤揪揪揪揪浇浇浇浇技技技技换换换汉构构构父贩贩贩抖档档荡创吵吵吵膊北北北卑鞍鞍隘┅┅┅┅┅┅èèèèЁЁЁЁЕΖЁΖΖΖΖΖゥゥウゥゥゥゥゥいいいいぃいいぃ########ⅱⅲ##ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ        牋牎 牋牋牎牋牋牋牎牋牋牎牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊煚牋牋煙煙牋牊煙煘灊湝洐槚敀悗媺唭}zwtqmjgeb_][YWUTRQPONNMMMMMMMNOPPQRSUVXY[\]_`bdeghijlmopqrstuvwxxyyzz{||}}}}~~亖亖亖亗倐儍儍儍儎剟剟剠厖唵唵唶噰垐垐垐墘妸妸妸媼媽寣寣實崓崓崕帋帋帋帍弿彁悘悙悙憫憫憫憭拻拻拻挀摀摀摀摀敂敂敂敂敂敂敃晻晻晻晻枛枛枛枛棗棗棗棗棗棗棗棗槝槝槝槝槝櫃櫂槞櫃櫃櫃櫃殮殮殮殮殮殮殮殮殯洓洑殯洓洓洓洓洓洓洓洓洓湝洓洓湝湝湜洔湝湝湝湝湞潩潨湞潩潩潩潩潩潩潩潩潩潩潩潩潩灋潩潩潪灋灊潩灋灋灊潪灋灋灋潪灋灋灊潪灋灋灊潪灋灋灊潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煙煘灋煙煙煙灍煙煙煘灋灍煙煙牎ⅳΗ┇锤豢缕释杏仲苻徙彗桕腱眍镳耨耱蝌蝌蝌耨痫镱盱觊珂邃忉咻圳僮终友邢瓮趟扇瞧婆拍寐铝亮晾览靠靠靠靠揪靠靠揪揪揪揪窘浇浇浇技蓟换换汉汉构构父父贩贩抖兜档档创创创吵巢膊膊膊北北北鞍隘┅┅┅┄èèèèЁЁЁЁЁЁЁΖΖΖΖΕゥゥゥゥゥゥゥイいいいいいいいい#いい#########ⅱ##ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ 、ⅰ        牋牎 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煚牋牋牊煙煚牋煙煙煚牋牊煙煚牋煙煙煙煙煙煙煙煙煙煙煙牋煙煙煚牋煙煙煙牊煙煘灊潨洑櫁枖拸崐垍|yurolifca^\ZXVTRQPONMMLLLLLLLMNOPQRSTVWYZ\]_`bdeghiklmopqrstuvwxxyyz{{||}}}}~~~亖亖亖亗倐倐倐們儍剟剟剟厖唵唵唶噰垐垐垑墘妸妸妺媼寣寣寣崓崓崓崕帋弿弿弿彁悙悙悙悜憫憫憫憭拻拻拻挀摀摀摀敂敂敂敂敃晻晻晻晻枛枛枛枛枛枛枟棗棗棗棗槝槝槝槝槝槝槝槝櫃櫃櫃櫃櫃殮殭櫄殮殮殮殮殮殮殮殮殯洓殮殮殯洓洑殮洓洓洓洓洓洓洓洓洓湝湜洔湝湝湝湝湝湝湝湝湞潩潨湞潩潩潩潩潩潩潩潩潪灋潩潩灋灋灊潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煙煘灋煙煙煙灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牏%Ж倒祭们饰言宗苓徙彗桕腱眍镳耨耱蝌蝌蝌耩痫铐祀觇珂溷忄捃圪刈赵已衔吞耸扇瞧排哪寐铝亮晾揽靠靠靠烤揪揪揪揪揪揪揪浇浇浇浇郊技技技换汉汉汉构父父父贩抖抖抖档创创创吵膊膊膊北北北鞍隘┅┅┅┅┅èèèèЁЖЁЁЁЁЁΖΖΖΖΕゥゥゥゥゥゥゥイいいイいいいいぃ#¥い############"ⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ       牋  牋牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煚牋牋牊煙牋牋煙煙煚牋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙灋灊潨洑櫁晸憦崐噮|xurolifc`^\YWVTRQPONMMLLLLLLMNNOPQRTUWXZ[]^`acefhijkmnpqrstuvwxxyzz{{||}}}~~~亖亖亖亗倐倐倐儍儍剟剟剠厖厖厗唵噰噰噲垐墘墘墛妸媼媼媼寣寣崓崓崕帋帋帋弿弿弿彁悙悙悙悜憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晻枛枛枛枛棗棗棗棗棗槝槜槝槝槝槝槝櫃櫃櫃櫃櫃殮殭櫄殮殮殮殮殯洓殮殮洓洓洑洓洓洓洓洓洓湝洓洔湝湝湝湝湝湝湝湝湞潩湝湝潩潩潨潩潩潩潩潩潩潩潩潩灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煙灋灋煙煙煙煙煙煙煙煙煙煙煙煙煙牊煙煙煚牋煙煙牋牋煙煙牋牋牊煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋。うЗ豆祭那饰言宗苓徙彗桕腱眍镳耨耱蝌蝌蝌耨痫镱盱觊桄邈忄咻圳僮衷友邢瓮趟扇乔破拍拿侣侣亮晾览览揽靠靠靠靠揪揪揪揪窘浇浇浇郊技技换缓汉汉汗垢父父阜范抖抖档荡创创吵巢膊膊脖北鞍鞍鞍隘┅┅┅┅èèèèěЁЁЁЁЁЁЁΖΖΖΖΕゥゥゥゥゥゥゥゥぅゥゥイいぅイいいいいぃ#######"ⅱⅱ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱ、ⅱⅱⅱ、ⅱⅱ            牋  牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煚牋牋牊煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煘灊潨洑櫁晸憦崐噮|xurolifc`^\YWVTRQPONMMMLLLLMMNOPQRSUVXZ[]^`acefhiklmopqsttuvwxyz{{||}}~~亖亖亖亖倐倐倐倐儍儍儍儎剟剟剠厖唵唵唵噰噲垐垐墘墛妸妸妺媼寣寣實崓崓崕帋弿弿弿彁悙悙悙憫憭拻拻拻摀摀摀摀摂敁摂敂敃晻晻晻枛枛枛枛枟棖枟棗棗棗棗棙槝槝槝槝櫃櫃槞櫃櫃櫃櫃櫄殮殮殮殮殯洑殮洓洓洓洓洓湝湜洓湝湝湝湝湝湝湝湝湝潩潨湝潩潩潩潩潩潩潩潩潪灋灋潩灋灋灋灋灋煙煘灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牋煙煙煚牋牋煙牋牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋牋牋牋牋牋牎牋牋牎  牎       ⅲうЗ捶壕僚人弦肇谳哚溴玳觌眍铒瘃耨蝌蝌蝌蝰耩镲铐礻殓驽汊噙蒇谫字沼研衔吞耸热瞧婆拍妹侣侣亮览览览览靠靠靠靠靠靠靠烤揪揪揪窘浇浇郊技换换汉汗构父父阜贩抖抖兜荡创创闯吵膊膊膊北北北鞍隘┆┅┅┅┅èèèèЁЕΕイ"灉殬晸悕媹剚~{xtqnkheb`][YWVTSQQPPPPOOPPQRSTUVWYZ\]_`acdfgijlmnoprstuvvwxyz{{|||}~~~亖亖亖倐倐倐們儍儍儍剟剟厖厖厖唵唵唵噰垐垐垐墘妸妸妸媼媽寣寣崓崕帋帋帍弿弿彁悙悜憫憫憭拻拻拻挀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗棙槝槝槝槞櫃櫃櫃櫃櫃櫃殯湠牏%И锤祭们宋颜刳葸怃骁殛祉铒痧耨耨耨耨痧镱盱腙桤邃忉咿苴僮赵友形吞耸扇桥哪寐铝晾靠靠烤揪浇浇浇浇技浇浇郊技技技技技技技换换换汉汉构构构父阜贩贩抖兜档档荡闯吵吵巢膊膊膊北卑鞍鞍隘┅┅┅┅┄èèèèèèèěЁЁЁЁΖΖΖΖΖΖΖΖゥウΖゥゥゥゥゥいいいいいいいいいいいい##い#########ⅱⅱ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅰ                    牋牎 牋牋牎牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊煘灊湜殭棔搼弽妵剛~{xurnkhec`^[YWUTRQOONMMMMMMMMNOPQRSTUWYZ\^_`bdfgijlmnpqstuuvwxyz{|||}~~亖亗倐倐們儍儍儍儎剟剟剟厖厖厖唵唶噰噰噲垐墘墘墛妸媼媼媽寣崓崓崕帋弿弿弿悙悙悙憫憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗棗槝槝槝槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫄殮殮殮殮洓洓洓洓洓湝湜洔湝湝湝湝湞潩潩潩潩潩潩潩潪灋灋灋灋灋灋灋灍煙煘灋煙煙煙煙煙煙煙煙煙煙煙煙煚牋牋煚牋牋牋牋牋牋牋牋牋 牋牋牎 牋             ⅱ  ⅱⅱⅰ ⅱⅱⅱ、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱ¥ェí捶痪僚忍弦肇谳哚溴玳觌祛铒瘃耨蝌蝌蝌蝰耩痫铐祀殍珂溷徉捃圳刈赵已邢瓮趟噬热乔婆拍哪拿妹侣侣侣铝亮亮亮亮览览晾览览览揽靠揪揪揪窘郊技技蓟缓汉汉构父父父贩抖抖兜档创创创吵吵膊膊膊北北北卑鞍鞍鞍┅┅┅┅èèèèèèèěЁЁèЁЁЁЁЁΖΗЁΖΖΖΖΖΖΖΖΕゥゥゥゥゥゥゥゥいゥゥいいいいいいいいいいいいい#¥い#############ⅱ##"ⅱⅱⅱⅱⅱⅱ#ⅱⅱⅲ#"ⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱ               ⅱ                 牋牊煘潨洐槚攽弽妵厒|xurolifc`^\YWVTRQPONNNMMMMMNOPQRSTUWXZ\]_`bceghjkmnoqrtuvwwyz{{|}}~~亖亖倐們儍儍儎剟剟剟厖厖厖厗唵唶噰噰噲垐垐垐墘妸妸妸媼寣寣寣崓崕帋帋帍弿弿彁悙憫憫憫憭拻拻拻摀摀摀摂敂晻晻晻晻枛枛枛枛枟枛枟棗棙棗棙槝槝槝槝櫃櫃櫃櫃櫄殮殮櫄殮殮殮殮洓洓洓洓洔湝湝湝湝湝湝湝潩潩潩潩潪灋灋灋灋灋灋灋灍煙煘灋煙煙煙煙煙煙煙煙煙煙煙煙煚牋牊煙牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋牎       ⅱⅱⅱ、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ#ⅱⅱ##"ⅲ#####################い#いΗ┇安蹈痪屡商弦肇圯哜滏玳觌眍铒瘃耨蝌蝌篁蝌耨痧镱黼觊桄邃忄咻苒儇渍杂蜒邢吞耸噬扇乔破婆排哪拿妹妹妹侣侣侣侣侣侣侣亮亮亮亮览揽靠靠烤揪窘浇郊技换换汉汗构构父贩贩贩抖兜档档荡创创闯吵膊膊膊脖北北北鞍鞍鞍鞍┅┅┅┅┅┅┅┄èī┅èèèèèèèèěЁЖèЁЁЁЁЁЁЁЁΖΖΖΖΖΖΖΖΕゥゥゥゥゥゥゥゥいゥゥイいぅゥいいいいいいいいいいいいいいいいいいいいいいいいぃ#¥いぃ##ぃ########"ⅱ##"ⅱⅲ#"ⅱⅲ#ⅱⅱⅱ#ⅱⅱⅱ#"ⅱⅲ#"ⅱ##"ⅱⅲ#ⅱⅰ 牊灊湚櫁晸悗媺唭}zvspmjgda_]ZYWUSRQPOOOOONNOOPQRSTUVXY[]^`abdfhiklmnpqstuvwxyz{|}}~~亖亖倐儍儍儍儎剟剟剟剠厖厖厖厗唵唵唵唶噰垐垐垐墘墘墛妸媼媽寣寣崓崓崕帋弿弿弿悙悜憫憫憭拻拻拻摀摀敂摂敂敃晻晻晻枛枛枛枛棗棗棗棗槝槝槝槝槞櫃櫃櫃櫄殮櫃殮殮殮殮殮洓洓洓洓洓洓洓洔湝湝湝湝湞潩湝潩潩潩潩潩灋灋潩灋灋灋灋灋煙煙灋煙煙煙煙煙煚牊煙煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牎  牋             ⅱⅱ 、ⅱⅱⅱⅱⅱⅱⅱⅱⅲ"ⅱⅱ##ⅱⅲ##ⅱⅲ##ⅱⅲ##ⅱ###ⅱ####################うЗ驳富韭派滔艺刿葸怃骁殛腠铑镳耨耱蝌蝌蝌蝰耩痫铐腙殍珏溻噙捃圳刈赵右研衔吞怂噬扇乔破破排哪哪哪拿妹妹妹妹侣侣侣侣铝谅侣亮晾览览览靠靠烤揪浇郊技蓟缓汉汉汗垢父父贩抖抖抖档创创创闯巢膊膊膊北北北北卑氨北卑鞍鞍鞍隘┅┆┅┅┅┅┅┅┅┄èèèèěЖèèЁЁèЁЁЁЁЁΖΖЁΖΖΖΖΖΖΖΖΖΖΖΖΖゥウΖΕゥゥゥゥゥゥゥゥいいゥイいいいいいいいいいいいいぃいいいいいいいいいいいぃいいい##いぃ############################"ⅱ牊灉洐棔搻帇垍|xurokhec`^[YWVTRQPONNNNMMMMNOPPQRSTVXY[\^_abdfhiklmoprstuvwxyz{||}}~亖亖倐們儍儍儎剟剟剟剠厖厖厖厗唵唵唵噰噲垐垐墘墘墘妸妺媼媼媽實崓崓崕帋弿弿弿悙憫憫憫憭拻拻拻摀摀摀摂敂晻晻晻晻枛枛枛枟棗棗棗棗槝槜棙槝槝槝槝櫃櫃櫃櫃殮殮殮殮洓洓洓洓洔湝湝湝湝湝湝湝湞潩潩潩潩潩潩潩潪灋灊潪灋灋灋灋灍煙煘灍煙煙煙煙煙煙煙煙煚牋牊煚牋牋牋牋牎 牋  牋  牋             ⅰ   ⅱ  ⅱⅱⅱ、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ#"ⅱ##"ⅲ##########"ⅱ##"ⅱ###¥ェ┆捶痪僚人弦肇谳哚沐玳觌祉铒瘃耨蝌蝌蝌蝰耩痫铑祀觊桄邃忄咿苒谪渍杂已邢瓮趟适缮惹破破排拍哪哪哪妹妹妹妹寐侣侣寐侣侣侣铝亮览览览靠烤揪揪窘浇浇技蓟换换缓汗构构父阜贩贩抖兜档档档创创创创吵巢吵巢膊北北北卑鞍鞍鞍隘┄Дあ牉湙棓憥媹厑~zwspmjgda_][YWUTSRQQPPPPPPQRSTUVWXZ[]^`abdfgijlmnoqrsuvwwxyz{|}}}~~亖亖倐倐儍儍儎剟剟剟剠厖厖厖唵唵唵唶噰垐垐垑墛妸妸妺媼寣寣實崓帋帋帋弿弿弿彁悙憫憫憫拻挀摀摀摂敂敂敂敃晻晻晻枛枛枛枛枟棗棗棗棙槝槝槝槝櫃櫂櫃櫃櫃櫃櫃殮殮殮殮殮殮殮洔潫、うí锤祭们宋颜刳葸怃骁殛祉铒痧耨耱蝌蝌耨痫镱盱腴桤邃汜咿苒儇渍砸研衔吞噬热乔婆拍妹妹寐铝亮亮亮晾览览晾览览览览揽靠靠靠揪揪揪窘浇技技技换缓汉汉构垢父父阜贩贩范兜档档档创创创吵巢膊膊膊脖北北北鞍鞍鞍鞍┆┅┅┅┅ī┅┅èèèèèЁèèЁЁЁЁЁЁЁЁЕΖΗЁΖΖΖΖΖΖΖΖΕゥゥΕゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥイいいイいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいぃ#いいぃ#いいぃ#いいぃ#いい##¥い#"ⅱ煘潧櫂晸憥媺唭}yvspmjgda_\ZXWUSRQPOOONNNNNOPPQRSTUWYZ\]_`bceghjklnoqrstuvwxyz{||}}~亖亗倐倐倐儍儍儍儍剟剟剟剠厖唵唵唵噰噰噲垐垑墘墘妸妺媼媼媽實崓崓崕帋弿弿弿悙悙悙悜憫拻拻拻挀摀摀摀敂敂敂敂敃晻晻晻枛枛枛枛枟棗棗棗棙槝槝槝槞櫃櫃櫃櫃殮殭櫄殮殯殮殯洓洓洓洓洔湝湝湝湝湝湝湝湝潩湝湝潩潩潩潩潩灋潩潩灋灋灋灋灍煙煙煙煙煙煙煙煚牋牊煙牋牋牊煙牋牋牊煚牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋牎 牎                 ⅱ  ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ#ⅱⅱ##"ⅱ##"ⅲ###¥ェí捶痪僚忍弦肇谳哚溴玳觌祛铒瘃耨蝌蝌蝌蝰耨痧镱黼觊桤驿忉咿蒈谫字杂已邢瓮趟耸噬惹瞧破婆拍哪哪哪拿妹妹妹寐侣侣侣侣亮亮亮晾览览览靠揪揪揪浇技技技换汉汉汗垢父父阜范抖抖抖档荡创创闯吵吵吵巢膊膊膊脖北北北卑鞍鞍鞍隘┅┅┅┅┅┅┅┄èèèèèèèèЁèèЁЁЁЁЁΗЁЁΖΖΖΖΖΖΖΖΖウΖΖΕゥΖΖゥゥウΕゥゥゥゥゥゥゥゥゥゥゥゥイいゥゥいいぅゥいいいいいいいいいいいいいいいいいいいいぃ#いいぃ#¥い##¥い#################"ⅱ煘潧殬枔憥寜唭|yvrolifc`^\ZXVTSQPONNNMMMMMNNOPQRSTVWY[\]_`bdfgijkmnpqrtuuvwyzz{||}}~亖倐倐倐儍儍儍儍剟剟剟剟厖厗唵唵唶噰噰噲垐墘墘墛妸媼媼媼寣實崓崓崕帋帋帍弿悙悙悙憫憭拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛棗棗棗棗棙槝槝槝槞櫃櫃櫃櫃殮殭殮殮洓洑殯洓洓洓洓洔湝湝湝湝湝湝湝湞潩潨湞潩潩潩潩潩灋潩潩灋灋灋灋灋煙灋灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牋煙煙煚牋牊煙牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋牎 牋  牋  牎        、ⅱⅰ ⅱⅱⅰ ⅱⅱⅰ、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱⅲ#ⅱ¥ウí捶壕聊人我兆谳哚沐玳觌祉铒瘃耨蝌蝌蝌蝰耩痫铐祀殍珂溷徉掭苴儇终右研衔吞耸噬扇瞧婆排拍拿妹妹妹侣侣侣侣侣亮侣侣亮亮亮晾览靠靠靠烤揪揪窘郊技技蓟换汉汉汉构父父父贩范抖抖兜档档档创吵吵吵巢膊膊膊北北北卑鞍鞍鞍隘┅┅┅┅ī┅┅èèèèèèèèěЁЖèЁЁЁЁЕΖΗЁΖΖΖЕΖΖΖΖΕゥウΖゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥイいぅゥいいいゥいいいいいいいいいいいいぃ#いいぃ#いいぃ#いい###ぃ#######い###ぃ#################"ⅰ煘潧櫁晸悗媹厒{xurnkheb`][YWUTRQPONNMMMMMMMNOPQRSTUWXZ[]^`bceghjklnoqrstuvwxyz{{||}~~亖亖亖亗倐儍儍儍儍剟剟剟剠厖厖厗唵噰噰噰垐垑墘墘妸妺媼媼寣實崓崓帋帋帋弿弿悙悙悙憫憫憫憭拻摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛棗棗棗棗棙棗棙槝槞槝槞櫃櫃櫃櫃殮殮殮殮殯洓洓洓洓湝湜洔湝湝湝湝湝潩潨湝潩潩潩潩潩潩潩潩潪灋灊潩灋灋灋灋灋灋灋灋煙煙煘灍煙煙煙煙煙煙煙煙煚牋牊煚牋牋牋牋牋牋牋煚牋牋牋牋牋牋牋牋牋牋牋牋牎 牋                        、ⅱⅰ、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲうЗ撤航聊人窝宰谳哚沐玷觌祉铒瘃耨蝌蝌蝌蝰痧镲铐祀殍珂邈忄咻苒谪渍杂已邢翁怂适扇惹破婆排哪妹妹妹寐侣旅寐侣侣侣侣亮亮亮亮览揽靠靠烤揪揪揪浇郊技技换汉汉汗垢父阜贩范抖兜档荡创创创吵巢渤膊膊北北北卑鞍鞍鞍隘┅ěΕ"牉湙枖憥媹剚~{wtqnjgeb_][YXVTSRQQQQQPPQQRSTUVWXZ[]^`abdegijkmnoprstuvwxyzz{||}}~亖亗倐倐倐儍儍儍儍剟剟剟剟厖厗唵唵唶噰噰噲垐墘墘墛妸媼媼媽寣崓崓崓帋帋帋帍弿悙悙悙悜憫憫憫拻拻拻拻摀摀摀摀敂敂敂敃晻晻晻晻枛枛枛枛棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃殮殮殯潪牏%И锤伎们饰言宗葸怃骁殛祉铒痧耨耱蝌蝌耩痫铑黼觊珂邈忄掭圳刈赵已衔吞耸扇瞧婆拍妹侣侣亮晾览览览靠靠靠靠靠究靠靠揪揪揪揪浇浇浇郊技换换换汉构构构父阜贩贩抖兜档档荡创创闯吵膊膊膊脖北北北卑鞍鞍鞍隘┅èЕイⅰ煗殬晸悕妵儉}yvrolifc`^\ZXVUSRQPPPOOOOPPQRSTUVWXZ\]_`acdfgijkmnoprstuuvwxyzz{{|}}~~亖亖亖倐倐倐倐儍儍儍儎剟厖厖厗唵噰噰噰垐垑墘墘妸媼媼媼寣實崓崓崕帋帋帍弿悙悙悙悜憫憫憫拻挀拻挀摀敂敁敂敂晻晻晻晼枛枛枛枛棗棖枟棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃櫃櫃殯湠牎%И捶豢们饰言宗葸怃骁殛祉铒痧耨耱蝌蝌耩痫镱盱觊珂邃忉咻圳僮终友邢瓮趟嗜乔婆拍妹侣铝亮览览览览靠靠靠靠靠揪靠靠揪揪揪揪窘浇浇浇技换换换汉汗构构垢父阜贩范抖抖档荡创创创吵巢渤膊脖北北北卑鞍鞍鞍┅┅┅┅┄èèèèèèèЁЁЁЁЁΗЁЁΖΖΖΖΖウΖΖΕゥウΖゥゥゥゥゥゥゥゥゥゥゥゥイいゥゥいいいいいいいいいいいいいいいいい¥いいぃ#¥い############"ⅲ##"ⅱ###ⅲ##"ⅱ##ⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱⅱ"ⅱⅱⅱ"ⅱⅰ 牊灊湚槚敀悕妶厒|xurolifc`^\YXVTSQPONNNNMMMMNOPQRSTUVXY[]^_acdfhijlmnpqstuvwxyz{{||}}~亖倐倐倐們儍儍儍儎剟剟剟剟厖厖厖厗唵唵唵噰噲垐垐墘妸妸妸媼媽寣寣實崓崕帋帋弿弿弿悙悙憫憫憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫄殮殮殮殮洓洓洓洓洓洓洓洓湝湝湝湝湝湝湝湝潩潩潩潩潪灋潩潪灋灋灋灋灋灋灋灋灋灋灋灋煙煘灋灍煙煙煙煙煙煙煙煙煚牊煙煙牋牋煙煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牎                、ⅰ  ⅱⅰ 、ⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱ¥Η┇背逗搅那宋言宗葸徙彗桕腱眍镳耨耱蝌蝌蝌耨痧镱盱腴桤驽汊噢蒈圪刂沼已邢瓮趟适缮惹破排排哪妹妹妹妹侣侣侣侣铝亮亮亮晾览览览靠靠靠揪浇浇浇技换换换汉构构垢父贩贩范抖档档档创闯吵吵吵膊膊膊脖北北北鞍隘隘┅┅┅┅┅┅┅┄èèèèěЖèěЁЁЁЁЕΗЁЕΖΖΖΖΕウΖΕゥゥウゥゥゥゥゥゥゥゥゥいいいいいいいいぃいいい#¥いい#¥いい#いいい##いぃ########################"###ⅱⅲ##ⅱⅱ#"ⅱⅱ#"ⅱⅱ#"ⅱⅱ#"ⅱⅱⅲ"ⅱ 煘潨殬棓拹崑垍|xurolifca^\ZXVTSQPOONNNNMMNNOPQRSSUVXY[\^_abdfgijklnoqrstuvwxyzz{{|}}~~亖亖亖亗倐倐倐儍儍儍儍儎剟剟剟厖厗唵唵噰噲垐垐墘墛妸妸媼媽寣寣崓崕帋帋帋弿弿弿悙悜憫憫憫拻拻拻挀摀摀摀敂敂晹敂晻晻枛晻枛枛枛枛棗棗棗棗棙槝槝槝槝櫃櫃櫃櫃櫃殮櫃殮殮殮殮殯洓洓洓洓洓洓洓洔湝湝湝湝潩潩湞潩潩潩潩潩灋灋灊灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煙灋灍煙煙煙煙煚牊煙煚牋牋煙煚牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋                          、ⅰ  ⅱⅰ、¥Η┆俺豆嚼那宋言宗苓徙彗桕腱眍镳耨耱蝌蝌蝌耨痧镱盱腙桤驽汊噢蒈圪刂沼已邢瓮趟噬扇乔婆排哪拿寐侣侣侣亮亮侣亮亮亮亮晾览览览揽靠靠烤揪浇浇浇技换换换汉构构垢父贩贩范抖档档档创闯吵吵吵膊膊膊脖北北北鞍鞍鞍鞍┅┅┅┅èèèèèèèěЁЁЁЁЕΗЁЕΖΖΖΖΖΖΖΖゥウΖΕゥゥΖΕゥゥゥゥゥゥゥゥイぅゥイいいぅいいいいい#¥いい##¥ぃ##いぃ####################"###ⅱⅲ##ⅱⅱ#"ⅱⅱⅲ"ⅱⅱⅲ"ⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 牋煘潧殬枖拸崐噭亊{wtqnkheb_][YWUSRPONNMMMMLLLMNOPQQRSUWXZ[]^`acefhijlmopqsstuvwxyzz{{|}}~~~亖亖亖倐倐倐們儍儍儍剟剟厖厖厖唵唵唵噰垐垐垐墘墛妸妸妺媽寣寣實崓帋帋帋弿弿弿悙悙憫憫憫拻拻拻挀摀摀摀摂敂敂敂晻晻晻晻晼枛枛枛枛棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫄殮櫃殮殮殮殮殯洓洓洓洓洓洓洓洔湝湝湝湝湝湝湝湝潩潩湝湞潩潩潩潩潩潩潩潩灋灋潩潪灋灋灋灋灋灋灋灋灍煘灋灍煙煙煘煙煙煙煙煙煙煙煙煙牋牊煙煙牋牊煙煙煚煙煙煙牋牋煙煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋  牋牎                    、ⅰ 、ⅱⅱⅱ¥Η┆俺豆嚼那宋言宗苓徙彗桕腱眍镳瘃耱蝌蝌蝌耨痧镱盱觊桤邃汜咻苒儇渍砸研衔吞耸缮热瞧排哪哪妹侣侣侣侣亮谅侣铝亮亮亮亮晾览览览靠靠靠烤窘浇浇郊技换换缓汗构构父贩贩贩抖档档档荡闯吵吵吵膊膊膊脖北北北鞍鞍鞍鞍┅┅┅┅èè┅èèèèèЁЁЁЁЕΗЁЕΖΖΖΖゥゥΖΕゥゥΖΕゥゥゥゥゥゥゥゥいいゥいいいいいいいいいいいいい#¥いい##いぃ########ⅱⅲ##ⅱⅱ#"ⅱⅱ##ⅱⅲ##ⅱⅲ##ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 牊灊湜櫂枖憦寠噭亊{wtqnkheb_][YWUSRQOONNMMMMMMMNOPQRRTUWXZ[]^`acefhijlmopqsttuvwxyz{{||}}~~亖亖亖亗倐倐倐們儍儍儍儎剟剟剠厖唵唵唶噲垐垐垑墛妸妸妺媽寣寣實崓帋帋帋弿弿弿悙悙憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛棗枛枛棗棗棗棗棙槝槝槝槝櫃櫃櫃櫃殮櫃櫄殮殮殮殮殮洓洑殯洓洓洓洓洔湝湜洓湝湝湝湝湝湝湝湝潩潩潩潩潩潩潩潩潩灋潩潩灋灋灋灋灋灋灋灋灍煙煘灋煙煙煙灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牋煙煙牋牋牊煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋       牎               、ぅЖ扯辜烂鞘窝宰谲哚沐玷觌祉铒痧耨蝌蝌蝌蝰耩痫铐祀殍珂邈徉掭圳僮衷右研衔退耸缮惹瞧排拍哪妹侣侣侣侣亮侣侣亮亮亮亮晾览览览揽靠靠烤揪浇浇浇技换换缓汉构构垢阜贩贩抖兜档档荡闯吵吵吵巢膊膊膊北北北北鞍鞍鞍隘┅èЕイⅰ煗殬枔悕妵剚}zwspmjgda_][YWVTSRQQQQPPPQRRSTUVWYZ\]_`acdfgijlmnopqstuvvwxyz{{||}}~~亖亖亖倐倐儌倐儍儍儍儍剟剟厖厖厖唵唵唵噰噲垐垐垑墛妸妸妺媽寣寣實崓崕帋帋弿弿弿彁悙悙悙憫憭拻拻拻摀摀摀摂敂敂敂敃晻晻晻晻枛枛枛枛枛枛枛枟棗棗棗棙槝槝槝槝櫃櫃櫃殰潫、う┈俺坊棵剖脱宰谳哚溴玳觎眍镲瘃耨耨蝰耨痫镱盱腴桄邃忉咻苴僮终右邢吞耸扇瞧排哪寐铝亮晾览靠靠靠烤揪揪揪揪窘浇揪浇浇浇浇郊技技换换汉汉汉构父父父贩范抖抖兜档档荡创吵吵吵巢膊膊脖北鞍鞍鞍隘┅┅┅┅┅┅èèīèèèèèЁЁèЁЁЁЁЁΖΖΖΖΕウΖΕゥゥゥゥゥゥゥゥゥゥゥゥいぅゥイいいいいいいいい############################"###ⅱⅱ#"ⅱⅱ#"ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ  ⅱⅰ  ⅱⅰ 、ⅱⅱ ⅱⅱⅱ 牊灊湜櫁晸憦寜噭亇zwtpmjgdb_]ZXVUSRPONNMMMMLLLMNOPQQRTUWXZ[]^_acefhijlmnpqrstuvwxyzz{{|}}~~亖亖亖亗倐倐倐們儍儍儍儍剟剟剟厖厖唵唵噰噰垐垐垑墘墘妸妺媼媼寣實崓崓崓帋帍弿弿彁悙悙悙憫憫憫憫拻拻拻挀摀摂敂敂敃晻晻晻枛枛枛枛枟棗棗棗棙槝槝槝槝槝槝槝櫃櫃櫃櫃櫄殮殭櫄殮殮殮殮殯洓洓洓洓洔洓洓湝湝湝湝湝湝湝湝湝潩湝湝潩潩潩潩潩潩潩潩潩灋潩潩潪灋灊潪灋灋灋灋灋灋灋灋灋灋灋灋灍煙灋灋灍煙灋灋煙煙煙灍煙煙煙煙煙煙煙煙煙煙煙煙煚牋牊煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋牋 牋牋牎 牋   、%Θ┇驳讣棵剖托宰佘掎沐玷觌祉铒痧耨耱蝌蝌耨痫镱盱腴桤驿汊噢蒇谫字杂倚舷瓮耸缮热瞧婆哪哪拿寐侣侣侣亮亮亮亮亮览亮晾览览览览靠烤揪揪窘浇郊技蓟换汉汉构垢父父贩范抖抖兜档档创闯吵吵吵膊脖北北卑鞍鞍鞍隘┅┅┅┅┄èī┄èèèèěЁЁЁЁЁЁЁΖΖΖΖΖΖΖΖΕゥゥゥゥゥゥゥゥぅゥゥイいゥゥイいぅゥいいいいいいいいい#いいぃ#いいぃ#¥い#############ⅲ##"ⅱⅲ#ⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱ、ⅱⅱⅰ ⅱⅱⅰ ⅱⅱⅰ ⅱⅱⅱⅱⅱⅱⅰ ⅱⅱⅰ 牋煘潨洐槚攽弻墖剚~zwtpmjgdb_]ZXVUSRPONNMMMMLLLMNOOPQRSUVXZ[]^_acefhijlmopqsttuvwxyz{{||}~~~亖亖亖倐倐倐倐們儍儍儎剟剟剟厖厗唵唵唶噰垐垐垑墘妸妸妺媼寣寣實崓帋帋帋弿弿弿彁悙憫悜憫憭拻拻拻摀摀摀摀敂敂敂敂敃晻敂晻晻晻晻枛枛枛枛枟棗棗棗棗棙槝槝槝槞櫃槝櫃櫃櫃櫃櫃殮殮殮殮殮殮殮殯洓洓洓洓洓洓洓洔湝湝湝湝湝湝湝湝潩潩湝湞潩潩潩潩潩潩潩潩灋灋潩灋灋灋灋灋灋灋灋灋灋灋灋灋煙煘灋灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牊煙煙牋牋煙煚牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋牎牋牋牋牎牎ⅲうī蹈伎闷释言踪苻徙彗桕腱眍镳瘃耱蝌蝌蝌耨痧镱盱腴桤驿汜咿苒谪渍砸研衔吞耸缮惹瞧拍哪拿妹侣侣铝亮晾览览览览览览揽靠靠靠揪窘浇浇浇技技技换汉汉汉构父父父贩抖抖抖档荡创创闯巢膊膊膊北北北卑鞍鞍鞍隘┅┅┅┅┅┅┅èèèèěЖèЁЁЁЁЁΖΖΖΖΖΖΖΕゥゥゥゥゥゥゥゥゥゥゥゥいぅゥイいいいいいいいいいいいい##い#############"###ⅱⅲ##ⅱⅲ##ⅱⅲ##ⅱⅲ##ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱ  、                         牋煙灊湜櫁枔憦寠噭亊{wtqnkheb_][YWUSRQOONNMMMMMMMNOPQRSTUWYZ\]_`bdegijkmnoqrstuvwxyz{{||}~~亖亖亖亗倐儍儍儍儍剟剝剟剟厖厖厖厗唵唵唵噰噲垐垐墘墛妸妸媼媽寣寣崓崓崓崕帋弿弿弿悙悙悙悙憫憫憫憭拻拻拻挀摀摀摀摀敂敂敂敂晻晻晻晻晼枛枛枛枛棗棖棗棗槝槜棙槝槝槝櫄洕煚ⅳΙ撤壕缕释言宗苓徙彗殛祉铒镳耨耨蝌耨耩镱铐祀殍驽汊噙蒇谪渍杂严瓮趟噬惹婆哪妹铝晾览揽靠揪揪揪窘浇揪揪浇浇浇浇浇浇浇郊技换换换缓汉汉汗垢父父阜范抖抖档荡创创创吵膊膊膊北北北卑鞍┅┅┅┅┅┅┅èěЕΕあ灉櫁敀弻墕|xurnkheb`][YWVTSQPPOOOOOOOPPQRSTUVXY[\^_`bcefhijkmnoqrsttuvwxyyzzz{||}}}~~~亖亖亖亖倐倐倐們儍儍剟剠厖厖唵唶噰噰噲垑墘墘墛妺媼媼媽寣崓崓崓帋帋帋帍弿悙悙悙悜憫憫憫拻拻拻拻摀摀摀摂敂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗棗槝棗棙槝槝槝槝櫃櫃櫃櫃櫄殮殮殮殮殯殮殮洓洓洓洓洓洓洓洓洓洓洓洓洔湝湜洔湝湝湝湝湝潩湝湝潩潩潩潩潩潩潩潩潪灋灊潩灋灋灋灋灋灋灋灋灋煙灋灋灋煙灋灋灍煙灋灋煙煙煘灋煙煙煙灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牋煙煙煚牋煙煙煙牋煙煙煚牋牊煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎¥Η┇驳讣棵剖托宰佘掎沐玷觌祉铒痧耨耱蝌蝌耨痧镱盱腴桤驿汜噢蒇谫字杂研衔吞耸扇惹瞧拍哪妹妹侣亮亮亮晾览览览览览览览靠靠靠靠烤揪揪揪浇技技技换汉汉汗构父父阜贩抖抖抖档创创创吵吵吵膊脖北北北鞍鞍鞍隘┅┅┄ěΖぃ灉殬晵弽妴儉|yvrolifc`^\ZXVUSRQPPPPPPPPPQRSTUVWYZ\]_`acdfhiklmnoqrstuvvwxyz{{||}}~~亖亖亖亗倐倐倐儍儍儍儎剟厖厖厖唵唵唵噰噲垐垐垑墘妸妸妸媼媽寣寣實崓崓崓帋帋帋弿弿悙悙悙悜憫憫憫拻拻拻挀摀摀摀摀敂敂敂敂晻晻晻晻晼枛枛枛枛棗枛枟棗棗棗棗槝槝槝櫄洕灎ⅲΘ扯壕缕赏杏踪苓徙彗殛腠铑镳瘃耨耨耨痧镱铐祀殍驽汊徇蒇谪字杂研瓮趟噬惹婆哪妹铝览览靠烤揪揪揪浇浇浇浇郊技冀浇技技技技蓟换换换汉构构构垢父阜贩范兜档档创闯吵吵巢膊膊脖北鞍鞍鞍隘┅┅┅┅┅è┅┅èèèèèЁèèЁЁЁЁЕΖΖΖΖゥΖΖゥゥゥゥゥゥゥゥイいいいい#いい#################ⅲ##"ⅱ##"ⅱ##ⅱⅱⅲ#ⅱⅱⅱ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ、ⅱⅱⅰ ⅱⅱ                     牎  牋煙灋潨殭棔搼帉墕儉}zwtpmjgdb_]ZXVUSRPONNMMMLLLLMMNOPQRSUVXY[\]_abdfghjklnoqrsstuwxxyzz{{|}}~~~~亖亖亖亖倐倐倐倐儍儍剟剟剠厖厖厗唵噰噰噲垐墘墘墘妸妺媼媼寣寣寣實崓帋帋帋弿弿弿彁悙悙悙悜憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晻枛枙晼枛枛枛枛棗棗棗棗槝槝槝槝槝櫃槝槞櫃櫃櫃櫃櫄殮殮殮殮洓洑殯洓洓洓洓洓湝洓洓湝湝湝湝湝湝湝湝湝潩湝湝潩潩潩潩潩潩潩潩潩潩潩潩潪灋灊潪灋灋灋灋灋煙灋灋灍煙煘灋煙煙煘灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牋牊煙牋牋牋煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎¥Η┆驳讣棵剖托宰佘掎沐玷觌祉铒痧耨蝌蝌蝌耨痧镱盱腙桤驽汊噢蒇谫字沼倚衔吞耸扇惹瞧拍哪妹寐铝亮亮亮览览览览揽靠靠靠烤揪揪揪窘浇浇浇技技换换缓汉汗构垢父阜贩范抖抖档荡创创闯吵膊膊膊北北北北鞍鞍鞍隘┅┅┅┅┄èèèèЁèèЁЁЁЁЁΖЁЁΖΖΖΖΕゥウΕゥゥゥゥイいぅイいいいいい¥いいぃ###########"ⅲ##"ⅱ##"ⅱ##"ⅱ##"ⅱ##"ⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ ⅱⅱ            牋  牋牋 牋牋牎 牋牋牎 牋  牋煙灊湜殬棔拹帇墕儉}yvspmjgda_\ZXVTSQPONMMMMLLLLMNNOPQRSUVXY[\]_abdfgijkmnpqrstuvwxyyzz{||}}~~~~亖亖亖亖亗倐倐倐們儍儍儎剟厖厖厗唵噰噰噲垑墘墘墛妺媼媼媼寣實崓崓帋帋帋帍弿悙悙悙憫憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂敃晻晻晻晼枛枛枛枛枛枛枛棗棗棗棗棙槝槝槝槝櫃櫃櫃櫃殮櫃櫃殮殮殮殮殮殮殮殮殯洓洓洓洓洓洓洓湝湝湝湝湝湝湝湝湝湝湝湝潩潩潨湞潩潩潩潩潩灋潩潩灋灋灊潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煙灋灋灍煙灋灋灍煙煘灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牋煙煙煚牋牊煙煚牋煙煙煚牋煙煙牋牋牊煚牋牋牋牋牋牋牋牋牋牋牋牎ⅳェ┆钡富柯粕托又佘捺沐骅觌祉铒痧耨耱蝌蝌耨痫镱盱觊桄邃忉咿苒儇渍砸研衔吞耸扇乔破拍妹妹侣铝亮亮晾览览览览揽靠靠靠靠揪究揪揪浇浇浇技技换换缓汉构构垢父贩贩抖兜档档创创创吵巢膊膊脖北鞍鞍鞍┅┅┅┅┅èī┄èèèèЁЁЁЁЕΖΖΖΖゥΖΖゥゥゥゥゥぅゥゥいいいイいいいいいいいいぃ#いい#############ⅱ##"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ、ⅱⅱⅰ       牋  牋牎 牋牋牎 牋  牋  牋牋牎 牋牋牋 牋牊煙灊湜殬棔搻帇墕儉}zwspmjgda_\ZXVTSQPONMMMMLLLLMNNOPQRSUVXY[\^_abdfghjklnoqrstuvwxyyzz{||}~~~~亖亖亖亗倐倐倐們儍剟剟剟厖厖厖唵唶噰噰垐垑墘墘妸妺媼媼寣實崓崓崕帋弿弿弿彁悙悙悙憫憫憫憫拻拻拻挀摀摀摀摀敂敂敂敂敃晻晻晻晼枛晻枛枛枛枛枛棗棗棗棗棗槜棗槝槝槝槝槞櫃櫃櫃櫃櫄殭櫃櫄殮殮殮殮殯洑殮殯洓洓洓洓洔湜洓洔湝湝湜湝湝湝湝湝湝湝湝湝湞潨湝湞潩潩潩潩潩潩潩潩灋灊潩潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煙煙灋灍煙煙灋灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牊煙煙煚牊煙煙牋牊煙煙牋牊煙煙牋牊煙煚牋牋煙牋牋牋牋牋牋牋牋、ぅЗ蹈豢闷释杏仲苻徙彐桕腱眍镳瘃耱蝌蝌蝰耩痫铐祀觇珂邈忄掭圳僮衷友邢瓮趟噬惹瞧排拿妹侣铝晾览览览揽靠览靠靠靠靠靠揪揪揪揪浇浇浇技蓟换换缓汗构构垢阜贩贩范兜档档荡闯吵吵吵膊膊膊北卑鞍鞍鞍┆┅┅┅┅èЁΖイ!牉湚棔拸寜唭}yvspmigda_][YWVTSRQQQPPPPPQRSTUVWXY[\^_`acdfhijklnopqsstuvwxxyzz{{||}}~~~~~亖亖亖亗倐倐倐們儍儍儎剟厖厖厗唵噰噰噰垐垐垑墘墛妸妸媼媽寣寣實崓帋帋帋帍弿弿弿悙悙悙悙憫憫憫憭拻挀搾挀摀摂摀摂敂敂敂敃晻晻晻晻枛枛枛枛枛棗棖棗棗棙槝槞洔灎。エ捕壕缕赏杏踪苓徙彗殛腠铒镳瘃耨耨耨痧镱盱腙殓邃汜噢苴僮终右形吞耸扇瞧拍妹侣晾揽靠烤窘浇浇浇郊技冀郊技技技技换换换换缓汉汉汉构垢父父阜贩贩抖兜档档荡闯吵吵吵膊北北北卑鞍鞍鞍┅┅┅┅┄èèèèèèèЁЕΕイ"牊潧櫀攽帇垍{xuqnkheb`][YWUTRQPPOOOONNOOPQRSTUVWYZ\]^`acdfgijklnoprsstuvwxyyzz{{|}}}~~~~亖亖亖亗倐倐倐儍儎剟剟剟厖厖厗唵噰噰噰垐墘墘墘妸媼媼媼寣實崓崓崕帋帋帋帍弿弿彁悙悜憫憫憫憭拻拻拻摀摀摀摀摂敂敂敂敂晹敂晻晻晻晻晼枛枛枛枛棗棗棗棗棗棗棙櫄湠煛%ǐ逗韭粕托幼佘哚沐玳觌眍镲痧耨耨耨耩镱铐祀觇珏溻徇捃谫字沼倚贤趟噬惹婆哪妹铝览靠靠烤窘浇浇浇浇浇浇浇技技技技蓟患蓟换缓汉汉汗构垢父父贩贩贩抖兜档档创闯吵吵膊脖北北北鞍鞍鞍隘┅┅┅┅┄ī┅èèèèèЁЁЁЁЁЁЁЕΖΖΖΖΖΖΖΖゥゥΖゥゥゥゥゥいいいいいいいい##いぃ########"###ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ  ⅱⅰ                    牋牎  牋牋 牋牋牎牋牋 牋牋 牋牋 牋牋 牋牋牎牋牋牋牋牋牋牋牋牋牋牋牋牋牊煙灊潨洐槚敀悗媺唭}zwtpmjgeb_][YWUTRQPONNNMMMMMMNOPQRRTUVXY[\]_abdeghiklnopqrstuvwxyyzz{||}}~~~~亖亖亖亖亗倐倐倐們儍儍儍剟剟剠厖唵唵唶噰垐垐垐墘妸妸妸媼寣寣寣實崓帋帋帋帍弿弿弿悙悙悙悜憫憫憫憭拻拻拻挀摀摀摀摀敂敂敂敂晻晻晻晻晻枙晻枛枛枛枛枟棗棗棗棗棗槜棗槝槝槝槝槝櫃櫃櫃櫃櫃殭櫃殮殮殮殮殮洓洓洑洓洓洓洓洓洓洓洓洓湝湝湝湝湝湝湝湝湝湝湝湝潩潩湝潩潩潩潩潩潩潩潩潩灋灊潩潪灋灋潩潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煘灋灋煙煙灋灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牊煙煙煚牊煙煙牋牊煚、%Ж蹈祭们饰言宗苓徙彗桕腱眍镳耨耱蝌蝌蝰耩痫铐祀殍珂溷徉捃圳刈赵已邢瓮淌扇惹破拍拿寐侣亮览览览览靠靠靠靠烤揪靠揪揪揪揪浇郊技技蓟换汉汉汗垢父父阜范抖抖兜荡创创闯巢膊膊脖北北卑鞍隘┅┅┅┅┅┄èèèèěЁèЁЁЁЁЕΖΖΖΖゥゥゥゥゥゥゥゥいいぅいいいいいいいいい##いぃ########ⅱⅲ##ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ  ⅱⅰ                牋牎  牋牋  牋牋 牋牋 牋牋 牋牋牋牋牋牋牋牋牊牋牋牋煙煚牋牋煙煚牋牊煙煙牋牋煙煙灋潨洑槚敀悗媺唭}zwspmjgda_]ZXVUSRPONNMMLLLLLLMNOPQQSTVWYZ\]^`bceghijlmopqrstuvwxxyzz{||}}}~~~亐亖亖亖亖倐們儍儍儍剟剟剟厖唵唵唵噰垐垐垐墘妸妸妸媼媽寣寣實崓崓崓帋帍弿弿弿悙悙悙悙憫憫憫憭拻拻拻摀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛枟棗枛棗棗棗棗棗槝槝槝槝槞櫃槞櫃櫃櫃櫃櫃殮殮殮殮殮殮殮殮洓洓洑洓洓洓洓洓洓洓洓洓湝湝洓湝湝湝湝湝湝湝湝湝湝湝湝湝潩潩湝潩潩潩潩潩潩潩潩潩灋灊潩潩灋灋灊灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煘灋灋灍煘灋灋煙煙灋灍煙煙灋灍煙煙灋灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚、%Ж倒嚼那宋言宗葸徙彗殛腠铑镳耨耱蝌蝌蝰耩镲铐祀殍驽溻徇蒈谫刂沼研衔吞松惹瞧排拿寐铝亮晾览靠靠靠烤揪靠揪揪揪揪揪浇浇浇浇郊技技技换换缓汉构构父父贩抖抖兜档荡创创吵吵巢膊北北北卑鞍隘┅┅┅┅┅┅┄èèèèЁЁЁЁЕЁЁЕΖΖΖΖΖΖΖΕゥゥゥゥいいゥイいいいいぃ¥いぃ####"###ⅱⅲ#"ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱ  ⅱ            牋牎  牋牎  牋牋  牋牋  牋牎  牋牎 牋牋牋牋牋牋牋牋牋牋牋牋牊牋牋牋煙煚牋牋煙煚牋牋煙煙灊潨洐槚敀悕媹厒|yvsolifca^\ZXVTSQPONMMLLLLLLLMNOPQRSTVWYZ[]^`bcefhijkmnpqrstuvwxxyyz{{||}}}}~~亖亖亖亖倐倐倐倐儍儍儍剟剟剟厖厗唵唵唶噰垐垐垑墘妸妸妸媼寣寣寣崓崓崓帋帋弿弿弿悙悙悙悜憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敂晻晻晻晻晻晼晻晼枛枛枛枛棗棗棗槞殰灍。Ι锤伎们宋艺刿萼怃骅殡祉铒痧耨耨耨耨痫铑盱腴桄邈忉咻苴刈赵友形退噬惹婆拿寐铝揽靠揪揪浇技技技技技技技蓟换技技换换换换汉汉汉汗构父父父贩抖抖抖档创创创吵吵膊膊脖北北北鞍隘┅┅┅┅èīèèèèèЁЁЁЁЕΖゥぃⅰ牉湚槚搼帇垍|xurolifc`^\ZXVUSRQPPPOOOOOPQRRSTUVXY[\]_`acdfgijklmopqrsttuvwxyyyzz{|||}}}}~~~~~~亖亖亖亗倐倐們儍剟剟剟厖厗唵唵噰噲垐垐墘墛妸妸媼媽寣寣寣崓崓崓崕帋帋帋弿彁悙悙悙悜憫憫憫拻拻拻拻摀摀摀摀摂敂敂敂敃晻晻晻晻枙晻枛枛枛枛枟棗棗棙櫄湠煛&┈按讣烂撬我肇圯噔滏栝腱眍镳瘃耨耨耨痧镱盱腙殓邃忉噢苒僮衷右邢吞耸扇瞧拿寐铝览烤揪窘郊技技技蓟换换换换换换换换缓换换缓汉汉汉汗垢父父父贩贩贩抖档档档创吵吵吵膊北北北鞍隘隘┅┅┅┅èèèèèèèěЁЁЁЁΖΕイ"灉殬晸悕媹剚~{wtqmjgdb_][YWUTRQPOOOOONNOOPQRSTUVWYZ\]_`acdfgijklmopqrstuuvwxyyzz{{||}}}}~~~亖亖亖亗倐儍儍儍儎剟剟厖厗唵唵噰噲垐垐墘墛妸妸妺媼寣寣寣崓崓崓帋帋弿弿弿弿悙悙悙悙憫憫憫憭拻拻拻挀摀摀摀摀敂敁摂敂敂敂敂晻晻晻晻枛枛枛枛枟棗棗槞洔灎ⅳИ倒搅湃滔又佘掎沐玷觌祉铒瘃耨耨耨耨痫铑盱腴桄邈忉咻苴刈赵友衔退噬惹婆拿寐铝览靠烤揪浇浇浇浇技技技技技技技技换换换换汉汉汉汗垢父父阜贩抖抖抖档荡创创闯吵吵膊脖北北卑鞍┅┅┅┅┄èèèèèèèЁЁЁЁЕΖイぃⅰ煘湚槙搻崐噭亊zwtpmjgda_\ZXWUSRQPOOONNNNNOPQQRSTUWXZ[]^_abdeghiklmnpqrsstuvwxxyyzz{{||||}}}~~~~~~~亖亖亖倐倐倐們儍剟剟剠厖唵唵唶噲垐垐垑墛妸妸妺媼媼媽寣崓崓崓崕帋帋帍弿彁悙悙悙憫憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻晻枙晻枛枛枛枛枛棗棗棙櫄湠牎う┉钡辜滥忍嫌仲苻徙彗桕腱眍镳耨耨耨耨痧镱盱腙殍驿汊噙蒇儇终右严吞耸扇瞧拍寐铝晾靠揪揪窘浇冀浇技技技技技换换技换换换换缓汉汉汗构父父父贩范抖抖兜荡创创吵巢膊膊脖卑鞍鞍鞍┅┅┅┅èèèèЁЁЁЁЕΖΖΖΕゥぃ"牊潨殫晸悕妵剚~{wtqnkheb_][YWVTSRQPPOOOOOOPQRSTUVWXZ[]^`abdeghjklmnoqrsttuvwxyyzzz{||}}}}}~~~亖亖亖亖倐們儍儍儎剟剟剠厗唵唵唶噲垐垐垑墘妸妸妸媼媽寣寣實崓崓崓崕帋帋帋弿弿弿彁悙悜憪憫憫拻拻拻拻摀摀摀摀摂摀摂敂敂敂敃晻晻晻晻枛枛枛枛枛棗棗槞洔灎ⅳИ倒搅派托幼佘哚沐玳觎眍镲瘃耨耱蝰耨痫铑盱腴桄邈忄咻圳刂赵已贤趟噬惹颇妹侣晾揽揪窘浇技技技技换换换换换换换换缓汉汉汉汗构构构父贩贩贩范抖兜档荡创创闯吵膊膊膊脖北北卑鞍┅┅┅┅èīèèЁèЁЁЁЁЁΖΕイぃ煗湚棔拹崐噭亇zwspmjgda_\ZXVUSRQPOONNNNNNOPQQRSTVWXZ[]^_abdfghiklmnpqrsstuvwxxyyzz{{|||}}}~~~~~~亖亖亖亗倐儍儍儍儎剟剟厖厗唵噰噰垐垑墘墘墛妸妸妺媼寣寣寣崓崓崓帋帋弿弿弿悙悙悙悜憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敂晻晻晻晻晻枛枛枛枛枛枛枟棗棗棙槡洕煛%ǐ逗韭剖脱宰谳哚滏玳觎眍镳瘃耨耨耨耨痫铑盱腴桄邈忉咻苴刈赵已衔趟噬惹婆拿寐亮揽烤揪浇郊技技技蓟换换换换换换换缓汉汉汉汉构构构垢父父阜贩抖抖抖档创创创吵巢膊膊北北北鞍隘┅┅┅┄èèèèЁЁЁЁΖЁЕΖΕイぃ煘湚槙搻帇垍倊{xuqnkheb`][YXVTSRQPOOOOOOOPPQRSTUVXY[\^_`bcefhijklnopqrstuvvwxyyyzz{|||}}}}~~~~~~~亖亖亖倐倐儍儍儎剟剟剠厖唵唵唵噰噲垐垐墘墛妸妸妺媽寣寣實崓崓崓帋帍弿弿弿悙悙悙悙憫憫憫憫拻拻拻拻摀摀摀摂敂敂敂敃晻晻晻晻枛枛枛枛枟棗棗棗棙槝槞殰灍。エ撤痪缕释言宗葸徜骁殛祉铒镳耨耨耨耨痧镱盱腙殓邃忉咿苴刈赵已形退噬惹婆拿侣亮揽烤揪浇浇技技技技换换技技换换技蓟换换换缓汉汉汗构父父父贩范抖抖档荡创创闯吵膊膊脖北北北鞍隘┅┅┅┅èèèèěЖèЁЁЁЁЕΖゥい"灉殫晵悕妵剚~zwtpmjgda_\ZXWUSRQPOOONNNNOOPQRSTUVXY[\^_`bdeghiklmnoqrsttuvwxyyzzz{||}}}}~~~亖亖亖亗倐倐們儍儎剟剟剠厖厖厗唶噰噰噲垐墘墘墘妸妺媼媼寣寣寣實崓帋帋帋帍弿弿弿悙悙悙悜憫憫憫憭拻挀摀摀摂敂敂敂敃晻晻晻晻枛晻晼枛枛枛枛枟棗棗棗棗棗棙櫄湠煛%ì坊柯剖脱宰谳哜滏玳觎眍镳瘃耨耨耨耨痫铑盱腴桄溷忄掭圪刂沼倚贤趟噬惹颇妹侣亮揽揪揪浇郊技技技蓟换换蓟换换换换缓汉汉汉汗构构构父父阜贩范抖抖兜荡创创闯吵膊膊膊北卑鞍鞍隘┅┅┅┅┅èèèèЁЁЁЁЁΖЁЕΖゥイ#煗洐棔拹崐噭亇zwspmjgda_\ZXVUSRQPOOONNNNOOPQRSTUVXY[]^_abdeghiklmnpqrsttuvwxyyzz{{||}}}}~~~亖亖亖倐倐儍儍儍剟剠厖厖唵唶噰噰垐垑墘墘妸妺媼媼媽寣崓崓崕帋帋帍弿彁悙悙悜憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂敃晻晻晻晻枛枛枛枛枟棖枟棗棗棗棗槝槝槝櫄洕煚ⅳΙ撤豢们饰言宗葸怃骁殛祉铒痧耨耨耨耨耩镱铐祀殍驽汊噙蒇儇终右严吞耸扇瞧拍妹侣晾揽靠烤揪浇浇浇郊技技技技技技技技换换换缓汉汉汉构父父父贩范抖抖兜荡创创闯巢膊膊脖北北卑鞍┅┅┅┅èèèèěЁěЁЁЁЁЁΖゥい"灉殬晸悕妵剚~{xtqnkheb`][YWVTSRQPPPPPPPQRSTUVWXY[\^_`bcdfgijklnopqrstuvwwxyzz{{||}}~~~~~亖亖亖亖倐倐倐們儍儍儍剟剠厖厖厗唶噰噰噲垑墘墘墛妺媼媼媽實崓崓崕帋弿弿弿彁悙悙悙憫憫憫憫拻拻拻拻摀摀摀摀敂敂敂敃晻晻晻晼枛枛枛枛棗棗棗棗棗槜棗棙槝槝槞殯潫、ぇ┈按坊棵鞘窝宰谳哜滏玳觎眍镳瘃耨耱蝰耨痫铑盱觊桄溷忄咻圪刂沼已贤趟噬惹颇拿侣亮揽烤揪揪浇技冀技技技技技蓟换技技换换换换汉汗构构垢父父阜贩抖抖抖档创创闯吵膊膊膊脖北北北鞍鞍鞍┅┅┅┅èèèèЁЁЁЁЕΕイ#煗湚棔拹崐噭亇zwspmjgda_\ZXVUSRQPOOOOONOOPQRSTUVXY[\^_abceghjklmnpqrstuuvwxyyzz{{||}}~~~~亖亖亖倐們儍儍儍剟剟剟厖厗唵唵噰垐垐垑墘妸妸妺媼寣寣寣崓崓帋帋帋弿弿弿彁悙憫憫憫憭拻拻拻摀摀摀摂敂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗槝槝槝槝槝槝槝槞櫃櫃櫄洔灍。ェ按讣棵撬窝肇谳噔滏栝腱眍镳瘃耨蝌蝌耨痫铑盱腴桄邈忄咻圪刂赵已衔趟噬惹婆哪妹铝晾揽靠烤揪浇浇浇浇浇浇浇郊技技技技技技蓟换汉汉汉构构构垢阜贩贩范抖档档荡闯吵吵巢脖北北北鞍鞍鞍鞍┅┅┅┅èèèèěЁЖЁЁΖゥぃⅰ煘湚槙搻崐噭亊zwtpmjgdb_][YWUTRQPPPOOOOOPQRSTUVWXZ[]^`abdfgijklnopqstuuvwxyzz{{||}}~~~~亖亖倐倐倐們儍儍儎剟剠厖厖唵唵唵噰噲垐垐垑墛妸妸妺媼寣寣實崓崕帋帋弿弿彁悙悜憫憫憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃櫃櫄洔灎ⅳエ贝讣滥撬我肇圯噔滏栝腱眍镳瘃耨耨蝰耨痫铐祀觊珂溷徉捃谫字杂倚贤趟噬惹婆拿寐铝览靠靠烤揪浇揪窘浇浇浇浇郊冀浇浇技技技技蓟换换换汉汗构构父父贩贩抖抖档档创闯吵吵膊膊膊脖北鞍鞍鞍┅┅┅┅┄è┅┄èèèèЁΖゥぃⅰ煗洐棔拸崐噭亇zwspmjgda_\ZXWUSRQPPPOOOOPPQRSTUVWY[\^_abcefhjklmnpqrsuuvwxyzz{|||}}~亖亖亖倐們儍儍儍剟剟剟厖厖厖厗唵噰噰噲垐墘墘墛妸媼媼媼寣實崓崓崕帋帋帋弿彁悙悙悜憫憫憫拻拻拻挀摀摂敁摂敂敃敂敃晻晼枛枛枛棗棖枟棗棗棗棙槝槝槝槝櫃櫃櫃櫃櫄殮殮殯潫牏うǐ蹈祭那宋艺刿萼怃骅殡祉铒痧耨耱蝌蝰耩镲铐祀殍驽汊噙蒇谪渍砸严瓮趟噬惹婆拍拿侣亮览览靠烤揪揪揪揪揪揪揪浇浇浇浇郊技技技换换换缓汉构构垢父父阜贩抖抖兜档创创创吵巢膊膊脖北北北鞍隘┅┅┅┅┅┅┅èěЕΕぃ灉殬晸悕妵剚}zwspmjgda^\ZXVUSRQPPPPOOOPPQRSTUVXY[\^_abceghjklmopqstuvvwxyz{{||}}~~亖亖亖倐倐儍倐儍儍剟剟剟厖厖厖唵唶噰噰垐垑墘墘妸媼媼媼寣崓崓崓帋帍弿弿彁悙憫憫憫拻拻拻挀摀摀摀敂敂晻晻晻晻枛晼枛枛棗枛棗棗棗棗棙槝槝槝槝櫃櫃櫃櫃櫄殮殮殮殮殮殯湞煛¥Θ钡讣滥撬我肇圯噔滏栝腱眍镳瘃耨蝌蝌蝰耩镱盱腙桤邃忉咿苴僮终右邢吞怂嗜瞧婆拍妹铝亮晾览靠靠靠靠揪揪揪揪揪揪揪揪浇浇浇浇技技技蓟换汉汉汉构父父父贩抖抖抖档创创创吵吵吵膊脖北北北鞍鞍鞍鞍┅┅┅┅èěЕイ"牊潥槚搻帇垊亊{wtqmjgdb_][YXVUSRRQQQQQQQRSTUVWXYZ\^_`bcdfgijlmnoprstuvwxyz{{||}}~~亖亖倎倐倐儍儍儍儎剟剟剟厖厖厖厗唶噰噰噲垑墘妸妸媼媼寣寣實崓崓崕帋弿弿弿悙悜憫憫憭拻拻拻挀摀摀摀敂敂敂敃晻晻晻晻枛枛枛枛棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫄殮殮殮殮殯殮洔潫。うǐ倒祭娜讼艺刿萼怃骅殡祉铒痧耨耱蝌蝌耨痫铑黼觇珏溷徉捃圪刂赵倚衔吞耸汕破排拿寐亮亮览揽靠靠靠烤揪揪揪揪揪揪揪浇浇浇浇郊技技技换换换汉汗构构垢父贩贩贩抖兜档档荡创创创吵巢膊膊脖北北北鞍鞍鞍鞍┅┅┅┅èěΖィⅰ煗洏枔悗媷剚~zwspmjgda_][YWUTSRQQPPPPPPQRSTUVWXY[]^`abdeghjkmnoprstuvwxyz{{|}}}~亖亗倐倐倐儍儍儍儎剟厖厖厖唵唵唵唶噰垐垐垐墘妸妸妺媼寣寣實崓帋帋帋弿弿弿彁悙憫憫憫拻拻拻挀摀敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗棙槝槝槝槝櫃櫂槞櫃櫃櫃櫃殮殮殮殮殯洓洓洔灍。うǐ倒祭那宋艺刿萼怃骁殛祉铒痧耨耱蝌蝌耨痫铑盱觊珂邈忄咻圳刈衷友邢瓮趟扇乔破排拿侣侣铝晾览览览揽靠靠靠靠靠靠靠烤揪揪揪窘浇浇浇技蓟换换缓汉汗构垢父父贩范抖抖兜荡创创创吵吵巢膊脖北北北卑鞍鞍鞍隘┅┄ěЕイⅰ煗洏枔悗媹剚~zwspmjgda_][YWUTSRQQPPPPPPQRSTUVWXY[\^_abceghjkmnoprstuvwwxyz{||}}~~亖亗倐倐們儍儍儍剟剟厔剟厖厗唵唵唶噰噰噲垐墘墘墘妸媼媼媽寣崓崓崕帋弿弿弿悙悜憫憫憭拻拻拻挀摀摀摀摂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗槝槝櫂槝櫃櫃殭櫃殮殮殮殮殯洓洓洓湠煛¥Θ钡讣滥撬我肇谳噔滏玳觎眍镳瘃耨蝌蝌耨痧镱盱腙桤邃汜噢苒儇渍砸严瓮趟噬惹瞧婆哪妹侣侣铝晾览亮览览览览览靠靠览揽靠靠靠靠揪揪揪窘郊技技技换缓汉汗构父父阜贩抖抖兜档档创创吵吵吵巢膊膊膊脖北北北鞍隘鞍┄ěΕぃ潧櫀搻帇噭亊zwspmjgda_][YWVTSRQQQQPPPQQRSTUVWXZ\]_`acdfgiklmnoqrsuvvwxyz{||}}~~亖亖倐儍儍儍儎剟剟剟剠厖厖厖唵唶噰噰噲垐垐垑墛妸妸妺媼寣寣寣崓崓崓帋帍弿弿彁悙憫憫憫拻拻拻挀摀敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗棙槝槝槝槝櫃櫃櫃櫃殮殭櫄殮殮殮殮洓洓洓洓洓湝洓洔湝湝湝湝湞潩潨湝潩潩潩潩潩潩潩潩灋灋灋灋灍煙煘灍煙煙煙煙煙牋煙煙牋牋牊煚牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋         ⅱ  ⅱⅱⅱⅱⅱⅱⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱⅱ#ⅱⅱⅲ#"ⅱ##"ⅲ##"ⅲ###ⅲ###################¥Η┆蹈痪屡忍弦肇谳哜溴玳觌眍铒瘃耨蝌蝌蝌蝌耨痧镱盱腴桤驿汜噢蒈谫刂赵右研贤烫耸噬热乔破破排哪哪哪哪妹哪拿妹妹妹妹侣侣侣铝亮览览览揽靠靠揪窘浇浇技蓟换缓汉汗垢父父贩范抖抖兜档档档创创创创吵吵吵巢膊北北北卑鞍鞍鞍┅┆┅┅┅┅┄èī┅èèèèèèèèěЁЖěЁЁЁЁЕΖΗЁΖΖΖΖΖΖΖΖΕゥΖΖΕゥΖΖゥゥゥΖゥゥゥΖゥゥゥゥゥゥゥゥイいぅゥいいいいいいいいいいいいいいいいいいいいいいいいいいいいい¥いいぃ#いいぃ#¥い###い###い##ⅱ煘潨殬枔憥寜唭}zvspmjgda_][YWUTRQPOOOONNNOOPQRSTUVWY[\^_abdfgijlmnpqstuvwxyz{||}}~~亖亖亗倐儍儍儍剟剟剟剟剠厖厖厖唵唵唵唶噰噰噲垐墘墘墛妸媼媼媼寣崓崓崓帋帍弿弿悙悜憫憫憭拻拻拻挀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛棗棙槝棙槝槞櫃櫃櫃櫃殭櫃殮殮殮殮殮洓洓洓湠煛%Θ钡辜滥人弦肇圯噔滏栝腱眍镳瘃耨蝌蝌耨痧镱铐礻殓驽溻徇蒈谫刂沼倚衔吞耸扇乔破拍拿妹侣铝亮亮亮晾览览览览靠靠靠靠靠靠靠烤揪揪揪窘浇浇浇技蓟换换缓汗构构垢阜贩贩范抖档档档创创创吵巢膊膊膊北北北北鞍鞍鞍鞍┄Еィ灈櫀攽帇噭亇zwspmjgda_\ZYWUTRRQQPPPPPPQRSTUVWXY[]^`abdegijlmnoprstuvwxyz{{||}}~亖亗倐倐倐儍儍儍儍剟剟剟厖厗唵唵唶噰垐垐垐墘妸妸妸媼寣寣寣崓帋帋帋弿彁悙悙憫憫憫憭拻摀摀摀摂敂敂敂敂晻晻晻晻晼晻晼枛枛枛枟棗棙棗棙槝槞櫂槞櫃櫃櫃櫃殮殮殮殮殯洓洑殯洓洓洓洓湝湝湝湝湝湝湝湝潩潩潩潩潩潩潩潩潩潪潩潩灋灋灋灋灋煙灋灋煙煙煙煙煙煙煙煙煚牋牊煙牋牋牋煚牋牋牋牋牋 牋牋   牎   牎                、ⅱⅰ、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ#ⅱⅱ##"ⅱ##"ⅱ##"ⅲ#######ⅲ#######¥ェ┆蹈痪屡忍弦肇圯哜溴玳觌眍铒瘃耨蝌蝌篁蝌耨痧镱盱觊桤驿汜噢蒈圪刂赵右严瓮趟耸噬惹乔破破排哪哪哪拿妹妹妹妹妹妹妹侣侣侣铝亮览览览揽靠靠烤窘浇浇郊蓟换换缓汗构构父阜贩贩范抖档档档创创创吵巢膊膊膊脖北北北卑鞍鞍鞍鞍隘┅┆┅┅┅┅┄èī┄èèèèěЁЖèЁЁЁЁЁЁЁЁЕΖЁЁЕΖЁЁΖΖΖΖΖΖΖΖΖウΖΖΕゥΖΖゥゥウΖゥゥゥゥゥゥゥゥイいゥゥイいゥゥイいゥゥイいぅゥいいいいいいいいいいいいい¥いいぃ#いいぃ¥いいぃ¥いいぃ#いいぃ#いい##ⅱ煘潧殬枔憥寜唭|yvsolifca^\ZXVTSQPOONNNNMMNNOPQRSTUVXZ[]^`aceghjklnoqrsuvvwxyz{|}}~~亖亖倐們儍儍儍剟剟剟剟剠厖厖厖唵唵唵噰噰垐垐垑墘墘墛妸媼媼媽寣崓崓崓帋帍弿弿彁悙悙悙憫憭拻拻拻摀摀摀摀敂敂敂敂晻晻晻晼枛枛枛枟棗棗棗棙槝槝槝槝櫃櫃櫃櫃櫄殮櫃殮殮殮殮殯洓洓洓洓湝湝湝湝湝湝湝湝潩潩湝湞潩潩潩潩潩潩潩潩灋灋潩灋灋灋灋灋煙煙煙煙煙煙煙煙牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牎  牋         ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲⅱⅱⅱⅲ"ⅱⅱ##ⅲぅЖ贝泛玖湃讼艺刳葸徙彗殛腱眍镳耨耱蝌蝌蝌蝰耩痫铐腙殍珂溷徉掭苒儇终杂已邢吞趟耸扇惹瞧破婆拍哪哪哪妹妹妹妹寐旅妹侣侣侣铝亮晾览览揽靠烤揪揪浇浇郊技换换缓汉构垢父阜范抖抖兜档档档创闯吵吵吵膊膊膊膊北北北卑鞍鞍鞍隘┅┅┅┅┅┅┅┅èèīèèèèèЁЁèěЁЁЁЁЁЁЁЁΖΖΗΖΖΖΖΖΕウΖΖゥゥΖΕゥゥウゥゥゥゥゥイゥゥゥいぅゥゥいいゥイいぅゥゥいぅゥゥいいゥイいいいいいいいいぃ¥いい##いぃ##いぃ##いぃ##いぃ##いぃ##¥ぃ##¥##ⅱⅰ牊灊洑槚搼帉墕儉}zwspmjgdb_][YWUTRQPOOONNNNNOOPQRSTUWXZ[]^`acefhiklmoprstuvwxyz{{||}~~亖亗倐倐們儍儍儍儎剟剟剟剠厖厖厗唵噰噰噰垐垑墘墘妸妺媼媼媽寣崓崓崓帋帋帋弿彁悙悙悜憫憫憫拻挀摀摀摀敂敂敂敂敃晻晻晻晼枛枛枛枛棗枛棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫄殮殮殮殮洓洓洓洓洓湜洓洔湝湝湝湝湝潨湝湞潩潩潩潩潩潩潩潪灋灋灋灋灋灋灋灋煙煙灋灍煙煙煙煙煙煙煙煙煙煙煙煙煚牊煙煙牋牋牊牋牋牋牋牋牎牋牎  牋牎  牋牎 牋牎  牋牎       ⅱⅱ 、ⅱⅱ ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ%Θ贝泛玖娜宋艺刳葸徙彗殛腱眍镳耨耱蝌蝌蝌耨痧镲铐腙殍珏溻徇捃圳刈赵右研衔吞耸噬扇瞧破婆拍哪哪哪妹寐旅妹寐侣侣侣侣亮亮亮晾览览揽靠揪揪揪浇技技技换汉汉汉构父父父贩抖抖抖档创创创闯吵吵吵巢膊膊膊北卑鞍鞍鞍隘鞍┄Еイ灉櫁攽帇垍亊zwspmjgda_\ZXWUSRQPPPPPPOPPQRSTUVWYZ\]_`bcefhjklmnpqrtuvvwxyz{|||}}~亖亖倐倐們儍儍儍儎剟剟剟厖厖厖厗唶噰噰噲垐墘墘墛妸媼媼媽寣崓崓崕帋弿弿弿悙悙悙悜憫拻拻拻挀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棙槝槝槝槝槞櫃櫃櫃櫃殮殭櫄殮殮殮洔潫牏ぅí锤祭们宋颜刳葸怃骁殛祉铒痧耨耱蝌蝌耩痫镱盱觊桄邃忉咻苴儇终砸严瓮趟噬惹瞧排拿侣侣铝晾览览览揽靠坷揽靠靠靠靠烤揪揪揪窘浇浇浇技技蓟换缓汉汉汗构父父父贩抖抖抖档荡创创闯吵吵吵膊膊膊脖北鞍鞍鞍隘┅┅┅┅┅┅┄èèèèЁèèЁЁЁЁЁЁЁЁЕΖЁЁΖΖΖΖΖゥΖΖΕゥゥΕゥゥゥゥゥゥゥゥゥぅゥゥイいゥゥイいいゥいいいいいいいいい¥いいぃ#¥い#########################################ⅲ###ⅲ##"ⅱⅰ牋煗湜櫁晵悕媹厒|yurolifc`^\ZXVTSQPOONNNNMMNNOPQRSTUVXY[]^_acdfhiklmopqstuvwxyz{{||}~~亖倐倐倐儍儍儍儍剟剟剟剟剠厖厖厖唵唶噰噰噲垐墘墘墛妸媼媼媼寣寣實崓帋帋帋弿彁悙悙悙憫憫憫憭拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛枟棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫃櫃櫄洔灎。ェ┉按坊棵鞘窝宰谳哚滏玳觎眍镳瘃耨蝌蝌蝰痧镱铐腙桤驽汊噙蒇谫字杂研衔吞松惹瞧排哪寐侣铝亮览览览靠靠靠靠靠烤究靠烤揪揪揪窘浇浇郊技换换换汉汗构构垢阜贩贩范兜档档荡创创创吵膊膊膊脖北北北卑鞍鞍鞍隘┄ěΕあ潧槚搻崐噭}yvrolifc`^\ZXVTSRQPPOOOOOOPQRSTUVWXZ[]^`abdegijklmopqsttuvwxyzz{{||}}~~亖亖亖倐倐倐倐儍儍儍儎剟厖厖厖唵唶噰噰垐垑墘墘妸媼媼媼寣實崓崓崕帋帋帍弿悙悙悙憫憫憫憭拻摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛棗棖枟棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫃殮殭櫄殮殮殮殮洓洓洓洓洓湝湜洔湝湝湝湝湞潩潨湞潩潩潩潩潩潪潩潩灋灋灋灋灋灋灋灋灋灋灋灋灍煙煘灍煙煙煙煙煙煙煙煙煙牋煙煙牋牋牊煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎 牋牋  牎             ⅱ  ⅱⅱⅰ ⅱⅱⅰ ⅱⅱⅰ ⅱⅱⅰ、ⅱⅱⅱⅱⅱⅱⅱⅲウī捶航聊人窝宰谳哚沐玷觌祉铒痧耨蝌蝌蝌蝰耩痫铐祀殍珂邈徉掭苴儇终右研衔吞耸噬扇瞧破排排哪妹妹妹妹侣妹妹侣侣侣侣亮亮亮晾览靠靠靠揪浇浇浇技换换换汉构构构父贩贩贩抖抖抖档荡创创创吵吵吵巢膊北北北卑鞍鞍鞍隘┆┅┅┅┅┅┅┅┅èèèèèèèèěЁЁЁЁЁЁЁЕΖΖΖΖΖΖΖΕゥゥゥゥゥゥゥゥゥゥゥイいぅゥいいいいいいいいいいいいいいいいいいいいいいいいぃ#いいぃ#¥い###ぃ####################"ⅱ##"ⅱⅲ#ⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱ 牊灊湚櫁敀悕妶厒~{xuqnkheb`][YWUTRQPONNMMMMMMMNOPQRSTUWYZ\]_`bdegijklnoqrstuvwxyz{||}}~亖亗倐倐們儍儍儍儎剟剟剟剠厖厖厖唵唶噰噰噲垐墘墘墛妸媼媼媽寣實崓崓帋帋帋弿弿悙悙悙憫憫憫憭拻拻拻摀摀敁摀敂敂敂敂敃晻晻晻晼枛枛枛枛棗棗棗棗棙槝棗槝槝槝槝槞櫃櫃櫃櫄殮殮殮殮洓洓殮洓洓洓洓洓湝湝湝湝湝湝湝湝潩潩湝潩潩潩潩潩灋灋潩灋灋灋灋灋灍煘灋灋煙煙灋灍煙煙煘煙煙煙煙煙煙煙煙煙牋牋煙煚牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋  牋牎  牋牎            、ⅰ      、   ⅱⅱ ⅱⅱⅱⅱⅱⅱⅱⅱ%Θ┇贝泛搅娜宋颜宗葸徙彗殛腱眍镳耨耱蝌蝌蝌耨痧镱盱腙殓驽汊噙蒈圪刂沼已邢瓮趟适缮惹破排排哪妹妹寐侣铝亮侣亮亮亮亮亮览览览览靠靠靠烤窘浇浇郊蓟换换缓汗构构垢阜贩贩范抖兜档档创创创吵巢膊膊膊北北北卑鞍鞍鞍隘┅┅┅┅┄ī┅┄èèèèЁЁЁЁЕΗЁЕΖΖΖΖΖΖΖΖΕウΖΕゥゥウΕゥゥゥゥゥゥゥゥゥゥゥゥいぅゥゥいいぅいいいいいいいいいぃいいい#¥いい#¥いい##いぃ############"###ⅱⅲ##ⅱⅲ##ⅱⅱ#"ⅱⅱⅲ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ 牋煘潨殬枖拹崐垍{xurokhfc`^[YWVTRQPONNNNMMMMNOPQRRSUVXY[]^`acefhiklmoprstuvwxyzz{||}}~亖亗倐倐們儍儍儍儍剟剟剟剟厖厖厖厗唵唵唶噰垐垐垑墘妸妸妸媼媽寣寣實崕帋帋帍弿弿弿悙悜憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗棙槝槝槝櫃櫃櫃櫃櫃櫃櫄洔灍。ぇ┈俺坊棵剖窝宰谳哚滏玳觎眍镳瘃耨蝌蝌耨痧镱盱腙桤邃汜噢苴儇终右邢瓮趟噬瞧婆拍妹铝亮亮览揽靠靠靠靠靠靠靠揪揪揪揪窘浇窘浇郊技技技换换换汉构构构父阜贩贩抖兜档档荡闯吵吵吵膊膊膊脖北北北鞍鞍鞍┅èЁΕ"牉湚槙拹崐唭|yvrolifc`^\ZXVUSRQPPPOOOOOPQRSTTUWXZ[]^`abdegijklnoprstuuvwxyzz{{||}}~~~~亖亖亖亗倐儍儍儍剟剟剟厖厗唵唵噰噲垐墘墘妸妸媼媼媽寣寣實崓帋帋帋弿弿弿彁悙憫憫憫憭拻拻拻摀摀摀摂敂敂敂敃晻晻晻晻枛枛枛枛枟棗棗棗棙槝槝槝槝槞槝槝櫃櫃櫃殯湠煛¥З撤豢闷释言宗葸徙彗殛祉铒镳耨耱蝌蝰耩痫铑黼觊珂溷忄捃圪刈赵已衔吞耸扇瞧排哪寐铝亮晾览靠靠靠靠揪靠靠揪揪揪揪窘浇骄窘浇浇浇郊技换换换汉构构垢阜贩贩范兜档档档创吵吵吵巢膊膊膊北北北卑鞍┅┆┅èěΕぃ灉殬晸悕妵剙}zwspmjgda_][YWUTSRQQPPPPPPPQRSTUVWXZ[]^`abdfgijklmopqrttuvwxyzz{{||}}~~~~亖亖亖亗倐們儍儍儎剟剟剠厖唵唵唵噰噲垐垐墘墛妸妸媼媽寣寣崓崓帋帋帍弿弿弿悙悙悙悜憫憭拺拻拻摀摀摀摂敂敂敂敃晻晻晻枛枛枛枛枟棗棗棗棙槝槝槝槝槞槝槞櫃櫃櫃櫃櫄殮殭櫄殮殮殮殮殯洓洓洓洓湝洓洓湝湝湝湝湝湝湝湝潩潩潩潩潩潩潩潩灋灋灋灋灋灋灋灋灋灋灋灋灍煙灋灋煙煙煙灍煙煙煙煙煙煙煙煙煙煙煙煙煚牋煙煙煚牋牊煙牋牋牋煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋牎 牋  牋   牎               ⅱぅЗ扯菇滥撬窝宰谲哚沐玷觌祉铒痧耨蝌蝌蝌蝰耩痫铐祀觇珂邈徉掭圳僮衷友邢瓮趟噬热乔婆拍哪哪妹侣侣侣亮亮亮亮晾览览览览靠靠靠烤揪揪揪浇技技技换汉汉汉构父父父贩抖抖抖兜档档创闯吵吵吵膊膊膊脖北鞍鞍鞍隘┅èЕイⅰ煗洏枔悕妵剙}yvsolifca^\ZXVUSRQPPPPOOOPPQRSTUVWXZ[]^`abdfgijklnoprstuuvwxyzz{{|}}~~亖亖亖亗倐倐倐們儍儍儍剟剠厖厖唵唵唶噰噲垐垑墘妸妸媼媼媽寣寣實崓帋帋帋弿弿弿悙悙憫憫憫拻拻拻挀摀摀摀摂敂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗棗槝槜棙槝槝槝槞櫃櫃櫃殯湠牎%И捶豢们饰言宗葸怃骁殛祉铒痧耨耱蝌蝰耩痫铑黼觇珂溷忄捃圪刈赵已衔吞耸扇瞧婆拍寐铝亮晾览靠靠靠烤揪揪揪揪揪揪揪窘浇浇浇郊技技技蓟换换缓汉构构构父贩贩贩抖档档档创吵吵吵膊脖北北卑鞍鞍鞍隘┅┆┅┅┅┅┅è┅┅èèèèèЁèèЁЁЁЁЕΖΗЁΖΖΖΖΖΖΖΖΕゥゥΕゥゥゥゥゥいゥゥいいぅゥいいいいいいいいいいいいぃ#¥い########"ⅱ##"ⅱ##"ⅱ##"ⅱⅲ#"ⅱⅲ#ⅱⅱⅲ#ⅱⅱⅱ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ、ⅱⅱⅰ 牋煙灉洑槚攽弻妵剚~{xuqnkhec`^[YWVTRQPONNNNMMMMNOPQRSTUVXY[\^_abdfgijkmnpqrttuvwxyz{{||}}~亖亖亖倐倐倐倐們儍儍儍儎剟剟剟厖唵唵唵唶噲垐垐垑墘妸妸妺媼寣寣寣崓崓崓帋帋弿弿弿悙悙悙憫憫拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻晼枛枛枛枛枛枛枟棗棗棗棗棙槝槝槝槞櫃槞櫃櫄殮櫃殮殮殮殮殮洓洓洓洓洓洓洓洔湝湝湝湝湝湝湝湝湞潨湝湝潩潩潩潩潩潩潩潪灋灋灋灋灋灋灋灋灍煘灋灋煙煙灋灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牊煙煙煚煙煙煙煙煙煙煙牋牋煙煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋 牋牋 牋牋 牎ⅲうī倒祭们饰言宗苓徙彗桕腱眍镳瘃耱蝌蝌蝌耨痧镱盱腴桤驿汜咿苒谪渍杂研衔吞耸缮惹瞧排哪哪妹侣侣侣铝亮亮亮亮览览览览揽靠靠靠揪揪揪窘浇技技蓟换汉汉汗垢父父阜范抖抖兜档创创创吵吵吵巢膊北北北鞍鞍鞍鞍┅┅┅┅┄ī┅┄èèèèЁЁЁЁЁЁЁЕΖΖΖΖゥゥΖΕゥゥウゥゥゥゥゥゥゥゥゥいいいいいいいいいいいいいいいい############"###########ⅱⅲ#"ⅱⅱ#"ⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ  牊煘潧殬枖拸崐噭亊{xuqnkheb`][YWUTRQPONNMMMMMMMNOPQRSTUWYZ\]^`acefhijlmopqrstuvwxyzz{{|}}~~亖亖亖亗倐倐倐們儍儍儍儎剟剟剠厖唵唵唶噰垐垐垑墘妸妸妸媼媽寣寣實崓崓崓帋帍弿弿彁悙悙悙憫憭拻拻拻摀摀摀摂敂敂敂敂晻晻晻晻枛枛枛枛枛枛枛棗棗棗棗棙槝槝槝槝櫃櫂櫃櫃櫃櫃櫃殮殮殮殮殮洓洑殯洓洓洓洓洓湝洓洓湝湝湝湝湝湝湝湝潩潩潩潩潩潩潩潩潪灋灋潪灋灋灋灋灋灋灋灋灋灋灋灋灍煙煘灋煙煙煘灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牋牊煙牋牋牋煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋牎 牋  牋  牋   、%Θ┇捕辜烂鞘窝宰谲哚沐玷觌祉铒痧耨蝌蝌蝌蝰痧镲铐腙殓驽溻噙蒈谫刂沼已邢瓮趟噬热乔婆哪哪妹寐侣侣侣亮亮亮亮览览览览靠靠靠靠揪揪窘浇郊技技换缓汉汉构垢父贩贩范抖抖兜档创创创闯吵吵吵膊膊膊北北鞍鞍鞍隘┅┆┅┅┅┅┄èèèěЁЖěЁЁЁЁΖΖΖΖΖΖΖΖΕゥウΕゥゥゥゥゥぅゥゥイいぅゥいいいいいいいいぃ¥いいぃ¥いいぃ#¥い#################ⅲ##"ⅱⅲ#ⅱⅱⅱ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ ⅱⅱ             牊煘潨洐槚搼弻墖剚~zwtqmjgdb_]ZXVUSQPONMMMMLLLLMMNOPQRSUVXY[\^_acdfgijkmnpqrstuvwxyyzz{||}}~~~~亖亖倐亗倐倐儍們儍儎剟剟剟厖厖厗唵噰噰垐垐墘墘墘妸媼媼媼寣崓崓崓帋帍弿弿弿悙悙悙悜憫憫憫拻拻搾拻摀摀敂摂敂敃晻晻晻晼枛枛枛枛棖枛枟棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫃殮殮殮殮殮殮殮殮洓洓洓洓洓洓洓洔湝湝湝湝湝湝湝湝潩潩潩潩潩潩潩潩灋灊潩潪灋灋潩潪灋灋灋灋灋灋灋灋灋灋灋灋灍煘灋灋煙煙灋灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牊煙煙牋牋煙牋牋牋牊牋牋牋牊牋牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋。うī倒祭们释言踪苓徙彗桕腱眍镳瘃耱蝌蝌蝰耩镲铐祀殍珏溷徇捃圳刈赵已邢瓮趟噬热乔婆拍哪妹寐侣谅侣亮亮亮亮亮览览览览揽靠靠靠揪揪揪窘郊技技蓟缓汉汉汗垢父父阜范抖抖兜荡创创闯吵吵巢膊北北北卑鞍鞍鞍隘┅èЁΕ"牉湚槙拹崐唭|yvrolifc`^\ZXVUSRQPPPPPOOPPQRSTUVWXZ[]^`abdfgijklnoprstuvvwxyz{{{|}}~~~亖亖亖亗倐倐倐儍儍儍儍剟剟厖厖厗唵唵唶噰垐垐垐墘墛妸妸媼媽寣寣實崓崓崓帋帋帋弿弿悙悙悙悙憫憫憫憭拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛枛棗枛枟棗棗棗棗槝槝槝櫄洕灎ⅲΘ扯壕缕赏性宗苓徙彗殛腠铒镳耨耨蝌耨耩镲铐祀殍驽溻徇蒈谪字杂研瓮趟噬惹婆哪妹铝晾览揽烤揪揪揪浇浇浇浇浇浇浇浇技技技技换换换换汉构构构垢父父贩范抖抖档荡创创闯吵膊膊膊脖北北卑鞍┅┅┅┅è┅┅èěЕゥあ潧櫁攽弻墔|xuqnkheb`][YWVTSQPPOOOOOOOOPQRSTUVWYZ\]_`acefhijkmnoqrstuuvwxyzz{{||}}~~~~亖亖亖亗倐倐倐儍儍剟剟剟厖厖厗唵噰噰噰垐墘墘墘妸媼媼媼寣實崓崓崕帋弿帍弿彁悙悙悙憫憫憫憭拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻晼枛枛枛枟棗棗棗棗槝槝槝槝槞櫃櫃殯潫牏う┈泛韭剖托宰谲哚沐玳觌眍镲瘃耨耨耨耨痫铑盱腴桄邃忉咻苴僮衷友形吞耸扇瞧拍拿侣晾览靠烤揪骄揪浇浇浇浇浇技冀浇郊技技技技换换换换汉汉汉构父父父贩抖抖抖兜荡创创闯巢膊膊膊北北北鞍隘┅┅┅┅┄ī┅┄èèèèèèèěЁЁЁЁΖΖΖΖΕウΖΕゥゥゥゥイぅゥイいいゥイいいいいいいいいいいいい############"ⅲ##ⅱⅱ#"ⅱⅱ#"ⅱⅱⅲⅱⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅰ                       牋牎  牋牎  牋牎  牋牎 牋煙煘潨洑槜晸悗寜唭}zwtpmjgdb_]ZXWUSRPONNMMMMLLMMNOPQRRTUWXZ[]^`aceghiklmoprstuvwxyzz{{||}~~亖亖亖亗倐倐倐們儍儍儍儎剟剟剟厖厗唵唵唶噰垐垐垑墘墘妸妸媼媼媼寣崓崓崓崕帋帋帋弿彁悙悙悙憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敂晻晻晻晻晼枛枛枛枛枛枛枟棗棗棗棗槝槝槝槝槝櫂槝槞櫃櫃櫃櫃殮殮櫃殮殮殮殮洓洓洓洓洓洔湜洓洓湝湝洓湝湝湝湝湝湝湝湝湞潩潩潩潩潩潩潩潩灋灋灊灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煙煙灋灍煙煙灋灍煙煙灋煙煙煙煘煙煙煙煙煙煙煙煙煙煙煙煙煙牋牋煙煚牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牎ⅲウī安豆祭们饰言宗苓徙彗桕腱眍镳瘃耱蝌蝌蝌耨痫镱黼觊珂邃忄咻苴儇终右研衔退噬扇乔婆拍拿妹侣铝亮亮亮览览览览览览览揽靠靠靠烤揪揪窘浇技技蓟换汉汗构垢父贩贩范兜档档荡创吵吵吵膊膊膊北卑鞍鞍鞍隘┅┅┅┅èèīèèèèěЁЁЁЁΖΖΖΖΖΖΖΖΕΖΖΖゥゥゥゥゥゥゥゥいいぅいいいいいぃ¥いぃ########ⅱⅲ##ⅱⅲ##ⅱⅱ#"ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱ 、ⅱⅰ  ⅱⅰ  、ⅰ           牋牎  牋牋 牋牋 牋牋  牋牋煘灊湚櫁晸憦寜噭亊{xtqnkheb`][YWVTRQPONNNMMMMMNOOPQRSTVWYZ\]_`bceghijlmopqrstuvwxyyzz{||}}~~~~亖亖亖亗倐們儌儍儍剟剟剟厖厖厖厗唶噰噰噲垐墘墘墛妸媼媼媼寣寣崓崓崕帋帋帋弿弿弿弿悙悙悙悜憫憭拻拻挀摀摀摀摂敂敂敂敂晻晻晻晻枛枙晼枛枛枛枛棗棗棗棗棙槝槝槝槝櫃櫂槞櫃櫃櫃櫃殮殮殮殮殮洓洑洓洓洓洓洓洔湝湜洓湝湝湝湝湝湝湝湝湞潩潨湞潩潩潩潩潩潩潩潩潪灋灊潩灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煙煘灋煙煙煘灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牋煙煙煚牋牊煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎¥Η┆驳讣棵剖托又佘掎沐骅觌祉铒痧耨蝌蝌蝌耨痧镱铐腙殓驽汊噢蒈谫刂沼倚衔吞耸扇惹破拍妹妹侣铝亮晾览览靠览览靠靠靠靠靠揪揪揪揪浇浇浇技蓟换换汉构构构父贩贩范兜档档荡创吵吵吵膊膊膊脖北鞍鞍鞍隘┅┅┅┅èěЕΕぃ灉殫晵弻墕儉|yurolifc`^\ZXVTSRQPPOOOOOOPPQRSTUVXY[\^_`bcefhiklmnpqrstuvwwxyzz{{||}}~~~~~亖亖亖亗倐倐倐儍儎剟剟剠厖唵唵唵噰噰噲垐墘墘墛妸媼媼媼寣實崓崓崕帋帋帋弿弿悙悙悙憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晻枛枛枛枛枟棗枛棗棗棗棗槝槝槝槞殯潪牏&ǐ逗韭粕托又佘哚沐玳觌眍镲瘃耨耱蝰耨痫铑盱觊珂邈忄咻圳刈赵已衔吞耸汕婆拍妹铝晾览靠烤揪揪揪浇浇浇浇浇浇浇浇浇技技技技换换换汉构构构父阜贩贩范抖档档荡创吵吵巢脖北北北鞍鞍鞍隘┅┅┅┅┅┅┅┄èèèèЁЁЁЁЕΗЁЕΖΖΖΖΖΖΖΕゥゥゥゥいぅゥイいいゥイいいいいぃいいぃ########ⅱⅲ##ⅱⅲ##ⅱⅱ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ  ⅱⅰ       牋牎  牋牋  牋牋 牋牋牋牋牋牋牎牋牋牎牋牋  牋牋 牋牋 牋牋 牋牋牎牋牋煙煘潨洑槚晵悗媺唭}zvspmjgda_\ZXVUSRPONNMMMMLLMMNOPQRRTUWXZ[]^_acefhijlmoprsttuvxxyz{{||}}~~~亖亖倐亗倐們儍儍儍儎剟剟剟厖厖厖唵唶噰噰噲垐墘墘墛妸妺媼媼寣寣寣崓崕帋帋帋弿弿弿弿悙悙悙悙憫憫憫憭拻摀摀摀摂敂敂敂敃晻晻晻晻晻晻晼枛枛枛枛棗棗棗棗槝槝槝櫅湠牎%ǐ逗韭派托又佘哚沐玷觌祛铒痧耨耨耨耩镲铐祀觊珂溷徉掭圪刂赵倚衔趟噬惹婆哪寐铝览靠靠揪窘浇浇浇郊浇浇浇技技技技蓟患技换缓汉汉汉构构构父阜贩贩范兜档档荡闯吵吵巢膊膊脖北鞍鞍鞍隘┆┅┅┅┅┄èèèèЁЕΕぃ煗洐枖憥媹厒~{xtqnkgeb_][YWUTRQPOOOOONNOOPQRSTUVWYZ\]_`acefhijklnopqrstuvwxxyzzz{||}}}}}~~亖亖倐亗倐們儍儍儎剟厖厖厗唵噰噰噲垐墘墘墛妸媼媼媽寣實崓崓帋帋帋帍弿弿弿悙悙憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂敂晹敂晻晻晻晻晼枛枛枛枟棗棗棗棗槝槝槝櫅湠牎%ǐ逗韭粕托宰佘哚沐玳觌眍镲痧耨耨耨耩痫铐祀觊珂溷徉捃圪刂沼倚贤趟噬惹婆哪妹铝览揽靠烤窘浇浇浇技技浇技技技技技蓟患技换缓汉汉汉构构构父贩贩贩范兜档档荡闯吵吵巢膊脖北北鞍鞍鞍鞍┅┅┅┅┅┅┅┄èèèèЁЕΕぃ煗洐枖憥寜唫|yurolifca^\ZXWUTRQQPPPPPPPQQRSTUVWXZ[]^_abceghijkmnoprsttuvwxxyyzz{{||}}}}~~~亖亖倐倐倐儍儍儍儎剟厖厖厗唵噰噰噲垐墘墘墛妸妸妸媼媽寣寣實崓崓崓帋帍弿弿弿悙悙悙悜憫憫憭拻挀摀摀摀摀敁摀敂敂敂敂敃晻晻晻晼枛枛枛枛枟棖枛棗棗棗棗棙槝槝槝槝櫃櫃櫃櫃櫃殭櫃櫄殮殮殮殮殮殮殮殮殯洓殮洓洓洓洓洓湝湝洓湝湝湝湝湝潩潩湝潩潩潩潩潩潩潩潩潩潩潩潩潩潪灊潩潩灋灋潩潪灋灋灋灋灋灋灋灋灍煘灋灋煙煘灋灋煙煘灋灋煙煘灋灋煙煙灋灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牊煙煙牋牋煚、ぅЖ蹈豢闷释杏仲苻徙彐桕腱眍镳瘃耱蝌蝌蝰耩痫铐祀觇珂邈忄掭圳僮衷友邢瓮趟噬惹瞧婆拿寐侣铝览览览揽靠靠靠靠烤揪靠揪揪骄窘浇郊技技技换换缓汉构构垢父贩贩抖抖档档荡创吵吵吵膊脖北北北鞍鞍鞍隘┅┅┅┅┄ī┅èèèèèЁЁЁЁЁЁЁЕΖΖΖΖゥゥゥゥゥゥゥゥいいいいいいいいいいいい##¥#############ⅱⅲ##ⅱⅱ#"ⅱⅱⅲ"ⅱⅱⅱⅱⅱⅱⅱⅱ  ⅱⅰ  、                     牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煙灋潨洑槜晸悗媺唭}zvspmjgda_\ZXVTSQPONMMMLLLLLMMNOPQRSTVWYZ\]_`bdeghijlmopqrstuvwxyyzz{||}}}~~~亖亖亖亖倐倐倐倐儍儍儍儎剟剟厖厖唵唵唶噰垐垐垑墘妸妸妸媼媽寣寣實崓崓崕帋帍弿弿弿悙悙悙憫憫拻憭拻挀摀挀摀摀摀摀敂敂敂敂敃晻晻晻晼枛枛枛枛棗棗棗棗棗棗棗棙槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫃殮殮殮殮殮殮殮殮洓洓洓洓洓洓洓洓洓洓洓洓洔湜洓洔湝湝湝湝湝湝湝湝潩潩湝湞潩潩潩潩潩潩潩潩灋灊潩潩灋灊潩潪灋灋潩潪灋灋潩灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煘灋灋煙煙煘煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牊煙煙牋牊煚、%Ж倒祭们饰言宗苓徙彗桕腱眍镳耨耱蝌蝌蝰耩痫铐祀殍珏溷徇捃谫刂沼倚衔吞耸扇瞧婆拍寐侣亮晾览靠靠靠烤究靠烤揪揪揪揪揪揪揪浇浇技技技换换换汉构构构父阜贩贩抖档档档创闯吵吵巢膊膊脖北鞍鞍鞍隘┅┅┅┅èèèèèèèěЁЁЁЁΖΖΖΖΕウΖゥゥゥゥゥいいいいいいいい#¥いぃ########"ⅲ##ⅱⅱ#"ⅱⅱⅲ"ⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅰ        牋牎 牋牋牎牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋牎牋牋牋牋牋牋牋牋牋牋牋牋牋牊煙灋潨洐槚敀悕媹厒|yvsplifda^\ZXVTSQPONMMMLLLLLLMNOPQRSTVWYZ\]^`bcefhijlmopqrstuvwxxyyz{{||}}}}~~亖亖倎亖倐們儍儍儍剟剟剟厖厗唵唵噰噲垐垐墘墛妸妸媼媽寣寣實崓帋帋帋弿弿弿彁悙悙悙憫憭拻拻拻挀摀摀摀摂敂摂敂敂敂敂晻晻晻晻晼枛枛枛枛枟棗枛棗棗棗棗棙槝槝槝槝槝槝槝槞櫃櫃櫃櫃櫃櫃櫃櫃殮殮殮殮殮殮殮殮洓洓殮洓洓洓洓洓湝湝洓湝湝湝湝湝湝湝湝湝潩潨湝湝潩潩湝湞潩潩潩潩潩潩潩潩灋灋潩灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煘灋灋煙煙灋灋煙煙灋灋煙煙灋灍煙煙煘煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚、ぅЖ倒祭那宋言宗葸徙彗殛腠铑镳耨耱蝌蝌蝰耩镲铐祀殍驽溻徇蒈谫刂沼倚衔吞耸扇乔婆拍妹侣侣亮览览览览靠靠靠靠揪揪揪揪窘骄揪浇郊技技技换换换汉构构构父贩贩范抖档档创创吵巢膊膊北北北卑隘┅┅┅┄èèèèèèЁЕΖイ"灊洏枖憥媹厒{xurnkhec`^\ZXVTSRQPPOOOOOOPQRSTUVWXZ[]^`abdeghjklmnpqrstuvwwxyzz{{||}}}~~~~亖亖倐倐倐們儍儍儎剟剠厖厖唵唶噰噰垐垐垑墘妸妸妸媼媽寣寣實崓崓崓帋帋帋帋弿彁悙悙悙憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敂晻晻晻晻晻枙晻枛枛枛枛枟棗棗棙櫄湠煛%ì坊棵鞘窝肇圯噔滏栝腱眍镳瘃耨耨耨耩镲铐祀觇驽溻徇捃谪渍杂研瓮耸扇瞧拍寐铝晾靠揪揪窘郊技技技技技技技换换技换换换换汉汉构构构父父父贩抖抖抖档创创闯吵膊膊膊北卑鞍鞍鞍┅┅┅┅┅┅┅┅èèèèЁЁЁЁΖゥい"灉殬晸悗媹厑~{wtqmjgdb_][YWUTRQPOOOOONNOOPQRSTUVWYZ\]^`acdfgijklmnpqrsstuvwxxyyzz{|||}}}}~~亖亖亖亖倐倐倐儍儎剟剟剠厗唵唵唶噲垐垐垑墛妸妸媼媽寣寣實崓崕帋帋帍弿弿弿彁悙悙悜憫憫憫憭拻挀搾摀摀摂敁摂敂敂敂敂晻晻晻晻晻枛枙晼枛枛枛枛枟棗棗棛殰潫。Ι锤祭那讼艺刿捺怃骅殡祉铒痧耨耨耨耨痫铑盱腴桄邈忄咻圳刈赵已衔趟噬惹婆拿侣亮揽烤揪窘郊技技技蓟换患技换换换换缓汉汉汉汉构构构垢父父父贩抖抖抖档荡创创吵吵巢膊脖北北北鞍隘┅┅┅┅┅┅┅èèèèěЁЁЁЕΖゥぃⅰ煘湚槚搻帇垍{xurnkhec`^\ZXVTSRQPPOOOOOOPPQRSTUVWYZ\]^`acdfghjklmnpqrsstuvwxxyyzz{{|||}}}~~~亖亖亖亖倐倐儍儍儎剟剟剠厗唵唵噰噲垐垐垑墘妸妸妸媼媽寣寣實崓崓崓崕帋帋帋弿弿悘悙悜憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晻晻晻晻枛枛枛枛枟棗棗槞殰灍。Ι锤祭娜讼艺刿捺怃骅觌祉铒痧耨耨耨耩痫铐祀觊珂溷徉掭圪字杂倚贤淌扇瞧拍寐铝晾烤揪浇浇技蓟技技换换换换换换换换缓汉汉汉汗构构构父父父阜范抖抖抖档创创创吵膊膊膊北北北鞍隘┅┅┅┅┄èèèèèèèЁЁЁЁЕΖΖΖΖゥΖΕゥゥゥゥイいいいいいいいい#いい########"ⅱ##"ⅱⅲ"ⅱⅱⅱⅱⅱ、ⅱⅱ   ⅰ            牋牎 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煙煙煚牋煙煙煚牋牊煙牋牋牊煙牋牋牊煙牋牋牊煙煚牋煙煙煙牋煙煙煙牋煙煙煙煙煙煘灊潨洑櫁枖拸崐垍|yvrolifca^\ZXVTRQPONMMLLLLLLLMNOPQRSTVWYZ\]^`bcefhijlmnpqrstuvwwxyyzz{|||}}}}~~亖亖亖亗倐們儍儍儎剟剟剠厖唵唵唶噰垐垐垑墘妸妸妸媼媽寣寣實崓崓崕帋弿弿弿彁悙悙悙悜憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂敃晻晻晻晻枛晻晼枛枛枛枛枟棗棖枟棗棗棗棗棙槝槝槝槝櫃櫂櫃櫃櫃櫃櫃殮殮殮殮殮殮殮殮殯洓洑殯洓洓洓洓洓洓洓洓洓湝洓洓湝湝湜洔湝湝湝湝湝湝湝湝湞潩潨湞潩潩潩潩潩潩潩潩潩潩潩潩潩灋潩潩灋灋灊潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煙灋灋灍煙灋灋灍煙灋灋灍煙煘灋煙煙煙灍煙煙煘灍煙煙煙煙煙煙煙牎¥Θ┇锤豢缕赏杏仲苻徙彐桕腱眍镳瘃耱蝌蝌蝌耨痫镱盱觊珂邃忄咻圳僮终右邢瓮趟噬惹破拍拿侣铝亮览靠靠靠靠揪究烤揪揪揪揪揪浇骄浇浇技技技换汉汉汉构父父父贩抖抖兜荡创创闯巢膊膊膊北北北鞍鞍┅┅┅┅┄èèèěЁЁЁЁΖЁЁΖΖΖΖΖゥΖΖゥゥゥゥイいゥゥいいいいぃ########ⅱ##"ⅱⅱ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱ、ⅱⅱⅰ  ⅰ     牎  牋  牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊煙牋牋牊煙牋牋牊煙牋牋牊煙牋牋牊煙牋牋牊煙灋潨洑櫁枖拸崐垍|yurolifca^\ZXVTRQPONMMLLLLLLLMNOPQRSTVXY[\^_acdfghjklnoprsstuvwxyyzz{||}}~~~~亖亖亖亖倐倐倐倐儍儍儍儎剟厖厖厗唵噰噰噲垐墘墘墛妸妸妺媼寣寣寣實崓崕崕帋帍弿弿弿悙悙悙悙憫憫憫憫拻拻拻拻摀摀摀摀摂敂摀敂敂敂敂敃晻晻晻晼枛枛枛枛棗棗棗棗棙槜棗槝槝槝槝槝櫃櫃櫃櫃櫃櫃櫃殮殮殮殮殮殯洓殮洓洓洓洓洓洓洓洓洓洓洓洓洓湝湝洓湝湝湝湝湝湝湝湝湝潩潨湝湞潩潩潩潩潪灊潩潪灋灋灊灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煙煙灋灍煙煙灋灍煙煘灋灋煙煙灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚煙煙煙牋牊牎ⅲェí驳辜烂鞘窝宰谲哚沐玷觌祉铒瘃耨蝌蝌蝌蝰耩镲铐祀殍驽溻徇蒈谫刂沼倚衔吞耸扇瞧婆哪寐侣亮晾揽靠靠靠揪揪揪揪揪揪揪窘浇浇浇郊技技技换缓汉汉汗垢父父贩抖抖兜档创创闯吵膊膊膊北卑鞍鞍鞍┅┅┅┅èèèèЁЁЁЁЕΖイ"灊洏枖憥寜唫|yurolhfc`^\ZXVTSRQPPOOOOOOPPQRSTUWXZ[]^_abdeghjklmnpqrsttuvwxyyzz{{||}}}}}~~~亖亖亖倐們儍儍儍剟剠厖厖唵噰噰噰垐垑墘墘妸妸妸媼媽寣寣實崓崕帋帋帍弿弿弿悙悙悙悜憫憭憫拻拻挀拻摀摀摂摀摂敂敂敂敃晻晻晻晻枛枛枛枛棗棗棗棗棗槝槝櫄湠煛%ǐ逗韭剖脱宰谳哚溴玳觎眍镲瘃耨耨耨耩痫铐祀觊珏溻徇捃谪渍杂研瓮耸扇瞧拍寐铝晾靠揪窘浇技技技技换换换换换夯换换汉汉汉汉汗构构构垢父父阜范抖抖兜档创创闯吵膊膊膊北鞍鞍鞍隘┅┆┅┅è┅┅èèèèěЁЁЁЁΖΗΖΖゥい"煗洐棔拹崐噭亇zwspmjgda_\ZXWUSRQPOOOONNOOPQRSSTVWXZ[]^`acdfgijklnopqsstuvwxyyzz{{||}}~~~~亖亖亖亗倐倐倐儍儍剟剟剟剠厖厖唵唶噰噰噲垐墘墘墛妸媼媼媼寣寣實崓崕帋帋帋弿弿弿悙悙憫悙憫憫憫憫憭拻拻拻挀摀摀摀摂敂敃敂晻晻晻晻晼枛枛枛枛棗棗棗棗棙槝槝櫅湠牏う┈俺坊棵剖窝宰谳哜滏玳觎眍镳瘃耨耨蝰耨痫铑盱腴桄邈忄咻圪刂赵已衔趟噬惹婆拿侣亮揽烤揪揪浇技技技蓟换患蓟换换换换缓汉汉汉汉构构构父父阜贩范抖抖档荡创创闯吵膊膊膊北北北鞍隘┅┅┅┅┅┅┅èèèèЁЁЁЁЁΖЁЁΖΕイぃ煗湚棔拹崐噭亇zwspmjgda_\ZXWUSRQPOOOONNOOPQRSTUVWXZ\]^`abdfgijklmopqsstuvwxyzz{{{|}}}~~~~~亐亖亖亗倐倐們儍儍儎剟厖厖厗唶噰噰噲垑墘墘墛妺媼媼媽寣崓崓崓帋帋帋弿彁悙悙悙悜憫憫憫憭拻拻拻摀摀摀摂敂敂敂敂晻晻晻晻枛枛枛枛枟棗棗棗棗槝槝槝槝槝槞殯潫牏う┈俺坊棵剖窝宰谳哜滏玳觎眍镳瘃耨耱蝰耨痫铑盱腴桄邈忄咻圪刂赵已衔趟噬惹婆拿侣亮揽烤揪揪浇技冀郊技技技技技技技技换换换换汉汉构构垢父父阜贩抖抖抖档创创创吵膊膊膊北鞍鞍鞍隘┅┅┅┄èèèèЁЖЁЁЁЁЁΖΕイ#煗湚棔搻崐噭亊{wtqnjgeb_][YWUTSQQPPPPPPPPQRSTUVWXZ\]_`abdegijklnopqstuuvwxyzz{{||}}~~~~~亖亖亖亗倐們儍儍儎剟剟剠厖唵唵唶噰垐垐垑墘妸妸妺媼媽寣寣崓崕帋帋弿弿弿彁悙憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛枛枛枟棗棗棗棗槝槝槝槝槞櫃櫃殰潫。ェ按讣棵撬窝肇谳哜滏栝腱眍镳瘃耨耱蝰耨痫铐祀觊珂溷徉掭圪字沼倚贤趟噬惹拍妹侣亮揽烤揪揪浇浇浇郊技技技技技患技技换换换换汉汉汉汗构父父父贩贩范抖档荡创创吵巢膊膊脖北北卑鞍鞍鞍隘┅┅┅┅┄èèèěЁЁЁЕΖΖΖΖΖΖΖゥゥゥゥゥゥゥゥいいいいいいいいぃ#いい##いい##¥ぃ####"ⅱⅱⅱⅱⅱⅱⅱⅰ ⅱⅱ  ⅱⅱⅰ ⅱⅱ                        牋  牋牋牋牋牋牋牋牋牋牋牋牋牊煚牋牋牊煙牋牋牊煙牋牋牊煙牋牋牊煙牋牋牊煙牋牋牊煙牋牋牊煙灋潨洑櫁晸憦崐噮|xurolifc`^\YWVTRQPONMMMMLLLMNNOPQRSUVXZ[]^`aceghiklmoprstuvwxyzz{{||}~~亖亖亖亗倐倐倐儍儍儍儍剟剟厖厖厗唵唵唶噲垐垐墘墛妸妸媼媽寣寣寣崓崕帋帋帍弿弿彁悙憫憫憫憭拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃殮殭櫃殮殮殮殮殮殯洑殯洓洓洓洓湝湝湝湝湞潩潩湞潩潩潩潩潩灋灊潪灋灋灋灋灋煙灋灋灍煙煘灋灍煙煘灋煙煙煙煙煙煙煙煙煙煙煙煙煚牋牋煚牋牋牋牋牋牋牋牋牎 牋                     ⅱ  、ⅱ  、ⅱ       ⅱⅰ ⅱⅱⅱ ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲウí捶壕僚人弦肇谳哚溴玳觌眍铒瘃耨蝌蝌蝌蝰痧镱铐腙桤驿汊噢蒇谪字杂研衔吞耸扇乔破拍拿妹寐侣亮亮亮晾览览览览览览览览靠靠靠烤揪揪窘浇技技蓟换汉汉构垢父贩贩范兜档档荡创创闯吵膊膊膊脖北北北鞍隘┅┅┅┄èèèèЁЁЁЁЁЁЁЕΖΖΖΖΖΖΖΖゥウΖゥゥゥゥゥいいゥいいいいいいいいい#¥い#############ⅱ###ⅱⅲ#"ⅱⅲ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅱ ⅱⅱⅱ 、ⅱⅰ                   牋   牋  牋牎 牋煙灋潨殭棖攽弽妵厒{xurolifc`^[YWUTRQPONNMMMMMMMNOPQRSTVWY[\^_abdfhijlmnpqstuvwxyz{{||}~~亖亗倐倐倐儍儍儍儎剟剟剟厖厗唵唵唶噰垐垐垑墘妸妸妺媼寣寣實崓帋帋帋弿弿弿悙悜憫憫憫拻拻拻挀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗槝槝槝槝槝櫃櫃櫃櫃櫃殭櫃櫄殮殮殮殯洓洓洓洓洔湝洓湝湝湝湝湝潩潩潩潩潪灋潩灋灋灋灋灋灍煘灋灍煙煙煘煙煙煙煙煙煙煙煙煙煚牋煙煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋牎牋牎        ⅱⅱ 、ⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ"ⅱⅱ##ⅱⅲ##"###ⅱⅲ##ⅱⅲ###ぅЖ泊坊玖湃滔艺刳葸徜彗殛腱铑镳耨耱蝌蝌蝌耨痧镱盱腙桤驽汊噢蒈谫刂沼已邢瓮耸噬热瞧婆拍哪拿寐侣侣侣铝亮侣铝亮亮亮亮览览览揽烤窘郊缓阜党碑Γ牆櫀拵媷儉|yuroligeca_]\[[[ZZZZZ[\]^_`abcefhiklmoprsuvwxyz{}}~亗儍剟剠厗唶噰噰噲垐垐垐墘墘墘墘墛妸妸妸媼媼媼媽寣崓崓崓帋帋帋弿彁悙悙悜憫憭拻拻挀摀摀摂敂敃晻晻晻枛枛枛枛棗棖枟棗棙棗棙槝槝槝槝櫃櫃櫃櫃櫄殮殮殮殯洓洓洓洓洓洓洓湝湝湝湝湞潩潨潪煛¥Θ逗玖湃滔又氽捺怃骅殡祉铒痧耨蝌蝌蝌蝰痧镱盱腴桄邃忉咻苴儇终右邢瓮趟噬惹破排拿寐侣铝晾览览览揽靠坷览揽靠靠靠靠靠靠靠揪揪揪浇郊技技换缓汉汉构垢父阜贩范抖抖档荡创创创吵膊膊膊脖北北北卑鞍鞍鞍隘┅┅┅┅┅┅┅┄èèèèèèèЁЁЁЁЁЁЁЁЁΗЁЁЕΖΖΖΖΖΖΖΖウΖΖΕゥウΖゥゥゥゥゥいぅゥイいいいいいいいいいいいいいいいぃ#いいぃ#¥い########################"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ ⅱⅱⅰ ⅱⅱⅰ ⅱⅱⅰ ⅱⅱⅱ、ⅱⅱⅱ、ⅱⅱⅱ、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ#ⅱⅱⅱ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ ⅱⅱⅰ 、ⅱⅰ 、ⅱⅰ ⅱⅱⅰ ⅱⅱⅰ ⅱⅱⅰ ⅱⅱⅰ ⅱⅱⅱ、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲⅱⅱⅲ#"ⅱ#####¥##いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいぃ#¥い###い###い###########い###い###い##¥いぃ#¥い###い##¥いぃ#いいぃ#¥いぃ#¥いぃ#¥いぃ##い###い##ⅱ煘潧殬枖憦寜唭}zvspmjgda^\ZXVTSQPOONNNNMMNNOPQRRSTVXY[\^_abdfhiklmoprsuvwxyz{|}}~~亖倐倐儍儎剟剟剠厖厖厖唵唵唵唵噰噰垐垐垐墘墘墛妸媼媼媼寣實崓崓崕帋弿弿弿悙悙悙悜憫憫憭拻挀摀摀摀敂敂敂敃晻晻晻晼枛枛枛棗棗棗棗槝槝櫂槝櫃櫃櫃櫃櫄殮殮殮殮殯洑殮殯洓洓洓洓洔湝洓湝湝湝湝湝潩潩湝潩潩潩潩潩灋灋灊灋灋灋灋灋灍煙灋灍煙煙煙煙煚牊煙煚牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牎       、ⅰ 、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ##ⅱⅲ##ⅱ###"#########################################¥###いぃ##いぃ##いぃ#¥いい#¥いい#¥いい#¥いい#¥いい##いぃ##いい#¥いい#¥いい#いいいぃいいい#¥いい#¥いい#¥いい#¥いい#いいいいいいいいいいいいいいいいいいいぃいいいぃいいい#¥いい#¥いい#¥いいぃいいいぃいいいぃいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいぃいいいぃいいい#¥いい#¥いいぃいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいぃいいい#いいい#¥いい#¥いい#いいいぃいいいいいいいいいいいいいいいいいいいいぅゥゥウΖЁЁЁèèèЁЕΖイ#ⅰ煘潨洓殭槜枙晹敁搾憫悙悙弿弾帋弿弾帋弿弿悙悙悜憫拻拻挀摀敂敂敃晼枛枛棗棙槝槝槝櫃櫃櫃櫃殮殮殮殮殮殮殮殯洓洓洓洓洓湜洓洔湝湝湝湝湝湝湝湞潩潩潩潩潪灊潩潪灋灋灋灋灋灋灋灍煙煙煙煙煙煙煙煙煙煙煙煙牋牋煙牋牋牋牋牋牋牋牋牋牎牋牎        ⅱⅰ  ⅱⅱ 、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ##ⅱⅲ##ⅱ#######ⅱⅲ##ⅱ#################¥ぃ##いい#¥いい#¥いい##いぃ##いぃ##いい##いい#¥いい#¥いい##いぃ##いい#¥いい#¥いい#¥いい#いいい#¥いい#¥いい#いいいいいいいいいいいぃいいい#いいい#いいい#いいいいいいいいいいいぃいいい#いいいいいいいいウЗ俺豆嚼们释杏仲坜噔滏玳觎眍镲瘃耱蝌篌篌篌篌篌篌蝌蝰耨痫镱眄祀觊桤驽邃汊噙咿蒈苒儋刈字终杂佑乙蜒行邢舷衔瓮屯屯吞趟怂怂耸噬缮缮热乔乔乔破排排拍哪妹妹侣铝晾览览靠揪揪窘浇技技技换缓汉汉汗构父父父贩贩贩抖档档档档创创创闯吵吵吵膊膊膊膊脖北北北鞍鞍鞍鞍┅┅┅┅èè┅┄èèèèèèèèěèèěЁЁЖЁЁЁЁЁЕΗЁЕΖΖΖΖΖΖΖΖΖΖΖΖΕΖΖΖゥゥΖΕゥゥウゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥイぅゥゥいいゥイいいゥイいいぅいいいいいぃ#ⅱ煘湚槚攽弻墕儉}yvsolifca^\ZXVTSQPOONNNMMMMNNOPQRSTVWY[\^_abdfhiklmoprstuvwxz{||}}~亖亗倐儍儍儍剟剟剟剟厖厖厖厖唵唶噰噰噰垐垐垐墘妸妸妸媼媽寣寣崓崕帋帋帍弿悙悙悙憫憫憫拻挀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗槝槝槝槝槞櫃槝櫃櫃櫃櫃櫄殮殮殮殮洓洓洓洓洓洓洓洔湝湝湝湝湝湝湝湞潩潩潨潩潩潩潩潩灋灋灋灋灋灋灋灍煙煙煘煙煙煙煙煙煙煙煙煙牋牋煙煚牋牋煙牋牋牋牋牋牋牋牋牋牎牋牋牋 牋牎  牋             、ⅰ 、ⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ"ⅱⅱ##ⅱⅱ#"ⅱⅲ##ⅱⅲ##"############ぅЖ泊坊玖湃讼艺刳葸徙彗殛腱眍镳耨耱蝌蝌蝌耨痧镱盱腴桤驽汊噙捃圳僮衷右研衔吞怂适扇乔破破排哪哪哪哪妹妹妹妹妹妹妹寐侣侣侣铝亮亮晾览靠靠靠揪浇浇浇技换换缓汉构垢父阜范抖抖兜档档档创闯吵吵吵膊膊膊膊北北北北鞍鞍鞍鞍┅┅┅┅┅┅┄┅┅┅èèèèèèèèЁЁЁЁЁЁЁЁЕΗЁЕΖΖΖΖΕウΖΕゥゥゥゥゥゥゥゥゥゥゥゥいぅゥゥいぅゥゥいぅゥゥいぅゥゥいぅゥゥいぅゥイいいぅイいいぅいいいいいいいいいいいいい##いぃ##¥##############ⅱⅰ牊灊洐棔搼帇垍|yurolifc`^[YWUTRQPONNNMMMMMNNOPQRSTVWY[\^_`bdfgijkmnpqrtuvwxyz{{||}~~亖亗倐倐們儍儎剝儎剟剠厖厖厗唵唵唵噰噰噲垐墘墛妸妸媼寣寣寣崓崕帋帋帍弿弿彁悙悜憫憫憭拻拻拻挀摀摀摀摂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫃殮殭櫄殮殮殮殮殯洓洓洓洓洔洓洓湝湝湝湝湝潩湝湝潩潩潩潩潩潩潩潩潪灋灋灋灋灋灋灋灋灋灋灋灍煙煘灍煙煙煙煙煙煙煙煙煚牋牊煙牋牋牊煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎       、ⅱⅰ ⅱⅱⅰ、ⅱⅱⅰ ⅱⅱⅰ ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ"ⅱⅱⅱⅱⅱ#ウí捶壕僚人弦肇谳哚沐玳觌祛铒瘃耨蝌蝌蝌蝰耨痫镱黼觊桤驿汜噢蒈圪刂沼已邢瓮趟适缮惹破破排拍哪哪哪妹妹妹妹寐侣侣侣铝亮亮亮晾览览览靠烤揪揪窘浇郊技蓟换缓汉汗构父父贩范抖抖档档档创闯吵吵吵巢膊膊膊北北北北鞍鞍鞍鞍èДあ湚棔拸寜厒{xuqnkheb`^\ZXWUTSRRQQQQQQRSTUVVWYZ\]_`acdfgijlmnoprstuvwwxyz{|||}}~亖亗倐倐們儍儍儍儎剟剟剟厖厖厖唵唶噰噰噲垐墘墘墘妸媼媼媼寣實崓崓帋帋帋帍弿悙悙悙悜憫憫憭拻挀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛棗棗棗棗槝槝槝槝櫃櫂槞櫃櫃櫃櫃殮殮殮殯潪牏%И锤伎们饰言宗葸怃骁殛祉铒痧耨耱蝌蝰耩痫铑盱觊珂邈忄咻圳僮衷友邢瓮趟扇乔婆拍妹侣亮亮览靠靠靠靠靠靠靠烤揪究烤揪揪揪揪浇浇浇浇技技技蓟换汉汉汉构父父父贩抖抖抖档档档创闯吵吵巢膊北北北卑鞍鞍鞍隘┅┅┅┅┅┅è┅┄èèèèěЁЁЁЁΖЁЁΖΖΖΖΖΖΖΖΖΖΖΖΕゥΖΖゥゥゥゥゥゥゥゥゥゥゥゥゥぅゥゥイいぅゥいいぅゥいいいいいいいいいいいいぃ#######################################"ⅲ##"ⅲ##"ⅱ 牋煗湚櫁敀悕妵剚~{xtqnkheb_][YWUSRPONNMMMMLLLMNOPQRSTUWXZ[]^`acefhiklmoprstuvwxyzz{{|}}~亖亖亖倐倐倐倐儍儍剟儎剟厖厖厖厗唵噰噰噰垐垐垑墘妸妺媼媼寣實崓崓帋帋帍弿彁悙悙悜憫憫憭拻挀摀摀摀摂敂摀敂敃晻敃晻晼枛枛枛枟棗枛棗棗棗棗棙槝槝槝槝槞櫃槝櫃櫃櫃櫃櫃櫄殮櫄殮殮洑殮洓洓洓洓洔湝湝湝湝湝湝湝湝潩潩潩潩潩潩潩潩灋灋灋灋灋灋灋灋煙煘灋灋煙煙灋煙煙煙煙煙煙煙煙煙煙煙煙煙牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋 牋牋  牋牎  牋牎        ⅱⅱ 、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ%Θ┇贝泛搅娜宋言宗葸徙彗桕腱眍镳瘃耱蝌蝌蝌耨痧镱盱腙桤驽汊噙蒈圪刂赵已邢瓮趟适缮惹破婆排拍拿妹妹妹侣侣侣侣铝谅侣亮亮亮亮览揽靠靠烤揪揪窘浇技技蓟换汉汉汗构父阜贩范抖兜档档创创创吵巢膊膊膊北北北北鞍鞍鞍鞍┅┅┆┅┅┅┅┅èèèèěèèěЁЁЁЁЕΖЁΖΖΖΖΖΖΖΖΖゥゥΖΕゥゥゥゥゥゥゥゥイゥゥゥいいゥゥいぅゥゥいぅゥイいいいいいいいい#¥いぃ############################"###ⅱⅲ##ⅱⅱ#"ⅱⅱⅲⅱⅱⅱⅲ"ⅱⅰ煘潨殭棔拹崐垍倊{xuqnkheb`][YWUSRQONNNMMMMMMMNOPQRSTUWYZ\]^`bceghjklnoqrstuvwxyz{{|}}~亖亗倐倐們儍儍儍儎剟剟剟剠厖厖厖唵唶噰噰噲垑墘墘墛妺媼媼媽實崓崓崕帋帋帋弿彁悙悙悙憫憫憫憭拻拻拻摀摀敁摀敂敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗棙槝槝槝槝櫃櫃櫃櫃櫄殮殮洔灎ⅲェ按富棵鞘窝宰谳哜滏玳觎眍镳瘃耨耱蝌耨痧镱铐腙桤驿汊噢苒儇渍砸严瓮趟噬惹婆拍拿铝亮亮览靠靠靠靠靠靠靠靠揪揪揪揪揪揪揪窘浇浇郊技换换换汉构构构父阜贩贩范兜档档荡创创闯吵膊膊膊膊北北北卑鞍鞍┅┄ěΕあ潧槚搻崐噧}yvsolifc`^\ZXVUSRQPPPPPOOPPQRSTUVWXZ[]^`abdfgijklnoprstuuvwxyzz{{||}}~~~~亖亖倐倐倐儍儍儍儎剟剟剠厖唵唵唵噰噲垐垐墘墛妸妸妺媼寣寣實崓帋帋帋弿弿弿悙悜憫憫憭拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗棙槝槝槝槝櫃櫃櫃櫃櫄殮櫃殮殮殮殮殯洓洓洓洓洔湜洓洔湝湝湝湝湝湝湝湞潩潩潩潩潩灊潩潪灋灋灋灋灋灋灋灋灋灋灋灋灍煘灋灋灍煘灋灍煙煙煙煙煙煙煙煙牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋 牋牋  牋牎               ⅱⅰ  ⅱⅰ 、ⅱⅱⅱ¥Θ┇贝泛搅娜宋言宗葸徙彗桕腱眍镳耨耱蝌蝌蝌耨痫镱盱觊桤邃汜咿苒谫字杂已邢瓮耸噬扇乔婆排哪拿寐侣侣侣亮亮侣亮亮亮亮亮览览览览靠靠靠揪窘浇浇郊蓟换换缓汗构构垢阜贩贩范兜档档荡创创闯吵巢膊膊膊北北北卑鞍鞍鞍┅┅┅┅┅┅┅┅èèèèèèèěЁЁЁЁΖΖΗΖΖΖΖΖΕウΖΕゥゥΖΕゥゥゥゥゥゥゥゥイゥゥゥいぅゥイいいゥイいいいいいいいいいいいいいいいい#¥いい##いぃ################"###ⅱⅲ##ⅱⅲ##ⅱⅲ##ⅱⅲ#"ⅱⅱ#"ⅱⅱⅲⅱⅱ 牋煘潧殬枖拸崐噭亊{xtqnkheb`][YWUTRQOONNMMMMLMMNOPQQRTUWXZ[]^`acefhiklmoprstuvwxyzz{{|}}~亖亖亖倐們儍儍儍儎剟剟剟厖厖厖厗唵噰噰噰垐垐垑墘妸妸媼媼寣寣寣崓崕帋帋帍弿弿弿悙悜憫憫憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗棗槝槝槝槝槝槝槝槞櫃櫃櫃櫃殮殮櫄殮殮殮殮殯洓洓洓洔湝湝湝湝湞潨湝湞潩潩湝湞潩潩潩潩潪灊潩潪灋灋潩灋灋灋灋灋灋灋灋灋煙煘灋灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牋牋煙煚牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋牋牎牋牋 牋牋  牋                 ⅱⅰ 、ⅱⅱⅱ¥Η┆俺豆嚼那宋言宗苓徙彗桕腱眍镳瘃耱蝌蝌蝌耨痧镱盱腴桤驿汜咿蒇谫字杂已邢瓮怂噬扇乔婆排拍拿妹妹寐侣铝谅侣铝亮亮亮亮览览览览靠靠靠揪浇浇浇郊蓟换换汉构构垢父贩贩贩抖档档档荡闯吵吵吵膊膊膊北卑鞍鞍鞍隘┅┄ěΕあ潧槚搻崐噭亇zwspmjgda_][YWVTSRQQQPPPPQQRSTUVWXZ[]^`abdegijlmnoprstuvwwxyz{||}}~~亖亗倐倐倐儍儌儍儍儎剟剟剠厖厖厖唵唵唵噰噲垐垐垑墘妸妸妺媼寣寣實崓帋帋帋弿弿弿彁悙憫憫憫憭拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻晼枛枛枛枛棗棖枟棗棙槜棙槝槞槝槞櫃櫃櫃殯湠牎%И锤豢们饰言宗葸怃骁殛祉铒痧耨耱蝌蝰耩痫铐祀觇珏溷徉捃圪刂赵倚衔吞耸扇瞧排哪寐铝亮晾览靠靠靠靠靠靠靠烤揪揪揪揪浇浇浇郊技技技蓟换换汉汗构构父阜贩贩抖兜档档荡创吵吵吵巢膊膊膊北北北卑鞍┅┅┅┅┄èè┄èèèèЁЁЁЁЕΖΖΖΖΖΖΖΕゥウΖゥゥウΖゥゥゥゥゥゥゥゥイいゥゥいいいいいいいいぃ#¥い################################"ⅱ##"ⅱⅲ#ⅱⅱⅲ#ⅱⅱⅱ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 煙灊洑槚敀弽妵剚~{xtqnkheb`][YWUSRQONNMMMMLLMMNOPQQRSUVXZ[\^_acefhijkmnpqrstuvwxyz{{||}~~~亖亖亖倐倐倐們儍儍儍儍剟剟剟剠厖唵唵唵噰噲垐垐墘墛妸妸媼寣寣寣崓崕帋帋帍弿弿弿悙悜憪憫憭拻拻拻挀摀摀摀敂敂敂敂晻晻晻晼枛枛枛枟棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃櫃櫃櫃櫄殮殮殮殮殯殮殯洓洓洓洓湝湝湝湝湝湝湝湝湝潩湝湝潩潩潩湞潩潩潩潩潩灋潩潩灋灋灋灋灋灋灋灋灋灋灋灋灍煙煘灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牋牊煙牋牋牊煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋牎 牋牋牎 牋牋牎 牎           、ぅЖ扯菇滥撬窝宰谲哚沐玷觌祉铒痧耨蝌蝌蝌蝰痧镲铐礻殍驽溻徇蒈圪刈沼已邢瓮趟噬热乔婆哪哪妹侣铝亮亮亮览亮亮览览览览览览览览靠靠靠烤窘浇浇郊蓟换换汉汗构垢父阜贩范抖兜档档荡创吵吵吵膊膊膊北卑鞍鞍鞍隘┅┆┅┅┅┅┅èèèèèЁèèЁЁЁЁЕΖΖΖΖΖΖΖΕゥゥΕゥゥゥゥゥゥゥゥゥぅゥゥイいゥゥいいいイいいいいい#いいぃ################################ⅲ##"ⅱ##"ⅱ##"ⅱ##ⅱⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱ、ⅱⅱⅱ、ⅱⅱⅰ 牋煘灉洑槚攽弻妵剚~{wtqnjgeb_][XWUSRPONNMMMMLLLMNOOPQRSUVXZ[\^_acefhijlmopqsttuwxyyz{{||}~~亖亖亖亗倐倐倐儍儍儍儍剟剟剟厖厗唵唵唶噲垐垐垑墛妸妸妺媼寣寣寣崓崕帋帋弿弿弿悙悙憫憫憫憭拻拻拻摀摀摀摂敂敂敂敂晻晻晻晻枛枛枛枛枟棗棗棗棗槝槜棙槝槝槝槝槞櫃櫃櫃櫃櫃櫃櫃殮殮殮殮殮殯殮殮洓洓洓洓洔湝湜洔湝湝湝湝湝潩湝湝潩潩潩潩潩灋潩潩灋灋灊潩灋灋灋灋灋灋灋灋灋煙灋灋灍煙煘灍煙煙煙煙煙煙煙煙煚牋煙煙牋牋牊煙牋牋牋煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎 牋  牋  牋  牋牋牎 牋   牋  牋牎 牋牋牎 牋、¥Θ┇驳辜烂鞘脱宰佘哚沐玷觌祉铒痧耨蝌蝌蝌蝰耩痫铐祀殍珂溷徉掭圳僮衷右研衔趟噬扇惹婆拍哪哪妹侣侣侣铝亮亮亮亮览懒晾览览览揽靠揪揪揪窘浇浇技蓟换换汉汗构父父阜贩范抖兜档档创闯吵吵吵膊膊膊北卑鞍鞍鞍隘┅èЕイⅰ煗洏枔悕妵剙}zvsplifda_\ZYWUTSRQQPPPPPPQRSTUVWXZ[]^`abdeghjklmopqrstuvwxyyz{{||}}~亖亖亖倐倐倐倐儍儍儍儍剟剟厖厖厖唵唵唵唶噰垐垐垑墘妸妸妺媼寣寣寣崓崓崓帋帍弿弿弿悙悙悙悜憫拻憭拻挀摀摀摀摂敂敂敂敂晹敂晻晻晻晻枛枛枛枛枟棗棗棗棗槝槝槝槝槝櫂槞殯潫、う┈坊韭剖脱宰谲哚沐玳觎眍镲瘃耨耱蝌耨痫镱盱腴桄邃忉咿苴僮终右邢吞趟扇瞧排哪寐铝亮览揽靠靠靠揪揪揪揪揪浇浇浇浇浇浇浇郊技技蓟换汉汉汉汗垢父父阜范抖抖兜档创创创吵吵吵巢膊北北北鞍鞍鞍鞍┅┅┅┅èèèèèèèěЁЁЁЁΖΖЁΖΖΖΖΖΕウΖΖゥゥΖゥゥゥゥゥイゥゥゥいいぅいいいいいいいいいいいいい##¥#############ⅱⅲ##ⅱⅱ#"ⅱⅱ#"ⅱⅱ#"ⅱⅱⅲ"ⅱⅱⅱⅱⅱⅱⅲ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ  ⅱⅱ 、ⅱⅱ 牊煘湜櫂枖憦寠噭亊zwtqnjgeb_][XWUSRPONNMMMMLLLMNOOPQRSUVXY[\^_acdfgijkmnpqrstuvwxyzz{{|}}~~~亖亖亖倐倎倐倐們儌儍儍剟剟剟厖厖厖唵唶噰噰垐垑墘墘妸妺媼媽寣實崓崓崕帋弿弿弿彁悙悙悜憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晻枛枛枛枛枛枛枛棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃殮櫃櫃殮殮殮殮殮洓洑殯洓洓洓洓湝湝湝湝湝湝湝湝湝湝湝湝湞潩潨湝潩潩潩潩潩潩潩潩灋灋灋灋灋灋灋灋灋煘灋灋灋煙灋灋灍煙灋灋灍煙煘灋煙煙煙灍煙煙煙煙煙煙煙煙煚牋牊煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牎¥Η┇驳讣棵剖托宰佘掎沐玷觌祉铒痧耨耱蝌蝌耨痧镱盱腙桤驽汊噢蒇谫字杂研衔吞耸扇惹瞧排哪拿妹侣铝亮亮亮懒亮亮晾览览览览览览揽靠揪揪揪浇郊技技换缓汉汉构父父阜范抖抖兜档创创创吵吵吵膊膊北北北卑鞍鞍鞍┅┄ěΖィ灉殬晵悕妴儉}yvrolifc`^\ZXVUSRQPPPPOOOPPQRSTUVWYZ\]_`acdfgijkmnoprstuuvwxyzz{{||}~~~亖亖亖倐倐倐們儍儍儍剟剟厖厖厖唵唵唶噰垐垐垑墘妸妸妸媼媽寣寣寣崓崓崓崕帋弿弿弿悙悙悙悜憫憫憫拻挀摀摀摀敂敂敂敂敃晻晻晻晻枙晻枛枛枛枛枟棗棗棗棗棙槝棙槝槞櫃櫃殯潫牏う┈泛韭剖托宰谲哚沐玳觌眍镲瘃耨耱蝌耨痫镱盱腴桤邃忉咿苴僮终友邢吞耸扇瞧排拿寐亮览览靠揪揪揪揪浇浇揪窘浇浇浇浇郊冀浇技蓟换换换汉汉汉构垢父父贩范抖抖兜荡创创闯巢膊膊脖北北北鞍隘┅┅┅┅┄┅┅┄èèèèěЖèЁЁЁЁЁΖΖΖΖΖΖΖΖゥゥΖΕゥゥゥゥゥゥゥゥイゥゥゥいいぅいいいいいぃ¥いぃ########"###ⅱⅲ##ⅱⅱ#"ⅱⅱ#"ⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅱ  、         牋煙灊湜櫁晸憦寠噭亊zwtqnjgeb_][YWUSRQONNMMMMMLMMNOOPQRSUVXY[\]_abdfgijkmnoqrstuvwxyyzz{||}~~~~亖亖亖亗倐倐倐們儍儍儍剟剠厖厖厗唵噰噰噰垐墘墘墛妺媼媼媽寣崓崓崓帋帋帋帍弿悙悙悙悜憫憫憫拻拻拻挀摀摀摀摂敂敂敂敂晻晻晻晻枛枛枛枛枟棗棗棗棗槝槝槝槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫃殮殮殮殮殮洓洑殯洓洓洓洓洔湝湝湝湝湝湝湝湝潩湝湝潩潩潨湞潩潩潩潩潩潩潩潩潪灋灊潪灋灋灋灋灋灋灋灋灋煙灋灋灍煙灋灋灍煙灋灋煙煙煘灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牋煙煙牋牋牊煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎¥Θ┇驳辜烂鞘窝宰谲哚沐玷觌祉铒痧耨蝌蝌蝌蝰痧镲铐礻殍珏溻徇蒈圪刈沼已邢瓮趟噬热乔婆哪拿妹侣亮亮亮览览览览揽靠靠靠烤揪揪揪揪浇浇浇郊技技蓟缓汉汉汗垢父父贩范抖抖档荡创创闯吵膊膊膊脖北北北鞍鞍鞍鞍┅┅┅┅┅┅┅èèèèěЁЁЁЁΖЁЕΖΖΖΖΕゥゥΕゥゥゥゥゥいゥゥイいぅイいいいいいいいいい#いいぃ#いい##¥い#########ⅲ##"ⅱ##"ⅱ##"ⅱ##ⅱⅱⅱ#ⅱⅱⅱ"ⅱⅱⅱⅱⅱⅱⅱⅱⅰ ⅱⅱⅰ 、ⅰ   ⅱ  ⅱⅱⅱⅱⅱⅱⅰ 、ⅱ         牋牊煘潨殭棔搼帉墕儉}zwspmjgda_\ZXVUSRPONNMMMLLLLMNNOPQRSUVXY[\^_acdfgijkmnpqrstuvwxyyzz{||}}~~~~亖亖亖亖倐倐倐們儍剟剟剟剠厖厖厗唶噰噰噲垑墘墘墛妺媼媼寣實崓崓崕帋弿弿弿彁悙悙悙憫憫憫憭拻挀摀摀摀敂敂敂敂敂敂敃晻晻晻晻枛枛枛枛枟棗棗棗棙槝槝槝槝槝槝櫄洕灎ⅲΘ捕壕缕赏杏踪苓徙彗殛腱铑镳瘃耨耱耨耩镲铐祀殍驽溻徇蒇谪字杂研瓮趟噬惹婆拍妹铝晾览揽烤揪揪揪窘浇浇浇浇技浇浇技技技技换换换缓汉构构构父阜贩贩范抖抖档荡创创创吵巢膊膊脖北北北鞍鞍鞍鞍┅┅┅┅┄èī┄èěЕΕあ灉殫晵弻墕儉}yvsplifda_\ZYWUTSRQQPPPPPPQQRSTUVWYZ\]^`abdeghjklmopqrstuvwwxyzz{{||}}~~~~~亖亖亖亖倐倐倐儍儍儍剟剠厖厖厗唵噰噰噲垐墘墘墘妸媼媼媼寣寣崒崓崕帋帋帋弿彁悘悙悜憫憫憫憭拻拻拻挀摀摀摀敂敂敂敂晻晻晻晻晼枛枛枛枛枛枛枛棗棗棗棗棙槝槝槞洔灎。エ捕壕缕赏杏踪苓徙彗殛腠铑镳瘃耨耨耨痫镱盱腙殓邃汜噢苒僮终右邢吞耸扇瞧拍拿寐晾揽靠烤揪浇浇浇浇浇浇浇技技技技蓟换换换缓汉汉汉汗构构构父贩贩贩范抖兜档荡创创闯吵膊膊膊脖北北卑鞍隘┅┅┅┅┅┄èèèèЁΖイ"潧櫀攽帇垍倊{xtqnkheb_][YWUTRQPPOOOOONOOPQRSTUVWYZ\]_`acefhijkmnoqrsttuvwxyyzz{{|}}}~~~~亖亖亖亗倐倐倐們儍剟剟剟厖厖厗唵噰噰噲垐墘墘墘妸妺媼媼寣實崓崓崕帋帍弿弿悙悙悙悜憫憫憫拻拻拻拻挀摀摀摀摂敂敂敂敂晻晻晻晻枛枛枛枛枛枛枛枟棗棗棗棗棙槝棗槝槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫄殮殮殮殮殯洓殮洓洓洓洓洓湝湝湝湝湝湝湝湝潩潩湝潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煙煘灋灍煙煙灋煙煙煙煙煙煙煙煙煙煙煙煙煙煚牊煙煙牋牊煙煙牋牊煙煙牋牊煙煚牋牋牊牋牋牋煙煚牋牋煙煚牋牋牊牋牋牋牋牋牋牋牋。うЗ蹈伎闷释性仲苻徙彗桕腱眍镳瘃耱蝌蝌蝌耨痧镱盱觊桤邃忉咻苒儇渍砸研衔吞耸扇惹婆拍拿妹寐铝亮亮晾览览览览靠靠靠靠烤揪揪揪浇浇浇郊技换换换汉汉汗构父父父贩抖抖兜档创创创吵巢膊膊脖北北卑鞍隘┅┅┅┅èèèèèèèěЁЁЁЁΖΖΖΖΖΖΖΖゥゥゥゥゥゥゥゥいぅゥイいいいいいいいい#¥いい##いぃ########ⅱⅲ##ⅱⅲ##ⅱⅱ#"ⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱ  ⅱⅰ                           牋牎  牋牋牎牋牋牋牎牋煙煘潨洑槜晸悗媺唭}zwspmjgdb_]ZXVUSRPONNMMMMMLMMNOPQRSTUWXZ[]^`acefhijkmnpqrstuvwxyzz{{|}}~~~亖亖亖倐倐倐倐儍儍儍儍剟剟剟剠厖厖厗唵噰噰噰垐垑墘墘墛妺媼媼媽寣寣實崓帋帋帋帍弿弿弿悙悙悙悙憫憭拻拻拻摀摀摀摀敂敂敂敂敃晻敃晻晻枛晻枛枛枛枛枟棗棗棗棗槝槝槝櫅湠牎%ǐ逗韭派托又佘哚沐玳觌祛铒痧耨耨耨耩镲铐祀觇珏溷徉捃谫字沼倚贤趟噬惹婆哪妹铝览揽靠烤揪揪揪浇浇浇浇浇技技浇技技技技蓟换换换汉汗构构垢阜贩贩范兜档档荡闯吵吵巢膊北北北鞍鞍鞍隘┅┅┅┅┅┅┅┄èèèèЁЕΕぃ煗洐枖憥寛厒{xuqnkheb`][YWVTRQPPOOOOOOOOPQRSTUVWYZ\]^`acdfgijklmopqrstuuvwxyyzz{{||}}}}~~~亖亖倐倐倐們儍儍儎剟厖厖厗唵噰噰噲垑墘墘墛妺媼媼媽寣崓崓崓帋帋帋帍弿弿弿悙悙憫悜憫憭拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻晼枛枛枛枛棖枛枟棗棗棗棙槝槝槝槝槞櫃槝櫃櫃櫃櫃櫃殮殮殮殮殮殮殮殮洓洓殮殯洓洓洓洓洓洓洓洔湝湝湝湝湝湝湝湝潩潩湝湞潩潩潩潩潩潩潩潩潩潩潩潩灋灋潩潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煘灋灋煙煙灋灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牊煙煙牋牋煙煙牋牋煙煚牋牋煙煚牋牋牋牋牋牋牋、ぅЖ蹈豢缕赏杏仲苻嚆彐桕腱眍镳瘃耨蝌蝌蝰耩镲铐祀殍珏溷徇捃圪刈赵已邢瓮趟扇惹瞧排拿妹侣铝晾览览览览览览揽靠靠靠靠烤揪揪揪浇浇浇郊技蓟换换汉汗构垢阜贩贩范兜档档荡闯吵吵巢膊膊北北鞍鞍鞍鞍┅┅┅┅┅┄èèèěЁЁЁЁΖΖΖΖΖΖΖΖΕΖΖΖゥゥゥゥゥゥゥゥいいいいいいいいぃいいい########ⅱⅲ##ⅱⅱ#"ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅱ 、ⅱⅱ  ⅱⅰ                           牋牋 牋牋牋牋牋牋牋牋牋牋牎牋牋牎牋煙灋潨洑槚敀悗媹唭}zvspmjgda_\ZXVTSQPONMMMLLLLLMMNOPQRSTVWYZ\]_`bdeghiklnopqrstuvwxyyzz{||}}~~~亖亖亖亗倐倐倐們儍儎剟剟剠厖厖厗唶噰噰噲垑墘墘墛妸媼媼媼寣實崓崓崕帋帋帍弿彁悙悙悜憫憫憫憭拻拻拻拻摀搾摀摀摂摀摂敂敂敂敃晻晻晻晻枛枛枛枛棗棗棗棗棗棙棗棙槝槝槝槝槞櫃櫃櫃櫃櫃櫃櫃殮殮殮殮殮殮殮殮洓洓洓洓洓洓洓洓洓湝洓洓湝湝湝湝湝湝湝湝潩潩潩潩潩潩潩潩潩潩潩潩潪灋灊潩灋灋灋潪灋灋灋灋灋灋灋灋灋灋灋灋灍煙灋灋灍煙煘灋煙煙煘灋煙煙煘灋煙煙煙煙煙煙煙煙煙牋煙煙煚牋煙煙煚牋煙煙煚牋煙煙煚牋煙煙煚牋煙煙牋牋牊煙牋牋牊牎ⅳェí钡富棵剖托又佘掎沐骅觌祉铒痧耨蝌蝌蝌耨痧镱盱腙桤驿汊噢蒇谫字杂研衔吞松扇乔婆拍妹妹侣亮亮亮览览靠靠靠靠烤靠烤揪揪揪窘浇浇浇郊技换换换汉构构垢阜贩贩贩抖档档档创吵吵吵膊膊脖北卑鞍鞍鞍┅┅┅┅┄èè┄èèèèЁЁЁЁЁΖЁЁΖΖΖΖΕゥゥゥゥいゥゥいいいいいいいいいいいいぃ#¥ぃ####"ⅱ##"ⅱⅲ#ⅱⅱⅱ#ⅱⅱⅱⅱⅱⅱⅱ"ⅱⅱⅱⅱⅱⅱⅱⅱⅰ 、ⅱ  、ⅱ            牋牎 牋牎 牋牋牎 牋牋牎 牋牋牎 牋牋牎 牋牋牋 牋牋牋牋牋牋牋牋牋煙煘灊湜櫂枖拹帇垎儉}zvspmjgda_\ZXVUSQPONNMMMMLLMMNOPQRSTUWXZ[]^`acefhijlmopqrstuvwxyzz{{|}}~~~~亖亖倐亗倐們儍們儍儎剟剟剟厖厖厖厗唵噰噰噰垐垐垐墘妸妸妸媼媽寣寣實崓帋帋帋弿弿弿彁悙悙悙悜憫憫憫憭拻拻拻挀摀摀摀敂敂敂敂晻晻晻晻晼枛枛枛枛枟棗枛棗棗棗棗棗槝槝槝槝槞櫂槝櫃櫃櫃櫃櫃殮殮櫃殮殮殮殮殮殯洑殮殯洓洓洓洓湝湝洓湝湝湝湝湝湝湝湝湝湝湝湝湞潩潩潩潩潩潩潩潩灋灋潩灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煙煙灋灍煙煙灋灋煙煘灋灋煙煘灋灋煙煘灋灍煙煙灋灍煙煙煘煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牊煙煚牋牋牋、ぅЖ蹈伎闷释言踪苻徙彗桕腱眍镳瘃耱蝌蝌蝰耩痫铐祀觇珂邈忄掭圳僮衷已邢瓮趟扇惹破拍拿寐侣亮览览览揽靠靠靠靠揪揪究揪揪揪揪浇郊技技技换换换汉构构构父贩贩贩抖档档档创吵吵吵巢脖北北北鞍鞍鞍隘┆┅┅┅┅┅èèèèěЕΕぃⅰ煗洐枖憥媹厒{xuqnkheb_][YWVTRQPPOOOOOOOOPQRSTUVWYZ\]_`acdfgijklnoprsstuvwxyyzzz{||}}}}}~~亖亖倐倐倐們儍儍儎剟厖厖厗唵噰噰噰垐垐垑墘妸妸妸媼媽寣寣實崓帋帋帋弿弿弿彁悙悙悙憫憫拻憭拻挀摀摀摀敂敂敂敂敃晹敂晻晻晻晻晼枛枛枛枛棗棗棗棗棙槜槝櫄湠煛%ǐ泛韭粕托宰谲哚沐玳觌眍镲痧耨耨耨耩镱铐祀殍驽汊徇捃谪字杂研瓮趟噬绕拍拿侣亮揽靠靠揪浇浇浇浇郊冀浇郊技技技技换换换换汉汉汉汉构构构父贩贩贩抖档档档创吵吵吵膊脖北北卑鞍鞍鞍隘┆┅┅┅┅┅èèèèЁЁЁЁЕΗЁЕΖΖΖΖΕウΖΕゥゥゥゥゥゥゥイいいいいいいいぃ########"###"###ⅱⅲ##ⅱⅱ#"ⅱⅱⅱⅱⅰ、ⅱⅰ                        牋牋 牋牋牎牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煙牋牋牋牊煙灋潨洐槚敀悕媹厒|yvsolifca^\ZXVTSQPONMMMLLLLLLMNOPQRSTVWYZ\]_`bdeghiklnopqrstuvwxyyzz{||}}~~~~亖亖亖亖倐倐倐們儍儍儎剟厖厖厖唵噰噰噲垐墘墘墘妸妺媼媼媽寣寣寣崓崕帋帋帍弿弿弿悙悙悙悜憫憫憫憭拻拻拻拻摀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛枛枛枛枟棗棗棙殰潫。エ撤豢闷饰言宗葸怃骁殡祉铒痧耨耨耨耨痫镱盱腙桤邃忉咿苴僮衷友形吞耸扇婆哪妹铝晾靠靠揪窘浇浇浇郊技技技技患技技换换换换缓汉汉汉构垢父父阜贩贩抖兜档档创闯吵吵巢膊北北北鞍鞍鞍隘┅┅┅┅┅┅┅èèèèěЁЁЁЕΖゥぃⅰ煘湚槙搻崐噭亊{wtqmjgdb_][YWUSRQPOOONNNNNOPQQRSTUWXZ[]^_abdfghiklmnpqrsstuvwxxyyzz{|||}}}}~~~~亖亖亖亗倐倐倐儍儎剟剟厖厗唵唵唶噰垐垐垑墘妸妸妺媼媼媽寣崓崓崓崕帋帋帍弿悙悙悙悙憫憫憫憭拻拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻晼枛枛枛枛棖枛棗棗棗棗棗槝槝槝槝槝櫂槝櫃櫃櫃櫃櫃櫄殮櫃櫄殮殮殮殮殮殮殮殯洓洓洓洓洓洓洓洓洔湜洓洔湝湝湝湝湝湝湝湝湞潨湝湞潩潩潨潩潩潩潩潩潩潩潩潩潩潩潩潩灋灋潩灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煙煙灋灍煙煙灋灍煙煙灋灍煙煙煘煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚、ぅЖ豆搅娜宋艺刳葸怃骁殛祉铒镳耨耱蝌蝌蝰耩镲铐礻殓驽汊徇蒈谫刂沼倚衔吞耸惹瞧排拿寐铝亮晾揽靠靠靠烤究靠烤揪揪揪揪浇浇浇浇技技技蓟换换汉汉构构父父贩范抖兜档创创创吵吵吵膊北北北卑鞍┅┅┅┅┄┅┅┄èèèèěЖèЁЁЁЁЕΖΖΖΖゥゥゥゥゥゥゥゥいいぅいいいいい##¥#########"###ⅱⅱ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅰ                       牋牎  牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋牋牋牋牋牋牋牋牊牋牋牋煙煚牋牋煙煚牋牋煙煘灊湜殭棖敀弽妶厒|yvrolifca^\ZXVTSQPONMMMLLLLLLMNOPPQSTVWYZ\]^`bceghijlmopqrstuvwxxyyz{{||}}}}~~亖亖亖亗倐儍儍儍儎剟剟厖厗唵唵唶噰垐垐垑墘妸妸妸媼媽寣寣崓崓崓崕帋弿弿弿彁悙悙悙憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敂敃晻晻晻晻枛枙晼枛枛枛枛棗棗棗棗棙槝槝槝槝槝槝槝槞櫃櫃櫃櫃櫃櫃櫃櫄殮殭櫄殮殮殮殮殯洓洑殯洓洓洓洓洓洓洓洓洔湝湜洔湝湝湝湝湝湝湝湝湞潩湝湝潩潩潩潩潩潩潩潩潩潩潩潩潪灋灊潩灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煙灋灋煙煙煘灍煙煙煙灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牎ⅳΗ┇撤壕僚忍弦肇坜噔滏栝腱眍镳瘃耨蝌蝌蝌耩痫镱盱觊珂邃忉咻苴儇终右邢瓮趟嗜乔破拍拿侣侣亮晾览览揽靠靠靠靠揪揪揪揪窘浇浇浇郊技技技蓟换缓汉汗构父父贩抖抖抖档创创闯吵膊膊膊脖北北北鞍┅┆┅┅┅┅èèèèЁЕΕイ!牉潧槚搼帇垍{xuqnkheb`][YXVTSRQPPOOOOOOPQRSTUVWXZ[]^`abdeghjklmnpqrstuvwxxyzz{{||}}~~~~~亖亖亖亖倐倐倐們儍儍儍剟剟剟厖厗唵唵噰噲垐垐垑墘妸妸妺媼寣寣寣崓崓崓帋帋弿弿弿彁悙悙悙悜憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂敃晻晻晻晻晻晻晻枛枛枛枛枛棗棗槞殰灎ⅳΚ倒搅娜滔又佘掎沐玷觌祉铒瘃耨耨耨耨痫铑盱腙桤邃忉咿苴刈衷友形吞耸汕婆拿寐铝揽烤揪窘郊技技技蓟换患技换换换换缓汉汉汉汗构构构父父父贩范抖抖档荡创创闯巢膊膊膊北鞍鞍鞍隘┅┅┅┄èèèèЖèèЁЁЁЁЕΖΖΖΖゥウΕゥゥゥゥイいゥゥいいいいい¥いい#####ⅱ##"ⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ       牋  牋牎 牋牋牎 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煚牋牋牊煙牋牋牊煙煚牋牊煙牋牋牊煙煚牋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙灋灊潨洑櫁枖拸崐垍|yvrolifca^\ZXVTSQPONMMLLLLLLLMNOPQQSTVWYZ\]^`bdeghijlmopqrstuvwwxyyzz{|||}}}}~~~亖亖亖亗倐倐倐儍儎剟剟厖厗唵唵唶噲垐垐垑墘妸妸妺媼寣寣寣崓崓崓崕帋帋帍弿彁悙悙悙憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敂晻晻晻晻晻枙晻枛枛枛枛枟棗棗棙櫅潪牏ぇ钡菇僚商杏仲苻徙彗殛腠铑镳耨耨耨耨耩镱铐祀殍驽汊徇蒈谪渍砸严翁耸扇瞧拍寐铝晾靠揪揪浇郊技技技技技技技换换换换换夯换汉汉构构构父父父贩范抖抖兜荡创创闯巢膊膊脖北卑鞍鞍┅┅┅┅èèèèèèèěЁЁЁЕΖゥい"牊灉殬晸悕妶剚~{xtqnkheb`][YXVTSRQPPOOOOOPPQRSTUVWXZ[]^`abdeghiklmnoqrsttuvwxxyzzz{{||}}}}}~~亖亖亖亗倐倐們儍剟剟剟厖唵唵唶噰垐垐垐墘妸妸妸妺媼媼媼寣實崓崓崕帋帋帋弿彁悙悙悙悜憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻晼枙晻晼枛枛枛枟棗棗棗棗棗槜棗槝槝槝槝槝櫃櫃櫃櫃櫄殭櫃殮殮殮殮殮殯洑殮殯洓洓洓洓洓洓洓洓湝湝洓洔湝湝洓湝湝湝湝湝湞潨湝湞潩潩潨潩潩潩潩潩潩潩潩潩灋灊潩潪灋灋潩灋灋灋灊灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍灋灋灋煙煙灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚。ウí驳讣棵鞘窝宰谲哚沐玷觌祉铒瘃耨蝌蝌蝌蝰耩镲铐礻殍驽溻徇蒈谫字沼研衔吞松惹瞧排拿寐铝亮晾揽靠靠靠揪揪揪揪揪揪揪揪浇浇浇郊技技蓟换汉汉汗构父父阜贩抖抖兜档创创闯吵膊膊膊北卑鞍鞍鞍┅┅┅┅èèèèěЖèЁЕΖイ"灉殬枔悗媹厑~{wtqmjgdb_][YWUTRQPOOOONNNOOPQRSTUVXY[\^_`bceghiklmnoqrsttuvwxyyzzz{||}}}}}~~~亖亖亖亗倐儍儍儍剟剟剟厖厗唵唵噰噲垐垐墘妸妸妺媼媽寣寣崓崕帋帋帋弿弿弿彁悙悙悙悜憫憫憫憭拻摀摀摀摂敂敂敂敂晻晻晻晻枛枙枛枛枛枛枟棗棗棗棗棙槝槝櫄湠煛%ǐ泛韭剖脱宰谳哚溴玳觎眍镲瘃耨耨耨耨痫铐祀觊珂溷徉掭圪字杂倚贤趟噬惹拍妹侣亮揽烤揪窘浇技技技蓟换换蓟换换换换换汉汉汉汉构构构父父父贩范抖抖档荡创创吵巢膊膊脖卑鞍鞍鞍┅┆┅┅┅┅èèèèěЁЁЁЁΖΖΖΖゥΖΕゥゥゥゥイいいいいいいいい#いい############"ⅱ##ⅱⅱⅱⅱⅱⅱⅱⅱⅰ 、ⅱ         牎  牋  牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煙牋牋牊煙煚牋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙灍煙煙煘灋煙煙煘灋灊潨洑槜晸憦寠噭|xurolifca^\ZXVTRQPONMMMLLLLLMNOPQQSTUWYZ\]_`bdeghjklnoprsttuvwxyzz{{||}}~~~亖亖亖亖倐倐倐們儍儎剟剟剠厖厖厗唵噰噰噲垐墘墘墘妸妺媼媼寣實崓崓崕帋帋帋弿弿弿彁悙憫憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻晼枙晻枛枛枛枛枛棗棗棗棗槝槝槝槝槞櫂槝櫃櫃櫃櫃櫃櫄殮櫄殮殮殮殮殯洓洓洓洓洓洓洓洓湝湜洓湝湝湝湝湝湝湝湝湞潩潩潩潩潩潩潩潩潩潩潩潩灋灋潩灋灋灋灋灋灋灋灋灋煙煘灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牋牊煙煚牋牋煙牋牋牋牋牋牋牋牋牋牋牋煙牋牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋牎 牋牋 、%Θ扯航聊人我兆谳哚沐玳觌眍铒瘃耱蝌蝌蝌蝰耩镲铐礻殓驽汊噙蒇谫字杂研衔吞耸热瞧婆哪寐侣铝亮览览览揽靠靠靠靠揪究靠揪揪揪揪浇郊技技蓟换汉汉汗垢父父阜范抖抖兜档创创创吵吵巢膊北北北鞍隘┅┅┅┅èèèèěЖèЁЁЁЁЁΖΖΖΖΕウΖΕゥゥゥゥゥゥゥゥいいいいいいいい##いぃ############ⅱⅲ#"ⅱⅱⅱⅱⅱⅱⅱⅱ                牋牎  牋牎 牋牋牎牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煙煙牋牋煙煚牋牊煙煚牋牊煙煚牋牊煙煙牋牊煙煙煚牊煙煘灊湜殭槚敀悕媹厒|yvspmjgda_\ZXVUSRPONNNMMMMMNNOPQRSTVWYZ\]_`bdeghjklnoqrstuvwxyzz{{||}~~亖亖亖亗倐倐倐們儍儍儍儎剟剟剠厖唵唵唵噰噲垐垐垑墛妸妸媼媽寣寣實崓崓崓帋帍弿弿彁悙悙悜憫憭拻拻拻摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛棗棗棗棗棙槜棙槝槝槝槝槞櫃櫃櫃櫃殮殭櫄殮殮殮殮殯洓洑殮洓洓洓洓洓湝湝洔湝湝湝湝湞潩潩潩潩潩潩潩潪灋灋潪灋灋灋灋灋灋灋灋灋煙灋灋灍煙煙灍煙煙煙煙煙煚牊煙牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋牋 牋牋牋 牋牋牎 牋                             、  、ⅱⅰ ⅱⅱⅱⅲうī捶壕僚忍弦肇谳哜溴玳觌眍铒瘃耨蝌蝌蝌蝰耩镲铐祀殍驽溻徇蒈谫刂沼倚衔吞耸扇乔破拍妹寐侣铝晾览览览揽览览靠靠靠靠烤揪揪揪窘浇技技技换换缓汉构构构父贩贩贩抖档档档创吵吵吵膊脖北北卑鞍鞍鞍┅┅┅┅┅┅┅èěЕΕぃ灉殬晸悕妵剚}zwspmjgda^\ZXVUSRQPOOOOOOOPQRSTUVWXZ\]_`acdfhiklmnoqrstuvwxyzz{|||}}~~亖亖亖倐倐倐倐儍儍儍儎剟厖厖厖厗唵唶噰噲垐墘墘墛妸妸媼媽寣寣實崕帋帋帍弿悙悙悙憫憫拺拻拻摀摀摀摀敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗棙槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫄殮殮殯潪牏ぅí锤祭们宋颜刳葸怃骁殛祉铒痧耨耱蝌蝰耩镱铐礻殍驿汊噙蒇儇终砸严瓮趟噬惹婆哪妹铝晾览揽靠揪揪揪窘浇浇揪浇浇浇浇浇技技技技换换换缓汗构构垢阜贩贩抖兜档档荡创创吵吵膊膊膊北北北北鞍鞍┅┅┅┄┅┅èèèèЁЕΕイ"灉殫晸悕妵剚~{wtqnkheb`][YWVTSRQQQPPPPQQRSTUVWXZ[]_`acdegijlmnopqstuvvwxyz{{||}}~~亖亖亗倐們儍儍儍剟剟剟剠厖厖厗唵噰噰噰垐墘墘墘妸妺媼媼媽寣崓崓崕帋帋弿弿悙悙悙憫憭拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗槝槝槝槝櫃櫃櫃櫃殮殮殮殮殮殮殯湞煛ⅳΘ钡讣滥撬我肇圯噔滏栝腱眍镳瘃耨蝌蝌蝰痧镱盱腙桄邈忉咻圳刈赵友形吞耸扇瞧拍拿寐亮览览揽烤揪揪揪揪揪揪揪浇浇浇浇郊技技技蓟换换换汉汉汗构垢父父阜范抖抖兜荡创创闯吵膊膊膊北北北卑鞍鞍鞍隘┅┅┅┅┄èèèèèèèЁЁЖЁЁЁЁЁЕΗЁЕΖΖΖΖΕウΖΖゥゥゥゥゥゥゥゥイぅゥゥいいいいいいいいいいいい################"ⅲ##"ⅱ##ⅱⅱⅲ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ ⅱⅱ  ⅱⅱ                            牋煙灊湜櫂枖拸崐垍|xurolifc`^[YWVTRQPONNMMMMMMNNOPQRSTVXY[\^_acdfhiklmoprstuvwxyz{{||}~~亖亗倐倐們儍儍儍剟剟剟剟厖厖唵唵唵噰噰噰垐墘墘墘妸媼媼媽寣崓崓崕帋弿弿弿悙悜憫憫憫拻拻拻摀摀敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗槝槝槝槝槝槝槝槞櫃櫃櫃櫄殮殮殮殮殯洑殯湞煛¥Θ钡讣滥撬我肇圯噔滏栝腱眍镳瘃耨蝌蝌蝰耩镱盱腙桤邃忉咿苴僮终右邢瓮趟噬惹破排拿寐侣亮亮览览览揽靠靠靠靠揪揪靠烤揪揪揪窘浇浇浇技蓟换换缓汗构构垢阜贩贩范抖档档档创创创吵巢膊膊膊北北北卑鞍鞍鞍┅┅┅┅┄ěЕイ"牊潧櫀搼帇垍倊{xtqnkheb`^\ZXVUTSRRQQQQQRRSTUVWXYZ\^_`bcdfhiklmnoqrsuvvwxyz{||}}~~亖亗倐倐們儍儎剟剟剟剠厖厖厖唵唵唵唶噰噰噲垐墘墘墛妸媼媽寣實崓崕帋帋弿弿弿悙悜憫憫憫拻拻拻挀摀摀摀敂敂晹敂晻晻枙晻枛枛枛枛棗棗槝棗槝槝櫂槝櫃櫃櫃櫃櫄殮殮殮殮殯洓殮洓洓洓洓洓湝湝湝湝潩潩潩潩潩灊潩潪灋灋灋灋灋灋灋灋煙煙灋灍煙煙煘煙煙煙煙煙煚牊煙煚牋牋煙牋牋牋牋牋牋牋牋牋  牋         、ⅰ 、ⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ"ⅱⅱ##ⅱⅲ##ⅱⅲ##ⅱⅲ##ⅱⅲ##"###ⅱ###ⅱ###ⅱ###"########ぅЗ泊坊玖湃滔艺刳葸徙彗殛腱眍镳耨耱蝌蝌蝌蝰耩痫铐腙殍珏溻徇捃圳刈赵右研贤趟耸缮惹瞧婆排拍哪妹妹妹寐妹妹寐侣侣侣侣亮亮亮晾览览靠靠揪揪窘浇技技蓟换汉汉汗构父父阜贩抖抖兜档创创创闯巢膊膊膊北北北北鞍鞍鞍鞍┅┅┅┅┅┅┅┅┄è┅┄èèèèЁЁЁЁЁЁЁЁΖΖЁΖΖΖΖΖΖΖΖΖゥゥウゥゥゥゥゥゥゥゥゥイぅゥゥいいゥゥいいゥイいいぅいいいいいいいいいいいいいいいいいいいいいぃいいいぃ¥いい##¥ぃ############"###ⅱⅲ##ⅱⅲ##ⅱⅰ煙潨洐棔搻帇垍|yvsolifca^\ZXVUSRPOONNNNMMMNOPQRRSUVXY[]^_acefhjklnoqrsuuvwxyz{|}}~~亖亖倐倐倐儍儍剟剝儎剟厖厖厖厗唵唵唶噰垐垐垐墘墛妸妸媼媽寣寣崓崓崓帋帍弿弿彁悙憫憫憫拻拻拻挀摀敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗棙槝槝槝槞櫃櫃櫃櫃殮殭櫄殮殮殮殮洓洓洓洓洔湝湝湝湝湝湝湝潩潩潩潩潩潩潩潩潩灋灊潪灋灋灋灋灍煙煘灋煙煙煙煙煙煙煙煙煙牋煙煙牋牋牋牋牋牋牋牋牋 牋牋  牎             ⅱ  ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱⅲ#"ⅱ###ⅲ#######################¥Η┆安蹈痪屡忍弦肇圯哜溴玳觌眍铒瘃耨蝌蝌蝌蝰耩痫镱祀觊桤邃忉咿蒇谫字杂已邢瓮趟适扇惹破婆排哪哪哪拿妹妹妹妹侣侣侣侣铝亮亮亮晾览览揽靠揪揪揪浇浇技技蓟换汉汉构构父父阜贩贩范抖档档档创创创创吵膊渤巢膊北膊脖北鞍鞍鞍隘┄Дあ牉湚棓憥媹厑~{wtpmjgda_][YWVTSRQQQPPPPPQRSTUVWXY[]^`abdegijlmnoqrsuvwwxyz{|}}~~亖亖倐們儍儍儎剟剟剟厖厖唵唵唵噰噰噰噲垐墘墘墛妸妺媼媼寣寣實崓帋帋帋弿彁悙悙悜憫拻拻拻摀摀摀摂敂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗槝槝槝槝櫃櫃櫃櫃殮殮殮殮殮殮殮殮洓洓洓湠煛¥Θ钡辜滥人弦肇圯噔滏栝腱眍镳瘃耨蝌蝌蝰耩痫铐祀觇珂溷徉捃圳刈衷友邢瓮趟噬热乔婆哪妹妹寐铝亮亮亮览览亮晾览览览览靠靠靠靠揪揪揪揪浇浇郊技换缓汉汗构父父父贩贩贩抖兜档档荡创吵吵吵膊膊膊脖北北北鞍隘鞍┄Еィ灈櫀攽帇垊亊zwspmjgda_][YWUTSRQQPPPPPPQRSTUVWXY[\^_abceghjklnoprstuvwxyz{{||}}~亖亗倐倐們儍儍儍剟剟剟剟厖厗唵唵唶噰噲垐垐墘墛妸妸媼媽寣實崓帋帋帍弿彁彁悙憫憫憫憭拻摀挀摀摂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗棙槝槝槝槞櫃槝櫃櫃櫃櫃櫄殮殮殮殮洓洓洓湞煛ⅳΘ钡讣滥撬我肇谳哜滏玳觎眍镳瘃耨蝌蝌耨痧镱盱腙桤驿汊噙蒇谫字沼倚衔屯淌扇惹瞧婆哪妹妹侣亮亮亮亮览览亮览览览览览揽靠靠靠揪揪揪揪浇浇浇技换换换汉构构构父贩贩范抖档档档创闯吵吵吵膊膊膊脖北北北卑鞍鞍鞍鞍┄Еィ灈櫀攽帇垊亊zwtpmjgda_][YWVTSRQQQQPPPQQRSTUVWXZ[]_`acdfgijlmnoqrsuvvwxyz{||}}~~亖亖倐儍儍儍儎剟剟剟剠厖厖厖厗唵唵唵噰噲垐垐墘墛妸妸媼媽寣寣崓崓崓帋帋弿弿弿悙悙悙悜憫拻拻拻挀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棙槝槝槝槝櫃櫃櫃櫃櫄殮殮殮殮洓洓洔灍。うǐ蹈祭那宋艺刳萼怃骁殛祉铒痧耨耱蝌蝌耨痫镱盱觊桄邃忉咻苒儇渍砸研衔吞噬热乔婆拍妹寐侣亮亮亮亮览览览览揽靠靠靠靠靠靠靠揪揪揪揪浇浇郊技蓟换换缓汗构构父阜贩贩范兜档档荡创吵吵吵膊膊膊膊北北北北鞍鞍鞍鞍┅┅┅┅┅┄è┅┅èèèèèèèèЁЁЁЁЕΖЁЁЕΖΗЁΖΖΖΖΖΖΖΖΖΖΖΖΕゥウΖゥゥゥゥゥゥゥゥゥぅゥゥイいゥゥイいゥゥイいゥゥゥぅゥゥイいゥゥイいぅゥいいいいいいいいいいいいいいいいいいいいぃ#いい##いいぃ#¥い##¥い##ⅱ煘潧櫁晸悗媹厒|xurokhfc`^[YWVTRQPONNNNMMMMNOOPQRSTVWYZ\]_`bdfgijkmnpqrtuuvwyzz{||}}~亖亗倐倐們儍儍儍儎剟剟剟剠厖厖厖唵噰噰噰垐垑墘墘妸妺媼媼寣實崓崓帋帍弿弿彁悙憫憫憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫄殮櫃殮殮殮殯湞煚ⅳΘ贝讣烂撬窝宰谳哜滏玳觎眍镳瘃耨耱蝌耨痫镱盱腙桤驿汊噢蒇谫字沼倚衔吞耸扇乔破排拿妹寐侣亮亮亮晾览览览览揽坷览揽靠靠靠烤揪揪揪窘郊技技蓟换缓汉汉构构父父贩贩贩抖档档档荡创创创吵巢膊膊膊北北北北鞍鞍鞍鞍┄Еィ灈櫀搼帇噭亊zwspmjgda_][YWVTSRQQQPPPPQQRSTUVWXZ[]^`abdeghjkmnoprstuvwxyz{{||}}~~亖亗倐倐們儍儍儍儎剟剟剟厖厗唵唵唵噰噰噰垐垑墘墘妸媼媼媼寣崓崓崓帋帍弿弿彁悙悙悜憫憭拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枟棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫄殮櫃殮殮殮殮殮洓洓殮洓洓洓洓洔湝湝湝湝湝湝湝湝潩潩湝潩潩潩潩潩灋灋潩灋灋灋灋灋煙煙灋煙煙煙煙煙煚牊煙煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋  牋牎  牋                 、ⅰ  ⅱⅰ  ⅱⅱ 、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ"ⅱⅱⅲ"ⅱⅱ#"ⅱⅱ#"ⅲぅΘ贝泛玖湃讼艺刳葸徙彗殛腱铑镳耨耱蝌蝌蝌耨耩镲铐腙殍珂溷徉掭苴僮终杂已形吞怂适扇乔破破排哪哪哪拿妹妹妹寐侣侣侣侣亮亮亮晾览览揽靠揪揪揪浇郊技技换汉汉汉构父父父贩抖抖抖兜档档荡创吵吵吵巢膊膊膊北卑鞍鞍鞍隘┅┅┅┅┄┅┅┄èèèèěЖèěЁЁЁЁЕЁЁЕΖΖΖΖΖΖΖΖΕウΖΖゥゥΖΕゥゥウゥゥゥゥゥゥゥゥゥいぅゥイいいゥイいいぅいいいいいいいいいいいいい##いぃ##いぃ##いぃ##いぃ##¥###############いぃ##いぃ#ⅱ 牊灊洐槙搼帇墕儉}yvspmjgda_\ZXWUSRQPOONNNNMNNOPQRRSUVXY[\^_`bdfgijkmnoqrstuvwxyz{{||}~~亖亗倐倐倐儍儍儍儍剟剟剟剠厖厖厗唵噰噰噰垐垑墘墘妸妺媼媼寣實崓崓崕帋帋帍弿彁悘悙悜憫憫憫拻拻拻挀摀摀摀摂敂敃敂敃晻晼枙晼枛棗棖枟棗棗棗棙槝槝槝槝櫃櫃櫃櫃殮殮殮殮殯洓洓洓洓洓洓洓湝湝湝湝湝湝湝湝湞潩潩潩潩潩潩潩灋灋灋灋灋灋灋灋灋煙灋灋灍煙煘灍煙煙煙煙煙煙煙煙煙牋煙煙煚牋牊煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋  牎         ⅰ              、ⅱⅰ、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲウī捶壕僚人弦肇谳哚沐玳觌祉铒瘃耨蝌蝌蝌蝰耩痫镱祀觊桄邃忄咿苒谪渍杂已邢吞耸噬扇瞧婆排拍拿妹妹妹侣侣侣侣铝亮亮亮亮览览览揽靠靠靠揪揪窘浇郊技蓟换缓汉构构父阜贩贩抖抖兜档荡创创创吵膊膊膊脖北北北卑鞍鞍鞍隘┅┆┅┅┅┅èèèèěЁЁЁЁЁЁЁЁΖЁЁΖΖΖΖΖΖΖΖΕゥウΕゥゥゥゥゥゥゥゥゥゥゥゥゥぅゥゥいいいいいいいいい¥いいぃ#いい###ぃ##¥い##¥い##¥い##¥い###ぃ############################"ⅱ 牊灊湚櫁晵悕媹厒{xurnkhec`][YWUTRQPONNMMMMLMMNOPQRSTUWXZ\]^`aceghiklnoqrstuvwxyz{{||}~~亖亗倐倐倐儍儍儍儍剟剟剟剠厖厖厖唵唶噰噰噲垐垐墘墛妸妸媼媽寣寣實崓帋帋帋弿弿悙悙悜憫憫憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枟枛枟棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃殮殭殮殮殮殮殯洓洓洓洓湝湝湝湝湝潩湝湝潩潩潩潩潩潩潩潩潩灋潩潩灋灋灋灋灋灋灋灋灋煙灋灋灍煙煘灋煙煙煙煙煙煙煙煙煙牋煙煙煚牋牊煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋  牎                    、ⅱⅰ ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲうī撤航聊人窝宰谳哚沐玷觌祉铒痧耨蝌蝌蝌蝰耩痫铐祀殍珂邈忄掭苒儇终右研衔吞耸缮热瞧排排哪拿妹妹寐侣侣侣侣铝亮亮亮晾览览览揽靠靠靠揪浇浇浇技技蓟换缓汉汉构垢父父贩范抖抖档荡创创创吵膊膊膊脖北北北卑鞍鞍鞍┅┅┅┅┅┅èī┅èèèèěЁЖěЁЁЁЁЕΖΖΖΖΖΖΖΕゥΖΖΕゥウΖゥゥゥゥゥゥゥゥゥゥゥゥイいゥゥいいいイいいいいいいいいいいいいぃ#¥い#############ⅲ##########"ⅱ###ⅲ##"ⅱ##"ⅱⅲ#"ⅱ##"ⅱ##"ⅱ 牊灊湚槜敀悕妶厒{xurnkheb`][YWUTRQOONNMMMMMMMNOPQRSTUWYZ\]^`bceghiklmoprstuvwxyzz{{|}}~~亖亖亖亗倐倐倐儍儎剟剟剟厖厖厖唵唶噰噰噲垐垑墘墛妸媼媼媽寣崓崓崕帋帋帋弿彁悙悙悙憫憫憫憫拻拻拻挀摀摀摀敂敂晻敃晻晼枛枛枛枛枛枛棗棗棗棗棙槝槝槝槝槞櫃槝槞櫃櫃櫄洔灍。ェ按富棵鞘窝宰谳哜滏玳觎眍镳瘃耨蝌蝌蝰痧镲铐礻殓驽汊噙蒇谪字杂研衔吞松惹瞧婆哪寐侣亮晾览览览靠烤究靠烤揪揪揪揪揪揪揪窘浇浇浇郊技换换换汉汉构构父父贩贩抖抖兜档创创创吵膊膊膊膊北北北卑鞍鞍鞍┅┄ěΕあ潧槚搻崐噭亇zwtpmjgdb_][YWVTSRQQQPPPPPQRSTUVVXY[\^_`bcefhiklmnoqrstuvvwxyzz{{||}~~~亖亖亖亖倐倐倐們儍儍儍剟剠厖厖唵唶噰噰垐垐墘墘妸妸妸媼媽寣寣實崓帋帋帋弿弿弿彁悙憫憫憫憭拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枟棗棗棗棗棙槝槝槝槝櫃櫃櫃櫃櫃櫃殯湠牏%И锤伎们宋言宗葸怃骁殛祉铒痧耨耨蝌蝰耩镲铐祀觇珏溷徉捃谫刂沼倚衔吞耸汕破排拿寐亮亮览揽靠靠靠揪揪揪揪揪揪揪揪揪浇揪窘浇浇浇郊技换换换汉汉构构父阜贩贩抖抖档档荡创创吵巢膊膊膊北北北卑鞍┅┄ěЕィ灉殬晵悕妵儉}yvsolifca^\ZXWUSRQQPPPPPPPPQRSTUVWYZ\]_`acdfhijkmnoprstuuvwxyz{{{|}}~~亖亖亖倐倐倐儍儍剟剟剟剠厖厖厗唵噰噰噰垐垑墘墘妸妺媼媼寣實崓崓崕帋帋帍弿悙悙悙悜憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗槝槝槝槝槝櫃櫂櫃櫃櫃櫃櫃殮殮殮殮殮殮殮殮洓洓洓洓洓湝洓洓湝湝湝湝湝潩湝湝潩潩潩潩潩灋潩潩灋灋灋潪灋灋灋灋灋灋灋灋灍煙煘灍煙煙煙煙煙煙煙煙煙煙煙煙煚牋牊煙牋牋牊煙牋牋牋牋牋牋牋牋牎 牋牋牎 牋牋牋牋牋牋牋牋牋牋牋 牋牋牎  牎         ⅰ  、ⅱ  、ⅱⅰ ⅱⅱ  、ⅱⅰⅲうЗ扯航聊撬窝宰谲哚沐玷觌祉铒痧耨蝌蝌蝌蝰耩痫铐祀殍珂溷徉掭苴儇终右研衔吞耸缮热瞧排排哪拿妹妹妹侣侣侣侣亮亮亮亮晾览览览靠靠靠靠揪浇浇浇技换换缓汉构构垢阜贩贩范兜档档档创吵吵吵巢膊膊膊北北北北鞍鞍鞍隘┅┅┅┅┅┅┅┄èī┄èèèèěЁЁЁЁЁЁЁЕΖΖΖΖゥΖΖΕゥΖΖゥゥゥゥゥゥゥゥゥいゥゥいいいいいいいいい#いい###ぃ#############################ⅲ###ⅲ##"ⅱⅲ#ⅱⅱⅱ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ牊灊洑槚敀弽妵剚~{xurnkhec`^[YWVTRQPONNNMMMMMNOOPQRSUVXY[\^_abdfhijlmnpqstuvwxyz{{||}}~亖亗倎亗倐倐倐倐儍儍儍儍剟剠厖厖厗唵唵唶噲垐垐垑墛妸妸妺媼寣寣寣崓崓帋帋帍弿弿弿悙悙悙悜憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晻枛枛枛枛棗棗棗棗槝槜棙槝槝槝槝櫃櫃櫃櫃櫃殮殭櫄殮殮殮殮洓洓洓洓洔湝湝湝湝湝湝湝湝湝湝湝湞潩潨湞潩潩潩潩潪灋潩潩灋灋灋灋灋灋灋灋灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牋牊煙牋牋牋煚牋牋牋牋牋牋牋牋牋牋牋煚牋牋牋牋牋牋牋牋牎 牎          牎   牎             ⅱ  ⅱⅱⅱⅲうЗ扯菇滥撬窝宰谲哚沐玷觌祉铒瘃耨蝌蝌蝌蝰耩痫铐祀殍珂邈徉掭苴儇衷右研衔退适缮惹瞧排拍哪妹寐妹寐侣亮侣侣亮亮亮亮览览览览靠烤揪揪窘浇浇技蓟换换汉汗构垢父阜贩贩范兜档档档创吵吵吵膊膊膊脖北鞍鞍鞍隘┅èЕイ!煗洐枔悕妵剚}zvsplifca^\ZXVUSRQPPPPOOOPPQRSTUVWXZ[]^`abdfgijkmnoqrstuvvwxyz{{||}}~~~亖亖倐倐倐儍儍儍儎剟剟剟厖唵唵唵噰噲垐垐墘妸妸妺媼寣寣寣崓崕帋帋帍弿弿弿悙悜憫憫憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛枟棗棗棗棙槝槝槝槞櫃櫃櫃櫃殭櫄洔灍。う┈坊韭剖托宰谲哚沐玳觌祛铒痧耨耱蝌耨痫镱盱腙桤邃汜噢苴儇终砸邢瓮趟噬惹婆拍拿铝亮亮览靠靠靠靠揪揪揪揪揪揪揪揪浇浇浇浇郊技技蓟换缓汉汉构垢父阜贩范抖抖档档档创吵吵吵巢膊北北北鞍鞍鞍隘┅┅┅┅┅┅┅┄èèèèěèèěЁЁЁЁΖΖΖΖΖΖΖΖゥウΖΖゥゥΖΕゥゥゥゥゥゥゥゥいいゥイいいいいいいいいいいいい#¥いぃ####################"###"###ⅱⅲ##ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ  牊煘潧殬枖拸崐噭亊{wtqnkheb_][YWUSRPONNMMMMLLMMNOPQRSTUWXZ\]^`bceghjklnoqrstuvwxyzz{{|}}~~亖亖亖倐倐儌倐儍儍剟儎剟剠厖厖厗唵唵唶噰垐垐垐墘墛妸妸媼媽寣寣崓崕帋帋帍弿弿弿彁悙悙悙憫憫拺憫拻挀摀摀摀摂敂敂敂晻晻晻晻枛枛枛枛枟棗枛棗棗棗棗棙槝槝槝槝槞櫃槞櫃櫃殭櫃殮殮殮殮殮洓洓殮洓洓洓洓洓湝湝湝湝湝湝湝湝湞潨湝湝潩潩潩潩潩潩潩潩灋灋灋灋灋灋灋灋煙煙灋灍煙煙煘煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牋牋煙煚牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋 牋牋  牋牋  牋牎        ⅱⅱ、¥Η┆俺豆嚼那宋言宗苓徙彗桕腱眍镳瘃耱蝌蝌蝌耨痧镱盱腴桤驽汜噢蒇谫字杂已邢瓮耸噬扇瞧婆拍哪拿寐侣侣侣亮亮谅亮亮亮亮亮览览览揽靠靠靠揪浇浇郊技换换缓汉构构父父贩范抖兜档创创创吵吵吵巢膊膊膊北北北北鞍鞍鞍鞍┅èЕイ"牉湚槙搻崐噭}zvspmjgda_][YWUTRQQPPPPPPPPQRSTUVWXZ\]_`abdfgijklmopqsttuvwxyzz{{||}}~~亖亖亖倐倐倐們儍儍儍儎剟剟剠厖厗唵唵唶噲垐垐垑墛妸妸妺媼寣寣寣崓崓崕帋弿弿弿彁悙悙悙憫憫拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻晼枛枛枛枛棗枛棗棗棗棗槝槝槝槝槞櫃櫃櫃殰潫、う┈泛韭粕托宰谲哚沐玳觌眍镲痧耨耨耨耩痫铑盱觊珂邈忄咻圳刈赵友形吞耸扇瞧排拿寐亮览览靠烤揪揪揪窘骄揪窘浇浇揪窘浇浇浇浇技技技蓟换汉汉汗构垢父父贩贩范抖档档档创吵吵吵巢脖北北北鞍鞍鞍隘┅┅┅┅┄ěЕイ"牉湚棔拸寜唭|yurokhec`^[YXVTSRQPPOOOOOOPQRSTUVWXZ[]^`abdfgijklmopqstuuvwxyz{{{|}}~~亖亖亖亗倐倐倐儍儍儍儎剟厖厖厖唵唵唵噰噲垐垐墘墛妸妸妺媼寣寣寣崓崓崓帋帋弿弿弿彁悙悙悙憫憫憫憭拻挀拻挀摀摂摀摂敂敃晹晻晻晼晻晼枛枛枛枛棗棗棗棗槝槝槝槝櫃櫃櫃櫄湞煛ⅳΙ撤痪缕释言宗苓徙彗殛腠铒镳耨耱蝌蝰耩镲铐祀觇珏溻徇捃谫字沼倚贤趟噬惹婆拍拿铝晾览揽烤揪揪揪窘浇骄揪浇浇浇浇浇浇浇浇技技技换缓汉汉汗构父父父贩抖抖抖档荡创创吵吵吵膊脖北北北卑鞍鞍鞍┅┅┅┅┅ī┅┅èèèèèЁЖěЁЁЁЁЕΖΖΖΖゥΖΖゥゥゥゥゥゥゥゥいいいいいいいいいいいいい#いい############"ⅱ##ⅱⅱⅲ#"ⅱ##"ⅱ##"ⅱ##"ⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ、ⅱⅱⅰ 牋煘灉洑槚敀弽妵剚~{xuqnkheb`][YWUTRQPONNMMMMLMMNOOPQRSUVXY[\^_acdfhijkmnpqrstuvwxyzz{{|}}~~亖亖亖亗倐倐倐們儍儍儍儎剟剟剟厖厖厖厗唶噰噰垐垑墘墘妸妺媼媼媽寣崓崓崓帋帋帋帍弿悙悙悙悜憫憫憭拻拻拻挀摀摀摀摂敂敂敂敂晻晻晻晻枛枛枛枛枟棗棗棗棗槝槝槝槝櫃櫂櫃櫃櫃櫃櫃殮殮殮殮殮殮殮殮洓洓洓洓洓湝洓洔湝湝湝湝湝潩潨湝潩潩潩潩潩潩潩潩潪灋灊潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煙灋灋煙煙煘灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牋牊煙牋牋牊煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎¥Η┇驳辜烂鞘脱宰佘哚沐玷觌祉铒痧耨蝌蝌蝌蝰痧镲铐腙殓驽溻噙蒈圪刈沼已邢瓮趟噬热瞧婆哪拿妹侣亮亮亮览览览览揽靠靠靠靠揪靠烤揪浇浇浇郊技技蓟换汉汉汗构父父阜范抖抖抖档荡创创闯吵吵吵膊北北北卑鞍鞍鞍┅┆┅┅┅┅┄èèèèèèèěЁЁЁЁΖЁЁΖΖΖΖΕゥゥゥゥゥゥゥイいゥゥいいいいいいいいいいいいぃ#¥い####################"ⅱ##ⅱⅱⅱ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ ⅱⅱⅰ ⅱⅱⅰ ⅱⅱⅰ  ⅰ     牊煘潨洐棖搼弻妵剚~{wtqnjgeb_][YWUSRPONNMMMLLLLMNNOPQRSUVXZ[\^_abdfgijkmnpqrstuvwxyzz{{|}}~~~~亖亖倐倐倐倐儍儍儍儎剟剟剟厖厖厖唵唶噰噰噲垐墘墘墛妸媼媼媽寣崓崓崓帋帋帋弿弿悙悙悙悜憫憫憭拻挀搾摀摀敂敁敂敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃櫃櫃櫃櫄殮殭櫄殮殮殮殮洓洓洓洓洓湝洓洓湝湝湝湝湝湝湝湝湝潩湝湝潩潩潩潩潩潩潩潩潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煙灋灋灍煙煘灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牋煙煙煚牋煙煙煚牋牊煙牋牋牊煙牋牋牊煙牋牋牋煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎 牋   、%Θ┇驳讣棵剖脱宰佘掎沐玷觌祉铒痧耨蝌蝌蝌耨痫镱盱腴桤邃汜噢苒谪字杂研衔吞耸扇惹瞧排哪拿妹侣亮亮亮亮览亮亮览览览览揽靠靠靠烤揪揪揪浇技技技换汉汉汗垢父父阜范抖抖兜档创创创吵膊膊膊北北北卑鞍隘鞍┅èěΕぃ灉殬晵弽墕儉}yvrolifc`^\ZXVUSRQPPPPPOOPPQRSTUVWYZ\]_`acdfgijkmnoprstuvvwxyz{{{||}~~~亖亖亖倐倐倐們儍儍儍剟剟厖厖厖唵唵唵噰噲垐垐垑墛妸妸妺媼媼媽寣崓崓崓帋帍弿弿弿悙悙悙悙憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛棗棗棗棗槝槝棗槝槝槝槞殯潪牏&ǐ逗韭粕托宰佘哚沐玳觌眍镲痧耨耨耨耩痫铑盱腴桄邈忉咻圳刈衷友衔吞耸扇婆拍拿侣晾览揽靠揪揪揪窘浇浇浇浇浇浇浇浇技技技技换换换缓汉构构构父父阜贩抖抖抖档荡创创闯巢膊膊脖北鞍鞍鞍┅┅┅┅┄ī┅èèèèèЁЁЁЁΖΖΗΖΖΖΖΖゥゥΖゥゥゥゥゥゥゥゥゥいいゥイいいいい#¥いい##いぃ########ⅱⅲ#"ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅱ  ⅱⅰ  、ⅰ 、ⅱⅱ 、ⅱⅱ  ⅱⅰ                  牋牊煘灊洑櫁晸憥寜噭亊zwtqnjheb_][YWUSRPONNMMMMLLLMNOPPQRSUVXY[\^_abdfgijkmnoqrstuvwxyzz{{|}}~~~~亖亖亖亖倐倐倐倐儍儍儍儎剟厖厖厗唵噰噰噲垐墘墘墛妸媼媼媼寣寣寣崓崕帋帋帍弿彁悙悙悙憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻枛枛枛枛棗棗棗棗棗槝槝槝槝槝槝櫄洕灎ⅲΘ捕壕缕赏杏踪苓徙彗殛腱铑镳瘃耨耨耨痫铑盱腙桤邃忉噢苴僮终右邢翁怂噬瞧排哪寐铝览览靠烤揪揪揪浇浇浇浇浇浇浇浇郊技技技蓟换换换汉汉汗构垢父父阜范抖抖兜荡创创闯吵膊膊膊北北卑鞍隘┅┅┅┄èī┅èěЕゥ"潧櫁攽弻墔|xurnkheb`][YWVTSQQPPOOOOOOPQRSTUVWXZ[]^_abdeghjklmnpqrstuvwxxyzz{{||}}~~~~亖亖亖亗倐儍儍儍儎剟剟剠厖唵唵唵噰噰垐垐垑墘墘墛妺媼媼媽寣崓崓崓崕帋帋帍弿悙悙悙悜憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晻枛枙枛枛枟枛枟棗棗棗棗槝槝槝槞洔灎。エ捕壕屡赏杏仲苓徙彗桕腱铑镳瘃耨耨耨耩镱铐祀殍驽汊徇蒇谪渍砸严瓮趟噬瞧排哪寐铝览览靠烤揪揪揪浇浇浇浇郊技技郊技技技技换换换缓汉构构构父父贩贩范兜档档创闯吵吵巢膊膊脖北鞍鞍鞍隘┅┅┅┅┅┅┅┄èèèèЁЕゥあ潧櫁敀弻墕|xuqnkheb`][YWVTRQPPOOOOOOOOPQRSTUVWYZ\]_`acdfhijklnopqrstuvwxxyyzz{||}}}~~~亖亖亖亗倐倐倐儍儎剟剟厖厖厖唵唶噰噰噲垐墘墘墘妸媼媼媼寣寣崓崓崕帋帋帋弿彁悘悙悙憫憫憫拻拻拻挀摀摀摀摂敂敂敂敂晻晻晻晻晻枛枛枛枛枛枛枛棗棗棗棗棙槝槝槝槝櫃櫂槞櫃櫃櫃櫃殮殮殮殮殮殮殮殮殯洓洓洓洓洓洓洓湝湝湝湝湝湝湝湝湝潩湝湝潩潩潩潩潩潩潩潩潩灋潩潩潪灋灊潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煙灋灋煙煙煙煙煙煙煙煙煙牋煙煙煚牋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牋煙煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎ⅳΗ┆驳讣棵剖托又佘掎沐骅觌祉铒痧耨耱蝌蝌耨痫镱盱腴桤邃汜咿苒儇渍砸研衔吞松热乔婆拍妹妹侣铝亮亮晾览览览览揽靠靠靠靠揪揪揪窘浇浇浇技换换换汉构构构父贩贩贩抖档档档创吵吵吵膊膊膊北北鞍鞍鞍隘┅┅┅┅┅┅┅èèèèěЁЁЁЁЁЁЁΖΖΖΖΖΖΖΖΖゥΖΖゥゥゥゥイいゥゥいいいいいいいいいいいいぃ#いい#########ⅲ###ⅲ##"ⅱⅲ#ⅱⅱⅱ"ⅱⅱⅱⅱⅱⅱⅱⅱⅰ ⅱⅱⅰ ⅱⅱⅰ 、ⅰ             牎       牋  牋牎 牋牋牋牋牋牋牋牋牋牊煘灊湜殬棔搻帇墕儉}zwspmjgda_\ZXVUSRPONNMMMLLLLMNNOPQRSUVXY[\]_abdfghjkmnoqrstuvwxyyzz{{|}}~~~~亖亖亖亗倐倐倐儍儍剟剟剟厖厖唵唵唶噰噰噲垐墘墘墛妺媼媼寣實崓崓崕帋帍弿弿弿悙悙悙悜憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂敃晻晻晻晼枛枛枛枛枛枛枛棗棗棗棗棙槝槜棙槝槝槝槝槞櫃櫃櫃櫃殮殭櫄殮殮殮殮殮洓殮殮洓洓洓洓洓洓洓洓洓湝湜湝湝湝湝湝潩潩潩潩潩潩潩潩潩潩潩潩灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煙煘灋煙煙煙灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牋煙煙煚牋煙煙煚牋煙煙煚牋煙煙牋牋牊煙牋牋牊煙牋牋牊煙牋牋牊煙牋牋牋牎ⅳェ┆驳讣棵剖托宰佘掎沐玷觌祉铒痧耨蝌蝌蝌蝰痧镲铐腙殓驽溻噙蒈谫字杂研衔吞耸扇惹破拍妹妹侣亮晾览览览靠坷揽靠靠靠靠烤揪揪揪窘浇浇郊技换换换汉汉构构垢父贩贩范抖档档创创吵吵巢膊膊膊北鞍鞍鞍隘┅┅┅┅è┅┅èěЕΕぃ灉殫晵弻妴儉}zvspmjgda_][YWVTSRQQPPPPPPQRSTUUVXYZ\]_`abdeghjklmnpqrstuuvwxyzzz{{|}}~~~~~亖亖亖亗倐倐倐們儍儎剟剟厖厖厖唵唶噰噰噲垐墘墘墛妸媼媼媼寣寣寣崓崕帋帋帋弿弿弿彁悙悙悙悜憫憫憫拻拻摀摀摀摂敂敂敂敃晻敂晻晻晻晻晼枛枛枛枛棗棗棗棗棙槝槝櫅湠牎%ǐ逗韭粕托又佘哚沐玳觌眍铒痧耨耨耨耩镲铐祀觇珏溷徉捃谫字沼倚瓮趟噬惹拍拿寐亮揽靠揪窘郊技浇技技技技技换换技蓟换换换换汉汉汉汉构构构父贩贩贩范兜档档荡闯吵吵巢脖北北卑鞍鞍鞍┅┅┅┅┄è┅èèèèěЁΖゥぃ煗洐枖憥媹厒~{xtqnkheb_][YWUTRQPOOOOONNOOPQRSTUVWYZ\]_`acefhijlmnoqrsttuvwxyyzz{{||}}~~~~亖亖亖亖倐倐倐倐儍儍儎剟厖厖厖唵噰噰噲垐墘墘墛妸媼媼媼寣實崓崓崕帋帋帋弿弿悙悙悙憫憫憫憫拻拻拻拻摀摀摀摀敂敂摂敂敂晹敂晻晻晻晻晼枛枛枛枛枛枛枛枟棗棗棗槡洕煛ⅴЙ逗韭派托幼佘哚沐玳觌眍镲瘃耨耨耨耩痫铐祀觊珂溷忄掭圪刂赵已衔趟噬惹婆哪妹铝览靠靠揪窘浇浇浇技冀浇郊技技冀技技技技蓟换汉汉汉构构垢父贩贩贩抖档档档创闯吵吵巢膊膊北北鞍鞍鞍隘┅┅┅┅èèèèěЁЁЁЁЁЁЁΖΖΖΖΖΖΖΖゥゥゥゥゥゥゥゥいいいいいいいいいいいい##いぃ########"###ⅱⅲ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ  ⅱⅰ           牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋 牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊煙灋潨洑槚晸悗媺唭}zwtqnkheb`][YWUTRQPONNMMMMMMMNOPQRSTUWXZ[\^_acdfgijkmnoqrsttuvwxyzz{{|}}~~~~亖亖亖亖倐倐倐倐儍儍儍儎剟剠厖厖唵唵唶噰垐垐垑墘妸妸妺媼寣寣寣實崓帋帋帋弿弿弿彁悙悙悙悜憫憫憫憭拻拻拻摀摀摀摀敂敂敂敂敃晻晻晻晼枛枛枛枛棗棗棗棗棗棗棙櫄湞煛ⅴЙ逗搅派绦又佘掎沐玷觌祛铒痧耨耨耨耩镱铐祀觇驽溻徇捃谪字杂研瓮趟噬瞧拍拿侣亮揽靠烤揪浇浇浇郊技技技技技技技技换换换换汉汉汉汗构构垢父贩贩范抖档档档创闯吵吵巢膊膊脖北鞍鞍鞍隘┅┅┅┅èèèèèèèЁЕΕイ"灉殬晸悗媹厑~{wtqmjgdb_][YWUSRQPOOONNNNOOPQRSTUVWYZ\]_`acdfgijklnopqrstuvvwxyyzz{{||}}}}~~亖亖倐倐倐儍儍儍剟剠厖厖唵噰噰噲垐墘墘墛妸妺媼媼媽寣寣寣崓崕帋帋帍弿弿弿悙悙憫悜憫憫拺憫拻拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛棗棗枛棗棗棗棙櫄湞煛%ǐ逗韭粕托宰谲哚沐玳觌眍镲瘃耨耨耨耩镲铐祀觇珏溻徇捃谫字杂倚瓮趟噬惹拍拿寐亮揽靠烤揪浇浇浇浇技技浇郊技技技技换换换换汉汉汉汗构构垢父贩贩贩范兜档档创闯吵吵膊脖北北卑鞍鞍鞍隘┆┅┅┅┅┅èèèèЁЁЁЁЕΕイ"灉殬枔憥媹厒~{wtqnjgdb_][YWUTRQPOOOONNNOOPQRSSTUWXZ[]^_abdeghiklmnpqrsstuvwxyyyz{{||}}}}}~~~亖亖亖亗倐儍儍儍剟剟剠厖厗唵唵噰噲垐垐垑墛妸妸妺媼寣寣寣崓崓崓帋帋弿弿弿彁悙悙悙憫憫憫憭拻拻拻挀摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛枛棗棖枟棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃殮櫃櫃殮殮殮殮殮殮殮殮殮洓殮殮洓洓洓洓洓洓洓洓湝湝湝湝湝湝湝湝湞潩潨湞潩潩潩潩潩潩潩潩潪灋灊潩灋灋灋潪灋灋灊潩灋灋灊潩灋灋灋潪灋灋灋灋灋灋灋灋灋灋灋灋灍煙灋灋灍煙灋灋灍煙灋灋灍煙煘灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煘灋煙煙煙煙煙煙煙煙煙煙煙牎ⅲェí驳辜烂鞘窝宰谲哚沐玷觌祉铒瘃耨蝌蝌蝌耨痫镱盱觊桄邃忉咻苴儇终右邢瓮趟噬惹破拍拿侣铝亮览揽靠靠靠揪究烤揪揪揪揪窘浇浇浇郊技技技蓟换缓汉汗构构父阜贩范抖兜档荡创闯吵吵巢膊北北北鞍鞍鞍隘┅┅┅┅┅┅┅èèèèěЁЁЁЁЁЁЁΖΖΖΖΕゥゥゥゥゥゥゥイいいイいいいいぃ#¥い########"ⅱ##"ⅱ##"ⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅰ ⅱⅱ             牋  牋牎 牋牋牎 牋牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煙煘灊湜殬枖拹帇垎儉}yvsplifda^\ZXVTSQPONMMMLLLLLLMNOPQQSTUWYZ[]^`bcefhijlmnpqrstuvwwxyyzz{||}}}~~~亖亖亖亖亗倐倐倐儍儍儍儎剟剠厖厗唵唵唶噰垐垐垑墘妸妸妺媼寣寣寣崓崓帋帋帋弿弿弿彁悙悙悙悜憫憫憫憭拻拻拻摀摀摀摀摂敂敂敂敃晻晻晻晻晼枛晻枛枛枛枛枟棗棗棗棗棙槝棗槝槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫃殮殮櫃櫄殮殮殮殮殮殮殮殯洓洓洓洓洔湜洓洔湝湝湝湝湞潨湝湞潩潩湝潩潩潩潩潩潩潩潩潩潩潩潩潩潪灊潩潩灋灊潩潪灋灋潩潪灋灋灊灋灋灋灋灋灋灋灋灋灋灋灋灋灍煘灋灍煙煙灋灍煙煙灋灍煙煙灋灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚、ぅЖ豆嚼娜宋艺刳葸怃骁殛祉铒镳耨耱蝌蝌蝰耩镲铐祀殍珏溷徇捃圪刈赵已衔吞耸扇乔破拍妹寐侣铝晾览览揽靠靠靠靠揪揪靠揪揪揪揪浇郊技技蓟换汉汉汗垢父父阜范抖抖兜荡创创闯吵吵膊膊北北北卑鞍鞍隘┅┅┅┅┅┅┄èèèèЁЁЁЁΖΖЕΖΖΖΖΕゥゥゥゥゥゥゥゥいいゥイいいいいいいいい#¥いぃ########"ⅲ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱ 、ⅱⅱ  、         牋牋牎牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊煙灊潨洐槚敀悕媹厒|yvsolifca^\ZXVTSQPONMMMLLLLLLMNOPQRSTVWYZ\]_`bdeghiklnopqrstuvwxyzz{{|}}}~~~亖亖亖亗倐倐倐們儍儍儍剟剠厖厖厗唵噰噰噲垐墘墘墛妸媼媼媼寣寣寣崓崕帋帋帋弿弿弿弿悙悙悙悜憫憫憫憭拻拻拻挀摀摀摀摀敂敂敂敂敂晹敂晻晻晻晻晼枛枛枛枟棗棗棗棗棙槝棗槝槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫄殮殮殮殮殮殮殮殮殯洑殮殯洓洓洓洓洓洓洓洓洔湝洓湝湝湝湝湝湞湝湝湝潩潩湝潩潩潩潩潩潩潩潩潩灋灋潩潪灋灋灋灋灋灋灊灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煘灋灍煙煙煘煙煙煙煙煙煙煙煘煙煙煙煘煙煙煙煙煙煙煙煙煙煙煙煙煙煚牋牋。うī贝坊韭派绦又氽捺怃骅殡祉铒痧耨蝌蝌蝌蝰耩痫铐祀殍珏溷徇捃圪刂沼倚衔吞耸扇瞧婆拍寐侣铝晾览览览靠靠靠靠烤揪揪揪揪窘骄揪浇郊技技蓟换换汉汉构父父阜范抖抖兜荡创创闯巢膊膊脖北鞍卑鞍隘┅┅┅┄èèèěЖèЁЕΖイぃ灊洐枖憥寜唫|yurolifca^\ZXWUTRQQPPPOOOOPQQRSTUVXY[\^_`acefhijklnopqrstuvvwxyyzz{{||}}}}~~~亖亖亖亗倐們儍儍儎剟剟厖厗唵唵唶噲垐垐垑墘妸妸妸媼媽寣寣實崓崓崓帋帋帋帍弿悙悙悙悜憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敂敃敂敃晻晻晻晼枛枛枛枛棗棗棗槞洔灎ⅳИ倒搅湃滔又佘掎沐玷觌祉铒痧耨耨耨耨痫铐祀觊珂溷徉掭圪字杂倚贤淌扇瞧拍寐铝晾靠揪揪浇郊技技技换换换换换换换换缓汉汉汉汗构构构父父父贩范抖抖抖档荡创创吵巢膊膊北北北卑鞍┅┆┅┅┅┅┄èèèěЁЁЁЁΖЁЁΖΕイぃⅰ煘湚槙搻崐噭亊{wtpmjgda_][YWUTRQPOOOONNNOOPQRSTUVWYZ\]_`acdfhijklnopqrstuvwxxyyzz{{||}}}}~~亖亖倐倐倐儍儍儍剟剠厖厖厗唶噰噰噲垐墘墘墛妸妸妸媼媽寣寣實崓崓崓帋帍弿弿弿彁悙悙悙憫憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻晻晻晻晼枛枛枛枛枟棗棙櫅湠牏ぇ钡菇僚商杏仲苓徙彗殛腠铒镳耨耨耱耨耩镱铐祀殍驽汊噙蒈谪渍砸严瓮耸扇瞧拍妹侣晾靠揪揪浇技技技技换换患换换换换换汉汉汉汉构构构构父父父贩范抖抖兜荡创创吵巢膊膊脖北鞍鞍鞍┅┅┅┅èè┅┄èèèèЁЁЁЁΖΕイ"灉殬晸悕妵剚~zwtpmjgda_\ZXWUSRQPOONNNNNNOPQQRSTVWYZ\]^`acdfgijklmopqrstuuvwxyyyzz{|||}}}}~~~亖亖亖亗倐倐倐儍儎剟剟剠厗唵唵唶噲垐垐垑墘妸妸妸媼媽寣寣實崓崓崕帋帍弿弿彁悙悙悙憫憫憫憭拻拻拻拻摀摀摀摀摂敂敂敂敃晻晻晻晻枛枙枛枛枛枛枟棗棗棗槡洕煚ⅴЙ逗玖派托又佘哚沐玳觌眍镲瘃耨耨蝰耨痫铑盱腴桄邈忄咻圳刈赵已衔趟噬惹婆拿寐亮揽烤揪窘郊技技技蓟换患蓟换换换换换汉汉汉汗构构构父贩贩贩抖抖档档荡创创吵巢膊膊脖北鞍鞍鞍隘┅┅┅┅┄èèèěЁЁЁЕΖΗЕΖΖΖΖΕゥゥゥゥいゥゥいいいいいいいいいいいいぃ#¥い####"ⅱⅲ"ⅱⅱⅱⅱⅱⅱⅱⅱⅰ        牎  牋牎 牋牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊煙牋牋牊煙煙煙煙煙煙牊煙煙煙煙煙煙煙牊煙煙煙煙煙煙煙煙煙灍煙煙煙灍煙煙煙煙煙煙煙灋灊潨洑槜晸憦寠噮|xurolifc`^\YWVTRQPONMMLLLLLLMMNOPQRSUVXZ[\^_acdfgijkmnoqrsttuvwxyzz{{|}}}~~~亖亖亖亖亗倐倐倐儍儍儍剟剠厖厖唵唶噰噰垐垑墘墘墛妸妸妺媼媽寣寣實崓崓崕帋帍弿弿弿悙悙悙悙憫憫憫憫拻拻拻挀摀摀摀摂敂敂敂敂晻晻晻晻晼枛枛枛枟棗棗棗棗棗棗棙槝槝槝槝槝槝槝櫃櫃櫃櫃櫃櫄殭櫃櫄殮殮殮殮殮殮殮殯洓洓洓洓洓洓洓洓洓洓洓洓湝湝洓湝湝湝湝湝湞潨湝湞潩潩潩潩潩潩潩潩潪灊潩潪灋灋潩灋灋灋灋灋灋灋灋灋灋灋灋灋煙煘灋灍煙煙煘煙煙煙煘煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牋牊煙煚牋牋煙煚牋牋煙煚牋牋煙煚牋牋牎ⅳェ┇驳辜滥撬窝宰谲哚沐玳觌祉铒瘃耨蝌蝌蝌蝰耩镲铐祀殍驽溻徇蒈谫字沼研衔吞耸惹瞧婆哪寐侣亮晾览靠靠靠烤究靠烤揪揪揪揪浇浇浇浇技技技换缓汉汉构父父父贩抖抖抖档创创闯吵膊膊膊北鞍鞍鞍鞍┅┅┅┅èèèèЁЁЁЁΖΖΖΖΖΖΖΕゥゥゥゥイゥゥゥいいいいいいいい################ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱ  ⅱ        牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊煚牋牋煙煙牋牊煙煙煚牊煙煙煚牊煙煙牋牊煙煙牋煙煙煙煙煙煘灋潩湜殭棖敀弽媹厒|yvspmjgda_\ZXVUSRPONNMMMMMMMNOPQRSTUWXZ[]^`acdfhijlmnpqrstuvwxyzz{{||}~~~~亖亖亖亖亗倐倐倐儍儍儍儎剟厖厖厖唵唶噰噰垐垑墘墘妸妺媼媼寣實崓崓崓帋帋帋弿彁悙悙悙憫憫憫憭拻拻拻拻摀摀摀摂敂敂敂敃晻晻晻晻枛枛晼枛枛枛枛枟棗棗棗棗槝槝槞洔灎ⅲΘ撤豢缕释言宗葸徜彗殛祉铒痧耨耨耨耨耩镱盱腙殓驿汜噢蒇僮终右邢吞耸扇桥拿寐铝览烤揪窘浇技技技技换换技蓟换换换换缓夯换汉汗构构构父父阜贩抖抖兜档创创创吵巢膊膊脖北北卑鞍隘┅┅┅┅èèèèěЖèЁЁЁЁЕΖゥぃ"牊潧櫁晵悕妵剙}zvspmjgda^\ZXVUSRQPOOOONNOOPQRSTUVWYZ\]_`acdfgijklnopqsttuvwxyyzz{{|}}~~~~~亖亖亖亖倐倐倐儍儎剟剟剠厖唵唵唵噰噰垐垐墘墘妸妸媼媽寣寣崓崓崓帋帍弿弿弿悙悙悙悜憫憭憫拻拻摀摀摀摀敂敁敂敂晻敂晻晻晻晻枛枛枛枛枟棗棗棗棗棗槜棗棙槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫃殮殮殮殮殯洓洓洓洓洓洓洓湝湝湝湝湝湝湝湝湞潩湝湞潩潩潩潩潩灊潩潩灋灋潩潪灋灋灋灋灋灋灋灋煙煙灋灋煙煙煘煙煙煙煙煙煙煙煙煙煚牋煙煙牋牋牊煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋  牋牋  牋牋  牋牋  牋牋  牎       ⅳェ┆俺泛搅娜宋艺宗葸徙彗殛腱铑镳耨耱蝌蝌蝌耨痫镱盱觊桄邃忉咻苴儇终右严挝趟噬惹瞧婆拿妹侣侣亮览览览揽靠靠靠烤揪究烤揪揪揪窘浇技技技换换汉汉构垢父父贩抖抖抖档创创创吵吵吵膊脖北北北鞍鞍鞍隘┅┅┅┅┄èèèěЁΕイ"牉潧槚攽帇垍{xuqnkheb`][YXVTSRQQPPPPPPQRSTUVWXY[\^_abcefhjklmnpqrsuuvwxyzz{{||}}~~亖亖亖亖倐倐倐們儍儍儍剟剠厖厖厗唵唵噰噲垐垐垑墘妸妸妺媼寣寣實崓帋帋帋帍弿弿彁悙悜憫憫憭拻拻拻挀摀摀摀摂敂敂敂晻晻晻晻晼枛枛枛枟棗棗棗棗槝槝棙槝槝槝槝櫃櫃櫃殯湠牎%И锤祭们宋艺刿萼怃骅殡祉铒痧耨耱蝌蝰耩镱铐礻殓驿汜噢苒僮衷友形退噬惹婆拿寐铝晾靠烤揪窘浇浇浇郊技技技技技技技技换换换换汉汉汉汗构构父父贩贩抖抖档档荡创吵吵吵膊脖北北北鞍鞍鞍隘┅┅┅┅èèèèèèèЁЕΕイ"牊潧櫁晵弽妵儉}zvsplifda^\ZXVUSRQPOOOOOOOPQRSTUVWXZ[]_`acdfgijlmnoqrstuvwxyzz{{||}}~~亖亖亖亗倐倐們儍儎剟剟剠厖厖厗唵噰噰噰垐垑墘墘妸妸媼媼媽寣崓崓崕帋弿弿彁悙悙悜憫憭拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗槝槝槝槝槝槝槝櫃櫃櫃櫃櫄殮殮殯潪牏ぅí锤祭那宋艺刿萼怃骅殡祉铒痧耨耱蝌蝰耩痫铐祀殍驽汊噙蒇谪渍砸严翁耸扇瞧拍拿寐亮览靠靠烤揪揪揪窘浇浇浇浇浇浇浇浇技技技技换换换缓汗构构垢父贩贩范抖档档荡创吵吵巢膊膊脖北鞍鞍鞍隘┅┅┅┅┅┅┅┄èèèèЁΖゥぃ灉殬晸悕妵剚~{wtqnjgeb_][YWVTSRQPPPPPPPQQRSTUVWYZ\^_`bcefhiklmnoqrstuvwxyzz{||}}~~亖亖亖倐倐儍儍儍儍剟剟剟剠厖厖厖唵噰噰噰垐垑墘墘妸媼媼媼寣崓崓崓帋帍弿弿彁悙悙悜憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晻枛枛枛枛棗棗棗棗槝槜棙槝槝槝槞櫃櫃櫃櫄殮殮殮洔潫、うǐ蹈祭那宋艺刿萼怃骅殡祉铒痧耨耨蝌蝰耩镱铐祀殍驽汊噙蒇谪渍砸严瓮趟噬惹婆哪妹铝晾览览靠靠靠靠揪揪揪揪揪揪揪揪揪浇浇浇浇技技技蓟换汉汉汗构构父阜贩抖抖兜荡创创闯吵膊膊脖北北北卑鞍鞍鞍┅┅┅┅┅┅┅┄èèèèЁЖèЁЁЁЁЁΖΖЁΖΖΖΖΖゥゥΖゥゥゥゥゥゥゥゥイいぅゥイいいイいいいいぃ########ⅱ##"ⅱⅲ#"ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ ⅱⅱⅰ  ⅱ   ⅱ                     牋煘潨洑槚敀弽妶厒{xurokhfc`^[YWUTRQPONNMMMMMMNNOPQRSTVWY[\^_abdfhijlmoprstuvwxyz{||}}~亖亗倐們儍儍儎剟剟剟剠厖厖厖唵唵唵唶噰垐垐垐墘墘墛妸媼媼媽寣崓崓崕帋弿弿弿悙悜憫憫憭拻拻拻摀摀摀摀敂敂晻敃晻晼枛枛枛枟棗棗棗棙槝槝槝槞櫃槞櫃櫃櫃櫃櫄殮殮殮殮洓洓洓洓洓洓洓洔湝湝湝湝潩潩潩潩潪灋潩灋灋灋灋灋灍煘灋灋灍煘灋灋煙煙灋灍煙煙灋煙煙煙煙煙煚牋煙牋牋牋牋牋牎牋牋  牋牎            、ⅰ 、ⅱⅱⅰⅱⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ"ⅱⅱ#"ⅱⅱ##ⅱⅲ##ⅱⅲ##ⅱⅲ##"###############¥うЗ驳富韭湃滔艺刿葸怃彗殛腠铑镳耨耱蝌蝌蝌蝰耩镲铐腙殓驽汊噙蒈圪刂沼已邢瓮趟适缮惹瞧婆排拍拿妹妹妹侣侣侣侣侣侣侣铝亮亮亮览揽靠靠烤揪浇浇郊技换换缓汉构构垢阜贩贩范抖档档档创创创闯吵膊膊膊脖北北北鞍鞍鞍鞍┅┅┅┅┅┄èèèèěЁèěЁЁЁЁЕΗЁЕΖΖΖΖΖΖΖΖゥゥウゥゥゥゥゥゥゥゥゥゥゥゥゥいいゥイいいゥゥいいゥイいいいいいいいいいいいいいいいいいいいいぃ¥いい########"ⅲ##ⅱⅲ##ⅱⅲ##"###"ⅲ##ⅱⅱ##ⅱⅱ##ⅱⅱ##ⅱⅰ煘潨洐棔拹崑垍|yurolifc`^\ZXVTSQPOONNNNMMNNOPQRSTUWXZ\]^`aceghjkmnoqrtuvwxyz{||}}~~亖亖倐儍儍儍儎剟剟剟厖厖厖厖唵唶噰噰噲垐垑墘墘妸妸妺媼寣寣寣崓崕帋帋帍弿弿弿悙悜憫憫憭拻拻拻摀摂敂敂敂晻晻晻晼枛枛枛枛棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫄殮殮殮殮殮殮殯洓洓洔潪牎%З驳菇滥人弦肇圯噔滏栝腱眍镳瘃耨蝌蝌蝰耩镲铐礻殓驽汊噙蒇谫字杂研衔吞耸扇瞧婆拍妹侣侣亮晾览览览揽坷览揽靠靠靠靠烤揪烤揪窘浇浇浇技技技换缓汉汉构父父父贩抖抖抖档荡创创创吵吵吵巢膊辈膊北卑氨北卑鞍鞍鞍隘┅ěΕぃ潧櫀搼帇垊亊zwspmjgda_\ZYWUTRQQPPPPPPPQQRSTUVXY[\^`abdegijkmnoprstuvwwxyz{||}}~~亖倐倐倐儍儍儍儍剟剟剟剠厖唵唵唵噰噲垐垐垑墘妸妸妺媼寣寣實崓帋帋帍弿弿弿悙悜憫憫憭拻拻拻摀摂敂敂敂晻晻晻晻枛枛枛枟棗棗棗棙槝槝槝槞櫃櫃櫃櫃殮殮殮殮殮殮殮殯洓洓洓湠煛¥Θ钡辜滥人我肇圯噔滏栝腱眍镳瘃耨蝌蝌蝰耩痫铐祀殍珏溷徇捃圪刈赵已邢瓮淌扇惹瞧排拿妹寐侣亮亮亮晾览览览览靠坷览揽靠靠靠靠揪揪揪窘郊技技蓟换缓汉汗构父父阜贩抖抖抖档档档荡创吵吵吵膊膊膊脖北北北卑鞍鞍鞍隘┅èЕィ灉櫁攽帇垍{xtqnkheb`^\ZXVUTSRRQQQQQQRSTUVWXYZ\]_`bcdfhiklmnpqrtuvvwxyz{{||}}~亖亗倐倐倐儍儍儍儎剟剠厖厖厗唵唵唶噰垐垐垐墘妸妸妸媼媽寣寣崓崓崓崕帍弿弿彁悙憫憫憫憭拻拻拻摀摀摀摀敂敂敂敃晻枛枛枛枟棗棗棗棙槝槝槝槝櫃櫂槞櫃櫃櫃櫃殮殮殮殮殮洓洓洔潫。うǐ蹈祭那宋艺刿萼怃骅殛祉铒痧耨耱蝌蝰耩痫铑盱觊珂邃忉咻苴儇终右邢瓮趟噬惹瞧婆哪妹侣侣亮览览览览靠览览揽靠坷览靠靠靠靠揪揪揪揪浇浇浇技蓟换换缓汗构构垢阜贩贩范兜档档档创吵吵吵巢膊膊膊脖北北北鞍鞍鞍鞍┅ěΕ"牉洐枔憥妵剚}zvsplifca^\ZXWUTRQQPPPPPPPQQRSUUWXY[]^`abdegijkmnoprstuvwxyz{{||}}~亖倐倐倐們儍剟剟剟厖厖厖厗唵唵唵噰垐垐垐墘墛妸妸媼媽寣寣實崓帋帋帋弿弿弿悙悜憫憫憭拻摀摀摀摂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗槝槝槝槝槞櫃槝櫃櫃櫃櫃櫄殮殮殮殮洓洓洓湠煛¥Θ钡辜滥撬我肇圯噔滏栝腱眍镳瘃耨蝌蝌蝰耩镲铐祀殍珏溷徇捃圪刈赵已邢瓮趟缮惹瞧婆哪妹妹侣亮亮亮亮晾懒亮晾览览览览揽靠靠靠烤揪揪揪浇浇浇技换换换汉构构垢父贩贩范抖档档档荡创创创吵巢膊巢膊北北北北鞍鞍鞍鞍┅┄Еィ灈櫀攽帇垊亊zwspmjgda_][YWUTRQQPPPPPPPQRSTUVWXY[\^_abceghjklmopqstuvvwxyz{|||}~~亖亗倐倐們儍儍儍儎剟剟剟厖厗唵唵唶噰噰噲垑墘墘墛妸媼媼媽寣崓崓崓帋帍弿弿悙悜憫憫憭拻拻挀摀摀摀摂敂晻晹晻晻枛枙晼枛棗棖棗棗槝槜槝槝櫃櫂櫃櫃櫄櫃櫃殮殮殮殮殯洓洓洔灍。うǐ锤祭们宋言宗葸怃骁殛祉铒痧耨耨蝌蝰耩痫铑盱觊珂邈忄咻圳儇终右邢瓮趟噬惹瞧婆哪妹寐侣亮亮亮亮览览览览览坷览览靠靠靠靠揪揪揪揪浇浇浇郊蓟换换缓汗构构父阜贩贩抖兜档档档创创创创吵巢膊膊脖北北北鞍鞍鞍鞍隘┄ěΕ"牉洐枖憥媹剚~zwspmjgda_\ZYWUTSRQQPPPPPPQRSTUVWXZ[]^`abdegijlmnoqrstuvwxyz{{|}}~~亖亗倐儍儍儍剟剟剟剟厖厖厖厖唵唵唵唶噰垐垐垐墘墘墛妸媼媼媼寣實崓崓崕帋弿弿彁悙悙悙憫憭拻拻拻摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫄殭櫃殮殮殮殯湞煛ⅳΘ钡讣滥撬我肇圯噔滏栝觎眍镳瘃耨蝌蝌蝰痧镲铐祀殍珏溷徇捃圪刈赵已邢瓮耸扇乔破拍拿寐侣铝晾览览览揽览览览靠靠览靠靠靠靠揪窘浇窘浇技技技蓟缓汉汉汗构父父阜贩抖抖抖档档档荡闯吵吵吵膊膊膊膊北北北卑鞍鞍鞍隘┄Еィ灉櫁攽帇垍亊zwspmjgda_\ZYWUTRQQPPPPPPPPQRSTUVWYZ\]_`acdfhiklmnpqrtuuvwxyz{{||}}~~亖亖倐倐倐儍儍儍儎剟剟剟剠厖厖厗唵噰噰噲垑墘墘墛妺媼媼媽實崓崓崕帋弿弿弿悙悜憫憫憭拻拻拻摀摀摀摀敂敂敂敂晻晻晻晼枛枛枛枟棗棗棗棗槝槝槝槝櫃櫃櫃櫃殮殮殮殮殯洓洓洔灍。うǐ蹈祭那宋艺刿萼怃骅殡祉铒痧耨耱蝌蝌耨痫镱盱腴桤驿汜噢苒谪字砸研衔吞松扇乔破拍妹妹侣铝亮亮晾览览览览揽靠靠靠靠究靠烤揪窘揪窘浇技技技蓟换换汉汗构垢父阜贩贩抖兜档档档创创创闯吵膊膊膊脖北北北卑鞍鞍鞍隘┅ěΕあ牉湚棓拸寜厒{xurnkhec`^\ZXVUTSRQQQQQQQRSTTUVWYZ\]_`acdfgijlmnoprstuvwwxyz{|||}~~亖亖亖倐倐們儌儍儍剟剟剟剠厖厖厗唵噰噰噰垐垑墘墘妸妺媼媼寣實崓崓帋帋帋弿彁悙悙悜憫拻拻拻挀摀摀摀摂敂敂敂敂晻晻晻晻枛枛枛枟棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫃櫃櫃殮殮殮殯潪牏ぅИ锤祭们宋颜宗葸怃骁殛祉铒痧耨耨蝌蝰耩痫镱盱觊珂邃忉咻苴儇终右邢瓮趟噬惹破排拿侣侣亮晾览览览揽靠坷览靠靠靠靠靠揪靠烤揪浇骄浇浇技技技换缓汉汉汗构父父贩范抖抖兜档档档创闯吵吵巢膊膊膊北北北北鞍鞍鞍鞍┅ěΕ"牉湙棓憥媹剚~zwspmjgda_][YWUTRQQPPPPPPPPQRSTUVWYZ\^_`bcefhiklmnpqrsuuvwxyz{{||}}~亖亗倐倐們儍儍儍儎剟剟剟剠厖厖厗唵噰噰噲垐墘墛妸妸媼媼媽寣崓崓崓崕帋弿弿弿悙悙悙憫憫拻拻拻摀摀摀摀敂敂敂敂敃晻晻晻枛枛枛枛棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫃殭櫃櫄殮殮殮殮殯洓殮洓洓洓洓湝湝湝湝湝湝湝湝湝潩潩湝潩潩潩潩潩潪灊潩潪灋灋灋灋煙煙灋灍煙煙煙煙煙煙煙煙煚牊煙煚牋牋煙煚牋牋煙煚牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋牋牎 牋牎        ⅱⅰ  ⅱⅰ  ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱ ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲぅΘ贝泛玖湃讼艺刳葸徙彗殛腱眍镳耨耱蝌蝌蝌耨耩痫铐礻殍珂溷徉掭苒儇终右研衔吞耸噬扇瞧破婆排哪哪哪妹妹妹妹寐侣侣侣侣亮亮亮亮览览览揽烤揪揪窘郊技技蓟缓汉汉构父父父贩抖抖抖档荡创创闯吵吵吵巢膊辈膊北卑鞍鞍鞍隘┅┅┅┅┅┅┅┅èèèèèèèěЁЁЁЁЁЁЁЁΖΖΖΖΖΖΖΖゥウΖΕゥゥウΕゥゥウΕゥゥゥゥゥゥゥゥゥゥゥゥいいゥイいいいいいいいいぃいいい#¥いぃ##いぃ##いい#¥いい##いぃ################"###ⅱⅲ##ⅱ###"ⅱ 牊灊洐棔搼帇垎|yvrolifca^\ZXVTSQPOONNNMMMMNOPQRSTUVXZ[]^_acdfhiklmoprstuvwxyz{||}}~~亖倐倐倐們儍儍儍儎剟剟剟剠厖厖厗唵唶噰噰噲垐墘墘墛妸媼媼媽寣崓崓崓帋帋帋弿彁悙悙悙憫憫憫憭拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻晼枛枛枛枟棗棗棗棗槝槝槝槝槞櫃槞櫃櫃櫃櫃櫄殮殮殮殯洓洓洓洓洔湝洓湝湝湝湝湝湞潨湝湞潩潩潩潩灋灋潩灋灋灋灋灋灋灋灋灋煙煙灋煙煙煙煙煙煙煙煙煙煙煙煙煙牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋  牋牎  牋牎               、ⅰ  ⅱⅱ ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ%Θ贝泛玖湃讼艺刳葸徙彗殛腱眍镳耨耱蝌篌蝌蝰耩痫铐腙殍珏溻徇捃圳刈赵右研贤趟适缮惹破婆排拍拿妹妹妹侣侣妹寐侣侣侣铝亮亮亮览揽靠靠烤揪浇浇浇技技蓟换汉汉构垢父贩贩范抖抖兜档创创创闯吵吵吵膊脖北北北鞍鞍鞍隘┅èЕィ灈櫀攽帇垊亊zwtpmjgda_\ZXWUSRQQPPPPOOPPQRSTUVWYZ\]_`acdfhijlmnoqrstuvwxxyz{{||}}~~亖亖亖亗倐倐倐儍儍儍儎剟厖厖厖唵唶噰噰垐垑墘墘妸妺媼媼寣寣寣崓崕帋帋帋弿彁弿悙悙憫憫憫拻拻拻摀摀敂敂敂敃晻晻晻晻枛枛枛枛枟枛枟棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫄殮殮殯湠牏%И锤豢们饰言宗葸怃骁殛祉铒镳耨耨耱耨耩镲铐祀觇珂邈忄咻圳刈衷友邢瓮趟扇乔破拍拿侣侣亮晾览览览靠靠靠靠靠揪靠靠揪揪揪揪浇浇浇郊蓟换换缓汉构构构父贩贩贩抖档档档创创创吵巢膊膊膊脖北北北鞍鞍鞍鞍┅èЕイⅰ煗洏晸悕妵剙}zvspmifda_\ZYWUTSRQQPPPPPPQRSTUVWXY[]^`abdegijkmnopqstuvvwxyz{{||}}~~亖亖倎倐倐儍儍儍儎剟剟剟厖厖厖唵唶噰噰噰垐垐垐墘墛妸妸妺媽寣寣實崓帋帋帋弿彁悙悙悜憫憫憫拻挀搾摀摀敂敂敂敂晻晹晻晻晼晻晼枛枛枛枛枟棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫄櫃殯湠牎%И锤豢们饰言宗葸怃骁殛祉铒痧耨耱蝌蝰耩痫铑盱觊珂邈忄咻圳刈衷友形吞耸扇瞧婆拍妹侣亮亮览揽坷揽靠靠靠靠揪揪揪揪揪浇浇浇浇技技技蓟换换缓汗构构垢父贩贩贩抖档档档荡创创闯巢膊膊膊北北北北鞍鞍鞍隘┅ěЕイ煗殬晸悕妵儉}yvrolifc`^\ZXVTSRQPPOOOOOOPQRSTUUWXZ[]^`abdfgijklnoprstuuvwxyzz{{||}~~~亖亖亖亗倐倐倐儍儍儍剟剟厖厖厖唵噰噰噰垐垑墘墘妸妺媼媼寣寣崓崓崕帋帋帍弿悙悙悙悜憫憫憭拻挀摀摀摀敂敂敂敃晻晻晻晼枛枛枛枛棗棖枟棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃櫄櫃殯湠牏%И锤豢们饰言宗葸怃骁殛祉铒痧耨耱蝌蝌耩痫铑盱觊珂邈忄咻圳僮衷友邢瓮趟扇乔婆拍寐侣亮晾览靠靠靠烤揪揪揪揪揪揪揪窘浇浇浇浇郊浇技蓟换换缓汗构构垢阜贩贩范抖档档档创闯吵吵巢膊膊膊北北北卑鞍隘┅┄ěЕィ煗殬晸悕妵剚}zwspmjgda_][YWVTSRQQPPPPPPQRSSTUVWYZ\]_`acdfgijkmnoprstuuvwxyzz{{||}~~~亖亖亖亗倐倐倐儍儍儍儎剟厖厖厗唵噰噰噲垐垑墘墘妸妺媼媼寣寣寣崓崕帋帋帋弿弿弿悙悜憫憫憫拻拻拻挀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛枟棗棗棗棗棙槝棗槝槝槝槝櫃櫃櫃櫄洔灎。ェ按坊棵剖窝宰谳哚沐玳觌眍镲痧耨耨耨耨痫镱盱腴桄邃忉咿苴僮终右邢瓮趟嗜瞧婆拍妹铝亮览览靠靠靠烤揪揪揪揪揪揪揪揪浇浇揪浇浇浇郊技蓟换换缓汗构构垢阜贩贩范兜档档创闯吵吵巢膊膊膊北卑鞍鞍鞍┆┅èЁΕ"牊潥槙搻崐噭}yvsolifc`^\ZXVUSRQPPPOOOOPPQRSTUVWYZ\]_`acdfgijlmnoqrstuvwxyzz{||}}~~亖亗倐倐倐儍儍儍儎剟剟剟厖厖厖唵唶噰噰噲垐墘墘墘妸妺媼媼寣寣崓崓崕帋帋帍弿悙悙悙悜憫憫憫拻拻拻拻摀摀摀摂敂敂敂敃晻晻晻晻枛枛枛枛棗棗棗棗棙槝槝槝槝櫃櫂櫃櫃櫃櫃殯湠煛%И捶豢们饰言宗葸怃骁殛祉铒痧耨耱蝌蝌耩痫铑黼觇珂溷徉捃圪刈赵已衔吞耸扇瞧排哪寐铝亮亮览靠靠靠靠靠靠靠烤揪揪揪揪浇浇浇郊蓟缓构范闯碑Г殫搻寜厒~{wtpmjheca`^\[ZZYYYYYYZ[\]^_`abdeghiklmoprstuvwyz{|}}~亗倐儍剟厖厖厖唵唵唵噰噰噲垏噲垐垐垐垐墘墘墘墛妸妺媼媼媽寣寣實崓帋帋帋弿弿弿彁悙憫憫憫憭拻拻拻摀摀摀摂敂敂敂敃晻晼枙晼枛枛枛枛棗棗棗棗棙槝槝槝槞櫃櫂槞櫃櫃櫃櫃櫄殮殮殮殮洓洓洔灍。うǐ蹈祭那宋艺刿萼怃骅殛祉铒痧耨耱蝌蝌耩痫镱盱觊珂邈忄咻圳僮衷友邢瓮趟扇乔婆拍拿侣侣亮晾览览览靠靠靠靠烤揪揪揪揪浇骄浇浇技技技蓟换换缓汗构构垢阜贩贩范兜档档荡创吵吵吵巢膊膊膊北北北卑鞍┅┅┅┅┄èèèèèèèèЁЖěЁЁЁЁΖΖΖΖΖΖΖΖΕゥウΖゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥイいゥゥいいいいいいいいぃ##ぃ#########################ⅱ##"ⅱⅲ#ⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱⅱ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ 、ⅱ  、ⅱ  、ⅱ   ⅰ      、ⅱⅰ、ⅱⅱⅱⅱⅱⅱⅱ ⅱⅱⅰ 、ⅱ   ⅱ  、ⅱⅰ ⅱⅱⅰ ⅱⅱⅰ ⅱⅱⅱ、ⅱⅱⅰ 、ⅱ                   ⅰ   ⅱ  ⅱⅱⅰ ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲⅱⅱ###ⅲ#################い#########ⅲ##"ⅲ###########ⅲ###ⅲ###ⅲ##"ⅱ##"ⅱⅲ#ⅱⅱⅲ#"ⅱ#######ⅲ##"ⅱ##"ⅱ##"ⅱ##ⅱⅱⅲ#ⅱⅱⅱ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ#ⅱⅱⅲ#ⅱⅱ 牋煘湜櫁晸憥媺唭}zvspmjgda_\ZXVUSRPOONNNNMMNNOPQRRSUVXY[\^_abdfgijlmnpqstuvwxyz{||}}~亖亖倐倐倐們儍儍儍儎剟剟剟剠厖厖厖唵唶噰噰噰垐垐垐墘墛妸妸媼媽寣寣實崓崓帋帋弿弿弿悙悙憫悜憫憭拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻晼枛枛枛枟棗枛棗棗棗棗棙槝槝槝槝櫃櫃櫃櫃櫄殮櫃殮殮殮殮殮洓洓洓洓洓洓洓洔湝湝湝湝湞潨湝湞潩潩潩潩潩潩潩潩灋灋潩潪灋灋灋灋灋灋灋灋灋灋灋灋煙煙灋灋煙煙灋灍煙煙煘煙煙煙煙煙煙煙煙煙煚牊煙煙牋牋煙煚牋牋煙煚牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋  牋牎  牋牎  牋牋 牋牋  牋牎                 牋   牋牎  牋                     、   ⅱⅱ 、ⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ##いいゥウウΖΖΖゥイい"牊灋潨洑櫃槜枙敂搾拺憪弿弾帋帊崓崓崓崓寣崓崓崓崕帋弿弿弿悙憫憭拻挀摀敂敂敃晻晻晻枛枟棗枟棗棗槜棗槝槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫃櫃殭櫃櫄殮殮殮殮洓洓洓洓洔湜洓殭槜晸憦崑垍儉}zwtpmjgeb_][YWUSRPONMLKKJIIIHHHHGGGGGGGGGGGGGGGHIKNRUY^bhnu|儕挋牕豪攀嫌综掎滏殡祛镳耱篌趑趑貂貂趑篁痤礻桢廪圩酉饲戮沟杯│湙棔搼悘帊崒崓崕帋彁憭摀敃枟槞櫄洓湝潪灍煙煙牋牋牋牋牎 牋牋牋牊煙煙煙煘灋灋灋灋灊潩灋灋灊潪灋灋灋灋灋灋灋灋灋煙灋灋煙煙煙灍煙煙煙煙煙煙煙煙煚牋煙煙牋牋牊煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋牎 牋牋牎 牋牋牎 牋牋  牋  牎        、ⅱ  、ⅱ     、%Η┆贝坊玖湃滔艺刳葸徙彗殛腱眍镳瘃耱蝮篌篌篌篌篌篁蝰耨痧镱盱祀觊桤驽溷忉噙掭苒圳儇字终栽右蜒研邢衔瓮屯屯烫怂怂怂适缮缮缮热惹乔乔破排排拍拿妹侣侣亮览览靠烤揪浇浇郊技换换汉汗构构父阜贩贩抖抖抖档档创创创闯吵吵吵膊脖北北卑鞍鞍鞍隘┅┅┅┅┄èèèèèèèěЁЁЁЁЁЁЁЕΖΖΖΖΖΖΖΕゥウΖゥゥゥゥゥゥゥゥゥゥゥゥイいぅゥいいいいいいいいいいいいい¥いいぃ##ぃ#############ⅲ##ⅱⅱⅱ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 牊灊洑槚敀弽妵剚~{xtqnkheb`][YWUTRQOONNMMMMMMMNOPQRSTVWYZ\]_`bdfgijkmnpqstuvwxyz{||}}~亖亖倐們儍儍儍剟剟剟剟剟剟剠厖厖厖唵唵噰噰噲垐墘墘墘妸妺媼媼寣寣寣崓崕帋帋帋弿彁悘悙悙憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂晻晻晻晻枛枛枛枛枟棗棗棗棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃櫃櫃櫃殮殮殮殮殮殮殮殮洓洓洓洓洓湝洓洓湝湝湝湝湝湝湝湝湞潩潨湞潩潩潩潩潩潪潩潩灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牋煙煙煚牋牊煙牋牋牋煚牋牋牋牋牋牋牋煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎 牋  牋  牋牎 、%Θ┇驳辜烂鞘窝宰谲哚沐玷觌祉铒痧耨蝌蝌蝌蝰耩痫铐祀殍珂溷徇捃圳刈赵友邢瓮趟噬扇乔婆拍哪妹寐侣侣铝亮亮亮亮览览览览揽靠靠靠烤揪揪揪浇技技技换缓汉汉构父父阜范抖抖兜档创创创吵巢膊膊脖北北北鞍鞍鞍鞍┅┅┅┅┅┅┅┄èèèèèèèЁЁЁЁЕΖΖΖΖΖΖΖΕゥΖΖΕゥゥΕゥゥゥゥイいぅイいいいいい¥いいぃ#¥い#####ⅲ##"ⅱⅲ#ⅱⅱⅱ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ、ⅱⅱⅰ 、ⅱ                   ⅱ  牋煘潨洐槚攽弻妵剚~{xtqnkheb`][YWUTRQPONNNMMMMMNOOPQRSUVXY[\^_abdfgijklnoqrstuuvwxyzz{{|}}~~~亖亖亖倐倐倐倐們儍儍儍儎剟剟剟厖厖厖唵噰噰噰垐墘墘墘妸媼媼媼寣實崓崓崕帋帋帋弿弿弿弿悙悜憫憫憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛棗棗棗棗棗槜棗棙槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫃殮殮殮殮殯洓殮洓洓洓洓洓湝湝湝湝湝湝湝湝潩潩湝潩潩潩潩潩潩潩潩潩潪灋潩灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煙煙灋煙煙煙煙煙煙煙煙煙煙煙煘煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牋牋煙煚牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎ⅲうī倒祭们释言踪苓徙彗桕腱眍镳瘃耱蝌蝌蝰耩痫镱盱觊桄邃忉咻苒儇渍砸研衔吞耸扇惹破拍哪妹寐铝亮亮亮晾懒亮晾览览览览靠靠靠烤揪揪窘浇技技技换汉汉汉构父父父贩抖抖抖档荡创创闯巢膊膊膊北北北卑鞍鞍鞍┅┅┅┅┅┅┅èèèèèèèěЁЁЁЁΖΖЁΖΖΖΖΖΕウΖΕゥゥゥゥイぅゥイいいいいいいいいぃいいい##いぃ############ⅱⅲ##ⅱⅲ##ⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱ  ⅱⅰ  ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱ  ⅱⅰ        牋牊煘潩洑櫁晸憥寜唭}zwtpmjgdb_]ZXVUSRPONNMMMMLLLMNOPQQRSUVXZ[\^_abdfghjklnoqrsttvwxyyzz{||}}~~~~亖亖亖亗倐倐倐們儍儍儍儎剟厖厖厗唵噰噰噰垐墘墘墘妸妺媼媼寣寣寣實崓帋帋帋弿彁悙悙悜憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛枟棗棖棗棗棙棗棙槝槝槝槞櫃櫃櫃櫃殮殮殮殮殮殮殮殮洓洓洓洓洓洓洓洓洔湝湜洔湝湝湝湝湝潩湝湝潩潩潨湞潩潩潩潩潩潩潩潩潩灋潩潩灋灋灋潪灋灋灋灋灋灋灋灋灋煙灋灋煙煙煘灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牋煙煙牋牋牊煙牋牋牊煙煚牋煙煙煚牋牊煙牋牋牋煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎¥Η┆驳讣棵剖托宰佘掎沐玷觌祉铒痧耨蝌蝌蝌耨痧镱铎腙桤驽汊噙蒈谫刂沼已邢瓮淌缮热瞧婆哪拿妹侣亮亮亮览览览览靠靠靠靠烤揪揪揪揪浇浇浇郊技蓟换缓汉汉汗垢父父阜贩抖抖抖档荡创创吵巢膊膊脖北北北鞍隘┅┅┅┅èī┄èèèèЁЁЁЁЁЁЁЁЕΖΖΖΖΖΖΖΕゥゥゥゥゥゥゥイいいいいいいいいいいいいいいいぃ#いい#########ⅲ##"ⅱ##"ⅱ##"ⅱ##"ⅱ##"ⅱⅱ"ⅱⅱⅱⅱⅱⅱⅱⅱⅰ ⅱⅱ                             牎  牋煙灊湜殬棔搻帇墕儉}zwspmjgda_]ZXVUSQPONMMMMLLLLMMNOPQRSUVXY[\^_acdfgijkmnoqrsttvwxyyzz{||}}~~~~亖亖亖亖倐倐倐倐儍儍儍儎剟厖厖厗唵噰噰噲垐墘墘墘妸媼媼媼寣崓崓崓帋帋帋帍弿悙悙悙悜憫憫憫拻拻拻挀摀摀摀摀敂敂敂敂敃晻晻晻晻枛枛枛枛棗棖枟棗棗棗棗槝槝槝槝槝櫃櫂櫃櫃櫃櫃櫃殮殮殮殮殮殮殮殮洓洓洓洓洓洓洓洓湝湝湝湝湝湝湝湝湞潩潨湞潩潩潩潩潩潩潩潩潪灋潩潩潪灋灊潪灋灋灋灋灋灋灋灋灋灋灋灋灋煙灋灋灍煙煘灋煙煙煘灍煙煙煙煙煙煙煙煙煙煙煘灋煙煙煙煙煙煙煙煙煚牋牊煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎ⅳェí钡富棵剖托又佘掎沐骅觌祉铒痧耨耱蝌蝌耩痫镱盱腴桤邃汜咿苒谪字杂研衔吞耸扇惹瞧排哪拿妹侣亮亮亮晾览览览揽靠靠靠靠揪揪揪揪浇浇浇郊技技蓟缓汉汉构垢父贩贩抖兜档档创创创闯吵膊膊膊脖北北卑鞍┅┅┅┅┅èЁΕぃ灉殫晵弻墕儉|yvrolifc`^\ZXVUSRQPPPPPPPPPQRSTUVWYZ\]_`acdfgijklnoprstuuvwxyz{{{||}~~~亖亖亖倐倐倐倐儍儍儍儎剟剟剟厖厗唵唵唶噰噲垐垐墘墘墛妸媼媼媼寣崓崓崓崕帋帋帋弿弿弿弿悙悜憫憫憫拻拻拻挀摀摀摀摀敂敂敂敂晻晻晻晻晼枛晻枛枛枛枛枟棗棗棗棗槝槝槝櫅湠牎%ǐ逗韭粕托宰谲哚沐玳觌眍镲瘃耨耨耨耩痫铐盱觊珂邈忄咻圳刈赵已衔吞耸汕婆拍妹铝晾览靠烤窘浇浇浇浇浇浇浇技技浇技技技技蓟换换缓汉构构构父阜贩贩范抖档档荡创吵吵巢膊膊膊北卑鞍鞍鞍┅┅┅┅┅┅┄èèèèèèèěЁЁЁЁΖΖΖΖΖΖΖΕゥゥゥゥゥゥゥゥいぅゥイいいいいいいいい########ⅱⅲ##ⅱⅲ##ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ  ⅱⅱ  ⅱⅰ                                   牋牊煘灊洑櫁晸悗寜唭}zwtqmjgeb_][YWUSRPONNMMMMLLLMNNOPQRSUVXY[\]_abdfghjklnoprsstuvwxyzz{{|}}~~~~亖亖亖亖亖倐倐倐倐儍儍儍剟剠厖厖唵唵噰噰噲垐墘墘妸妺媼媼寣實崓崓崕帋帋帋弿弿弿彁悙憫憫憫憭拻拻拻挀摀摀摀摀敂敁摂敂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗棙槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫄殮殭櫄殮殮殮殮殯洓洓洓洓洓洓洓湝湝湝湝湝湝湝湝湝潩湝湝湞潩潨湞潩潩潩潩潩潩潩潩潪灋灊潩灋灋灊潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煙灋灋煙煙煘灍煙煙煙灍煙煙煙煙煙煙煙煙煙牋煙煙煚牋煙煙煚牋牊煙牋牋牊煙牋牋牊煚牋牋牋牋牋牋牋牋牋牋牋牎ⅳェí贝富柯粕托又佘捺沐骅觌祉铒痧耨耱蝌蝌耨痧镱盱腙桤驽汊噢蒇谪字砸研衔吞噬惹瞧婆拿寐侣铝晾览览览揽靠靠靠靠靠靠靠烤揪揪揪窘浇浇浇技换换换汉汗构构父贩贩贩抖档档档创吵吵吵巢膊膊脖北鞍鞍鞍隘┅┅┅┄èèèèèèèЁЁЁЁЕΖΗЕΖΖΖΖΖゥΖΖゥゥゥゥイいゥゥいいいいいいいいいいいい############"ⅱ##ⅱⅱⅲ#ⅱⅱⅱ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ ⅱⅱ                            牋  牋牋牎 牋牋牋 牋牋牎 牋牋牎 牋牊煙灊湜殬棔搻帇墕儉}zwspmjgda_\ZXVUSQPONMMMLLLLLMMNOPQRSTVWYZ\]^`bdeghijlmopqrstuvwxyyz{{||}}~~~~亖亖亖亖倐倐倐倐儍儍儍儎剠厖厖厗唵噰噰噲垐墘墘墛妺媼媼媽寣崓崓崓帋帋帋帍弿弿彁悙悜憫憫憫拻拻拻拻摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛枟棗枛棗棗棗棗棗槝槝槝槝槝槝槝槞櫃櫃櫃櫃殮殮櫃殮殮殮殮殮洓洓洓洓洓洓洓洓洔湜洓洔湝湝湝湝湝湝湝湝湝湝湝湝潩潩湝潩潩潩潩潩潩潩潩潪灋灋灋灋灋灋灋灋灋灋灋灋煙煘灋灋煙煙灋灍煙煙灋灋煙煙灋灍煙煙灋灍煙煙灋灍煙煙灋灍煙煙煙煙煙煙煙煙煙煙煙煙牋牋煙煚牋牋煙煚牋牋煙煚牋牋煙煚牋牋牊牋牋牋牋、ぅЗ蹈豢闷释杏仲苻徙彐桕腱眍镳瘃耨蝌蝌蝰痧镱铐礻殓驽溻徇捃圪刈赵已邢瓮趟扇惹瞧婆哪妹妹侣亮亮亮晾览览览览靠靠靠靠揪揪揪窘浇浇浇技蓟换换缓汗构构垢阜贩贩范抖档档荡创吵吵吵膊膊膊北卑鞍鞍鞍┅┅┅┅èèèèèèèèЁЁЁЁЁЁЁЕΖΖΖΖΕゥΖゥゥゥゥゥいぅゥイいいいいいいいぃ############ⅱⅲ##ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ、ⅱⅰ                       牋牎  牋牎 牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煙煘潨洑槜晵悗媺唭}zvspmjgda_\ZXVTSQPONMMMLLLLLLMNOPQRSTVWYZ\]_`bdeghiklnoprsstuvwxyzz{{|}}~~~~亖亖亖亗倐倐倐們儍儎剟剟剠厖厖唵唶噰噰垐垑墘墘墛妸媼媼媼寣寣崓崓崕帋帋帋弿弿弿彁悙悜憫憫憭拻拻拻拻摀摀摀摀敂敁摂敂敂敂敂晻晻晻晻晼枛枛枛枛枟枛枛棗棗棗棗棙槝槝槝槞櫃櫃櫃櫃櫃櫃櫃櫄殮殭櫄殮殮殮殮殮洓洑殯洓洓洓洓洓洔洓洓湝湝湝湝湝湝湝湝湞潩潨湞潩潩潩潩潩潩潩潩潩灋潩潩灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煘灋灋灋煘灋灋灋灋灋灋灋灋灋灋灍煙灋灋煙煙煙灍煙煙煙煙煙煙煙煙煙煙煙煙煙牋煙煙煚牋煙煙煚牋煙煙煚牋煙煙煚牋牊牎ⅳェí钡讣棵剖托灾佘掎沐玷觌祉铒痧耨蝌蝌蝌耨痧镱盱腙桤驽汊噢蒇谫字杂倚衔吞耸扇乔破拍妹妹侣亮晾览览揽靠靠靠靠揪靠靠揪揪揪揪浇浇浇技蓟换换缓汗构构垢阜贩贩范兜档档荡闯吵吵吵膊膊膊北卑鞍鞍鞍隘┅┅┅┅┄èèèèèèèЁЁЁЁЕΖΖΖΖΖΖΖΕゥゥゥゥゥゥゥイいぅゥいいいいい¥いいぃ##ぃ####"ⅱ##ⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ         牎   牎  牋牎 牋牋牋牋牋牋牋牋牋牋 牋牋牎 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煙煘灊湜殬枖拹帇垎儉}zvspmjgda_]ZXVUSRPONNMMMMLLLMNOPQRSTUWXZ\]^`acefhiklmoprsttuvwxyzz{{|}}~~亖亖亗倎亗倐倐倐們儍儍儍儎剟厖厖厖唵唶噰噰噲垐垐墘墛妸妸妺媽寣寣寣崓崕帋帋帍弿弿弿悙悙悙悙憫憫憫憭拻拻拻拻摀摀摀摀敂敂敂敂敃晻晻晻晼枛枛枛枛棗棖枟棗棗棗棗棙槝槝槝槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫃殮殮殮殮殮殯殮殮洓洓洓洓洓洓洓洓洔湝湝湝湝湝湝湝湞潩潩潩潩潩潩潩潪灋灊潩灋灋灊潪灋灋灋潪灋灋灊潩灋灋灋灋灋灋灋灋灍煙灋灋灋煙灋灋灍煙煘灋煙煙煘灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牋煙煙煚牋牊煙牋牋牊煙煚牋牊煙煚牋煙牎ⅲェí驳讣烂鞘窝宰谲哚沐玷觌祉铒瘃耨蝌蝌蝌耨痧镱盱腴桤驿汜噢苒谪渍砸研衔吞噬热瞧婆哪妹侣侣亮览览览揽靠靠靠烤揪究烤揪揪揪窘浇技技技蓟换缓汉汗构父父阜贩范抖兜档档创闯吵吵吵膊脖北北卑鞍鞍鞍┅┅┅┅┅┅┅┄èī┄èěЕゥあ潧櫁攽弻墔{xuqnkheb`][YWVTSQPPOOOOOOOOPQRSTUVWYZ\]^`acdfgijklmopqrstuvwwxyyzz{||}}}}~~~亖亖亖亗倐們儍儍儎剟剟厖厗唵唵唶噲垐垐墘墛妸媼媼媽寣寣崓崓帋帋帋帍弿弿弿悙悙悙悜憫憭拻拻拻摀摀摀摀摂摀摂敂敂敂敂晻晻晻晻枛枛枛枛枟棗棗棗棗棗棗槞殰灍。エ撤壕缕释言宗苓徙彗殛腠铒镳瘃耨耨耩痫铐盱觊桄邈忄咻苴刈赵友形吞耸扇桥拍妹侣晾揽靠烤窘浇浇浇技技技技技技技技换换换换缓汉汉汉构垢父父阜贩贩抖兜档荡创闯吵巢膊脖北北卑鞍┅┅┅┅┅┅┅┄èèèěЁЁЁЕΖΗЕΖΖΖΖΕゥゥゥゥぅゥゥいいいいいいいいいいいいい#いい########"ⅱⅱ"ⅱⅱⅱⅱⅱⅱⅱⅱⅰ ⅱⅱ                牋  牋牎 牋牋牋 牋牋牎 牋牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊煙牋牋牊煙牋牋牊煙牋牋牋牋牋牋牊煙灋潨湚櫂枖拹崑垍|yvsolifda^\ZXVTSQPONMMMLLLLLLMNOPQRSTVWYZ\]^`bdeghiklmopqrstuvwxyyzz{||}}~~~~亖亖亖亖倐倐倐們儍儍儎剟厖厖厖唵唶噰噰垐垐垐墘墛妸妸妺媼寣寣實崓崕帋帋帋弿弿弿彁悙悙悙悜憫憫憫憭拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛枛棗枛枟棗棗棗棗槝槝槝槝槞櫃櫂槞櫃櫃櫃櫃櫄殮殮殮殮殮殮殮殯洓洑殯洓洓洓洓洓洓洓洓洔湝湜洔湝湝湝湝湝湝湝湝湝湝湝湝湞潩潨湞潩潩潩潩潩灋潩潩潪灋潩潩潪灋潩潩潪灋灊潩灋灋灋灋灋灋灋灋灋灋灋灋灋煙灋灋灍煙灋灋灍煙煘灋煙煙煙灍煙煙煘灋煙煙煘灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牎ⅳェ┆扯菇聊人弦肇圯哜滏玳觎眍镲瘃耨蝌蝌蝌耨痧镱盱腴桤驿汜噢苒谪渍砸研衔退噬惹瞧婆拿寐侣亮晾览览靠靠揪靠靠揪揪揪揪揪揪揪窘浇技技技蓟换缓汉汗构垢父阜贩范抖兜档创创吵巢膊膊北卑鞍鞍隘┅┆┅┅┅┅èèèèěЁЁЁЕΖΖΖΖΖΖΖΕゥゥゥゥゥゥゥイいいいいいいいぃ#いい########"ⅱ##ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ ⅱⅱ   ⅰ        牋  牋  牋牋牎 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煚牋牋牋煚牋牋牊煚牋牋牊煙灋潨洑櫂枖拹崑垎儉}zvspmjgdb_]ZXWUSRPONNMMMMMMMMNOPQRSTUWXZ[]^_acefhijkmnpqrstuvwxyyzz{||}}~~~~~亖亖亖亖亗倐倐倐儍儍儍儍剟剟剟厖厗唵唵唶噰垐垐垑墘妸妸妺媼媽寣寣崓崓崓崕帋帋帋弿彁悙悙悙悜憫憫憫憭拻拻拻摀摀摀摀敂敂敂敂敂晹敂敃晻晻晻晻枛枛枛枛枛枛枛枟棗棗棗棗槝槝槝槝槞櫂槝櫃櫃櫃櫃櫃殮殮殮殮殮殮殮殮洓洓洓洓洓洓洓洓洓洓洓洓湝湝洓湝湝湝湝湝湞潨湝湞潩潩潩潩潩潩潩潩潩潩潩潩潪灊潩潪灋灋潩灋灋灋潩灋灋灋潩灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煘灋灋煙煘灋灋煙煘灋灋煙煙灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚、うЗ按泛韭派绦又氽捺怃骅殡祉铒痧耨蝌蝌蝌蝰耩镲铐祀殍珏溷徇捃圪刈赵已衔吞耸扇瞧婆哪寐侣亮晾览览揽靠靠靠靠靠揪揪揪揪窘浇浇浇技技技换汉汉汉构垢父父阜范抖抖兜荡创创闯巢膊膊脖北鞍鞍鞍┅┅┅┅èèèèèèèěЁЁЁЁΖΖЁΖΖΖΖΖゥゥゥゥゥゥゥイいいいいいいいい########ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅰ  ⅱⅰ        牎 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煙煚牋牋煙煙牋牊煙煙牋牊煙煙煚牊煙煙牋牊煙煘灊湝殭槚敀悕媹厓}yvspmjgda_\ZXVUSRPONNMMMLLLLMMNOPQRSTVXY[\]_`bdeghiklmopqrstuvwxxyyzz{||}}}}~~~亖亖亖亗倐倐倐儍儍剟剟剠厖唵唵唵噰噲垐垐墘墛妸妸媼媽寣寣實崓崓崓帋帋帋帍弿弿弿彁悙悜悙悜憫憭拺拻拻摀摀摀摂敂敂敂敂敂敂敃晻晻晻晻枛枛枛枛枟棗棗棗棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃櫃櫃櫃櫄殮殮殮殮殮殮殮殯洓洓殯洓洓洓洓洓洓洓洓湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湞潩潨湞潩潩潩潩潩潩潩潩潪灋潩潩潪灋灊潩灋灋灊潩灋灋灋灋灋灋灋灋灋灋灋潪灋灋灋灋灋灋灋灋灋灋灋灋灋煙灋灋灍煙灋灋灍煙灋灋灍煙灋灋灍煙灋灋灋煘灋灋灋灋灍煚ⅳェ┇捶豢缕赏杏仲苻徙彗桕腱眍镳耨耱蝌蝌蝌耩痫镱盱觊桄邃忉咻苴僮终友邢瓮趟噬惹破拍拿侣铝亮览靠靠靠烤揪揪揪揪揪揪揪浇浇浇郊技换换换汉汗构构父父贩贩范抖抖兜荡创创创吵膊膊膊北北卑鞍鞍┅┅┅┅èèèèЁЖěЁΖΕぃⅰ牉湚槚搻帇垍亊{wtqnkgeb_][YWUTRQPPOOOOOOOOPQRSTUVXY[\]_`acefhijklnopqrsttuvwxyyyzz{|||}}}}~~亖亖亖亗倐儍儍儍剟剠厖厖唵唶噰噰垐垐垑墘墛妸妸妺媽寣寣實崓崕帋帋帍弿弿弿悙悙悙悜憫憫憫憭拻拻拻拻摀摀摀摀敂敂敂敂敃晻晻晻晻枛晻晼枛枛枛枛棗棗棗槡洕煛%ǐ逗韭剖脱宰谳哚溴玳觎眍镳瘃耨耱蝰耨痫铑盱腴桄溷忄咻圪刂沼倚贤趟噬惹拍妹铝晾靠揪窘浇技技技技换换换换换换换换缓汉汉汉汗构构构父父阜贩范抖抖档荡创闯吵巢膊膊脖北鞍鞍鞍隘┅┆┅┅┅┅┄èèèèèèèЁЁЁЁЕΕイぃⅰ煘湚槙搻崑垍亊{xtqnkheb`][YWVTSQPPOOOOOOOOPQRSTUVWY[\]_`acdfgijklmopqrsstuvwxxyyzz{|||}}}}~~~~~~亖亖亖亗倐們儍儍剟剟剟厖唵唵唵噰噲垐垐墘墛妸妸妺媼寣寣寣崓崓崓崕帋帋帋弿彁悙悙悙憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敂晻晻晻晻晻晻晻枛枛枛枛棗棗棗槞殰潫。エ捕壕缕赏性宗苓徙彗殛祉铒镳耨耨耨耨耩镱盱腙殓驿忉噢苒僮赵友形退噬惹婆拿侣亮揽烤揪浇郊技技技蓟换换换换缓换换换汉汉汉汉构构构构父父阜贩抖抖抖档创创创吵巢膊膊脖北鞍鞍鞍┅┅┅┅┅┅┅┅èèèèЁЁЁЁΖΖΖΖΕウΖΕゥゥゥゥゥゥゥイいいいいぃ¥いぃ########"ⅲ##ⅱⅱ#"ⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ、ⅱⅰ    牋牎 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊牋牋牋煙煚牋牋煙牋牋牋煙煚牋牋煙煙牋牋煙煙牋牊煙煙煚煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙灋灊潨湜櫂棔搼弻妵剚~{xurolifc`^\YWVTRQPONMMLLLLLLMMNOPQRSUVXZ[\^_acdfgijkmnoqrsstuvwxyzz{{||}}}~~~亖亖亖亗倐倐倐儍儍儍儎剟厖厖厖唵唶噰噰垐垑墘墘妸妺媼媼寣寣崓崓崕帋帋帋弿弿弿彁悙悙悙悜憫憭拻拻拻摀摀摀摂敂敂敂敂敃敂敃晻晻晻晻枛枛枛枛棗棗棗棗棗棗棗棗槝槝槝槝槝槝槝槞櫃櫃櫃櫃殮殮殮殮殮殮殮殮洓洓洓洓洓洓洓洓湝湝湜洔湝湝湝湝湝湝湝湝湞潩潨湞潩潩潨潩潩潩潩潩潩潩潩潩潪灋潩潩灋灋灋灋灋灋灋灋灋灋灋灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牊煙煙煚牋煙煙煚牋煙煙煚牋煙煙牋牋牊煙牋牋牊煚牋牋牋牋牋牋牋牋牎  ⅲウī俺豆嚼那宋言宗葸徙彗殛腱眍镳耨耱蝌蝌蝌耨痫镱盱觊桄邃忉咻苴僮终右邢瓮趟噬惹瞧排拿寐侣铝晾览览览靠靠靠靠靠揪靠烤揪揪揪窘浇技技技换缓汉汉构父父阜范抖抖档荡创创吵巢膊膊膊北鞍鞍鞍隘┅┅┅┅èèèèèЁèèЁЁЁЁЕΖΖΖΖゥΖΕゥゥゥゥゥいゥゥいいいいい#いい########"ⅱⅱⅱⅱⅱⅱⅱⅰ 、ⅱ  、ⅱⅰ 、ⅱ        牋  牋牋牎 牋牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牊煙牋牋牊煚牋牋牋牋牋牋牊煙牋牋煙煙煙牊煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煘灋煙煙煘灋灊湝洑槜晸憦崐噮|yurolifca^\ZXVTRQPONMMMLLLLLMNOPQRSTVXY[\^_abdfgijkmnoqrstuvwxyz{{||}}~~亖亖亖倐倐倐倐儍儍儍儎剟剟剠厖唵唵唶噰垐垐垐墘墘墛妸媼媼媼寣實崓崓崕帋帍弿弿彁悙悙悙悜憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛枟棗棖棗棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫄殮櫃櫄殮殮殮殮殯洓洓洓洓洓洓洓湝湝湝湝湝湝湝湝湞潩湝湞潩潩潩潩潩潩潩潩潩灊潩潩灋灋灋灋灋灋灋灋煙煙灋灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牊煙煙牋牋煙煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎 牋牋  牋牋  牎      ⅳェí俺逗搅娜宋艺刳葸徙彗殛腠铑镳耨耱蝌蝌蝌耨痫镱盱觊桄邃忉咻苴儇终右邢瓮趟噬惹瞧婆拿妹侣铝亮览览览览靠览揽靠靠靠靠烤揪揪揪浇浇技技蓟换换汉汗构构父阜贩范抖档荡创创吵巢膊膊脖北北卑鞍鞍鞍隘┅┅┅┅ī┅┄èèèèЁЁЁЁЕΖΖΖΖΖΖΖΕゥΖΖゥゥゥゥゥゥゥゥイいぅイいいいいい¥いい########"ⅱⅲ"ⅱⅱⅱⅱⅱ ⅱⅱ             牎  牋  牋  牋  牋牋牎 牋牋牎 牋牋牎 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊煙牋牋牊煙牋牋牊煙牋牋煙煙煙煙煙煘灊潨洑櫁晸憦崐垍|yvsolifda^\ZXVTSQPONNNNMMMNNOPQRSTUWXZ\]_`acefhjklmopqstuvwxyzz{||}}~~亖亖亖亗倐倐倐們儍儍儍剟剟厖厖厖唵唵唵噰垐垐垑墘妸妸妸媼媽寣寣崓崕帋帋帍弿彁悙悙悜憫憫憫拻拻拻拻摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃櫃櫃櫄殮殮殮殮殮洑殮殯洓洓洓洓洔湝湝湝湝湝湝湞潩潩潩潩潩潩潩潩潪灋潩潪灋灋灋灋灋灋灋灋灋灋灋灋煙煙煘煙煙煙煙煙煚牋煙煚牋牋牊煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋                、ⅰ  、ⅰ  、ⅰ  ⅱⅱⅰⅱⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ¥Θ┇贝泛玖湃讼艺刳葸徙彗殛腠铑镳耨耱蝌蝌蝌蝰痧镱盱腴桤邃汜咿苒儇渍右研衔退噬热乔婆拍拿妹寐侣亮亮亮晾览览览览览览揽靠靠靠烤揪浇浇浇技蓟换换汉构构垢阜贩贩范兜档档荡闯吵吵吵膊膊膊北卑鞍鞍鞍隘┅┅┅┅èèèèěЁèěЁЁЁЁЕΖΖΖΖΖΖΖゥゥゥゥゥゥゥゥイいぅイいいいいいいいいいいいい########"ⅲ##ⅱⅱⅲ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ ⅱⅱ  ⅱⅱ 、ⅱⅱ  ⅱⅱ  ⅱⅱ  、ⅰ             牎          牊煘灊湜櫂枖拹崑垍|yvsolifca^\ZXVTSQPONNNMMMMMNNOPQRSTVWY[\^_abdfgijlmnpqstuvwxyz{{||}~~亖亗倐倐們儍儍儍儍剟剟剟剟厖厖厖唵唵噰噰噰垐墘墘墘妸媼媼媼寣崓崓崓帋帍弿弿悙悙悙悜憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃櫃櫃櫃殮殮殮殮殯洓洓洓洓洔洓洓湝湝湝湝湝潩潨湝潩潩潩潩潩灋灊潪灋灋灋灋灋煙煘灋煙煙煙煙煙煙煙煙煚牋牊煙牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋牎 牋         ⅱ  ⅱⅱⅰ、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ#ⅱⅱⅲ#ⅱⅱⅱ#ⅱⅱⅱ#ⅱⅱⅲ#ⅱⅱⅲ#ⅱ¥ェí蹈痪屡商弦肇圯噔滏玳觌眍镲瘃耨蝌蝌蝌蝰耩痫铐祀殍珂溷徉捃圳刈衷友邢瓮趟噬扇惹婆拍哪拿妹侣侣侣铝亮亮亮晾览览览览靠靠靠靠揪揪揪窘浇浇郊蓟换换缓汉构构垢阜贩贩范兜档档荡创吵吵吵巢膊膊膊北北北卑鞍┄ěЕイⅰ煗洏枔憥媹剚~zwtpmjgda_][YWUTRQQPPPPPPPQRSTUVWXY[]^`abdegijkmnoprstuvwxyz{{||}}~~亖亗倐倐倐儍儍儍儎剟剠厖厖厗唵唵唵噰噲垐垐墘墛妸妸媼寣寣寣崓崕帋帋弿弿彁悙悜憫憫憭拻摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗棗槝槝槝槝櫃櫂槞櫃櫃櫃櫃殮殮殮殮殯洓洓洔灍。うǐ倒祭那宋艺刿萼怃骅殡祉铒痧耨耱蝌蝌耨痫镱盱觊珂邈忄咻圳刈衷友衔吞耸扇瞧婆拍妹侣铝亮晾览览览揽靠靠靠靠靠靠靠烤揪揪揪浇浇浇郊技换换换汉构构构父贩贩范抖档档档创闯吵吵巢膊膊膊脖北北北鞍鞍鞍鞍┅┅┅┅┅┅┅┄èèèèèèèěЁЁěЁЁЁЁЁΖЁЁЕΖΖΖΖΖΖΖΖΖΖΖΕゥゥゥゥゥゥゥゥいゥゥイいぅゥいいいゥいいいいいいいいぃ##い####################################"ⅱⅲ#ⅱⅱⅱ#ⅱⅱⅱⅱⅱⅱⅱ#ⅱⅱⅱ#ⅱⅱⅲ#ⅱⅰ 牊灊湜櫁晸悗媹厓|yvspmjgda_\ZXWUSRQPOOOONNNOOPQRSTUVXY[\^_abdfgiklmnpqstuvwxyz{||}}~~亖亖倐們儍儍儍剟剟剟剟厖厔厖厖唵唵唵噰噲垐垐墘墛妸妸媼媽寣寣實崓崓崕帍弿弿彁悙憫憫憫拻拻拻挀摀摂敂敂敃晻晻晻晻枛枛枛枛棗棖棗棗槝槝槝槝櫃櫃櫃櫃櫃櫃櫃殮殮殮殮殯洓洓洓洔湝湝湝湝湞湝湝潩潩潨湞潩潩潩潩潪灋灋灋灋灋灋灋灍煙煙煙煙煙煙煙煙牋煙煙煚牋牊煙牋牋牋牋牋牋牋牋牎 牋牋牎 牋牋            、ⅱⅰ ⅱⅱⅱⅱⅱⅱⅱⅱⅱ"ⅱⅱⅱ#ⅱⅱⅲ#ⅱⅱ##"ⅱ########################¥い##¥い#いΗ┇安蹈痪屡商弦肇圯哜溴玳觌眍铒瘃耨蝌蝌蝌蝌耨痧镱黼觊桤邃忉咿蒇谫渍杂已邢翁怂适扇惹破破排拍哪哪拿妹妹妹妹寐侣侣侣侣亮亮亮晾览览览靠揪揪揪浇技技技换汉汉汉构父父贩范抖抖兜档创创创吵吵吵巢膊北北北北鞍鞍鞍鞍隘┅┅┅┅┅┅è┅┅èèèèèЁèèЁЁЁЁЁЁЁЁЕΖΖΖΖΖΖΖΖΖΖΖΕゥΖΖΕゥウΖゥゥゥゥゥゥゥゥゥぅゥゥイいゥゥイいぅゥいいいいいいいいいいいいいいいいぃ#いいぃ#¥いぃ#¥い#########ⅲ###############ⅱⅰ煘潧櫁晸悗媹厒|yurolifc`^\YXVTSQPOONNNNMMMNOPQRRSUVXZ[]^`acefhjklmoprstuvwxyz{|}}~~亖亖倐們儍儍儎剟剟剟剠厖厖厖厖唵唵唵唶噰垐垐垑墘墛妸妺媼媽寣寣崓崓崓帋弿弿弿彁悙憫憫憫拻拻拻挀摀敂摂敂敃晻晻晻晼枛枛枛枟棗枟棗棙槝槝槝槞櫃槞櫃櫃殭櫃殮殮殮殮殮洓洓洓洓湝湝湝湝湝湝湝湝潩潩潩潩潩潩潩潪灋灋灋灋灋灋灋灋灍灋灋灋煙煙煙煙煙煙煙煙牋牋煙牋牋牋牋牋牋牋牋牋牎牋牎                   ⅱⅰ 、ⅱⅱ 、ⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱ##ⅱⅲ##ⅱⅲ##ⅱⅲ##ⅱⅲ##ⅱ################うЗ驳富韭湃滔艺刿葸怃彗殛腠铑镳耨耱蝌蝌蝌耨痧镱铎腙殍驽溻徇掭圳僮衷右研衔吞怂噬扇乔破破排哪哪哪拿妹妹妹妹侣侣侣侣铝亮亮亮览览览靠烤揪揪窘浇浇郊技换换缓汉构构父父贩贩范抖档档档荡创创创吵吵渤吵膊脖北北北鞍鞍鞍鞍┆┅┅┅┅èè┅┄èèèèěЖèěЁЁЁЁЁЁЁЕΖΖΖΖΖΖΖΖΕΖΖΖゥウΖΖゥウΖΖゥゥΖΕゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥいぅゥイいいいいいいいいぃいいい#¥いい#いいいいいいいいいいいいいいいいいいいいいいいいいいい#"ⅰ牊灊洐棔搻帇垍|xurnkheb`][YWUTRQPONNNNMMMMNOOPQRSTVWY[\^_abdfgijkmnpqstuvwxyz{||}}~亖亖倐們儍儍儍剟剟剟剟厖厖厖厗唵唵唵噰噲垐垐垑墘墘妸妺媼媼寣實崓崓帋帍弿弿彁悜憫憫憫拻拻拻挀摀摂敁敂敂晻晹晻晻枛枙枛枛棗棖枟棗槝槝槝槝櫃櫃櫃櫃殮殭櫄殮殮殮殮殯洓洓洔灍。うǐ蹈祭那宋艺刿萼怃骅殡祉铒痧耨耱蝌蝌耨痫镱盱腴桤驿汜噢苒谪字杂研衔吞耸扇乔破拍妹妹寐铝亮亮亮晾览懒亮览览览览揽靠靠靠靠揪揪揪窘浇浇郊蓟换换缓汗构构垢阜贩贩范兜档档档创创创吵巢膊膊膊脖北北北卑鞍鞍鞍隘┅ěΕ"牉湙棓憥媹厒~{xtqnkheb`^\ZXVUTSRQQQQQQQRSTUVWWYZ\]_`acdfgijlmnoprstuvwwxyz{|||}}~亖亗倐倐們儍儍儍剟剟剟剠厖厗唵唵噰噰噰垐垑墘墘妸妺媼媼寣實崓崓崕帋弿弿弿悙悙悙憫憭拻拻拻挀摀摀摀敂敂敂敂晻晻晻晻晼枛枛枛枛棗棗棗棙槝槝槝槞櫃櫃櫃殮殮殮殮殯洓洓洓洓湝洓洓湝湝湝湝湝湝湝湝湞潩潩潩潩潩潩潩灋灋灋灋灋灋灋灋灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牋牊煙牋牋牋煚牋牋牋牋牋 牋牋牎 牋  牋         ⅱ  ⅱⅱⅱ、ⅱⅱⅱⅱⅱⅱⅱ ⅱⅱⅰ、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱⅱ#ⅱ¥ウí捶壕僚人弦肇谳哚溴玳觌祛铒瘃耨蝌蝌蝌蝌耨痧镱盱觊桤驿汜噢蒈谫字沼已邢瓮趟耸缮惹瞧破婆拍哪哪哪拿妹妹妹寐侣侣侣侣亮亮亮晾览览揽靠揪揪揪浇郊技技换缓汉汉构父父父贩范抖抖档档档荡创吵吵吵巢膊膊膊脖北北北鞍鞍鞍鞍隘┄Дあ牉湙棓憥媹剚~zwspmjgda_][YWUTRQQPPPPPPPQQRSTUVWY[\^_`bceghjklmopqrtuvvwxyz{{||}}~亖亗倐倐們儍儍儍剟剟剟剠厖厗唵唵唶噰噰噲垐墘墘墛妸媼媼媽寣崓崓崓帋帍弿弿悙悙悙憫憭拻拻拻摀摀摀摂敂敃晹敃晻晼晻晼枛枛枛枛棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃殮殭櫄殮殮殮洔潫牏うí锤祭们宋颜刳萼怃骅殡祉铒痧耨耱蝌蝌耨痫镱盱腴桤邃汜咿苒谪渍砸研衔吞噬热瞧婆哪妹侣侣亮览览览览览览览揽靠坷揽靠靠靠靠揪揪揪窘浇技技技换缓汉汉构垢父父贩抖抖抖档档档创闯吵吵吵巢膊膊膊北卑鞍鞍隘┅┅┅┅ī┅┅èèèèěЁЁЁЁЁЁЁЕΖЁЁЕΖΗЁΖΖΖΖΖゥΖΖΕゥウΖゥゥウΖゥゥゥゥゥゥゥゥゥゥゥゥイいゥゥイいぅゥいいいいいいいいい¥いいい¥いいぃ#いい###い###い#############################"ⅰ煘湜櫁晸悗媹厒|yurolifc`^\ZXVTSQPOONNNNMMNNOPQRSTUVXZ[]^_acdfhiklmoprstuvwxyz{||}}~亖亗倐儍儍儍儎剟剟剟剠厖厖厖厗唵唵唵噰噰噰噲垐垐墘墘妸妸妺媼寣寣實崓帋帋帋弿彁悙悙悜憫憫憫拻挀摀摀摀敂敂敂敂晻晻晻晻晼枛枛枛枛棖枛棗棗棗棗棙槝槝槝槞櫃櫃櫃櫄殮殮殮殮殯洓殮洓洓洓洓洓湝湝洓湝湝湝湝湝湞潨湝湞潩潩潩潩潩潩潩潪灋灋灋灋灋灋灋灋灍煙灋灍煙煙煙煙煙煙煙煙牋牋煙牋牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牎                ⅱⅱ 、ⅱⅱ ⅱⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ"ⅲぅΘ贝泛玖湃讼艺刳葸徜彗殛腱铑镳耨耱蝌蝌蝌耨痧镲铎腙殍珏溻徇掭苴僮衷右研衔吞怂噬扇乔破婆排哪哪哪妹寐旅妹寐侣侣侣铝亮亮亮晾览靠靠靠揪揪揪浇郊技技换缓汉汉构垢父父贩抖抖抖兜荡创创创吵吵吵膊脖北北北鞍鞍鞍隘┅┅┅┅┅┅┅┄è┅èèèèèЁЁЁЁЁЁЁЁΖΖЁΖΖΖΖΖΖΖΖΖゥウΖΕゥゥゥゥイぅゥイいいゥイいいゥイいいいいいいいいいいいいいいいいぃいいい##い###################¥ぃ##いぃ################"ⅱ 牊灊洐棔搼帇垎儉|yvspmjgda_\ZXVUSRPPONNNNNMNNOPQRRSUVXY[\^_abdfgijlmnpqstuvwxyzz{||}}~亖亗倐倐倐儍儍儍儍儍剝儍剟剠厖厖厗唵噰噰噲垐墘墘墛妸媼媼媽寣寣實崓帋帋帋帍弿弿彁悙悜憫憫憫拻拻拻拻摀摀摀摀敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗棙槝槝槝槞櫃櫃櫃櫃殮殮殮殮殮殮殮洓洓洓洓洔湝湝湝湝湝湝湝湝潩潩湝潩潩潩潩潩潪灊潩潪灋灋灋灋灋灋灋灋灍煘灋灍煙煙煙煙煙煙煙煙煚牊煙煚牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋  牋牎  牋牎  牋         、ⅰ  ⅱⅱ  ⅱⅰ  ⅱⅱ 、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ%Θ┇贝泛搅娜宋言宗葸徙彗殛腱眍镳耨耱蝌蝌蝌耨痧镱铎腙殍驽溻噙捃圳刈赵右研贤趟适缮惹破婆排哪妹妹妹寐侣侣侣铝亮亮亮亮览览览览靠靠靠烤揪浇浇郊技换换缓汗构构垢阜贩贩范抖抖兜档创创创闯巢膊膊膊北北北北鞍鞍鞍鞍┅┅┅┅┅┅èèèèèèèěЁЁЁЁΖΖЁЕΖΖΖΖΖΖΖΖΕウΖΖゥウΖΕゥゥゥゥゥゥゥゥゥゥゥゥイぅゥイいいいいいいいいいいいいいいいい##いぃ##いぃ##いぃ################ⅱⅲ##ⅱⅲ##ⅱⅲ##ⅱⅲ##ⅱⅲ##ⅱ###ⅱⅱ牊潨洐棔拹崑垍|xurnkhec`][YWUTRQPONNMMMMLMMNOPQRSTUWXZ\]^`bceghjklnoqrstuvwxyz{{||}}~亖亖倐倐倐儍儍儍儍剟剟剟剠厖厖厖唵唶噰噰噲垐垐墘墛妸媼媼媽寣寣實崕帋帋帋弿弿弿悙悙憫憫憫憭拻拻拻摀摀摀摂敂敃敂敃晻晼晻晼枛枛枛枟棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃櫃櫃櫃殮殮殮殮殯洓洓洓洓湝湜洔湝湝湝湝湝潩湝湞潩潩潩潩潩潩潩潩潪灋灊潩灋灋灋灋灋灋灋灋灍煙煘灋煙煙煙煙煙煙煙煙煙牋煙煙牋牋牋煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎 牋                        、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲうī撤航聊人窝宰谳哚沐玷觌祉铒瘃耨蝌蝌蝌蝰耩痫铐祀殍珂邈徉掭苴儇终右研衔吞耸缮惹瞧排拍哪妹侣侣侣铝亮谅铝亮亮亮亮晾览览览揽靠靠靠揪窘浇浇郊技技换缓汉汉构垢父阜贩范抖兜档荡创创闯巢膊膊膊北北北北鞍鞍鞍鞍┄ěΔ!煗洐枔憥媷剚}zvsplifca^\ZXWUSRQQPPPPPPPQQRSTUVWYZ\]_`bcefhjklmopqrtuuvwxyz{{||}}~亖亗倐倐倐儍儍儍儎剟剟剟厖厖厖唵唶噰噰噲垑墘墘墛妺媼媼媽寣崓崓崓帋帋帋帍弿悙悙悙悜憫憫憫拻拻拻挀摀摀摀摂敂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗棙槝槝槝槝櫃櫃櫃櫃櫃櫃殯湠牎%И捶豢们饰言宗葸怃骁殛祉铒痧耨耱蝌蝰耩痫铑黼觊珂邈忄掭圳刈衷已衔吞耸扇瞧婆拍妹侣亮亮览靠靠靠靠靠靠靠烤揪究烤揪揪揪揪浇浇浇郊技换换换汉构构构父贩贩贩抖档档档创创创闯巢膊膊膊北卑氨鞍鞍┅┆┅èěΖィ煗殬晸悕妵儉}yvsolifc`^\ZXVUSRQPPPPOOOPPQRSTUVWXZ[]^`abdegijklnoprstuuvwxyz{{{|}}~~亖亖亖亗倐倐倐儍儍儍儎剟厖厖厖唵唶噰噰垐垑墘墘妸妸媼媼媽寣寣崓崕帋帋帋弿弿弿彁悙憫憫憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晻枛枛枛枛棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫃殮殮殯湠牎%З撤豢闷释言宗苓徙彗殛腠铒镳耨耨蝌蝰耩镲铐祀觇珂溷忄掭圳刈衷友邢瓮趟扇瞧婆拍寐侣亮亮览靠靠靠烤揪揪揪揪揪揪揪窘浇浇浇郊技技技蓟换换缓汗构构垢阜贩贩范兜档档档创创闯吵巢膊膊膊北北北卑鞍隘鞍隘┅┅┅┅┅┄èī┅èèèèěЁЁЁЁΗЁЁΖΖΖΖΖΖΖΖΖΖΖΖΕゥゥΕゥゥゥゥゥいぅゥいいいいいいいいいいいいいいいいぃ#いい#################ⅲ##"ⅲ##"ⅱ##ⅱⅱⅲ#"ⅱ##ⅱⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 牊灊洑槚敀弽妵剚~{xtqnkheb_][YWUSRPONNMMMMMMMMNOPQRSTUWYZ\]_`bdeghjklnoqrstuvwxyz{{||}~~亖倐倐倐儍儍儍儍儎剟剟剟剠厖厖厗唵噰噰噰垐垑墘墘妸妺媼媼寣寣寣崓崓帋帋帋弿弿弿彁悙憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛棗棗棗棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃殮殭櫄殮殮殮殮殯洓洓洓洓洔洓洓湝湝湝湝湝湝湝湝湞潩潨湞潩潩潩潩潩灋潩潩灋灋灋灋灋灋灋灋灍煙灋灋灍煙煘灋煙煙煙煙煙煙煙煙煙煙煙煙煙牋煙煙煚牋牋煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎 牋  牋  牋  牋   牎           ⅱぅЗ扯航滥撬窝宰谲哚沐玷觌祉铒痧耨蝌蝌蝌蝰耩痫铐祀殍珂邈忄掭苒儇终右研衔吞耸噬热瞧排拍哪妹侣侣侣侣亮谅铝亮亮亮亮晾览览览揽靠靠烤揪浇浇郊蓟换换汉汗构垢父贩范抖抖兜档档档创闯吵吵巢膊膊膊北北北卑鞍┅┅┅┅┄èèèèèèèěЁЁЁЁЁЁЁЕΖΖΖΖΖΖΖΖウΖΖΕゥゥゥゥゥゥゥゥゥゥゥイいいいいいいいい¥いいぃ#¥い#################ⅲ##"ⅱⅲ#ⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱⅲ#"ⅱⅲ#ⅱⅱⅱ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ牊灊湚槚敀悕妶厒|xurolifc`^\YXVTSQPOONNNNMMNNOPQRSTUWXZ[]^`acefhiklmoprstuvwxyzz{||}}~~亖亖亖亗倐們儌儍儍儎剝剟剟厖厖厖厗唵唵唶噰垐垐垐墘墛妸妸媼媽寣寣崓崕帋帋帍弿弿彁悜憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛枛棗棖枟棗棗棗棙槝槝槝槝櫃櫃櫃櫃櫃殮殭櫄殮殮殮殮洓洓洓洓洓湝湜洔湝湝湝湝湝湝湝湝湞潩潩潩潩潩潩潩潪灋灊潩灋灋灋灋灋灋灋灋煙煙煙煙煙煙煙煙煙煙煙煙煙牊煙煙煚牋煙煙煚牋牊煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎 牋牋牎 牋牋牋 牋牋牎 牋  牋  牋   牎  牋  牋   、%Θ┇驳辜烂鞘窝宰谲哚沐玷觌祉铒痧耨蝌蝌蝌蝰耩痫铐祀殍珂溷徉掭圳僮衷右研衔吞耸缮热瞧排排哪拿妹妹侣铝亮亮亮晾览览览览靠靠靠烤揪揪揪浇技技技换缓汉汉构父父父贩贩范抖兜档档荡创吵吵吵膊膊北北卑鞍鞍鞍┅┅┅┅┄èèèèèèèěЁЁЁЁЁЁЁΖΖΖΖΖΖΖΖゥゥゥゥゥぅゥゥイいいいいいいいいいいいい¥いいぃ#¥ぃ########################"ⅱ##"ⅱⅲ#ⅱⅱⅲ#ⅱⅱⅱ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ牊灊湚櫁晵悕媹厒|xurolifc`^\YWVTSQPONNNMMMMMMNOPQRRTUWXZ[]^_acefhijlmopqrstuvwxyz{{||}}~~亖亖亖倐倐倐倐儍儍儍儍剟剟剟剠厖厗唵唵噰噲垐垐墘墛妸妸媼媽寣寣實崓崓崓帋帍弿弿彁悙悙悙憫憭拺拻拻摀摀摀摂敂敂敂敃晻晻晻晻枛枛枛枛枟枛枟棗棗棗棙槝槝槝槞櫃櫃櫃殯湠煛¥Ι撤痪缕释性宗苓徙彗殛腠铒镳瘃耨耨耨痧镱盱腙殓驿汊噙蒇谪字杂研瓮趟噬惹破拍拿寐亮亮览揽靠靠靠揪揪揪揪揪浇揪揪浇浇浇浇技技技蓟换汉汉汉构构垢父阜贩贩范兜档档荡创吵吵吵膊膊膊北卑鞍鞍鞍隘┅┅┅┅èěΕぃ灉殫晵弻墕儉|yurolifc`^\ZXVTSRQPPOOOOOOPQRSTUVWXZ\]_`acdfgijkmnoprstuuvwxyzz{{||}}~~亖亖亖倐倐倐倐儍儍儍剟剟厖厖厗唵唶噰噲垐垑墘墛妸媼媼媽寣寣寣崓崕帋帋帋弿弿弿彁悙悙悙憫憭拻拻拻挀摀摀摀摂敂敂敂敃晻敂晻晻晻晻晼枛枛枛枟棗棗棗棙槝槝槝槝櫃櫃櫃殰潫、う┈坊韭剖脱宰谲哚沐玳觌眍镲瘃耨耱蝌耨痫镱盱腙桤邃汜噢苴儇终右邢瓮趟噬瞧婆拍妹铝亮览揽靠靠靠烤揪揪揪揪浇浇揪浇浇浇浇郊技技技换缓汉汉汗构父父阜贩抖抖兜档创创创吵吵巢膊北北北卑鞍鞍鞍┅┅┅┅┄ěЕイ!牉湚棔拸寜唭|yurokheb`][YWVTSQPPOOOOOOOOPQRSTUVWY[\]_`acefhijlmnpqrstuuvwxyzzz{||}}~~~~~亖亖亖亖倐倐倐們儍儍儎剟厖厖厖唵噰噰噰垐墘墘墘妸媼媼媽寣崓崓崓帋帍弿弿弿悙悙悙憫憫拻拻拻挀摀摀摀敂敂敂敃晻晻晻晻枛枛枛枛枟棗枛棗棗棗棗棙槝槝槝槝櫃櫃櫃殯潫牏うì逗韭粕托幼佘哚沐玳觌祛铒痧耨耨蝰耨痫镱盱腙桤邃汜噢苴儇终右邢瓮趟嗜瞧婆哪妹铝亮览揽靠靠靠揪揪揪揪揪揪揪揪揪浇浇浇浇技技技技换换汉汉构垢父阜贩抖抖兜档创创创吵吵吵膊脖北北卑鞍鞍鞍隘┆┅┅┅┅┅èЁΖイ!牉湚棔拸寜唭}yvsolifca^\ZXWUTRQQPPPPPPPQRSTUVWXY[]^_abceghjklmnoqrstuvvwxyzz{{||}}~~~~亖亖亖亖倐倐倐們儍剟剟剟剠厖厖唵唶噰噰垐垑墘妸妸媼媽寣寣實崓崓崕帋帍弿弿弿悙悙悙悜憫憫憫拻拻拻挀摀摀摀摂敂敃敂敃晻晻晻晼枛枛枛枛棗棗棗棗棗槝槜槝槝槝槝櫄洕煚ⅳΙ撤豢缕释言宗苓徙彗殛腠铒镳耨耨耨耨耩镱铐祀殍驽汊噙蒇谪渍杂严瓮趟噬惹婆拍拿铝亮览览靠揪揪揪窘浇浇浇浇浇浇浇技技技技蓟换换换汉汉汉汗垢父父父贩抖抖抖兜档荡创闯吵吵巢膊北北北卑鞍鞍鞍隘┅┅┅┅┅┄èЁΕぃ灉櫁敀弻墕|xurnkheb`][YWVTSQPPOOOOOOOOPQRSTUVXY[\^_`bcefhijlmnoqrsttuvwxyzz{{||}}~~~~亖亖亖亗倐倐倐們儍剟剟剟厖厖唵唵唶噰噲垐墘墘妸妸妺媼寣寣實崓崓帋帍弿弿弿悙悙悙悜憫拻拻拻挀摀摀摀摀敂敁摂敂敂敂敂晻晻晻晻晼枛枛枛枟棗棗棗棗槝槜棙槝槝槝櫄洕煚ⅳΘ撤壕缕赏性宗苓徙彗殛腠铒镳耨耨蝌耨耩镲铐祀殍驽溻徇捃谫字沼倚贤趟噬惹婆拍拿铝亮览览靠烤揪揪揪浇骄揪浇浇浇浇浇技浇郊技蓟换换缓汉汉汗垢父父阜贩抖抖抖档创创创吵吵膊膊脖北北北鞍鞍鞍鞍┅┅┅┅┅┄ěЁΕぃ灉殫晵弻墕儉|yvrolifc`^\ZXVTSRQPPOOOOOOPQQRSTUVXY[\^_`bcefhijkmnoqrsttuvwxyyzz{{||}}}~~~亖亖亖亗倐倐倐們儍剟剟剟厖厖厗唵噰噰噰垐墘墘墘妸媼媼媼寣實崓崓崕帋帋帋弿彁悙悙悙憫憫憫憭拻拻拻挀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛枛棗棗棗棗槝槝槝槝槞櫃櫃殰潫、う┈逗韭粕托宰佘哚沐玳觌祛铒痧耨耨耨耩镲铐祀觇珏溷徉掭圪刂赵已衔吞耸扇婆拍拿寐晾览览靠烤揪揪揪浇浇揪窘浇浇浇浇郊技浇技技技技换缓汉汉汗垢父父阜贩抖抖兜档创创闯吵吵巢膊北北北卑鞍鞍鞍┆┅┅┅┅èěЕイ!牉湚棔拸寜唭|yurolhfc`^\ZXVUSRQPPPOOOOOPQRSTUVWXZ[]^`abdfgijklmopqsttuvwxyzz{{||}}~~~亖亖倐倐倐們儍儍儍儎剟剟剠厖唵唵唵噰噲垐垐墘妸妸妸媼媼寣寣實崓崓崓帋帋帋帍弿彁悙悙悜憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛枟棗棗棗棗槝槝槝槝槝槝櫄洕煚ⅳΘ扯壕缕赏性宗苓徙彗殛腠铒镳耨耨蝌蝰耩镲铐祀殍驽溻徇蒇谪字杂研瓮趟噬惹婆哪妹铝晾览揽靠揪揪揪窘浇浇浇浇浇浇浇郊技技技蓟换换换汉汗构构垢父父贩范抖抖兜档创创创吵膊膊膊北北北鞍隘┅┅┅┅èěЕΕあ灈櫁敀弻墕|xurnkheb`][YWVTRQPPOOOOOOOOPQRSTUVXY[\^_`bcefhijkmnoqrsttuvwxyyzzz{||}}}}~~~亖亖亖亗倐倐倐儍儍剟剟剠厖厖唵唶噰噰噲垐墘墘墘妸媼媼媽寣崓崓崓帋帍弿弿彁悙悙悙悜憫憫憫拻拻拻拻摀摀摀摀敂敂敂敃晻晻晻晻枛枛枛枛枟棗棗棗棗槝槜棙槝槝槝櫄洕灎ⅲΘ扯壕缕赏性踪苓徙彗殛腠铑镳瘃耨耱耨耩镲铐祀殍驽溻徇蒇谪字杂研瓮趟噬惹婆哪妹铝览览靠烤揪揪揪窘浇骄揪浇浇浇浇浇浇浇浇技技技蓟缓汉汉汗构父父阜范抖抖兜档创创创吵吵膊膊脖北北北鞍鞍鞍隘┅┅┅┅è┅┅èěЕΕあ灉櫁晵弻墕儉}yvspmjgda_][YWUTSRQQPPPPPPQRSTUUVXYZ\]_`acdfgijklnopqsttuvwxxyzz{{||}}~~~~~亖亖亖亗倐倐倐儍儍剟剟剟厖厖厖唵噰噰噰垐垑墘墘墛妺媼媼寣實崓崓崕帋帋帋弿弿弿弿悙悜憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛枟棗枛棗棗棗棗棙槝槝槝櫅潪牏&ǐ逗韭粕托幼佘哚沐玳觌眍铒痧耨耨耨耩痫铑盱觊珂邈忄咻圳刈赵友衔吞耸扇瞧拍拿侣晾览揽靠揪揪揪窘浇浇浇浇郊冀浇郊技技技技换换换汉汗构构垢父贩贩贩抖抖抖档荡创创闯吵吵巢膊北北北卑鞍鞍隘┆┅┅┅┅èèèèěЁΕぃⅰ煗洐棓憦寜唫|xurnkheb`][YWVTSQPPOOOOOOOPPQRSTUVXY[\^_`bcefhijkmnoqrsttuvwxyyzz{{|}}~~~~亖亖亖亗倐倐倐儍儎剟剟剟厖厖厗唵噰噰噲垐墘墛妸妺媼寣寣寣崓崓崓帋帍弿弿弿彁悙悙悙憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晻枛枛枛枛枟棗枛棗棗棗棗棙槝槝槝櫅湠牏%ǐ逗韭粕托又佘哚沐玳觌眍铒痧耨耨耨耩痫铑盱腴桄邈忄咻圳刈赵已衔吞耸汕婆拍拿侣晾览揽靠揪揪揪窘浇浇浇浇浇浇浇浇技技技技换换换缓汉构构构父父父贩抖抖抖档荡创创闯巢膊膊膊北北北鞍隘┅┅┅┅èèèèЁЕΕぃⅰ煗洐棓拸寜唭|xurnkheb`][YXVTSQQPPOOOOOOOPQRSTUVWYZ\]_`acefhijklnopqrstuvwwxyyzz{{||}}}}~~亖亖亖倐倐倐們儍儍儎剟厖厖厖唵噰噰噰垐垑墘墘妸妺媼媼寣寣寣崓崕帋帋帋弿彁悘悙悙憫憫憫憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晻枛枛枛枛枛枛枛棗棗棗棗槝槝槝櫄洕灎ⅲΘ捕壕缕赏杏仲苓徙彗殛腱铑镳瘃耨耨耨痫镱盱腙殓邃汜噢蒇儇终砸严瓮趟噬瞧排拿寐亮览揽靠揪揪揪揪浇浇浇浇浇浇浇浇郊技技技蓟换换换汉汗构构父父贩贩范抖兜档荡创创吵巢膊膊脖北鞍鞍鞍隘┅┅┅┅┄èèèèЁΖイ"潧櫁攽弻墕|xurnkhec`^[YXVTSQQPOOOOOOOPQRSTUVWXZ[]^`abdeghjklmopqrstuvwxyyzz{{||}~~~~~亖亖亖亗倐倐倐們儍剟剟剟厖厖厖唵唶噰噰噲垐墘墘墛妸媼媼媼寣實崓崓崕帋帋帋帍弿弿弿悙悙悙悜憫拻拻拻挀摀摀摀摂敂敂敂敂晻晹敃晻晻晻晻枛枛枛枛枟棗棖枟棗棗棗槞殰灎。エ捕壕缕赏性宗苓徙彗殛腠铒镳耨耨耨耨痧镱眄腙殓驿汊噙蒇儇渍砸严瓮趟嗜瞧拍拿寐晾揽靠靠揪浇浇浇浇技浇浇郊技技技技技技技换换换缓汉构构构父阜贩贩抖档档档创吵吵吵膊膊膊脖北鞍鞍鞍隘┅┅┅┅┄èèèèЁΖイ"潧櫁攽帉垍{xtqnkheb_][YWUTRQPPOOOOONOOPQRSTUVWYZ\]_`acdfhijklnoprsstuvwxxyzzz{{|}}}}}~~~亖亖倐倐倐儍儍儍剟厖厖厖唵唶噰噰噲垑墘墘墛妺媼媼媽寣崓崓崓帋帋帋帍弿弿彁悙悜憫憫憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晻枛枛枛枛枟棖枛枟棗棗棗棗槝槝槝櫅湠牎%ǐ逗韭粕托幼佘哚沐玳觌眍镲痧耨耨蝰耨痫铑盱觊珂邈忄咻圳刈赵已衔吞耸汕婆拍妹铝晾揽靠烤揪浇窘浇浇浇浇浇技技浇技技技技蓟换换换缓汉构构垢父贩贩范抖档档荡创吵吵吵膊膊膊北鞍鞍鞍隘┅┅┅┅┅┅èèèèěЕΕぃⅰ煗洐棓拸寜唭|yvsplifda_][YWUTSRQQPPPPPPQRSSTUVWYZ\]_`abdfgijklmnpqrstuuvwxyyzz{{||}}}}~~~亖亖亖亖倐倐倐們儍儍儎剟厖厖厖唵唶噰噰垐垑墘墘妸妺媼媼媽寣寣實崓帋帋帋弿弿弿弿悙悙悙悙憫憫憫憭拻挀搾挀摀摂敂敂敂晻晻晻晼枛枛枛枛枟枛枛棗棗棗棗棗棙棗槞殰潫。ェ捕航僚商杏仲苻徙彗桕腱眍镳瘃耨耨耨痫镱盱腙桤邃汜噢苴僮终右邢吞耸扇瞧拍拿侣晾揽靠靠揪浇浇浇郊技技技技换技技换换换换换汉汉汉汗构构构父贩贩贩抖抖兜档荡创创闯巢膊膊膊北鞍鞍鞍隘┅┅┅┅┄è┅┅èèèèěЁΖイ"牊潧櫀攽帇垍{xuqnkheb`][YWVTSQPPOOOOOOOOPQRSTUVWY[\]_`acefhijkmnoqrsttuvwxyyzz{{||}}}}~~~亖亖亖亗倐倐倐儍儎剟剟剠厖厖厗唶噰噰垐垑墘墘墛妺媼媼媽寣崓崓崓帋帋帋帍弿彁弿彁悙憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敂敂敂敂晻晻晻晻晼枛枛枛枟棗棗棗棗棙棗槞殰灍。エ捕壕僚赏杏仲苓徙彗殛腠铒镳瘃耨耨耨痧镱眄礻殓驿汜噢苒儇终右邢翁耸扇瞧拍拿寐亮览靠靠揪浇浇浇浇浇浇浇郊技技技技换患蓟换汉汉汉汗构构垢阜贩贩范抖档档档创吵吵吵巢膊膊脖卑鞍鞍鞍┅┆┅┅┅┅┄èèèèЁèèЁЕΕイ"牊潧櫀攽帇垍{xuqnkheb`][YWVTSQPPOOOOOOOOPQRSTUVWYZ\]_`acdfgijklmopqrstuvvwxyyzz{{|}}}}}~~亖亖亖亗亖亗倐儍儍儍剟剠厖厖唵唶噰噰垐垑墘墘妸妸媼媼媽寣寣實崓帋帋帋帍弿弿弿悙悙悙悜憫憭拻拻拻摀摀摀摀敂敂敂敂晻晹敃晻晻晻晻枛枛枛枛枟棗棗棗棗棗棗槞殰潫、ェ驳菇僚商杏仲苻徙彗桕腱眍镳痧耨耨耩痫铐盱腴桄邈忉咿苴僮终右邢吞耸扇瞧拍拿寐晾览靠靠揪窘骄浇浇浇浇浇郊技技技技技技技换换换汉汗构构构父贩贩贩抖档档档创吵吵吵膊北北北卑鞍鞍隘┅┅┅┄èèèèЁЖěЁΖゥぃⅰ牉湚槚搼帇垍{xuqnkheb`][YWVTSQPPOOOOOOOPPQRSTUVXY[\^_`bcefhijlmnpqrstuvvwxyzz{{||}}~~~~亖亖亖亗倐倐倐們儍儍儍剟剠厖厖唵唶噰噰噲垐墘墘墛妸媼媼媼寣寣寣崓崕帋帋帋弿弿弿彁悙悙悙悜憫憫憫拻拻拻拻摀摀摀摀摂敂敂敂敃晻晻晻晻枛枛枛枛枟棖枛棗棗棗棙櫄湞煛%ǐ逗韭派托幼佘哚沐玳觌眍镲痧耨耨耨耩镲铐祀觇珏溷徉捃圪字沼倚贤趟噬惹婆拿寐铝览靠靠揪浇浇浇浇郊冀浇郊技技技技蓟换换换汉汉汉汉构构构父贩贩贩抖兜档档荡闯吵吵巢脖北北卑鞍鞍鞍隘┅┅┅┅┅┅┅┄èèèěЁΖイあ灉殬枔憥媹厒~{wtqmjgdb_][YWUTRQPOOOONNNOOPQRSTUVWYZ\]^`acdfghjklmopqrsttuvwxyyzz{{||}}}}~~~亖亖亖亖倐倐儍儍儍剟剟厖厗唵噰噰噲垐墘墘墛妺媼媼媽寣寣實崓帋帋帋帍弿弿弿悙悙憪悙憫憫拻憭拻拻搾拻摀摀敂摂敂敂晻敂晻晻晻晻枛枛枛枛枛棗棗棗棗棗棗棗棙槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫄殮殮殮殮殮殮殮殮殮殮殮殮洓洓洓洓洓洓洓洓湝湝洓湝湝湝湝湝湝湝湝湝潩潩潨潩潩潩潩潩潪灊潩潩灋灋潩潪灋灋潩灋灋灋灋灋灋灋灋灋灍煘灋灋煙煘灋灋煙煙灋灍煙煙煘煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚、%Ж锤豢闷释杏仲苻徙彗桕腱眍镳瘃耨蝌蝌蝰耩镲铐祀殍珏溷徉捃圳刈衷已邢瓮趟扇惹破拍妹侣侣亮览览览揽靠靠靠靠揪揪揪揪揪揪揪窘浇浇郊技换换换汉构构构父贩贩范抖档档荡创吵吵巢膊北北北鞍隘┅┅┅┅èèèèЁЁЁЁЁЁЁЕΖΖΖΖΖΖΖΕゥゥゥゥイゥゥゥいいぅいいいいいいいいい########ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ、ⅱⅰ           牋牋 牋牋牎牋牋牎牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊牋牋牋煙煚牋牊煙煘灊湜殭槚敀悕媹厒|yvsolifda^\ZXVTSQPONMMMLLLLLLMNOPQRSTVWYZ\]_`bdfghjklnopqrstuvwxyyzz{||}}~~~亖亖亖亗倐倐倐倐儍儍儍剟剟厖厖厖唵唶噰噰垐垑墘墘妸妺媼媼媽寣寣實崓崕帋帋帍弿弿弿悙悙悙悜憫憫憫憭拻拻拻拻摀摀摀摀敂敂敂敂敃晻晻晻晼枛枛枛枛枛枛枛棗棗棗槞殰灍。エ扯壕缕释言宗葸徙彗殛祉铒镳耨耨耨耨痫镱盱腙桤邃忉咿苴刈赵友形吞耸扇桥哪妹铝晾靠靠揪窘浇浇浇郊技冀浇技技技技技换技蓟换汉汉汉构垢父父贩贩贩抖兜档档创闯吵吵膊脖北北北鞍隘┅┅┅┅┅┅┅èèèèěЁЁЁЁΖゥぃⅰ牉湚槚搻帇垍亊{wtqmjgdb_][YWUTRQPOOONNNNNOOPQRSTUVXY[\^_`bdeghijkmnoqrrstuvwxxyyzz{||}}}}}~~~亖亖亖亗倐倐們儍剟剟剠厗唵唵唶噰垐垐垑墘妸妸妺媼寣寣寣崓崓崓帋帋弿弿弿彁悙悙悙悜憫憫憫憭拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻晼枛枛枛枟棗棗棗棗棗棗棗棙槝槝槝槝槝槝槝櫃櫃櫃櫃櫃櫄櫃櫃殮殮殮殮殮殮殮殮殮洓殮殯洓洓洓洓洓湝洓洓湝湝湝湝湝潩湝湝潩潩潨湝潩潩潩湞潩潩潩潩潩潩潩潩潩灋潩潩灋灋灊潩灋灋灊潪灋灋灋潪灋灋灋潪灋灋灋潪灋灋灋灋灋灋灋灋灋煘灋灋灋煙灋灋灍煙灋灋煙煙煘灋煙煙煘灋煙煙煙灍煙煙煙煙煙煙煙煙煙煙煙牋ⅲェí驳菇滥撬窝兆谳哚溴玳觌眍镲瘃耨蝌蝌蝌耨痫镱盱觊桄邃忉咻苴儇终右邢瓮趟噬惹破拍拿侣铝亮览揽靠靠靠揪究靠揪揪揪揪窘浇浇浇浇技技技蓟换换汉汗构垢父阜贩抖抖兜档档创闯吵吵吵膊北北北鞍鞍鞍隘┅┅┅┄èèèěЁЁЁЁЁЁЁΖΖΖΖΕゥゥゥゥゥゥゥイいいイいいいいい¥いいぃ#¥ぃ########"ⅱⅲ#ⅱⅱⅲ#ⅱⅱⅱ"ⅱⅱⅱⅱⅱⅱⅱⅱⅰ           牋牎 牋牋牋牋牋牋牋牋牋牋牎 牋牋牎 牋牋牎 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煚牋牋牋煚牋牋牋煙煘灊湜櫂枖拹崑垍|yvsolifca^\ZXVTSQPONMMLLLLLLLMNOPPQRTUWXZ[]^`acefgijkmnpqrsstvwwxyyzz{||}}}}~~亖亖亖亗倐們儍儍儎剟剟剠厗唵唵唶噰垐垐垑墘妸妸妺媼寣寣寣崓崓崓帋帋弿弿弿彁悙悙悙憫憫憫憫拻拻拻挀摀摀摀摀敂敂敂敂晻晻晻晻晼枛枛枛枛枟枛枛棗棗棗棗棙槝槝槝槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫃殮殮殮殮殮殮殮殮殯洓洑殯洓洓洓洓洓洓洓洓洔湝湝湝湝湝湝湝湞潩湝湝湞潩潨湝潩潩潩潩潩潩潩潩潩潩潩湞潩潩潩潩潩潩潩潩潩灋灊潩灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煘灋灋灍煙煘灋煙煙煙灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牎ⅳェí扯菇聊人弦肇圯噔滏玳觎眍镲瘃耨蝌蝌蝌耨痫镱盱腴桄邃忉咻苴儇终右邢瓮趟噬惹瞧婆拿寐侣铝晾览览览靠靠靠靠烤揪揪揪揪浇浇浇浇技技技换缓汉汉构垢父父贩范抖抖档创创创吵膊膊膊脖北北卑鞍┅┅┅┅┄èī┄èèèèЁЁЁЁЕΖΖΖΖゥΖΖゥゥゥゥイいゥゥいいいいいいいいぃ###########"ⅱ##ⅱⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ   ⅰ     牎           牋  牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊煙牋牋牊煙煚牋煙煙牋牋牊煙煚牋煙煙煚牋牊煙灋潩湜櫂枖拹帇垎儉|yvsplifda^\ZXVTSQPONMMMLLLLLLMNOPQQSTVWYZ[]^`bceghijlmopqrstuvwxxyyz{{||}}}}~~亖亖亖亗倐倐倐儍儍儍儎剟厖厖厖唵唵唵噰垐垐垐墘墛妸妸妺媽寣寣寣崓崓崓帋帋弿弿弿彁悙悙悙悜憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂敃晻晻晻晻枙晻枛枛枛枛枟棗棗棗棗棗棗棗棗槝槝槝槝槞櫃槝櫃櫃櫃櫃櫃殮殮櫃殮殮殮殮殮殮殮殮殯洓洓洓洓洓洓洓洓湝湝洓湝湝湝湝湝湝湝湝湝潩潩湝湞潩潩潩潩潩潩潩潩灋灊潩潩灋灊潩潩灋灊潩潩灋灋潩潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煘灋灋煙煙灋灍煙煙灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煘煙煙煙煚、うЗ贝坊韭粕托又佘捺沐骅觌祉铒痧耨蝌蝌蝌蝰耩镲铐祀殍驽溻徇蒈谫刂沼研衔吞耸惹瞧婆哪寐侣铝亮览览览揽靠靠靠烤揪揪揪揪浇浇浇浇技技技换缓汉汉汗垢父父阜范抖抖兜荡创创闯吵膊膊脖北北北鞍隘┅┅┅┅èèèèěЁèЁЕΖイ"灉殬枔憥媹厒|xurolifc`^\ZXVUSRQPPOOOOOOOPQRSTUVXY[\]_`acefhijklnopqrstuvwwxyyzz{{||}}}}}~~~亖亖亖亗倐倐們儍剟剟剠厖唵唵唶噰垐垐垐墘墛妸妸妺媼寣寣寣崓崓崓崕帋帋帋弿弿弿弿悙悙憫悜憫憭拻拻拻挀摀摀摀摂敂敂敂敂敂敂敃晻晻晻晻枛枛枛枛枟棗棙櫅湠牏ぇ钡菇僚商杏仲苻徙彗殛腠铒镳耨耨耨耨痧镱盱腙殓邃忉噢苒僮衷友形退噬惹婆拿侣亮揽烤揪窘浇技技技技换换技换换换换换汉汉汉汉构构构构父父父阜范抖抖兜荡创创闯巢膊膊脖北北卑鞍┅┅┅┅èèèèěЁěЁЁЁЁЕΖΖΖΖΕΖΖΕゥゥゥゥいいいいいいいぃ############ⅱⅲ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ        牎  牋牎  牋牎 牋牋牋牋牋牋牋牋煙煚牋牋煙煙牋牊煙煙煚牊煙煙煚煙煙煙煚煙煙煙牋牋煙煚牋牋煙煚牋牋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙灋灊潨湜殬棔搼弻妵剚~{xurokhfc`^[YWVTRQPNNMMLLLLKLLMNOPPQSTVWYZ\]^`bdeghijlmopqrstuvwxxyyz{{||}}}}~~亖亖亖亖倐倐儍儍儍剟剟剠厖唵唵唵噰垐垐垐墘墛妸妸媼寣寣寣崓崕帋帋帋弿弿弿弿悙悙悙悜憫憫憫拻拻摀挀摀摂敂敂敂敂敂敂敃晻晻晻晻晼枛晼枛枛枛枛枟棗棗棙殯潫。エ捕壕缕释言宗葸徜骁殛祉铒痧耨耨蝌耨耩镱铐祀殍驽汊噙蒈谪渍砸严翁耸扇瞧拍寐铝晾烤揪窘浇技技技技换换技蓟换换换换换换换缓汉汉汉构父父父贩范抖抖兜荡创创闯巢膊膊脖北卑鞍鞍┅┅┅┅┅┄èèèèěЖèЁЁЁЁЕΖゥい"灉殬枔悗媹厒{xuqnkheb`^[YXVTSRQPOOOOOOOOPQRSTUVXY[\]_`acdfgijklmopqrsstuvwxxyyzz{{||||}}}~~~~~~亖亖亖亗倐倐們儍剟剟剠厖唵唵唶噰垐垐垑墘妸妸妸媼媽寣寣實崓崓崓帋帍弿弿弿悙悙悙悜憫憫憫憭拻拻拻挀摀摀摀敂敂敂敂敃晻晻晻晻枛枛晼枛枛枛枛枟棗棗棗棗槝槝槝槝槞櫃槝櫃櫃櫃櫃櫃殮殮櫄殮殮殮殮殮洓洓殮洓洓洓洓洓洓洓洓洔湝湝洓湝湝湝湝湝湝湝湝湞潩潩潩潩潩潩潩潩潪潩潩潪灋灋潩潪灋灊潩潩灋灋潩灋灋灋灋灋灋灋灋灋灋灋灋灋灍煘灋灍煙煙灋煙煙煙煙煙煙煙煙煙煙煙煙煙煚煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牋牊煙煚牋牋牎ⅳΗ┇捕辜滥撬窝宰谲哚沐玳觌祉铒瘃耨蝌蝌蝌蝰耩镲铐礻殓驽汊噙蒇谫字杂研衔吞松惹瞧排拿寐侣亮晾览坷揽靠靠靠靠烤揪揪揪窘浇浇浇郊蓟换换换汉汉汗构父父阜贩抖抖抖档创创闯吵膊膊膊北鞍鞍鞍鞍┅┅┅┅èèèèЁЁЁЁЕΗЁЕΖΖΖΖゥゥゥゥゥゥゥゥいいぅいいいいいぃ¥いぃ########"ⅲ#"ⅱⅱⅱⅱⅰⅱⅱⅰ                牎  牋牎  牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊牋牋牋煙煚牋牊煙煙煚煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙灋灊湜殭棖敀弽妶厒|yurolifc`^\YWVTRQPONMMLLLLLLMNNOPQRTUWXZ[]^`acefhijlmopqrstuvwxyzz{{||}}~~~~亖亖亖亖倐倐倐倐儍儍儍剟剠厖厖唵唶噰噰垐墘墘墘妸妺媼媼媽寣寣實崓帋帋帋弿彁悙悙悙憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛枟棗棗棗棗棗棗槝槝槝槝槝櫃櫃櫃櫃櫃櫃櫃殮殮殮殮殮洓洓殮洓洓洓洓洓湝湜洓湝湝湝湝湝湝湝湝湝湞湝湝湞潩潩潩潩潩潩潩潩潩潩潩潩灋灋潪灋灋灋灋灋煙煘灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚煙煙煙牋牊煙煚牋牊煙煚牋牊煙煚牋牊煙煚牋牊煙煚牋牊煙煚牋牋牋牋牋牋牋牋牎牋牋牋 牋   牋牎 、%Θ扯菇滥撬窝宰谳哚沐玳觌祉铒瘃耨蝌蝌蝌蝰痧镱盱腙桤邃汜噢苒儇渍砸严瓮趟噬惹破排拿寐侣铝晾览览览揽靠靠靠靠靠靠靠烤揪揪揪浇郊技技蓟换汉汉汗构父父阜范抖抖兜档创创闯吵巢膊膊北北卑鞍┅┅┅┅èè┅èèèèěЁЁЁЁΖΖΖΖΖΖΖΖゥゥゥゥゥゥゥゥいいゥいいいいいぃいいぃ########ⅱⅲ#"ⅱⅱ#ⅱⅱⅱⅱⅱ 、ⅱ                牋牎 牋牎  牋牎 牋牋牋牋牋牋牋牋牊牋牋牋煙煚牋牊煙煙牋牊煙煙煚煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煘灋潩湜殬棔搼弻妵剚~{xurokhfc`^[YWUTRQPONMMMLLLLMMNOPQRSTVXY[\^_acdfhijlmnpqrstuvwxyz{{||}}~~亖亖亖亗倐倐倐們儍儍儍儎剟剟剟厖厖唵唵唶噲垐垐墘妸妸妸媼寣寣寣崓崕帋帋帍弿弿彁悙憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛棗棗棗棗槝槝槝槝櫃櫃槞櫃櫃櫃殯湠牏%И锤祭那宋艺刿萼怃骅殡祉铒痧耨耱蝌蝰耩镲铐祀觇珏溻徇捃谪渍杂严瓮淌噬瞧拍拿寐亮揽靠靠揪浇浇浇浇技冀浇郊技技技技换换换换汉汉汉汗构构垢父贩贩范抖档档荡创吵吵吵膊北北北卑鞍鞍隘┆┅┅┅┅┅èèèèЁЁЁЁЕΕイ"灉殬晸悕妵剚~{wtqmjgdb_][YWUTRQPPOOOOOOPQQSTUUWXZ[]^`abdegijklnopqstuuvwxyyz{{{|}}~~~~亖亖倐倐倐倐儍儍儍儎剟剟剠厗唵唵唶噲垐垐墘墛妸妸妺媽寣寣實崓帋帋帋弿弿弿悙悜憫憫憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗棗槝槝槝槝槞櫃槝櫃櫃櫃櫄洔灎ⅲェ贝讣滥撬我肇圯噔滏栝腱眍镳瘃耨耱蝌耨痫铐黼觊珂溷徉捃圪字杂倚贤趟噬惹婆拿寐铝览靠靠烤揪浇揪窘浇浇浇浇浇浇浇浇郊技技技换换换缓汗构构构父父阜贩范抖抖档荡创闯吵膊膊膊脖北鞍鞍鞍隘┅┅┅┅è┅┄èèèèЁΖΕぃⅰ煘湚槙搻崐噭亇zwspmjgda_\ZXWUSRQPPPOOOOPPQRSTUVWYZ\^_abcefhjklmopqrtuvvwxyz{{||}}~~亖亖亖倐們儍儍儍剟剟剟剠厖厗唵唵噰噰噰垐墘墘墘妸妺媼媼媽寣崓崓崓帋帋帋弿彁悙悙悜憫憫憫拻拻摀拻摀摀敂摀敂敂晻晻晻晼枛枛枛枟棗棗棗棗槝棗槝槝槝槝槞櫃櫃櫃櫃殮殮殮殮殮殮殮殯洓洓洓洓洔湝洓洔湝湝湝湝湞潩湝潩潩潩潩潩灋灋灋灋灋灋灋灋灋灋灋灍煙煙煙煙煙煙煙煙煚牊煙煙牋牋煙煚牋牋牊牋牋牋牋牋牋牋牋牋  牋             、ⅰ  ⅱⅱ 、ⅱⅱ 、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ"ⅱⅱ##ⅱⅱ##ⅲぅЖ驳富韭湃滔艺刿葸怃骁殛腠铑镳耨蝌蝌篌篁蝰耩镲铎腙桤驿汜噢蒇谫字杂研衔吞耸扇惹破拍哪拿妹侣侣侣铝亮亮亮亮晾览亮晾览览览揽靠揪揪揪浇郊技技换缓汉汉构父父阜范抖抖兜荡创创闯吵巢膊膊脖北北北卑鞍鞍鞍┅┅┅┅┄ěЕゥ"潧櫀攽帇垍倊{xtqnjgeb_][YWVTSRQQPPPPPPQRSTUVWXZ[]^`abdegijlmnoprstuvwxyzz{||}}~~亖亗倐倐倐儍儍儍儎剟剟剟厖厗唵唵唵噰噰噲垐墘墘墛妸媼媽寣實崓帋帋帍弿弿弿悙悜憫憫憫拻拻拻挀摀摀摀敂敂敂敂敃晻晻晻枛枛棗枟棗棙槝棗槝槝槝槝槞櫃櫃櫃櫃櫄殮櫃殮殮殮殯湞煛¥Θ钡讣滥撬我肇圯噔滏栝觎眍镳瘃耨耱蝌耨痫镱盱腴桄邈忄咻圳刈衷友形吞耸扇瞧排哪妹铝亮亮览揽靠靠靠靠靠靠靠揪揪揪揪揪揪揪窘浇浇郊技蓟换换缓汗构构垢阜贩贩范兜档档荡闯吵吵吵膊膊膊脖卑鞍鞍鞍隘┅┅┅┅┄ī┅┄èèèèèèèěЁЁЁЁЕΖЁЕΖΖΖΖΖΖΖΖゥゥΖΖゥゥゥゥゥゥゥゥイいゥいいいいいいいいい##いい############ⅱⅱⅲ"ⅱⅱⅱⅱⅱⅱⅲ"ⅱⅱⅲ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ 牊煘潨殬棓拹崑垍|xurolifc`^[YWVTRQPONNNMMMMMNNOPQRSUVXY[]^_acdfhiklmoprstuvwxyz{|}}~~亖亖倐儍儍儍儎剟剟剟剠厖厖厖唵唵唵噰噲垐垐垑墛妸妸媼媽寣寣實崓帋帋帋弿弿弿悙悜憫憫憭拻挀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗棗槝槜槝槝櫃櫂槞櫃櫄櫃櫄殮殮殮殮殯洓洓洓洓洓洓洓湝湝湝湝湝潩湝湝潩潩潩潩潩灋潩潩灋灋灋灋灋煙灋灋煙煙煙煙煙煙煙煙煙牋煙煙牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋  牎     ⅱ  ⅱⅱⅱ、ⅱⅱⅱⅱⅱⅱⅱⅱⅱ#ⅱⅱⅲ#ⅱⅱ##"ⅱ##"ⅱ##"ⅲ###########################いΗ┆蹈痪屡忍弦肇圯哜溴玳觌眍铒瘃耨蝌蝌篁蝌耨痧镱盱觊桤驿汜咿蒇谫渍杂已邢翁怂适扇惹破婆排哪哪哪拿妹妹妹妹侣侣侣侣侣亮亮亮晾览览览靠揪揪揪浇技技技换汉汉汗垢父父阜贩抖抖抖档创创创闯吵吵吵巢膊膊膊北北北北鞍鞍鞍隘┅┅┅┅┅èī┅èèèèèЁЖèЁЁЁЁЁЁЁЁЁΖЁЁΖΖΖΖΖΖΖΖΖゥΖΖΕゥゥゥゥゥゥゥゥぅゥゥイいゥゥイいゥゥイいいゥいいいいいいいいいいいいいいいいい#いい##¥い###い###い###ぃ########"ⅱ##"ⅱ###ⅲ###ⅱⅰ牋煘湜櫁晸悗媹厒|yvrolifc`^\ZXVTSQPOONNNNNNNNOPQRSTUWXZ\]_`bcegijlmnpqstuvwxyz{|}}~~亖亗倐儍儎剟剟剟厖厖厖厗唵唵唵噰噰噰噲垐墘墘墘墛妸妸妺媼寣寣實崓帋帋帋弿悙悙悙悜憫憫憭拻挀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛棗棖棗棗槝槜棙槝櫃櫂櫃櫃殮櫃櫄殮殮殮殮洓洓洓洓洓洓洓洓湝湝湝湝湝潩湝湝潩潩潩潩潩灋灊潪灋灋灋灋灋煙灋灋煙煙煙煙煙煙煙煙煚牋牊煚牋牋牋牋牋牋牋牋牋 牋牋牎 牎            、ⅱⅰ、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱⅲ#"ⅲ#######################¥ェ┆蹈痪屡忍弦肇圯哜溴玳觌眍铒瘃耨蝌蝌蝌蝌耨痧镱盱觊桤驿汜噢蒈圪刂赵右研贤烫耸噬热乔破破排哪哪哪拿妹媚拿妹妹妹妹侣侣侣铝亮览览览揽靠靠揪窘浇技技换缓汉汉构父父父贩抖抖抖兜档档档创创创闯吵膊膊膊脖北北北鞍鞍鞍鞍隘┅┅┅┅┅┄èī┅èèèèèèèèěЁЁěЁЁЁЁЁΖЁЁΖΖΖΖΖウΖΖΕゥウΖゥゥゥΕゥゥゥΖゥゥゥΖゥゥゥゥゥゥゥゥゥいゥゥイいゥゥいいぅゥいいいいいいいゥいいぅゥいいいいいいいいいいいいぃ#いい##いいぃ#いいぃ#いいぃ#ⅱ煘潧殬枔憥寜唭}zvspmjgda_]ZYWUSRQPOOONNNNNOPQRSTUVWYZ\^_`bcegijkmnoqrtuvvwxzz{|}}~~亖亖倐儍儍儍剟剟剟剟厖厖厖厖唵唵唵唶噰垐垐垐墘墛妸妸媼媽寣寣實崓崓帋帍弿弿彁悙憫憫憫拻拻拻挀摀摀摀摂敂敃晹晻晼枛枛枛枟棗棗棗棗槝槜棙槝槞槝槞櫃櫃櫃櫃殮殮殮殮殯洓洑殯洓洓洓洓洔湝湝湝湝湝湝湝潩潩潩潩潩潩潩潩灋灋灋灋灋灋灋灋灍煙煘灍煙煙煙煙煙煙煙煙煚牋牊煙牋牋牊煚牋牋牋牋牋牋牋牋牋牋牋牋        、ⅱ  ⅱⅱ  ⅱⅱⅰ、ⅱⅱⅱⅱⅱⅱⅱⅱⅱ#ⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱ##"ⅱ##"ⅲ##"ⅱ##"ⅱ###¥ェ┆捶痪僚忍弦肇谳哜溴玳觌眍铒瘃耨蝌蝌蝌蝌耨痧镱盱觊桤驿汜咿蒈谫字沼已邢瓮趟耸噬惹瞧破婆排哪哪哪拿妹妹拿妹妹妹妹侣侣侣侣亮晾览览靠靠揪揪浇郊技技换缓汉汉构父父父贩抖抖抖兜档档档创创创闯吵膊吵巢膊北辈北北鞍鞍鞍鞍┄Дあ牉湚棓憥媹厒~{wtqmjgda_][YWVTSRQQQPPPPPQRSTUVWXY[\^_abceghjklnoprstuvwxyzz{||}}~~亖亗倐倐們儍儍儍剟剟厖厖厖唵唵唵唶噰垐垐垑墘妸妸妺媼寣寣實崓帋帋帍弿悙悙悙憫憫憫拻挀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗棙槝槝槝槞櫃櫃櫃殮殮殮殮殯洑殮殯洓洓洓湠煛%Θ钡辜滥人弦肇圯噔滏栝腱眍镳瘃耨蝌蝌蝰耩镲铐祀殍珂溷徉捃圳刈衷已邢瓮趟扇惹瞧排拿妹妹侣亮亮亮晾览览览览揽坷览揽靠靠靠靠揪揪揪窘浇浇郊技换换换汉构构构父贩贩贩抖档档档荡创创闯吵膊膊膊膊北北北卑鞍鞍鞍隘┄Еィ灉櫁攽帇垍倊{xtqnkheb`][ZXVUSRRQQQQQQQRSSTUVWYZ\]_`acdfgijlmnoprstuvwxyyz{|||}~~亖倐倐倐儍儍儍儍剟剟剟厖厗唵唵唵噰噰噰垐垑墘墘妸妺媼媼寣實崓崓崕帋弿弿弿悙悙悙悜憫拻拺拻拻摀摀摀摂敂敂敂晻晻晻晻枛枛枛枛枟棗棗棗槝槝槝槝槞櫃櫃櫃櫄殮殮殮殮殮殮洔潫、うǐ蹈祭那宋艺刿萼怃骅殡祉铒痧耨耱蝌蝌耩痫铑盱觊珂邃忉咻苴儇终右邢瓮趟噬惹破排拿寐侣铝亮览览览揽靠靠揽靠靠靠靠烤揪揪揪揪揪揪揪浇郊技技蓟换换汉汗构构父阜贩贩抖兜档档档创创创闯吵膊膊膊脖北北北卑鞍鞍鞍隘┅┅┅┅┄èī┄èèèèèЖèèěЁЁěЁЁЁЁЕΖЁЁΖΖΖΖΖΖΖΖΖゥΖΖゥゥゥΕゥゥゥゥゥゥゥゥゥゥゥゥゥぅゥゥゥゥゥゥゥぅゥゥイいゥゥいいいいいいいいぃ#いいぃ#いいぃ#いいぃ#いいぃ#¥い###い##¥い##¥い###い#####"ⅰ煘潧櫁晸悗媹厒|xurnkhec`][YWUTRQPONNMMMMMMMNOPQRSTUWYZ\]_`bdegijkmnpqrstuvwxyz{{||}~亖亗倐倐倐儍儍儍儎剟剟剟剠厖厖厗唵噰噰噰垐墘墘墘妸妺媼媼媽實崓崓崕帋弿弿彁悙悙悜憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛棗棗棗棗槝槝槝槝櫃櫃櫃櫃殮殮櫃殮殮殮殮殯洓洓洓洓洔湜洓湝湝湝湝湝湝湝湝湝潩潩潩潩潩潩潩潩灋灋灊灋灋灋灋灋灋灋灋灋煙煙煙煙煙煙煙煙牋牋煙煚牋牋煙煚牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋牋牎牋牋 牋牋  牋     、ⅰ 、ⅱⅱ ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ%Θ┇贝泛搅娜宋艺宗葸徙彗殛腱眍镳瘃耱蝌蝌蝌耨痧镱盱腙殓驽溻噙捃圳刈赵右研衔吞怂适扇乔破破排哪哪哪拿妹妹妹妹侣侣侣侣亮亮亮亮览览览靠揪揪揪浇技技技换汉汉汗构父父阜贩抖抖抖兜档创荡创闯吵吵吵膊膊膊膊北北北卑鞍鞍鞍隘┅┅┅┅èī┅┄èèèèЁЁЁЁЕΗЁЕΖΖΖΖΖΖΖΖゥウΖΖゥゥΖΕゥゥゥゥゥゥゥゥイゥゥゥいぅゥイいいゥイいいいいいいいいいいいいいいいいいいいい#¥いい##いぃ############################"###"ⅱ 牊灉洐棔搻帇垍|xurnkhec`][YWUTRQPONNMMMMMMMNOPQRSTVWYZ\]_`bdegijkmnpqrstuvwxyz{||}}~亖倐倐倐儍儍儍儍剟剟剟剟厖厗唵唵唵噰噰噲垐墘墘墘妸媼媼媼寣實崓崓崕帋弿弿弿悙悙悙憫憭拻拻拻摀摀摀摀敂敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗棙槝棗槝槝槝槝槞櫃櫃櫃櫃櫄殮櫃殮殮殮殮殯洓洓洓洓洔湝洓湝湝湝湝湝潩潩湝潩潩潩潩潩潪灊潩潪灋灋灋灋灋灋灋灋灍煘灋灋煙煙灋煙煙煙煙煙牋牋煙煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋  牋牎        ⅱⅱ 、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲぅΘ贝泛玖湃讼艺刳葸徜彗殛腱铑镳耨耱蝌蝌蝌耨耩痫铐腙殍珏溻徇捃圳刈赵右研贤趟耸噬惹瞧婆排拍拿妹妹妹侣侣侣侣侣侣侣侣亮亮亮晾揽靠靠靠揪揪揪浇技技技换汉汉汗构父父贩贩抖抖抖档荡创创创吵吵吵巢膊北北北鞍鞍鞍鞍┅èЕィ灈櫀攽帇垍倊{xtqnkheb`^\ZXVUTRRQQQQQQQQRSTUVWXZ[]^`abdeghjklmopqrtuuvwxyz{{||}}~~亖亖亖倐倐儍儍儍儎剟剟剟厖厖厖厗唵噰噰噰垐垑墘墘妸媼媼媼寣實崓崓崕帋帋帍弿彁悙悙悜憫憫憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫄殮殮殯湠牎%И捶豢们饰言宗葸徜骁殛祉铒痧耨耨蝌耨耩镲铐祀觇珏溷徉捃圪刈赵已衔吞耸扇瞧婆哪寐侣亮亮览靠靠靠靠靠靠靠烤揪究靠揪揪揪揪窘浇浇浇技换换换汉汉构构父阜贩贩范抖抖兜荡创创闯吵膊膊膊脖北北北卑鞍鞍鞍鞍┅┅┅┅┅┄èèèèЁèèЁЁЁЁЁЁЁЁЁΗЁЁΖΖΖΖΖΖΖΖΖゥΖΖゥゥゥゥゥゥゥゥイいぅゥいいぅゥいいぅゥいいいいいいいいいいいいいいいいい¥いいぃ#¥い####################"ⅱ##"ⅱ##"ⅱ###ⅲ###########ⅱⅰ牋煗湜櫁晵悕妵厑~{xtqnkheb_][YWUSRPONNMMMMLLMMNOPQQRTUWXZ[]^`acefhijlmopqrstuvxyyz{{|}}~亖亖亖倐倐儍們儍儎剟剟剟剠厖厖厗唵唵唶噰垐垐垑墘妸妺媼媽寣實崓崓帋帋帋弿彁悙悙悜憫憫憫憭拻拻拻摀摂敂敂敃晻晻晻晼枛枛枛枛枟棗枛棗棗棗棗棙槝槝槝槝槞櫃槝櫃櫃櫃櫄洔灎。ェ┉按坊棵鞘窝宰谳哚滏玳觎眍镳瘃耨蝌蝌耨痧镱铐腙殓驽汊噙蒇谫字杂研衔吞松惹瞧排哪寐侣亮晾览览览靠靠靠靠靠揪揪靠烤揪揪揪窘浇浇浇技蓟换换缓汉构构构父父贩贩抖抖兜档创创创吵巢膊膊膊北北北卑鞍鞍鞍隘┅┄ěΕあ潧槚搻崐噭亊zwtqmjgeb_][YXVTSRQQQPPPPPQRRSTUVWYZ\]_`acdfgijkmnoprstuuvwxyzz{{||}}~~~亖亖亖倐倐倐們儍儍儍剟剟厖厖厖唵唵唵噰噲垐垐墘墛妸妸妺媽寣寣實崓帋帋帋弿弿弿彁悙憫憫憫拻拻拻挀摀摀摀摂敂敂敂晻晻晻晻晼枛枛枛枛棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫃櫃櫄洔灎。ェ按富棵鞘窝宰谳哜滏玳觎眍镲瘃耨耨蝰耨痫镱盱腙桤邃汜噢苒儇终砸邢瓮趟噬惹婆拍妹铝亮晾览靠靠靠靠揪揪靠烤揪揪揪揪揪揪揪窘浇浇浇郊技换换换汉汉汗构父父阜贩抖抖兜档创创创吵巢膊膊膊北北北卑鞍鞍鞍┅èěΕあ潧槚搻崐噭}zvsplifca^\ZXVUSRQPPPPOOOPPQRSTUVWXZ\]_`acdfgijkmnoprstuuvwxyz{{{||}~~亖亖亖倐倐倐們儍剟剟剟剠厖厖厗唵噰噰噰垐垑墘墘妸媼媼媼寣實崓崓崕帋帋帋弿弿弿彁悙悙悙憫憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗棙槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫄殮殮殮殮洓洑殯洓洓洓洓洔湝湜洔湝湝湝湝湝潩湝湝潩潩潩潩潩潩潩潩灋灋灋灋灋灋灋灋灍煙煘灋煙煙煙煙煙煙煙煙煙煙煙煙煚牋牊煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋   牎                 ⅱ  ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ ⅱⅱⅰⅲぅЗ扯菇滥撬窝宰谲哚沐玷觌祉铒瘃耨蝌蝌蝌蝰耨痧镱黼觊桄邃忄咿苒谪渍杂已形吞耸噬扇瞧婆排拍拿妹妹妹侣侣侣侣亮亮亮亮亮览懒晾览靠靠靠揪窘浇浇郊蓟换换汉构构垢阜贩贩范兜档档档创吵吵吵巢膊膊膊北北北北鞍鞍鞍鞍┅┅┅┅èèèèèЁèèЁЁЁЁЕΖΖΖΖΖΖΖΖΖΖΖΕゥΖΖΕゥΖΖΕゥゥΕゥゥゥゥゥぅゥゥイいいいいいいいぃ#¥い################"ⅱ##"ⅱ##"ⅱ##"ⅱ##"ⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱ 牊灊湚槚敀弽妵厒~{xurnkhec`^[YWVTSQPONNNNNMMNNOPQRSTUVXZ[]^_acdfhiklmnpqstuuvwxyz{{||}~~亖亗倐倐們儍儍儍儎剟剟剟剠厖厖厖唵唶噰噰噲垐垑墘妸妸媼媼媽寣寣實崓帋帋帋帍弿弿弿悙悜憫憫憭拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗棗槝槜棙槝槝槝槝櫃櫃櫃櫃櫃殮櫃櫃殮殮殮殮殯洓洓洓洓湝湜洔湝湝湝湝潩潩潩潩潩潩潩潩潩灋潩潩灋灋灋灋灋灋灋灋灍煙灋灋煙煙煙煙煙煙煙煙煙牋煙煙煙牋煙煙煙牋煙煙煚牋煙煙牋牋牊煙牋牋牊煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎 牋  牋  牎   牎                   、ぅЗ扯菇滥撬窝宰谲哚沐玷觌祉铒瘃耨蝌蝌蝌蝰耩痫铐祀觇珂邈徉掭苴儇终右研衔吞耸噬热瞧婆排哪拿妹妹寐侣亮侣侣亮亮亮亮览览览览靠靠靠烤窘浇浇郊技换换缓汗构构垢阜贩贩范兜档档荡创吵吵吵巢膊膊脖北鞍鞍鞍隘┅┅┅┅┅è┅┅èèèèěЁèèЁЁЁЁЕΖΖΖΖΖΖΖΕゥゥΕゥゥゥゥゥいゥゥいいいいいいいいいいいいいいいいいいいいぃ#いい###ぃ############"ⅱ##"ⅱ##"ⅱⅲ#ⅱⅱⅲ#ⅱⅱⅲ#"ⅱⅲ#ⅱⅱⅲ#ⅱⅱⅲ#"ⅱ##ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ牊灊湚槚敀悕妶厒|xurolifc`^\ZXVTSQPONNNMMMMMMNOPQRSTUWXZ[]^`acefhijlmopqsttuvwyyz{{||}~~亖亖亖倐倐倐倐儍儍剟剟剟剠厖厖厖唵唵唵噰噲垐垐墘墛妸妸媼媽寣寣崓崕帋帋帋弿弿弿彁悙悙悙憫憭拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛枟棗棗棗棙槝棗槝槝槝槝櫃櫃櫃櫃櫄殮殮殮殮洓洓殮洓洓洓洓洓洓洓洓洓湝湝湝湝湝湝湝湞潩潩潩潩潪灋潩灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煙煘灋灍煙煙煘煙煙煙煙煙煙煙煙煙煙煙煙煙牋牊煙煚牋牋煙煚牋牋煙煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋牋牋牋牋牋 牋牎  牋牎  牋牎          ⅲウí俺豆祭们饰言宗苓徙彗桕腱眍镳瘃耱蝌蝌蝌耨痧镱盱腴桤驿汜咿苒谪字杂研衔吞耸缮热瞧排哪哪妹侣侣侣铝亮亮亮晾览览览览靠靠靠靠揪揪揪窘郊技技蓟缓汉汉汗垢父父阜范抖抖抖档档档创闯吵吵巢膊膊膊脖北北北鞍鞍鞍鞍┅èЁΕあ牊潥槙搻崐噧}yvrolifc`^\ZXVUSRQPPPOOOOOPQRSSTUWXZ[]^_abdeghjklmopqsttuvwxyzz{{||}}~~~亖亖亗倐倐倐儍儍儍儍剟剠厖厖厗唵噰噰噲垐墘墘墛妸媼媼媼寣寣實崓帋帋帋帍弿弿弿悙悜憫憫憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛棗棗棗棗棙槝槝槝槝櫂槝櫃櫃櫃櫄洔灎。ェ┉按坊棵剖窝宰谳哚溴玳觎眍镲瘃耨耱蝌耨痧镱盱腙桤邃汜噢苴儇终右邢瓮趟嗜瞧婆哪妹铝亮晾览靠靠靠靠揪揪究揪揪揪揪揪浇浇浇浇技技技蓟换缓汉汉构垢父阜贩抖抖抖档档荡创吵吵吵巢膊膊北北鞍鞍鞍鞍┅┅┅┅┄ěЕイ!牉湚棔拸崐唭}yvsplifda_\ZYWUTRQQPPPPPPPPQRSTUVWXZ[]^`abdeghjklmopqrstuvwxyyz{{{|}}~~~~~亖亖亖倐們儍儍儍剟剟剟剠厖唵唵唵噰噲垐垐墘墛妸妸媼媼寣寣實崓崓崕帋弿弿弿彁悙悙悜憫憭拻拻挀摀摀摀摂敂敂敂敂晻晻晻晻枛枙枛枛枟棖枟棗棗棗棗槝槝槝槝櫃櫃櫃殯湠煛¥З撤豢闷释言宗苓徙彗殛腠铒镳瘃耨耨耨痧镱铐礻殓驽汊噙蒇谪字杂研瓮趟噬惹婆拍妹铝亮览览靠靠靠靠揪揪究靠揪揪揪揪窘浇浇浇郊技技技换汉汉汉构垢父父阜贩贩抖兜档档荡闯吵吵吵膊膊膊脖北鞍鞍鞍鞍┅┅┅┅┄èЁΕぃ灉殫晵弻墕儉|yurolhec`^\ZXVTSRQPPPOOOOPPQRSTUVWXZ[]^`abdeghjklmopqsttuvwxyzz{{|}}~~亖亖亖倐倐倐們儍剟剟剟剠厖厖厖唵唶噰噰噲垐垐垑墛妸妸妺媼寣寣寣崓崕帋帋帍弿弿弿悙悙悙悜憫憭憫憭拻摀摀摀摀摂敁敂敂敃晹敃晻晻晻晻枛枛枛枛棗棗棗棗棙槝槝槝槝櫃櫃櫄湞煛ⅳΙ撤豢缕释言宗苓徙彗殛祉铒镳耨耨蝌蝰耩镲铐祀觇珏溷徉捃谫刂沼倚衔吞耸惹婆拍拿侣亮览览靠烤究揪揪揪揪揪窘浇浇窘浇浇浇浇技技技蓟换汉汉汉构父父父贩抖抖抖档荡创创吵吵吵膊脖北北北鞍鞍鞍隘┅┅┅┅┅┄èèèèèèèěЁЁЁЁΖΖΖΖΖΖΖΖウΖΖΕゥゥゥゥゥゥゥゥぅゥゥいいいいいいいいぃ#いいぃ#¥い#############ⅲ##"ⅱ##"ⅱⅲ#ⅱⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ"ⅱⅱⅱ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ ⅱⅱⅰ 牋煘潨洐槚攽弻妵剚~{wtqnjgeb_][YWUSRPONNMMMMLLLMNOPPQRSUWXZ[]^`acefhijlmnpqrstuvwxyzz{{|}}~~亖亖亖倐倐倐倐儍儍儍儍剟剟剟剠厖唵唵唵噰噲垐垑墘墘墛妸媼媼媼寣實崓崓崕帋帋帋弿彁悙悙悙憫憫憫憭拻拻拻摀摀敁摀敂敂晹敂晻晻枛晻枛枛枛枛枟棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫄殭櫃櫄殮殮殮殮洓洓洓洓洔湜洓洔湝湝湝湝湝湝湝湝湞潨湝湞潩潩潩潩潩潩潩潩灋灋灊灋灋灋灋灋灋灋灋灋煙煘灋灋煙煘灋灋煙煙灋灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚煙煙煙煚牊煙煙牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋 牋牋牎牎ⅲうī安豆祭们饰言宗苓徙彗桕腱眍镳瘃耱蝌蝌蝌耩痫镱盱觊桤邃忉咻苒儇渍右研衔吞耸扇惹瞧拍哪拿妹侣侣铝亮晾览亮览览览览览靠靠靠烤揪揪窘浇技技技换汉汉汉构父父父贩抖抖抖档创创创闯吵吵吵膊脖北北北鞍鞍鞍鞍┅┅┅┅èèèèЁЁЁЁЕЁЁЕΖΖΖΖΖΖΖΖゥゥΖΕゥゥゥゥゥゥゥゥイゥゥゥいいいいいいいい##いぃ##い#############ⅱⅲ#"ⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱ#"ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅰ     牋煙灊湜櫁晸憦寜唲亇zwtpmjgdb_]ZXVUSRPONNMMMMLLLMNOPPQRSUVXY[\]_abdfgijkmnoqrstuvwxyzz{{|}}~~~~亖亖倐亗倐們儍儍儍儎剟剟剠厖厖厗唵噰噰噰垐墘墘墛妸媼媼媽寣崓崓崓帋帋弿弿弿悙悙悙悜憫拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛枟棖枛棗棗棗棗棗槝槝槝槝槞櫃槝櫃櫃櫃櫃櫃殮殮殮殮殮殮殮殯洓洓洓洓洓洓洓洓湝湝洓湝湝湝湝湝湞潨湝湞潩潩潩潩潩潩潩潩潪灋潩潪灋灋灋灋灋灋灋灋煙煘灋灋煙煙灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牋牊煙煚牋牋煙煚牋牋煙煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎   ⅲウī倒祭们饰言宗苓徙彗桕腱眍镳瘃耨蝌蝌蝰耩镲铐祀觇珂溷忄掭圳僮衷友邢瓮趟噬热乔婆拍哪妹寐侣侣铝亮晾懒亮晾览览览览靠靠靠靠揪揪揪浇技技技蓟缓汉汉汗垢父父贩抖抖抖档创创创吵膊膊膊脖北北北鞍鞍鞍鞍┅┅┄èЕイ"牉湚棔拸寜唭|yvrolifc`^\ZXVUSRQPPPOOOOPPQRSTUVWXZ\]^`abdfgijkmnoprstuvvwxyz{{||}}~~亖亖亖亗倐倐倐們儍儍儍剟剟剟剠厖唵唵唵噰噲垐垐墘墛妸妸妺媼媼媽寣崓崓崓崕帋帋帋弿弿弿悙悜憫憫憫拻拻拻挀摀摀摀摀敂敂敂敃晻晻晻晻枛枛枛枛枟棗棗棗棗棗棗棗槝槝槝櫄洕灎ⅲΘ捕壕缕赏性宗苓徙彗殛腠铒镳耨耨蝌耨耩镲铐祀殍驽汊徇蒇谪渍杂严瓮趟噬惹婆哪寐铝览览靠烤揪揪揪浇浇浇浇浇浇浇浇郊技技技技换换换汉汉构构垢父阜贩范抖档档创闯吵吵巢膊膊膊北鞍鞍鞍隘┅┅┅┅è┅┅èěЕΕあ灉櫁敀弻墕|xurnkheb`][YWVTSQPPOOOOOOOPPQRSTUVWY[\]_`acefhijkmnoqrsttuvwxyyzz{{|}}}~~~~亖亖亖亖倐倐倐儍儍剟剟剠厖厖厗唵噰噰噲垐墘墘墛妸媼媼媽寣崓崓崓帋帍弿弿弿悙悙悙悜憫憫憫拻拻拻拻摀摀摀摀摂敂敂敂晻晻晻晻枛枛枛枛枟棗棗棗棗棙槜棗槝槝槝槞殯潫牏うì逗韭粕托幼佘哚沐玳觌祛铒痧耨耱蝌耨痫镱盱腴桄邃忉咻圳刈衷友形吞耸扇瞧排拿寐亮览览靠揪揪揪窘浇浇浇浇浇浇浇浇技技技技换换换缓汉汉汗构父父父贩抖抖抖档荡创创闯巢膊膊膊北北北鞍隘┅┅┅┅èèèèěЁΕイⅰ煘湙棓拸寜唭|yvsolifda_\ZYWUTSRQQPPPPPPQRSTUVWXY[\^_`bcefhijlmnoprstuuvwxyyzz{{||}~~~~~亖亖亖亖倐倐倐們儍儍儍剟厖厖厖唵唶噰噰垐垑墘墘妸媼媼媼寣實崓崓崕帋弿帍弿彁悙悙悙憫憫憫憫拻拻拻挀摀摀摀摂敂敂敂敂晻晻晻晻枛枛枛枛枟棗棗棗棗棗棗棙槝槝槝櫅湠牎%ǐ逗韭粕托又佘哚沐玳觌眍铒痧耨耨耨耩痫铑盱觊珂溷忄咻圪刈赵已衔吞耸扇婆拍拿侣晾览揽靠揪揪揪浇浇浇浇浇技技浇郊技技技技换换换缓汉汉汉构父父父贩抖抖抖档荡创创闯巢膊膊脖北北北卑鞍鞍鞍┅┅┅┅èèèèěЕΕぃⅰ煗洐棓憦寜唫|xuqnkheb_][YWUTRQPPOOOOOOOPPQRSTUVXY[\^_`bcefhijkmnoqrstuuvwxyyzz{{|}}~~~~亖亖亖亗倐倐倐們儍剟剟剟厖厖唵唵唶噰垐垐墘墛妸妸媼媽寣寣實崓崓崕帋帍弿弿彁悙悙悙憫憫憫憫拻拻拻挀摀摀摀摂敂敂敂敂晻晻晻晻晼枛枛枛枛棗棖棗棗棗棗棗棙槝槝槞洔灎。エ捕壕屡赏杏仲苓徙彗殛腠铒镳耨耨蝌耨耩镲铐祀殍驽汊徇蒇谪渍杂严瓮趟嗜瞧拍拿寐亮览揽靠揪揪揪揪浇浇浇浇浇浇浇浇郊技技技蓟换换换汉汉汗构垢父阜贩范抖抖档荡创创闯巢膊膊膊北鞍鞍鞍隘┅┆┅┅┅┅èèèèЁЁЁЁЁΖЁЁΖΖΖΖΖゥΖΖゥゥゥゥゥゥゥゥゥぅゥゥいいいいいいいいい¥いいぃ##ぃ#####ⅲ##"ⅱ##"ⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ、ⅱⅱⅱ、ⅱⅱⅰ ⅱⅱⅰ ⅱⅱ             牎  牋  牋  牋  牋  牋牎 牋牋煙灊湜殭棔搼帉墖剚~{wtqnkheb`][YWUTRQPONNNMMMMMNNOPQRSTVWYZ\]^`bceghiklmopqsttuvwxyzzz{||}}~~~~亖亖亖亖倐倐倐倐儍儍儍剟剠厖厖厗唵噰噰噰垐墘墘墘妸媼媼媼寣寣寣實崓帋帋帋弿弿弿彁悙悜憪憫憫拻拻拻挀摀摀摀摂敂敂敂敂晻晻晻晻枛枛枛枛枛枛枛棗棗棗棗棗槝槝槝槝槝槝槝櫃櫃櫃櫃櫄殮殮殮殮殮殮殮洓洓洓洓洓湝洓洔湝湝湝湝湝湝湝湝湝潩湝湝潩潩潩潩潩潩潩潩潪灋灊潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煘灋灋灋煙灋灋灍煙煘灋煙煙煘灍煙煙煙煙煙煙煙煙煙煙煙煙煙牊煙煙煚牋牊煙牋牋牋煚牋牋牋煚牋牋牋煚牋牋牊煙牋牋牊煙牋牋牋煚牋牋牋牎ⅳェ┆驳讣棵剖托又佘掎沐玷觌祉铒痧耨蝌蝌蝌蝰痧镱铎腙桤驽汊噢蒇谫字杂倚衔吞耸扇惹破拍妹妹侣亮亮亮晾览览览览靠靠靠靠烤揪揪揪窘浇浇浇技蓟换换汉汗构构父贩贩范抖档档档创吵吵吵膊膊膊脖北鞍鞍鞍隘┅┅┅┅┅┄èèèèЁèěЁЁЁЁΖΖΖΖΖΖΖΖゥゥゥゥゥゥゥゥイいゥゥいいいいいいいいぃ#¥い###い#############ⅲ##"ⅱⅲ#ⅱⅱⅱ#ⅱⅱⅱⅱⅱⅱⅱⅱⅰ 、ⅱ                     牎  牋  牋  牋牋牋 牋牋牋 牋牋牋 牋牊煙灊湜殬棔搻帇墕儉}zwspmjgda_\ZXVTSQPONMMMMLLLLMMNOPQRSTVWYZ\]_`bdeghijlmopqrstuvwxyyz{{|}}}~~~亖亖亖亖倐倐倐們儍儍儍剟剠厖厖厗唵唶噰噰垐垐墘墛妸妺媼媼寣寣寣崓崕帋帋帋弿弿弿彁悙悙悙憫憫憫憫拻挀摀摀摀摂敂敂敂晻晻晻晻晼枙晻枛枛枛枛枟棗棗棗棗棙槝槝槝槞櫃槞櫃櫃櫃櫃櫄殮殮殮殮殮殮殮殮洓洓殮殯洓洓洓洓洔湜洓洔湝湝湝湝湝湝湝湞潩潩湝潩潩潩潩潩潩潩潩潩潩潩潩潩灋灋潩灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煘灋灋煙煙灋灍煙煙灋煙煙煙煘煙煙煙煙煙煙煙煙煙煙煙煙煙煚牊煙煙牋牊煙煙牋牋煙煚牋牋煙煚牋牋煙煚牋牋煙煚牋牋牋、ぅЗ蹈伎闷释杏仲苻徙彗桕腱眍镳瘃耨蝌蝌蝰耩镲铐祀殍珏溷徇捃圳刈衷友邢瓮趟噬惹破拍妹侣侣亮览览览览靠靠靠靠靠靠靠烤揪揪揪窘郊技缓垢返潮ぁ灇棓悓墔倊{wtpmjheca_^\[ZYYYYYYYYZ[\]^_`acdfghiklnoqrstuvwyz{{|}~~亖亗們儍剟剟剠厖厖厖唵唵唵唵噰噰噰噰垐垐垐垑墘妸妸妸媼媼寢寣寣崓崓崓帋帋帋帍弿悙悙悙悜憫憫憫拻拻拻挀摀摂摀摂敂敂敂敂晻晻晻晻晼枛枛枛枟棗棗棗棗棗棗棗槝槝槝槝槞櫃櫂槞櫃櫃櫃櫄湞煛ⅳΙ撤豢缕释言宗苓徙彗殛腠铒镳瘃耨耨耨痧镱盱腙殓驿汊噙蒇谪渍杂严瓮趟噬惹婆哪寐铝览览靠烤揪揪揪浇浇浇浇浇浇浇浇郊技技技蓟换换换汉汗构构垢父阜贩范抖抖兜荡创创闯吵膊膊膊北北卑鞍隘┅┅┅┅┄èèèěЁЁЁЁΖЁЁΖΖΖΖΖゥΖΖゥゥゥゥゥゥゥゥイいぅイいいいいい#いい############"ⅱ##"ⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ ⅱⅱⅰ 、ⅱ                     牎  牋  牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煚牋牋牋煚牋牋牊煙牋牋牊煚牋牋牋牋牋牋牋牋牋牋牊煙牋牋牊煙牋牋牊煙牋牋牊煚牋牋牋煚牋牋牊煙牋牋牊煙牋牋牊煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煚牋牋牊煙牋牋煙煙煚牋煙煙煚牋牊煙牋牋牊煙煚牋煙煙煙煙煙煙煚牋煙煙煚牋煙煙煙牋煙煙煚牋煙煙煚牋牊煙牋牋牋牋牋牋牋牋牎        ⅱ                                                   ⅰ                                            牋  牎       牋牊煘潨洐棔搼弻妵剚~{wtqnkheb_][YWUSRPONNMMLLLLLLMNOPPQRTUWXZ[]^`bcefhijlmopqrstuvwxyzz{{|}}~~~亖亖亖亖亗倐倐倐們儍儍儍剟剠厖厖厗唶噰噰噲垐垑墘墛妸妺媼媼寣寣崓崓帋帋帋弿弿悙彁悙悜憫憫憫憭拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛棗棗枛棗棗棗棗棗棙槝棗槝槝槝槝槞櫃櫃櫃櫃櫄殮櫃櫄殮殮殮殮殯洑殮殯洓洓洓洓洓洓洓洓洔湜洓洔湝湝湝湝湝湝湝湝湝湝湝湝潩潩湝潩潩潩潩潩潩潩潩潩潩潩潩潩灋灊潩潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煘灋灋煙煙灋灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牊煙煙牋牋煙煚牋牊煙煙牋牋煙煙牋牊煙煙牋牊煙煙牋牋煙煚牋牋牋牋牋牋牋牋牋牋牊牋牋牋牊牋牋牋牊牋牋牋煙煚牋牋煙牋牋牋煙牋牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋牋牋牋牋牎牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎   ⅱ###いいい#ⅱⅰ煘灊潨洑櫂棗枙晹搾憫悙弾帊崓寣寢媼媼媼媼妸媼媼寣寣實崓帋帋帍彁悙悙憫拻拻拻摀摂敂敂敂晻晻晻晼枛枛枛枛枟棗枛棗棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃櫃櫃櫄殮殮殮殮殮殮殮殮殯洑殮殯洓洓洓洓洔湝洓湝湝湝湝湝湝湝湝湞潩潩潩潩潩潩潩潩潪灊潩潩灋灋潩灋灋灋潩潪灋灋潩潪灋灋潩灋灋灋灋灋灋灋灋灋灋灋灋灋煙煙灋灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牊煙煙牋牊煙煙煚煙煙煙煚牊煙煙牋牊煙煙牋牊煙煚牋牋煙煚牋牋煙牋牋牋煙煚牋牋煙煚牋牋煙煚牋牋牋牋牋牋牋牋牋牋牊牋牋牋牋牋牋牋牊牋牋牋牊牋牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋、%Η┇撤壕僚人我兆谳哚沐玳觌祉铒瘃耱蝌篌篌篌篌篌篁蝰耨痧镱盱祀觊桤驿溷忉噢蒈圹谫刈终栽佑已行舷挝瓮烫烫怂耸噬缮缮扇惹乔乔瞧破排排拍哪妹妹寐铝亮亮览靠靠烤窘浇技技换汉汉构垢父贩贩范抖抖兜档创创创闯巢膊膊膊北北北卑鞍鞍鞍┅┅┅┅èèèèèèèěЁЁЁЁΖΖΖΖΖΖΖΕゥゥゥゥゥゥゥゥいいいいいいいい########"###ⅱⅲ##ⅱⅱ#"ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱ  ⅱⅰ           牋牎  牋牋 牋牋 牋牋牎牋牋 牋牋牋牋牋牋牋牋牋煙灋潨洑槜晸悗寜唭亊zwtqnkheb`][YWUTRQPONNMMMMLLMNNOPQRSUVXY[\]_abdfgijkmnpqrstuvwxyzz{{||}~~~亖亖倐倐倐倐儍們儍儍剝儎剟剠厖厖厗唵噰噰噲垐墘墘墛妸媼媼媽寣寣寣崓崕帋帋帋弿弿弿彁悙悙悙憫憫拺憫拻挀摀挀摀摀敂摀敂敂敂敂晻晻晻晻晼枛枛枛枛棗棗棗棗棙槝棗槝槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫄殮殮殮殮殮殮殮殮殯洑殮殯洓洓洓洓洓洓洓洓洔湝洓湝湝湝湝湝湝潨湝湞潩潩潩潩潩潩潩潩潪灊潩潩灋灋潩潪灋灋潩潪灋灋潩潪灋灋灊灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煘灋灋煙煙灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚、ぅЖ豆嚼娜宋艺刳葸怃骁殛祉铒镳耨蝌蝌蝌蝰耩痫铐祀殍珏溷徇捃圪刂沼倚衔吞耸扇瞧婆拍寐侣铝亮览览览靠靠靠靠靠揪揪揪揪窘浇浇浇郊技技蓟换汉汉汗垢父父贩范抖抖档荡创创闯吵膊膊膊北北北鞍隘┅┅┅┅èèèèèèèěЁЁЁЁЕЁЁЕΖΖΖΕゥゥゥゥイゥゥイいいいいぃ¥い#####"###ⅱⅲ##ⅱⅲ##ⅱⅲ##ⅱⅱⅱⅱⅱⅱⅱⅱⅰ、ⅱⅰ            牋牎  牋牋 牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊牋牋牋煙煚牋牋煙煙灊潨洐槚敀悕媹厓}yvspmjgda_\ZXVTSQPONMMMLLLLLLMNOPQQSTUWYZ[]^`bceghijlmopqrstuvwxxyyzz{||}}}}~~亖亖亖亗倐們儍儍儎剟剟厖厗唵唵噰噲垐垐墘墛妸妸妺媼寣寣寣崓崓崓崕帋帍弿弿彁悙悙悙悜憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂敃晻晻晻晻枛枛枛枛枛枛枛棗棗棗棗棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃殮殭櫄殮殮殮殮洓洓洓洓洓洓洓洓洓洓洓洓洓洓洓洓湝湝湝湝湝湝湝湝湝潩湝湝潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩灋潩潩灋灋灊潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煙灋灋灍煙煘灋煙煙煘灍煙煙煘灋煙煙煘灋灍煙煘灋煙煙煙灍煙煙煙煚ⅲェí扯壕僚忍弦肇坜噔滏栝腱眍镳瘃耱蝌蝌蝌耩痫铑黼觊珂溷忄掭圳刈赵已衔吞耸扇瞧婆哪寐铝亮晾揽靠靠靠揪揪揪揪揪浇揪揪浇浇浇浇郊技技技换汉汉汉构父父父贩抖抖兜荡创创创吵膊膊膊北北北鞍隘┅┅┅┅èīèèèèěЁΖΕぃⅰ牉湚槚搻帇垍亊{wtqmjgdb_][YWUTRQPOOOOOONOOPQRSTUVXY[\^_`bcefhijlmnoqrsttuvwxyyzz{{||}}}}~~~亖亖亖倐倐倐們儍儍儎剟厖厖厖唵唶噰噰垐墘墘墘妸妺媼媼媽寣寣寣崓崓崓崓帋帋帋帍弿彁悙悙悙憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敂晻晹晻晻晼晻晼枛枛枛枛棗棗棗槞洕灎ⅳИ倒搅派绦又佘掎沐玳觌眍镲瘃耨耨蝰耨痫镱盱腙桤邃忉咿苴刈衷友形吞耸汕婆拿寐铝揽靠揪揪浇技技技蓟换技技换换换换缓汉汉汉汉构构构垢父父父贩抖抖抖档荡创创吵巢膊膊北北北鞍隘┅┅┅┅┄èèèèèèěЁЁЁЁЕΖΖΖΖΖΖΖΕゥゥゥゥゥゥゥいいいいい¥いい#####ⅱ##ⅱⅱⅲ#ⅱⅱⅱⅱⅱ、ⅱⅱⅰ ⅱⅱ   ⅰ        牋  牋牋牎 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊煙牋牋牊煙牋牋牊煙牋牋牊煙牋牋煙煙煚牋煙煙煙牊煙煙煙煙煙煘灋潨洑櫁枖拹崑垍儉}zwspmjgeb_][YWUSRPONNMMMLLLLMMNOPQRSTVWYZ\]_`bdeghijlmopqrstuvwxxyyz{{||}}}}~~~亖亖亖亖倐倐倐儍儍剟剟剟厖厗唵唵噰噲垐垐墘墘妸妸媼媼媼寣實崓崓崓帋帋帋帍弿悙悙悙悜憫憫憫憫拻拻拻挀摀摀摀摂敂敂敂敂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗棙槝棗棗槝槝槝槝槞櫃櫃櫃櫃櫄櫃櫃殮殮殮殮殮殮殮殮洓洓洓洓洓洓洓洓洔湝湜洔湝湝湝湝湝湝湝湝湝湝湝湝潩潩潩潩潩潩潩潩潪灋灊潩灋灋灊潩灋灋灋潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煙灋灋灍煙煘灋灍煙灋灋灍煙煘灍煙煙煙灍煙煙煙煙煙煙煙煙煙煙煙牎¥Θ┈锤伎闷释言踪苓徙彗桕腱眍镳耨耱蝌蝌蝌耨痫镱盱觊珂邈忄咻圳僮衷友邢瓮淌扇乔婆拍妹侣亮亮览靠靠靠靠揪究烤揪揪揪窘浇郊浇技技换换换汉汗构构父阜贩贩抖兜档档荡创创吵巢膊膊膊北卑鞍鞍隘┅┅┅┅┅┄èèèèЁЖěЁЁЁЁΖΖΖΖΕゥゥゥゥゥゥゥイいいいいいいいぃ#######"ⅱ##"ⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ           牋  牋牋牎 牋牋牎 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煚牋牋煙煙煚牋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙灋灊潨洑櫁晹憦崐垍|yurolifca^\ZXVTRQPONMMLLLLLLLMNOPQRSTVXY[\]_abdfghjklnopqrstuvwxyyzz{{||}}}}~~~亖亖亖亗倐倐倐儍儎剟剟厖唵唵唵噰垐垐垐墘妸妸妸媼媽寣寣實崓帋帋帋弿弿弿彁悙悙悙憫憭拻拻拻摀摀摀摀摀摀摀敂敂敂敂敃晻晻晻晻枛枛枛枛棗棗枛棗棗棗槞殰潫。エ捕壕缕释言宗苓徙彗殛祉铒镳耨耨耨耨耩镱眄礻殍驽汊噙蒇儇终右严吞耸扇瞧拿寐铝览烤揪揪浇技技技技换患技蓟换换换换缓汉汉汉汗构构构父父父贩抖抖抖档创创创吵巢膊膊脖北鞍鞍鞍┆┅┅┅┅┅èèèèЁЁЁЁЕΗЁΖΕゥぃ"牊潨殬晸悕媹厑~{xtqnkheb`][YXVTSRQPPPOOOOPQQRSTUVXY[\^_`acdfgijklnopqrstuvwwxyyzz{{||}}}}}~~~亖亖倐倐倐們儍儍儎剟剟剠厖唵唵唶噰垐垐垐墘墛妸妸妺媼媽寣寣崓崓崓帋帋弿弿弿悙悙悙悜憫憫憫憭拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻晼枛枛枛枛枟棗枟棗棗棗棗棙槝槝槝槝櫃櫃櫃櫃櫃櫃櫃殮殮殮殮殮殯殮殮殯洓洓殯洓洓洓洓洓湝湝洓湝湝湝湝湝湞湝湝湞潩潨湝潩潩潩潩潩潪灊潩灋灋灋灋灋灋灋灋灋灋灋灋灋灍灋灋灋煙煘灋灍煙煘灋灍煙煙灋煙煙煙灋煙煙煙煙煙煙煙煙煙煙煙煙煙牋煙煙煚牋牋煙牋牋牋牋牋牋牋牋牋牋牋煙牋牋牋煙牋牋牋煙煚牋牋牎ⅳΘ┇扯菇滥撬窝宰谳哚沐玳觌眍铒瘃耱蝌蝌蝌蝰耩痫铐祀殍驽溻徇蒇谫字杂研衔吞耸惹瞧婆哪寐侣铝亮览览览靠靠靠靠烤揪揪揪揪浇浇浇浇技技技换汉汉汉构父父阜贩抖抖兜档创创创吵膊膊膊北卑鞍鞍隘┅┅┅┅┅┅┅èèèèěЁèЁЁЁЁЕΖΖΖΖゥゥΖゥゥゥゥゥイぅゥイいいいい##いぃ########ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅰ                牋牎 牋牋牎牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煙煚牋牊煙煚牋牋煙煙牋牊煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煘灊湜殭棖敀悕媹厒|yvspmjgda_\ZXVTSQPONMMMLLLLLMNOPQRSTVWYZ\]_`bdeghiklnoprstuuwxyyzz{||}}~~~~亖亖亖亖倐倐倐們儍儍儍剟剠厖厖厗唶噰噰噲垑墘墘妸妺媼媼媽實崓崓崓帋帋帋弿彁悙悙悙憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敂晻晻晻晻枛枛枛枛枟棗棖棗棗棙棗棙槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫃殮殮殮殮洓洓洓洓洔湝洓洓湝湝湝湝湝湝湝湝湞潩潨潩潩潩潩潩潩潩潩潩潩潩潩潩灋灋灊潪灋灋灋灋灋灋灋灋煙煙煙煙煙煙煙煙煙煙煙煙煚牋煙煙牋牋牊煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋      ⅳェ┆贝泛搅娜宋艺刳葸徙彗殛腠铑镳耨耱蝌蝌蝌耩痫铑黼觇珂溷忄掭圳刈赵友邢瓮趟扇乔破拍拿侣侣亮晾览览览靠靠靠靠烤揪揪揪窘浇浇浇技技技蓟换汉汉汉构构父父贩范抖抖档创创创吵吵巢膊脖北北北鞍鞍鞍隘┅┅┅┅èèèèěЕΕいⅰ牉湚槙搻崐噭亊zwspmjgda_\ZXVUSRQPOOOOOOOPPQRSTUWXZ[]^`abdfgijkmnoprstuuvwxyzz{{||}}~~亖亖亖亗倐倐倐儍儍儍剟剠厖厖厗唵噰噰噲垐墘墘墘妸妺媼媼寣寣寣崓崓帋帋帍弿彁悙悙憫憫憫憫拻拻拻挀摀摀摀摂敂敂敂晻晻枛晻枛枛棖枛枟棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃櫃櫄洔灎ⅲェ贝讣烂撬我肇圯噔滏栝腱眍镳瘃耨蝌蝌耨痫镱盱腴桄溷徉掭圪刂沼已衔趟噬惹婆哪妹侣晾揽靠靠揪浇浇浇浇浇浇浇郊技技技技换换换缓汉汉汉构构构垢阜贩贩范兜档档创闯吵吵巢脖北北北鞍鞍鞍隘┅┅┅┅è┅┄èèèèěЁЁЁЁЁЁЁΖΖΖΖΖΖΖΖΕゥゥゥゥゥゥゥイいぅいいいいいいいいいぃ#いぃ########"ⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅰ ⅱⅱ  、ⅰ                        牋牎牋牋牋牋牋牋牋牋牋牋牎 牋牋  牋牎 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊煙灋潨洑櫁枖拸崐垍|yvspmjgda_]ZXWUSRQPONNNNNNNOOPQRSTUWXZ\]_`bceghjklnoqrstuvwxyz{|||}}~亖亖亖亗倐們儍儍儍儎剝儎剟剠厖厖厗唵唵唶噰垐垐垑墘妸妸妺媽寣寣實崓帋帋帋弿悙悙悙憫憫憫憭拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛棗棖枟棗棗棗棙槝槝槝槝槞櫃櫃櫃櫃殮殭櫄殮殮殮殮殯洓洓洓洓湝湜洓湝湝湝湝湞潩潩潩潩潩潩潩潪灋灋灋灋灋灋灋灋煙煘灋煙煙煙煙煙煙煙煙煙煙煙煙煚牋牋煚牋牋牋牋牋牋牋牋牋牋牋牋牎 牎                、ⅱⅰ ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ#ⅱⅱ##"ⅱⅲ#ⅱ¥ウí捶痪僚忍弦肇谳哚沐玳觌祛铒瘃耨蝌蝌篁蝌耩痫铐祀殍珂溷徇捃圳刈赵已邢瓮趟噬热乔婆哪哪妹寐侣侣侣亮亮亮亮晾览览览览靠靠靠靠揪揪揪浇技技技换汉汉汉构父父阜范抖兜档荡创创吵吵膊膊膊北北北鞍鞍┅┅┅┅┄èèèèЁЁèЁЁЁЁЁΖΗЁЕΖΖΖΖΖΖΖΕゥゥゥゥゥゥゥゥゥゥゥイいいいいいいいぃ################ⅱ###ⅱ##"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ ⅱⅱⅱ 、ⅱⅰ 、ⅱⅰ 、ⅱⅰ  ⅱ                 牋牊煘潨洐槚敀悕媹厒|yvrolifca^\ZXVTRQPONNMMMMMMMNOPQRSTVWY[\^_abdfhijlmoprstuvwxyz{||}}~~亖亗倐倐們儍儍儍儎剟剟剟剟厖厖厖厗唵噰噰噲垑墘墘墛妺媼媼媽實崓崓崕帋弿弿弿悙悙悙悜憫拻拻拻挀摀摀摀敂敂敂敃晻枛枛枛枟棗棗棗棙槝槝槝槞櫃櫃櫃櫃殮殭櫄殮殮殮殮殮洓洑殯洓洓洓洓湝湝湝湝湝潩湝湞潩潩潩潩潪灋灋灋灋灋灋灋灍煙煘灍煙煙煙煙煙煙煙煙煙牋煙煙牋牋牋牋牋牋牋牋牋 牋牋牎 牋     ⅱ  ⅱⅱⅱ、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ#ⅱⅱⅲ#"ⅱ##"ⅱ##"ⅱ##"ⅱ###ⅲ#######¥ェí捶痪僚忍弦肇谳哚溴玳觌祛铒瘃耨蝌蝌蝌蝰耩痫铐祀殍珂溷徉掭圳僮衷右研衔退适扇惹瞧排拍哪妹妹妹妹侣侣侣侣亮亮亮亮晾览览览揽靠靠烤揪浇浇浇技换换换汉构构构父贩贩贩抖兜档档荡创创创吵巢渤膊膊北北北卑鞍鞍鞍隘┅èЕイ!煘洐枖憥媹厑~{wtpmjgda_][YWUTRQQPPPPPPPQRSTUVWXY[]^`acdfgijlmnoqrtuvwwxyz{|}}}~~亖亖倐倐倐儍儎剟剟剟厖厖厖唵唵噰噰噲垐垐垑墘妸妺媼媽寣崓崓崕帋帋帍弿悙悙悙悜憫拻憭拻摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗棙槝槝槝槞櫃櫃櫃櫃殮殮殮殮殯洑殮洓洓洓洔潪牎%З驳菇滥人弦肇圯噔滏栝腱眍镳瘃耨蝌蝌蝰耩镲铐礻殓驽汊噙蒇谫字杂研衔吞耸扇乔婆拍妹侣侣铝晾览览览揽坷览揽靠靠靠靠靠揪烤揪窘浇浇浇技技换换汉汉汉构父父阜贩抖抖兜档创创创闯吵吵吵巢膊膊膊北卑鞍鞍鞍隘┅┅┅┅┅┅┅┅èèèèèèèèЁЁЁЁЁЁЁЁЁЁЁЁΖΖΖΖΖΖΖΖゥゥゥゥゥゥゥゥイぅゥゥいぅゥゥいぅゥゥいいゥイいいいいいいいいいいいいいいいいぃ¥いい######¥ぃ##¥ぃ################ⅱⅲ##ⅱⅱ##ⅱⅲ##ⅱⅱ#"ⅱⅱ##ⅱⅰ煘潨洐棔搻帇墕儉}yvspmjgda_\ZXWUSRQPOOOONNNOOPQRSTUVXY[\^_abdfgijlmnpqstuvwxyz{|}}~~亖亖亗倐儍儍儍儎剟剟剟剟厖厖厖厗唵唵唵噰噰噰垐垑墘墘妸妺媼媼寣崓崓帋帋弿弿弿悙悜憫憫憫拻拻拻拻摀摀摀摂敂敃晹晻晻枛枙枛枛棗棗棗棙槝槝槝槞櫃櫃櫃櫃殮櫃櫄殮殮殮殮殯洓洑殯洓洓洓洓湝湝湝湝湞潩潨湞潩潩潩潩潪灋灊潪灋灋灋灋灍煙煘灋煙煙煙煙煙煙煙煙煚牋牊煙牋牋牋煚牋牋牋牋牋牋牋牋        、ⅱ  ⅱⅱⅰ ⅱⅱⅰ、ⅱⅱⅱ、ⅱⅱⅱⅱⅱⅱⅱⅱⅱ"ⅱⅱⅱ#ⅱⅱⅲ#"ⅱ##"ⅱ##"ⅱ##"ⅱ##"ⅲ##"ⅲ###ⅲ###ⅲ###¥ェ┆蹈痪屡忍弦肇谳哜溴玳觌眍铒瘃耨蝌蝌蝌蝰耨痧镱黼觊桤邃忉咿蒇谫字杂已邢瓮趟耸缮惹瞧破婆拍哪哪哪妹妹妹妹妹妹妹妹侣侣侣铝亮览览览靠靠揪揪浇郊技技换缓汉汉构父父父贩抖抖抖档荡创创闯吵吵吵膊膊膊膊北北北北鞍鞍鞍鞍┄Дあ牉湚棓憥媹厒~{wtpmjgda_][YWVTSRQQQPPPPPQRSTUVWXZ[]^`abdfgijlmnoqrsuvvwxyz{||}}~~亖亖倐倐儌儍儍剟剟剟剟厖厖厖厗唵唵唶噰垐垐垑墘妸妸妸媼媽寣寣崓崓崓帋帍弿弿悙悜憫憫憭拻挀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗槝槝槝槝櫃櫃櫃櫃殮殮殮殮殮洓洑殯洓洓洓湞灎。ウǐ倒祭那宋艺刿萼怃骁殛祉铒痧耨耱蝌蝌耨痫镱盱腴桤邃汜噢苒谪字砸研衔吞松热乔婆拍妹妹侣铝亮亮亮晾览览览览览览览揽靠靠靠烤揪揪揪浇技技技蓟换换汉汗构父父贩贩贩抖兜档档档创创创闯吵膊膊膊脖北北北鞍鞍鞍鞍┅┆┅┅┅┅┅┅┅┅èèèèěЁЖěЁЁЁЁЕΖΗЁΖΖΖΖΖΖΖΖΖΖΖΖΖΖΖΖΕゥΖΖΕゥウΖゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥイいぅゥいいいいいいいいいいいいぃ#いいぃ#いいぃ#いいぃ¥いいぃ#いい##¥い###い###ぃ#"ⅰ煘湜櫁晸悕媹厒|xurolhfc`^[YXVTSQPOONNNNMMNNOPQRSTUWXZ[]^`aceghjklnoqrsuvwwyz{||}}~亖亖倐們儍儍儎剟剟剟剠厖厖厖厗唵唵唵唶噰垐垐垐垑墘墘妸妺媼媼媽實崓崓帋帍弿弿彁悙憫憫憫憭拻拻拻摀摀摀摂敂敂敂敃晻晻晻晼枛枟棖棗棗槝槝槝槝櫃櫃櫃櫃殮殭櫄殮殮殮殮殯洓洑殯洓洓洓洓洔湝湜洔湝湝湝湝湞潩潨湞潩潩潩潩潪灋灊潪灋灋灋灋灋煙灋灋煙煙煙煙煙煙煙煙煚牋牋煚牋牋牋牋牋牋牋牋牋 牋牋牎 牋牎 牋牋牎 牋        、ⅱ  ⅱⅱⅱ、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ#ⅱⅱⅲ#ⅱⅱ##"ⅱ##############"ⅲ###¥ェí捶壕僚人弦肇谳哚沐玳觌祉铒瘃耨蝌蝌蝌蝌耨痧镱盱腴桤驿汜噢蒈圪刂赵右研贤烫耸噬热乔瞧破排哪哪哪拿妹妹妹寐侣侣侣侣亮亮亮晾览览览靠靠靠揪窘浇浇郊蓟换换缓汗构构父阜贩贩范抖档档档创创创闯吵膊膊膊脖北北北卑鞍鞍鞍┆┅┅┅┅┅┅┅┅┄èī┅èèèèěЁЖěЁЁЁЁЕΖЁЁЕΖΖЕΖΖΖΖΖΖΖΖΖゥΖΖΕゥゥゥゥゥゥゥゥぅゥゥイいゥゥイいゥゥいいいイいいいいいいいいいいいいいいいいい¥いいぃ#いいぃ#いいぃ#いいぃ#¥い##¥い##¥いぃ#ⅱ 牊潨殬枖憦寜噧}zwspmjgdb_][YWUSRQPOONNNNNNOOPQRSTUVXZ[]^_acdfhiklmoprstuvwxyz{{||}~~亖倐倐倐們儍儍儍儎剟剟剟厖厖唵唵唵噰噰噰垐墘墘墘妸妺媼媼媽寣崓崓崕帋帍弿弿悙悙悙憫憭拻拻拻挀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗槝槝槝槝槝槝槝櫃櫃櫃櫃櫄殮殮殮洕煚ⅳエ贝讣烂撬窝肇谳哜滏玳觎眍镳瘃耨耱蝌耨痧镱铐礻殓驽溻徇蒇谫字沼研衔吞耸扇瞧婆拍妹侣侣亮览览览览揽靠览靠靠靠靠靠揪揪揪揪浇浇浇浇郊技技技换换缓汉构构垢父贩贩范抖档档档创闯吵吵吵膊膊膊膊北北北卑鞍鞍鞍隘┄Еィ灈櫀攽帇噭亇zvspmifda_\ZXWUSRQQPPPPPOPPQRSTUVWYZ\]_`bcefhjklmnpqrtuvvwxyz{{||}}~亖倐倐倐儍儍儍儎剟剠厖厖厖唵唵唵噰噰噰垐垑墘墘妸妺媼媽寣實崓崓帋帍弿弿弿悙悜憫憫憭拻拻拻摀摀摀摀敂敂敂敃晻晻晻晻枛枛枛枛棗棗棗棗棙槝槝槝槞櫃櫃櫃櫃殮殭櫄殮殮殮洔潫、うǐ蹈祭那宋艺刳萼怃骅殛祉铒痧耨耱蝌蝌耨痫镱盱腴桄邃忉咻苴儇渍砸研衔吞松热乔婆拍妹寐侣亮晾亮晾览览览览揽靠览览靠靠靠靠揪窘浇浇郊技技蓟换汉汉汗构父父父贩抖抖抖兜档档荡创吵吵吵膊膊膊脖北鞍鞍鞍隘┄ěΕ!牆洐枔悕妵剙}zvsolifca^\ZXWUSRQQPPPPPPPPQRSTUVWYZ\]_`acdfhijlmnoqrstuvwxyzz{|||}~~亖亖亖亗倐倐倐們儍儍儎剟厖厖厖唵唶噰噰垐垑墘墘妸妺媼媼寣實崓崓崕帋帋帍弿彁悙悙悙憫憫憫拻拻摀摀摀摂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗棙槝槝槝槝櫂槝櫃櫃櫃櫃櫄殮殮殮殮洓洓洓洓洓湜洓湝湝湝湝湝湞潨湝湝潩潩潩潩潩潩潩潩灋灋潩灋灋灋灋灋灋灋灋灋灍煘灋灍煙煙煙煙煙牊煙煚牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋  牋牎                ⅱⅰ 、ⅱⅱ 、ⅱⅱⅰⅱⅱⅱ 、ⅱⅱ 、ⅱⅱ ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ%Θ贝泛玖湃讼艺刳葸徙彗殛腠铑镳耨耱蝌蝌蝌耨痧镲铎腙殍驽溻噙蒈圳刈赵右研贤趟适缮惹破排排哪妹妹妹妹侣侣妹侣侣侣侣侣亮亮亮晾览览览靠烤揪揪窘浇郊技蓟换汉汉汗构父父阜范抖抖兜档档荡创吵吵吵吵膊膊膊脖北北北鞍鞍鞍┅┅┅┅┄┅┅┅èèèèèèèěЁЁЁЁЕΗЁЕΖΖΗΖΖΖΖΖΖΖΖΖゥウΖΕゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥいぅゥイいいいいいいいいぃいいい#¥いい##いぃ##¥ぃ############################"###ⅱ###"ⅱ 牊灉洐棔搻帇垍|xurokhec`^[YWUTRQPONNMMMMLMMNOPQRSTUWXZ[]^`aceghiklmoprstuvwxyz{{||}~~亖亗倐倐們儍儍儍儎剟剟剟剠厖厖厗唵噰噰噲垐墘墘墘妸媼媼媼寣實崓崓崕帋帋帍弿悙悙悙憫憫憫憭拻摀摀摀摂敂敂敂晻晻晻晻晼枛枛枛枛棗棖枟棗棗棗棗槝槝槝槝槞櫃櫃櫃櫄殮殮殯潪牏ぅИ锤祭们宋颜刳葸怃骁殛祉铒痧耨耱蝌蝌耩痫镱盱觊珂邈忄咻圳僮终友邢瓮趟嗜乔破排拿侣侣亮晾览览览靠靠靠靠靠靠靠靠烤揪揪揪窘浇浇浇技技技蓟缓汉汉汗构父父阜贩抖抖抖档创创创吵膊膊膊脖北北北卑鞍鞍鞍┅┄ЁΔ!煗洐枖憥媹厑~{wtqnkheb`][ZXVUSRRQQQQPPQQRSTUVVXY[\^_`bcdfhiklmnoqrstuvwwxyz{{||}}~~亖亖亖亗倐倐倐儍儍儍儍剟剠厖厖唵唶噰噰垐垐墘墘妸妺媼媼寣寣寣崓崕帋帋帋弿弿悘悙悜憫憫憫拻拻拻挀摀摀摀摂敂敃敂敃晻晼晻晼枛枛枛枛棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫄殮殮殮殮殮殮殮殯洓洓洓洓洓洓洓湝湝湝湝湝湝湝湝潩潩潩潩潪灋灋灋灋灋灋灋灋煙灋灋煙煙煙灍煙煙煙灍煙煙煙煙煙煙煙煙煚牋牊煙牋牋牊煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋                     ⅱ  、ⅱⅰ 、ⅱⅰ 、ⅱⅰ ⅱⅱⅰ ⅱⅱⅱ、ⅱⅱⅱⅲウī捶航聊人我兆谳哚沐玳觌祉铒瘃耨蝌蝌蝌蝌耨痧镱黼觊桄邃忄咻苒谪渍杂已邢吞耸噬扇瞧破排排哪妹妹妹寐侣侣侣铝亮亮亮晾览览览靠靠靠揪窘浇浇浇技换换换汉构构垢阜贩贩范抖档档档创创创吵巢膊膊膊脖北北北鞍鞍鞍鞍隘┅┆┅┅┅┅èèèèěЁЖèЁЁЁЁЕΖЁЁΖΖΖΖΖΖΖΖΕゥウΕゥゥゥゥゥゥゥゥゥゥゥゥゥぅゥゥイいいいいいいいいいいいい¥いいい¥いいぃ#いいぃ#いいぃ#¥い#########ⅲ##"ⅲ###ⅲ###########ⅲ###ⅲ###ⅲ##"ⅱ 牊灊湚櫁敀悕妶厒~{xuqnkheb`][YWUSRQONNMMMMLLLMNOPQQRTUWXZ[]^`aceghiklnoprstuvwxyzz{{|}}~~亖亖亖倐倐倐倐儍儍儍儍剟剟厖厖厗唵唵唶噰垐垐垐墘妸妸妺媼寣寣實崓帋帋帋帍弿悙悙悙悜憫憫憫拻拻拻挀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛枟棗棗棗棗槝槝槝槝槞櫃槞櫃櫃櫃櫃櫄殮殮殮殯洓洓洓洔湝湝湝湝湝湝湝湝潩潩湝潩潩潩潩潩潪灊潩潪灋灋灋灋灋灋灋灋灍煘灋灋煙煙灋灍煙煙灋煙煙煙煙煙煚牊煙煚牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋牎牋牋  牋牎                ⅱⅰ  ⅱⅱ 、ⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱ%Θ┇贝泛搅娜宋言宗葸徙彗桕腱眍镳耨耱蝌蝌蝌耨痧镱盱腙桤驽汜噢蒈谫刂杂已邢瓮耸噬热瞧婆拍哪拿寐侣侣侣铝侣侣铝亮亮亮亮晾览亮览揽靠靠靠揪揪浇浇技换换缓汉构构垢父阜贩贩抖抖兜档创创创闯巢膊膊膊北北北卑鞍鞍鞍隘┅┅┅┅┅┅┅┅èèèèěèèěЁЁЁЁЕΖЁΖΖΖΖΖΖΖΖΖΕΖΖΖゥゥΖΕゥゥゥゥゥゥゥゥゥゥゥゥいいゥイいいゥイいいいいぃいいぃ##¥ぃ##¥#################"###ⅱⅲ##ⅱⅲ##ⅱⅲ##ⅱⅱ#"ⅱⅱ#"ⅱⅱⅲ"ⅱⅱ#"ⅱ 牋煘潨殬枖拸崐噭亊{xuqnkheb`][YWUSRQOONNMMMMLMMNOPQQRTUWXZ[]^`bceghjklnoqrstuvwxyz{{||}}~亖亗倐倐倐儍儍儍儍剟剟剟剠厖厖厖唵唵唵噰噲垐垐墘墛妸妸媼媽寣寣崓崕帋帋帋弿弿弿悙悜憫憫憫拻拻拻拻摀摀摀摂敂敃敂敃晻晼枙晼枛枛枛枛棗棗棗棗棙槝槝槝槝櫃櫂槞櫃櫃櫃櫃櫄殮殮殮殮殮殮殮洓洓洓洓洓湝湜洔湝湝湝湝湞潩潨湞潩潩潩潩潩潪潩潩灋灋灋灋灋灋灋灋灋灋灋灋灍煙煘灋煙煙煘灍煙煙煙煙煙煙煙煙煙煚煙煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎 牋        、ⅱⅰ  ⅰ           ⅱ  、ⅱ  、ⅱ ⅲうЗ扯菇滥撬窝宰谲哚沐玷觌祉铒痧耨蝌蝌蝌蝰耩痫铐祀觇珂邈忄掭苒儇终砸蜒形吞耸噬扇瞧排排哪妹妹妹寐侣侣侣侣亮亮亮亮晾览览览揽靠靠靠揪浇浇浇技蓟换换汉汗构构父贩贩贩抖档档档荡创创闯巢膊膊膊北北北卑鞍鞍鞍隘┅┄Еイ!煗洐枔悕妵剚}zwspmjgda_][YWUTSRQQPPPPPQQRSTUVWXZ[]^`abdegijkmnoprstuvwxyzz{||}}~~亖亗倐倐倐儍儌儍儍儎剝儎剟厖厖厖厗唵唵唶噲垐垐垑墛妸妺媼媽寣寣實崓帋帋帋帍弿弿彁悙憫憫憫憭拻拻拻挀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛枟棗棗棗棗棗棗棙槝槝槝槝櫃櫃櫃殯湠煛%И捶豢们饰言宗葸怃骁殛祉铒痧耨耱蝌蝰耩痫铐祀觇珏溷徉捃谫刂赵倚衔吞耸扇瞧排哪寐铝亮晾揽靠靠靠烤揪揪揪揪浇揪揪浇浇浇浇郊技技技换缓汉汉汗构构父阜贩贩范兜档档档创吵吵吵巢膊膊膊北北北北鞍鞍鞍鞍┅┅┅┅┅┅┅┄èèèèèèèěЁЁЁЁЁЁЁЕΖΖΖΖΖΖΖΕゥウΖゥゥゥゥゥゥゥゥゥぅゥゥイいぅイいいいいいいいいぃ#いいぃ#¥い###い##¥い#############ⅲ##"ⅱ##"ⅱⅲ#ⅱⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 牊灊洑槚敀弽妵剚~{xtqnkheb`][YWUSRQONNMMMMMLMMNOPQQRTUWXZ[]^`acefhijlmoprsttuvxyyz{{||}~~亖亖亖倐倐倐倐儍儍儍儎剟厖厖厖厗唵唵唶噰噲垐垐墘妸妸妺媽寣寣實崓帋帋帋弿弿弿彁悙悜憫憫憭拻拻拻挀摀摀摀敂敂敂敂晻晻晻晻晼枛枛枛枟棗棗棗棙槝槝槝槞櫃櫃櫃櫃櫃櫃殯湠煛¥З撤豢缕释言宗苓徙彗殛腠铒镳瘃耨耨耨耩镲铐祀觇珏溷徉捃圪刂赵已衔吞耸扇瞧婆哪寐铝亮亮览靠靠靠靠揪靠靠揪揪揪揪揪浇揪窘浇技技技蓟换换汉汗构构垢阜贩贩范兜档档档创吵吵吵巢膊膊脖北鞍鞍鞍隘┅┅┅┅èěΕぃ灉殬晵悕妵儉}yvsolifca^\ZXWUTRRQQPPPPPPQRSTUVWXZ[]^`abdeghjklmnpqrstuvwwxyz{{{||}~~~亖亖亖倐倐倐們儍儍儍剟剟剟剠厖唵唵唵噰噰噲垐垑墘墛妸妺媼寣寣實崓崓帋帍弿弿弿悙悙悙悜憫憫憫拻拻摀摀摀摂敂敂敂晻晻晻晻晼枛枛枛枛棗棖枟棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃殮櫃櫄殮殮殮殮洓洓洓洓洓洓洓洓洔湝湜洔湝湝湝湝湝潩湝湝潩潩潩潩潩潩潩潩潪灋灊潩灋灋灋灋灋灋灋灋灍煙煘灍煙煙煙煙煙煙煙煙煙煙煙煙煙牋煙煙煚牋煙煙牋牋牊煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎 牋牋牎 牋  牋  牋牎 牋牋牎 牋牋牎 牋牎 牋、%Θ┇捕辜烂鞘窝宰谲哚沐玷觌祉铒痧耨蝌蝌蝌蝰耩痫铐祀殍珂溷徉掭圳僮衷右研衔退适扇惹破排哪哪妹侣侣侣铝亮亮亮晾览览览揽靠靠靠烤揪揪揪浇郊技技蓟换换汉汗构构父阜贩范抖兜档档创闯吵吵吵膊膊脖北卑鞍鞍鞍┅┅┅┅┅┅┅┄èèèèèèèěЁЁЁЁΖЁЁΖΖΖΖΖウΖΖΕゥゥΕゥゥゥゥゥぅゥゥイいぅゥいいいいいいいいい¥いいぃ#いい########################"ⅱ##ⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱ##"ⅱⅱ#ⅱⅱⅱ#ⅱⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ牊灊湚槚敀弽妵厒~{xurokhfc`^[YWVTRQPONNMMMMMMMNOPQRRTUWXZ[]^`acefhijlmopqsstuvwxyz{{||}~~亖亖亖亗倐倐倐儍儍儍儍剟剟剟剠厖唵唵唵噰噲垐垐墘墘墘妸妺媼媼媽寣崓崓崓帋帋弾弿彁悙悙悙悜憫憫憫拻拻拻挀摀摂敂敂敂晻晻晻晼枛枛枛枛棗棖枟棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃殮櫃櫄殮殮殮殮洓洓洓洓洔湝洓洓湝湝湝湝湝湝湝湝湞潩潩湞潩潩潩潩潩潩潩潩潪灋灋潪灋灋灋灋灋灋灋灋灋煙灋灋灍煙煘灋煙煙煘灍煙煙煙灍煙煙煙煙煙煙煙煙煙牋煙煙煚牋煙煙牋牋牊煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋牋 牋牋牋 牋、%Θ┇捕辜烂鞘窝宰谲哚沐玷觌祉铒痧耨蝌蝌蝌蝰痧镲铐礻殍驽溻徇蒈圪刈赵已邢瓮趟噬扇乔婆拍哪拿寐侣侣侣亮亮亮亮览览览览靠靠靠靠揪揪揪浇郊技技技换汉汉汉构父父父贩抖抖抖档档档创闯吵吵巢膊北北北卑鞍鞍鞍隘┄ěЕィ灉殬晵悕妴儉}yvrolifc`^\ZXVUSRQPPPOOOOOPQRSTTUWXZ[]^`abdeghjklmopqsttuvwxyyz{{{|}}~~~~亖亖亗倐倐倐儍儍儍儎剟剠厖厖厗唵唵唶噰垐垐垑墘妸妸妺媼寣寣寣崓崕帋帋帍弿弿彁悙悜憫憫憭拻拻拻挀摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗槝槜槝槝槝槝槝櫃櫃櫃殯湠煛¥З撤豢闷释言宗葸徙彗殛祉铒镳耨耨蝌蝰耩镲铐祀觇珏溷徉捃谫字沼倚衔吞耸惹婆拍拿侣亮晾览靠烤揪揪揪骄揪揪窘浇骄揪浇浇浇浇技技技蓟换汉汉汉构父父父贩抖抖抖档创创创吵吵膊膊脖北北北卑鞍鞍鞍┅┅┅┅┅┄èè┄èèèèèЁЖěЁЁЁЁЕΖΖΖΖΖΖΖΖウΖΖゥゥゥゥゥゥゥゥイいぅゥいいいいぃ#¥い###ぃ########"ⅱ##"ⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱ#ⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ、ⅱⅱⅱ、ⅱⅱⅰ 、ⅱ  、ⅱ 牋煘潨洐槚攽弻妵剚~{xurnkhec`^[YWVTSQPONNNNMMMNNOPQRSTUVXY[\^_`bdegijklnoqrstuvwxyyz{{||}}~~~亖亖亖倐倐倐倐儍儍儍儍剟剟剟剠厖厖厗唵噰噰噰垐墘墘墘妸媼媼媼寣實崓崓崕帋帋帋弿彁悙悙悙憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂敃晻晻晻晻枛枛枛枛枟棗枛棗棗棗棗槝槝槝槞殯潫牏う┈泛韭剖托宰谲哚沐玳觌眍镲痧耨耨耨耩痫铑盱觊珂邈忉咻圳刈衷友形吞耸扇瞧拍拿寐亮览览靠揪揪揪窘浇浇浇浇浇浇浇郊技技技技换换换缓汉构构构父父阜贩抖抖抖兜荡创创创吵吵吵巢脖北北卑鞍鞍鞍隘┅┅┅┅èěЕイ!牉湚棔拸寜唭|yurokheb`][YWVTSQPPOOOOOOOOPQRSTUVWY[\^_`bcefhijkmnoqrstuuvwxyzz{{||}}~~~~亖亖亖倐倐儍儍儍儎剟剟剠厖唵唵唵噰噲垐垐墘墛妸妸媼媽寣寣崓崓崓崕帋弿弿弿彁悙悙悙憫憫憫拻拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛枛枛枛棗棗棗棗棗槝槜棙槝槝槝槝櫃櫃櫃櫃櫄殮殮櫄殮殮殮殮殯洓洓洓洓洓洓洓洔湝湝湝湝湝湝湝湝湝湝湝湞潩潨湞潩潩潩潩潩潩潩潩潪灋灊潩灋灋灋灋灋灋灋灋灍煙煘灋煙煙煙灍煙煙煙煙煙煙煙煙煙煙煙煙煚牋牊煙牋牋牊煙牋牋牊煙牋牋牊煙牋牋牊煙牋牋牋煚牋牋牋牋牋牋牋煚牋牋牋煚牋牋牋牋牋牋牋牋牋牋牋牋 牋、%Θ┇驳辜烂鞘脱宰佘哚沐玷觌祉铒痧耨蝌蝌蝌蝰耩痫铐祀殍珂溷徉掭圳僮衷右研贤趟噬扇惹婆拍哪拿寐侣侣侣亮亮亮亮晾览览览揽靠靠靠烤揪揪窘郊技技技换汉汉汉构父父父贩抖抖抖档创创创吵吵吵巢膊北北北卑鞍鞍鞍┅┅èěΕぃ灉殬晸悕妵剙}zwspmjgda_][YWVTSRQQQPPPPQQRSTUVWXY[\^_abcefhiklmnoqrstuvwwxyz{{|||}~~~~亖亖亖亖倐倐倐們儍剟剟剟厖厗唵唵唶噰噰垐垑墘墘妸妺媼媼寣實崓崓崓帋帍弾弿弿悙悙悙悜憫憫憫拻拻拻拻摀摀摀摀敂敂敂敃晻晻晻晻枛枛枛枛枟棗棗棗棗棗棗棗槝槝槝櫄洕灎ⅲΘ捕壕缕赏杏仲苓徙彗殛腱铑镳瘃耨耨耨痧镱铐礻殓驽汊噙蒇儇渍杂研瓮趟噬惹婆哪妹铝览览靠烤揪揪揪浇浇浇浇郊技技郊技技技技换换换缓汉构构构垢父父贩范抖抖兜荡创创创吵膊膊膊脖北北北鞍鞍鞍隘┅┅┅┅┄èīèèèèèěЁЁЁЁЁЁЁΖΖΖΖΖΖΖΖΕゥゥゥゥゥゥゥゥいゥゥいいいイいいいいいいいいい#いい########"ⅱ##"ⅱⅲ#ⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ 、ⅱ  、ⅱ       ⅱ  、ⅱ   ⅰ                 牋牊煘潨殭棔搼帉墕儉}zwspmjgda_\ZXVUSQPONMMMMLLLLMMNOPQRSTVXY[\]_abdfghjkmnoqrstuvwxxyzz{{|}}~~~~亖亖亖亖亗倐倐倐儍儍剟剟剟厖厖厗唵噰噰噲垐墘墘墛妸媼媼媼寣實崓崓崕帋帋帋弿彁悙悙悙憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛棗棗棗棗棗槜棗槝槝槝槝槞櫃櫃櫃櫃殮殮殮殮殮殮殮殮洓洓洓洓洓洓洓洓湝湝洓湝湝湝湝湝湞潨湝湞潩潩潩潩潩潩潩潩潪灊潩潪灋灋灊灋灋灋灋灋灋灋灋灋灋灋灋灋煙煙灋灍煙煙灋灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牊煙煚牋牋煙煚牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋、うЗ蹈豢闷释杏仲苻徙彐桕腱眍镳瘃耨蝌蝌蝰耩镲铐祀殍珏溷徉捃圳刈衷友邢瓮趟噬热乔婆拍拿妹寐铝亮亮亮览览览览览览览揽靠靠靠烤揪浇浇浇技技换换汉汗构构父阜贩贩抖抖兜档创创创吵巢膊膊膊北北北卑鞍鞍鞍隘┅┅┅┅èèèèèèèěЁЁЁЁΖΖЁЕΖΖΖΖΖΖΖΕゥゥゥゥゥゥゥゥいいいいいいいいいいいい##い#########ⅱⅲ##ⅱⅱ#"ⅱⅱⅲ"ⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱ  ⅱⅰ  ⅱⅰ            牎  牋牋 牋牋 牋牊煘潨洑槜晸悗媺唭}zwspmjgda_\ZXVTSQPONMMMMLLLLMMNOPQRSTVXY[\]_abdfghjklnoqrsttuwxxyzz{{|}}~~~~亖亖亖亗倐倐倐們儍剟剟剟厖厖唵唵噰噰垐垐墘墘墘妸妺媼媼媽寣崓崓崓帋帋帋帍弿悙悙悙憫憫憫憭拻拻拻挀摀摀摀摀敂敂敂敂敃晻晻晻晻枛枛枛枛枛枛枛棗棗棗棗棙槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫄殮殮殮殮殮殮殮殯洓洑殯洓洓洓洓洔湝湜洔湝湝湝湝湞潩湝湝潩潩潩潩潩潩潩潩潩潩潩潩潪灋潩潩灋灋灋潪灋灋灋灋灋灋灋灋灋煙灋灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牋煙煙煙煙煙煙煙煙煙煙煚牋牊煙牋牋牋煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎¥Η┆驳讣棵剖托又佘掎沐骅觌祉铒痧耨蝌蝌蝌蝰耩镲铐腙殓驽溻噙蒈谫刂沼已衔吞耸扇惹瞧拍拿妹寐铝亮亮亮览览览览揽靠靠靠烤揪揪揪窘浇浇浇郊技换换汉汗构构父阜贩贩范抖抖兜荡创创创吵膊膊膊脖北北北鞍┅┅┅┅┄èЁΕぃ灉殫晵弻妴儉}zvspmjgda_][YWVTSRQQQPPPPQQRSTUVWXY[\^_abcefhijlmnoprsttuvwxyyzz{{|}}~~~~~亖亖亖亖倐倐倐們儍儍儎剟厖厖厖唵唶噰噰垐垑墘墘墛妺媼媼媽寣崓崓崓帋帋帋弿弿悙悙悙憫憫憫憫拻拻拻拻摀摀摀摀摂敂敂敂敃晻晻晻晼枛晻枛枛枛枛枛棗棗棗棗棙槝槝櫅湠牎%ǐ逗韭派托又佘哚沐玳觌眍镲痧耨耨耨耩镲铐祀觇珏溻徉捃谫字沼倚贤趟噬惹婆拿寐铝览靠靠揪窘浇浇浇郊浇浇郊技技技技换换换换缓汉汉汉构构构父阜贩贩范兜档档荡创吵吵吵膊膊膊北鞍鞍鞍隘┅┅┅┅┄è┅èèèèěЁΖイぃ灊洏枔憥媹厒~{xtqnkheb_][YWUTRQPPOOOOOOOOPQRSTUVWY[\]_`acefhijkmnoqrstuuvwxyzzz{||}}~~~~~亖亖亖亗倐倐倐們儍剟剟剟厖厖厖唵噰噰噰垐墘墘墘妸媼媼媽寣崓崓崓帋帍弿弿弿彁悙悙悙憫憫憫憭拻拻拻拻摀摀摀摀摂敂摀敂敂敂敂敃晻晻晻晼枛枛枛枛棗棗棗棗棙槝槝櫅湠牎%ǐ逗韭派托又佘哚沐玳觌眍镲痧耨耨耨耩痫铐黼觊珂溷忄咻圪刂赵已衔趟噬惹婆哪妹铝晾揽靠烤揪揪揪浇浇浇浇浇郊冀浇郊技技技蓟换换缓汉构构构垢阜贩贩范兜档档荡闯吵吵巢脖北北卑鞍鞍鞍隘┆┅┅┅┅┄èèèèěЁèЁЁЁЁЁΖΖΖΖΖΖΖΖΖΖΖΖゥゥゥゥゥゥゥゥいいぅいいいいいいいいい########ⅱⅱ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ、ⅱⅰ                           牋牎  牋牎  牋牋 牋牋  牋牎  牋牎  牋牋  牋牋 牋牊煘潨洑槜晸悗寜唭}zwtqnkheb`][YWUTRQPONNNMMMMMNNOPQRSTUWXZ[]^`acefhijkmnpqrstuvwxxyzz{{|}}}~~~~亖亖亖亖倐倐倐們儍儍儍剟剟剟厖厗唵唵唶噲垐垐墘墛妸妸妺媽寣寣寣崓崕帋帋帍弿弿弿彁悙悙悙憫憫憫憭拻挀搾摀摀摂敁敂敂敂敂敃晻晻晻晻枛枛枛枛枟棗棖枟棗棗棗槞殰潫、ェ捕菇僚商杏仲苻徙彗桕腱铑镳瘃耨耨耨痫镱盱腙桤邃汜噢苴僮终右形吞耸扇桥哪妹铝晾靠靠揪窘浇浇浇技技技技技技技技技换患蓟换汉汉汉汗构构垢父贩贩贩抖档档档创吵吵吵膊膊脖北卑鞍鞍鞍隘┅┅┅┅┄èèèèèèèЁЕΕイ!牉潥槚搼帇垍亊{wtqmjgdb_][YWUTRQPOOOOONNOOPQRSTUVWY[\]_`acefhijkmnoprsstuvwxxyzzz{||}}}}~~亖亖亖亗倐倐倐們儍剟剟剟厖厖厗唵噰噰噲垐墘墘墘妸妺媼媼媽寣崓崓崓帋帋帋弿弿弿弿悙悙悙悜憫憭拻拻拻挀摀摀摀摀敂摀敂敂敂敂敃晻晻晻晼枛枛枛枛棗棗棗棗棗棗棗棙槝槝槝槝櫃櫃櫃櫃櫄殭櫃櫄殮殮殮殮殮殮殮殮殯洑殮殮洓洓洓洓洓洓洓洔湝湝湝湝湝湝湝湝湞潩湝潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩灋灊潩潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煘灋灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚煙煙煙煙煙煙煙煚牊煙煚牋牋煙牋牋牋牋、ぅЗ蹈豢闷释杏仲苻徙彐桕腱眍镳瘃耱蝌蝌蝌耩痫镱黼觇珂邈忄掭圳僮衷友邢瓮趟噬惹破拍妹侣侣铝晾览览览靠靠靠靠靠靠靠烤揪揪揪窘浇浇郊技换换换汉汗构构父贩贩贩抖档档档创闯吵吵巢膊膊脖北鞍鞍鞍鞍┅┅┅┅┄è┅èèèèěЁЁЁЁΖΖЁΖΖΖΖΖゥゥゥゥゥゥゥゥイぅゥイいいいいいいいい#¥いぃ########ⅱⅲ#"ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅰ、ⅱⅰ  、                 牋牎  牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋牋牋牋牋牋牋牋牊煙灋潨洑槚敀悗媹唭}zvspmjgda_\ZXVUSRPONNMMMMLLMMNOPQRSTUWXZ[]^`acefhijkmnpqrstuvwxyyzz{||}}~~~~亖亖亖亖倐倐倐倐儍儍儍儎剟剟厖厖厗唵唵噰噲垐垐墘墛妸妸媼媽寣寣實崓帋帋帋帍弿弿弿悙悙悙悜憫憭拺拻拻挀拻挀摀摀摀摀敂敂敂敂敃晻晻晻晼枛枛枛枛枟枛枟棗棗棗棗槝槝槝槝槝櫃槝槝櫃櫃櫃櫃櫃殮殭櫄殮殮殮殮殮洓洑殮洓洓洓洓洓洓洓洓洔湝湜洓湝湝湝湝湝潩潨湞潩潩潩潩潩潩潩潩潪灋潩潩灋灋灊潩灋灋灋灋灋灋灋灋灋灋灋灋灍煙灋灋灍煙煘灋煙煙煘灋煙煙煘灋煙煙煘灋煙煙煘灍煙煙煙煙煙煙煙煙煙煙煙煙煙牊煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牎ⅲェí驳讣棵鞘脱宰谲哚沐玷觌祉铒瘃耨蝌蝌蝌耨痧镱盱腴桤邃汜咿苒儇渍砸研衔吞噬热乔婆哪妹寐侣亮览览览揽靠靠靠靠靠靠靠揪揪揪揪浇郊技技蓟换换汉汗构垢父阜贩范抖兜档荡创闯吵吵巢脖北北北鞍鞍鞍隘┅┅┅┅┅èī┄èЁЕイ"潧櫁攽弻墔|xuqnkheb`][YWVTRQPPOOOOOOOOPQRSTUVWYZ\]_`acefhijklnoprsttuvwxyyzz{{||}}}}~~~亖亖亖倐倐倐們儍儍儍剟剠厖厖唵唶噰噰垐垐墘墘墛妸妸妺媼寣寣寣崓崓崓崕帋弿弿弿彁悙悙悙憫憫憫憫拻拻拻挀摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛枟棗棗棗棗棗棗槞殰灍。エ撤壕缕赏性宗苓徙彗殛腠铒镳瘃耨耨耩痫铑盱腙桄邃忉咿苴刈衷友形吞耸扇桥拍妹侣晾揽靠烤窘浇浇浇郊技技技技技技技技换换换换汉汉汉构构垢父阜贩范抖兜档荡创闯吵吵膊脖北北北鞍隘┅┅┅┅┅┅┅┄èèèèЁЖěЁΖゥぃⅰ牉湚槚搻帇垍倊{xtqnkheb`][YXVTSRQPPOOOOOOPQRSSTUVXY[\^_`bcefhijlmnoqrstuuvwxyzzz{||}}~~~~~亖亖亖亖亗倐倐倐們儍儍儍剟剟剠厖唵唵唶噰垐垐垐墘妸妸妺媼寣寣寣崓崓帋帋帋帍弿弿弿悙悙悙悙憫憫憫憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晻晻晻晻晼枛枛枛枛枟棗棗槞洕煚ⅴǐ逗韭剖脱宰谳哚溴玳觎眍镳瘃耨耨耨耩镲铐祀觇珏溻徇捃谫字杂研瓮趟噬绕拍妹侣晾揽烤揪窘郊技技技蓟患技蓟换换换换换换换汉汗构构构父父父阜范抖抖兜荡创创闯吵巢膊膊北北北卑鞍┅┅┅┅┄ī┅┄èèèèЁЁЁЁЕΕイ"灉殬枔憥媹厑~{wtqmjgdb_][YWUSRQPOOONNNNNOOPQRSTUWXZ[]^_abdfghjklmnpqrsstuvwxxyyzz{|||}}}}~~~亖亖亖亖倐們儍儍儎剟剟厖厖唵唵唶噰垐垐墘墘妸妸妺媼寣寣寣崓崓帋帋帋弿弿弿弿悙悙悙悜憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛棗棗棗棗棗棗棙櫄湠煛%ì坊棵鞘窝宰谳哜滏玳觎眍镳瘃耨耨耨耩镲铐祀觇珏溻徇捃谫字杂研瓮趟噬瞧拍妹侣晾揽靠烤揪浇浇浇浇技技技技技技技技换换换换汉汉汉汗构构构父阜贩贩范兜档档创闯吵吵膊脖北北卑鞍鞍鞍┅┅┅┅┅┅┅┅èèèèЁЁЁЁЕΖΖΖΕウΖΕゥゥゥゥイゥゥイいいいいいいいい##い#####"###ⅱⅱ#"ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ        牋牋  牋牎  牋牋 牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煙煚牋牋煙煚牋牊煙煙牋牊煙煙牋牊煙煙煚煙煙灋灊湜殭槚敀悕媹唭}zvspmjgda_\ZXVUSRPONNMMMMLLMMNOPQRSTUWXZ[]^_acdfgijkmnoqrsttuwxxyzz{{|}}~~~~亖亖亖亖亗倐倐倐儍儍儍儎剟剟剟厖唵唵唵噰噲垐垐墘墛妸妸妺媼寣寣實崓崓崓帋帋弿帍弿彁悙悙悙憫憫憫憫拻拻拻挀摀摀摀摂敂敂敂敂晻晻敂晻晻晻晻晼枛枛枛枛棗棗棙櫄湠煛&┈按讣烂撬我肇圯噔滏栝腱眍镳瘃耨耨耨耩镲铐祀觇珏溻徇捃谪渍砸严翁耸扇瞧拍妹侣晾揽烤揪窘郊技技技技技技技蓟患技蓟换换换缓汉汉汉构垢父父阜贩抖抖兜档荡创闯吵吵膊膊北北北卑隘┅┅┅┅┄ī┅┄èèèèЁЁèЁЕΖイ"灉殬晸悕妵剚~zwtpmjgda_\ZXWUSRQPOONNNNNNOOPQRSTUVXZ[\^_`bdeghijlmnoqrrstuvwxxyyyz{{||||}}}~~~~~~亖亖亖亗倐倐們儍剟剟剟厖唵唵唶噰垐垐垐墘墛妸妸妺媼寣寣實崓崓崕帋帍弿弿弿悙悙悙悜憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敂敃晻晻晻晻晻晻晼枛枛枛枛棗棗棗棗棗棗棗棗槝槝槝槝槞櫃槞櫃櫃櫃櫃櫃殮殮殮殮殮殮殮殯洓洓洓洓洓洓洓洓洔湜洓洔湝湝洓洔湝湝湝湝湝湝湝湝潩潨湝湞潩潩潩潩潩潩潩潩灋灋潩灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煘灋灋灍煘灋灋煙煙灋灍煙煙煘煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚、ぅЗ俺逗玖湃滔艺刿捺怃骅殡祉铒痧耨蝌蝌蝌蝰耩镲铐祀殍珏溷徇捃圪刈赵已衔吞耸扇乔婆拍妹侣侣亮览览览揽靠靠靠靠揪揪揪揪浇浇浇浇技技技蓟缓汉汉汗垢父父阜范抖抖档创创创吵膊膊膊脖卑鞍鞍鞍┅┅┅┄ī┅èèèèЁЁЁЁЁΖΖΖΖΖΖΖΕゥゥゥゥゥゥゥゥいいいいいいいい##い#####ⅱⅲ#"ⅱⅱⅲ"ⅱⅱⅱⅱⅱⅱⅱⅱ  ⅱⅰ  、         牋牎  牋牋 牋牋 牋牋 牋牋牎牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煙煚牋牋煙煚牋牋煙煚牋牋煙煙牋牋煙煚牋牋煙煚牋牋煙煘灊湜殭槚敀悕媹厒|yvsolifda^\ZXVTSQPONMMMLLLLLLMNOPQRSTVWYZ\]_`bdeghiklnopqrstuvwxyyzz{||}}~~~亖亖亖亖倐倐倐倐儍儍儍儎剟剟剠厖唵唵唶噰垐垐垑墘妸妸妸媼媽寣寣實崓崓崓帋帋弿帍弿弿悙彁悙悙憫悜憫憫拻拻拻挀摀摀摀摂敂摀敂敂敂敂敃晻晻晻晻枛枛枛枛枛枛枛枟棗棗棗棗槝槝槝槝槝櫂槝櫃櫃櫃櫃櫃殮殮殭殮殮殮殮殮殮殮殮殮殮殮殮殯洓洓洓洓洓洓洓洔湝湝湝湝湝湝湝湝潩潩湝潩潩潩潩潩潩潩潩潩潪灊潩潩灋灊潩潪灋灋潩潪灋灋潩潪灋灋潩潪灋灋潩潪灋灋灋灋灋灋灋灋灋灋灋灋灍煘灋灋灍煘灋灋煙煙灋灋煙煘灋灋煙煙灋灍煙煙煙煙煙煙煙煙煙煙煚。うī贝富棵剖托宰佘掎沐玷觌祉铒瘃耨蝌蝌蝌蝰耩痫铐祀殍珏溻徇蒈谫刂沼倚衔吞耸惹瞧排拿寐铝亮览揽靠靠靠揪揪靠揪揪揪揪揪浇浇浇浇技技技蓟换汉汉汗构父父阜范抖抖兜荡创创闯巢膊膊脖北卑鞍鞍┅┅┅┄èèèèЁЁЖЁЁЁЁЁΖΖΖΖΕウΖゥゥゥゥゥいいぅイいいいいいいいい########"ⅲ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱ 、ⅱ     牎 牋牋牎牋牋牎牋牋牎牋牋牎牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊牋牋牋煙煚牋牋煙煙牋牊煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙灋潩湜殭棖敀弽媹厒|yvspmjgda_\ZXVUSRPONNMMMMMMMNNOPQRSTVWYZ\]^`acefhijlmopqrstuvwxyyzz{{|}}~~~~亖亖亖亖亗倐亗倐倐儍儍儍剟剟剟厖厗唵唵噰噲垐垐墘墛妸妸妺媼寣寣寣崓崓崓帋帍弿弿弿悙悙悙悙憫憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂敂敂敂晻晻晻晻晼枛枛枛枛棗棗棗棗棗棗棗棙槝槝槝槞櫃櫃櫃櫃殮殮殮殮殮殮殮殮洓洑殮殮洓洓殮洓洓洓洓洓洓洓洓洔湝湝湝湝湝湝湝湝潩潩潩潩潩潩潩潩潩潩潩潩潪灊潩潪灋灋潩灋灋灋灊灋灋灋灊灋灋灋灋灋灋灋灋灋灋灋灋灋灍煘灋灋煙煘灋灋煙煘灋灋煙煙灋灍煙煙煙煙煙煙煘煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牋ⅲェí驳讣烂鞘窝宰谲哚沐玷觌祉铒瘃耱蝌蝌蝌蝰耩痫铐祀殍珏溷徇捃圪刂沼倚衔吞耸扇瞧婆哪寐侣亮晾览揽靠靠烤揪靠揪揪揪揪窘浇浇浇郊技换换换汉汉汗构父父父贩抖抖抖档创创创吵膊膊膊脖卑鞍鞍鞍┅┅┅┅┅┅èèèèěЖèЁЁЁЁЁΖΖΖΖΕゥΖゥゥゥゥゥいいゥいいいいい##いぃ########ⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅰ                    牋牎 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煙牋牋牋牊牋牋牋煙煚牋牋煙煙牋牊煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牊煙煙牋牊煙煙煙煙煙灋潩湜殭棖敀弽妶厒|yvspmjgda_\ZXVUSRPONNMMLLLLLMNOPPQRTUWXZ[]^_acefgijkmnoqrsstuvwxyyzz{{|}}}}}~~亖亗倐倐倐儍儍儍儎剟剟剠厖唵唵唶噰垐垐垑墘妸妸妺媼寣寣寣崓崕帋帋帋弿弿弿彁悙悙悙悜憫憫憫拻拻拻拻摀摀敁摂敂敂晹敂晻晻晻晻晼枛枛枛枟棗棗棗棗槝槝槞殰灎。Θ撤豢缕释言宗葸徜骁殛祉铒镳耨耨耨耨痧镱盱腙殓邃忉咿苒僮衷友形退噬惹婆拿寐铝览靠揪揪浇技技技技换患技蓟换换换换换换换汉汗构构垢父父父贩抖抖抖兜档创创闯吵巢膊膊北北卑鞍隘┅┅┅┄èèèèЁЁЁЁЁЁЁЁΖゥい"灉殬晸悕妵剚~zwtpmjgda_\ZXWUSRQPOOOONNOOPQQRSTUWXZ[]^`abdfgijklnopqrstuvwxxyzz{{||}}~~~~亖亖亖亖倐倐倐們儍儎剟剟剠厖厖唵唶噰噰垐垑墘墘墛妸媼媼媽寣崓崓崓帋帋帋帍弿彁悙悙悙憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂晻晻晻晻晻枛晻晼枛枛枛枛棗棗棗棗槝槝槝櫅湠牏う┈俺坊棵鞘窝宰谳哜滏玳腱眍镳瘃耨耨蝰耨痫铑盱腴桄邈忄咻圪刂赵已衔趟噬惹婆拿寐铝览靠烤揪浇郊技技技换技技换换换换缓汉汉汉汗构构构垢父父阜贩抖抖抖档创创闯巢膊膊膊北鞍鞍鞍隘┅┅┅┅è┅èèèèèЁЁЁЁΖΕイ"煗洐棔拹崐噭亇zwspmjgda_\ZXVUSRQPOOOONNNOPQRSTTVWXZ\]^`abdfghjklmopqrstuvwwxyzz{{||}}}~~~~亖亖亖亗倐倐倐儍儍剟剟剟厖厖厗唵噰噰噲垑墘墘妸妺媼媼媽寣崓崓崓帋帋帋帍弿彁悙悙悙憫憫憫憫拻拻拻挀摀摀摀敂敂敂敃晻晼枙晼枛枛枛枛枟棗棗棗棗棙槜棗槝槝槝槝槞櫃櫃櫃櫃櫄殭櫃殮殮殮殮殯洓洓洓洓湝湜洓湝湝湝湝湝湞潨湝潩潩潩潩潩潩潩潩潩潪潩潩潪灋灊潩灋灋灋潪灋灋灋灋灋灋灋灋灋煙煘灋煙煙煙煙煙煙煙煙煙牋牊煙煚牋牊煙煚牋牊煙煚牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牎 牋牎  牋   牋   牎   、%Ж扯航聊人我兆谳哚沐玳觌祛铒瘃耨蝌蝌蝌蝰痧镱盱腙桤邃汜噢苒儇终砸严瓮趟噬惹破排拿寐侣侣亮览览览览靠靠靠靠烤究靠揪揪揪揪浇郊技技蓟换换缓汉构构垢父贩贩抖兜档创创闯吵膊膊膊北北北卑鞍鞍隘┅┅┅┅┅┅┅┄èèèèЁЁЁЁЁЁЁЕΖΖΖΖゥゥΖゥゥゥゥゥいいいいいいいいいいいい##い#########ⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅰ                            牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊牋牋牊煙煙煚煙煙煙煚煙煙煙牋牊煙煘灊湜殭棔搼弻妵剚~{xurokhfc`^[YWUTRQPONMMMMLLMMNOPQRSTUWXZ\]^`aceghiklmoprstuvwxyz{{||}~~亖亖亖倐倐倐倐儍儍剟剟剟剠厖厖厗唵噰噰噰垐垐垑墘妸妸妸媼寣寣寣崓帋帋帍弿悙悙悙悜憫憫憫憭拻挀摀摀摂敂敂敂敃晻敂晻晻晻晻晼枛枛枛枛棗棗棗棗槝槝槝槝槞櫃槝櫃櫃櫃櫃櫄殮殮殮殮殮洑殮殯洓洓洓洓湝湝湝湝湝潨湝湞潩潩潩潩潩潩潩潩潪灋潩潪灋灋灋灋灋灋灋灋灍煙灋灍煙煙煙煙煙煙煙煙煙煙煙煙煚牋煙煚牋牋牋牋牋牋牎                   、ⅰ  、ⅰ  ⅱⅰ  、ⅰ  、ⅰ  、ⅰ  、ⅰ      、ⅱ 、ⅱⅱⅱ%Θ┇贝泛玖湃讼艺刳葸徙彗殛腠铑镳耨蝌蝌蝮蝌蝰耩镱盱腙桤驿汜噢苒谪渍砸研衔吞耸扇惹瞧拍哪妹妹侣亮亮亮亮览亮晾览览览览靠靠靠烤揪浇浇浇技蓟换换汉汉构构父阜贩贩抖兜档档创闯吵吵巢膊膊脖北鞍鞍鞍┅┅┅┅ī┅┅èЁΖイ"牊潧槚搼帇垍倊{xuqnkheb`^\ZXVUSRRQQQQQQQRRSTVVWYZ\]_`acdfgijlmnoprstuvwwxyz{||}}~~亖亗倐倐們儍儍儍儎剟剟剟剠厖厖厖唵唶噰噰噲垑墘墘墛妺媼媼媽實崓崓崕帋弿弿弿悙悙悙憫憭拻拻拻摀摀摀摀摂敂敂敂敃晻晻晻枛枛枛枛棗棗棗棗棙槝槝槝槝櫂槝櫃櫃櫃櫃櫄殮殮殮湞煛ⅳΘ钡讣滥撬我肇圯噔滏栝腱眍镳瘃耨蝌蝌耨痫镱盱腴桄邈忄咻圳刈赵友形吞耸扇瞧排哪寐铝晾览揽靠揪揪揪揪骄揪窘浇浇浇浇技技技技换换换缓汗构构构父父贩贩抖抖抖档荡创创创吵吵吵膊脖北北北鞍鞍鞍隘┅┅┅┅┄èèèěЁèěЁЁЁЁЁΗЁЕΖΖΖΖΖΖΖΖΕゥΖΕゥゥゥゥゥゥゥゥいいいいいいいいぃ¥いい##¥ぃ############"ⅱ##ⅱⅱ##ⅱⅱⅲ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ、ⅱⅱⅰ ⅱⅰ                       ⅰ        牋煘灊湜櫁枖憦寠噭亊{xurnkhec`^[YWUTRQPONNMMMMMMMNOPQRSTUWYZ\]_`bdfgijkmnpqrtuuvwyzz{||}}~亖亗倐倐們儍儍儍儎剟剟剟厖厗唵唵唵噰噰噰垐墘墘墘妸媼媼媽寣崓崓崕帋弿弿弿彁悜憫憫憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻枛枟棗棗棗槝槝槝槝槞櫃櫃櫃櫃殭櫃櫄殮殮殮殮洓洓洓洓洔湝洓湝湝湝湝湝湞潨湝湞潩潩潩潩灋灋灋灋灋灋灋灋灍煘灋灋煙煙灋灍煙煙煙煙煙煙煙煙牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋  牋         ⅱⅱ 、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ#"ⅱⅱ##ⅱⅲ##"###"####################ぅЗ驳富韭湃滔艺刿葸怃彗殛腠铑镳耨耱蝌蝌蝌耨痫镱盱觊桄邃忉咻苒儇渍右研衔吞耸缮热瞧婆排哪哪妹妹妹寐侣侣侣侣侣侣侣侣亮亮亮晾览靠靠靠揪揪窘浇技蓟换缓汉构构垢阜贩贩范抖档档档创创创吵巢膊膊膊北北北北鞍鞍鞍隘┄ěΕあ潧櫀搼帇垊亊{wtpmjgdb_][YWVTSRQQQQQPPQQRSTUVWYZ\]_`bcdfhiklmopqrtuvwxxyz{|}}~~亖亖亗們儍儍儍剟剟剟剟厖厖厖厗唵噰噰噰垐垑墘墘墛妸妸媼媽寣寣崓崕帋帋帍弿悙悙悙憫憫憫憭拻挀拻挀摀摂摀摂敂晻晻晻晻枛枛枛枟棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫄櫃櫄殮殮殮殮洓洓洓洔灎。ウ┇倒嚼娜讼艺刿萼怃骅殡祉铒痧耨耱蝌蝌耨痫镱盱觊珂邈忄咻圳刈衷友邢瓮趟嗜乔破排拿寐侣铝亮览览览揽靠靠靠靠靠靠靠烤揪揪揪浇浇浇郊技换换换汉构构构父父贩贩范抖抖档荡创创创吵膊膊膊脖北北北卑鞍鞍鞍┅ěЕイⅰ煗洏枔悕妵剚}zwspmifda_\ZYWUTRQQPPPPPPPQRSTUUVXY[\^_abceghjklnoprstuvwwxyz{||}}~亖倐倐倐們儍儍儍剟剟厖剠厖厗唵唵唶噰垐垐垑墘妸妸妺媼寣寣實崓帋帋帍弿弿彁悙憫憫憫拻挀摀摀摀敂敂敂敃晻晻晻晼枛枛枛枛棗棗棗棗槝槝槝槝櫃櫃櫃櫃殮殮殮殮殮殮殮殮洓洓洓湠煛%Θ钡辜滥撬我肇圯噔滏栝腱眍镳瘃耨蝌蝌蝰耩镲铐礻殓驽溻徇蒈谫字沼研衔吞耸扇乔破拍妹寐侣铝亮亮亮览览览览览靠靠坷靠靠靠靠烤揪揪揪浇郊技技蓟缓汉汉汗构父父阜范抖抖兜档创创闯吵吵吵膊脖北脖北卑鞍卑鞍隘鞍┅┅┅┅èèèèèèèěЁЁЁЁЁЁЁЁΖΖЁЕΖΖΖΖΖΖΖΖΖΖΖΖΕウΖΖゥゥΖΕゥゥΖΕゥゥウゥゥゥゥゥゥゥゥゥイいゥイいいぅいいいいいいいいい#¥いい##いぃ#####################################ⅱ 牊灉洐棔搻帇垍|yurolifc`^\YXVTSQPOONNNNNMNNOPQRSTUWYZ\]_`bcegijlmnpqstuvwxyz{|}}~~亖亖倐儍儍儍儎剟剠厔厖厖唵唵唵唵噰噰噰噲垐垐垑墘妸妸妸媼媽寣寣實崓崓崕帍弿弿彁悙憫憫憫拻拻拻挀摀摂摀摂敂敃晹晻晼枛枛枛枟棗棗棗槝槝槝槝槞櫃櫃櫃櫃殮殭櫄殮殮殮殮殯洓洓洓洓洔洓洓湝湝湝湝湝潩湝湝潩潩潩潩潩灋潩潪灋灋灋灋灋煙灋灍煙煙煙煙煚牋牊煙牋牋牊煚牋牋牋牋牋牋牋牋牋 牋牋           牎        、ⅱⅰ、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ#ⅱⅱⅲ#"ⅱ##"ⅱ##"ⅱ##"ⅲ###################¥Η┆安蹈痪屡忍弦肇圯哜溴玳觌眍铒瘃耨蝌蝌蝌蝌耨痧镱盱觊桤驿汜噢蒈圪刂赵右研衔吞趟适扇惹乔瞧婆排拍哪拿妹妹妹妹侣妹妹侣侣侣侣亮亮亮览揽靠靠烤窘浇浇技蓟换汉汉构垢父父贩范抖抖兜档档档创创创闯吵膊膊膊脖北北北鞍鞍鞍鞍┅┅┅┅ī┅┅èèèèèЖèèЁЁЁЁЕΖЁЁΖΖΖΖΖΖΖΖΖウΖΖΕゥΖΖΕゥΖΖゥゥウΖゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥイいぅゥいいいいいいいいぃ#いいぃ#いいぃ#¥い##¥い##いいぃ¥いいぃ¥いいぃ#いいぃ#ⅱ 牉潨殬枖憦寜唭}zwspmjgda_]ZXWUSRQPOONNNNNNOOPQRSTUWXZ\]_`aceghjklnoqrstuvwxyz{||}}~亖倐倐倐儍儎剟剟剟剠厖厖厖厗唵唵唵噰噲垐垐垑墘墘妸妺媼媼媽實崓崓崕帋弿弿弿悙憫憫憫憭拻拻拻摀摀摀摂敂敃敂敃晻晻晻晻枛枛枛枛棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫄殮殮殮殮洓殮殯洓洓洓洓湝湝湝湝湝潩湝湝潩潩潩潩潩潩潩潩灋灋灋灋灋灋灋灋灍煙煘灍煙煙煙煙煚牋牊煙牋牋牋煚牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋  牋  牎        、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ#ⅱⅱⅲ#ⅱⅱⅲ#"ⅱ##"ⅱ##"ⅱ###¥ェí捶痪僚忍弦肇谳哜溴玳觌眍铒瘃耨蝌蝌蝌蝰耨痧镱黼觊桤驿汜噢蒈谫字赵右严瓮趟耸噬惹瞧破婆拍哪哪哪拿妹妹妹寐侣旅寐侣侣侣铝亮览览览揽靠靠揪窘浇浇技蓟换缓汉构垢父父贩抖抖抖档档档荡创吵吵吵巢膊膊膊脖北北北北鞍鞍鞍鞍┄Дあ牉湚棓憥媹厑~{wtpmjgda_][YWUTSRQPPPPPPPPQRSTUVWY[\^_abceghjklnopqstuvvwxyz{|||}~~亖亗倐倐們儍儍儍剟剟厔剠厖厗唵唵唶噰噲垐垐墘墘墛妸媼媼媽寣崓崓崓帋弿弿弿悙悜憫憫憭拻拻拻摀摀敂摂敂敃晻晻晻晼枛枛枛枟棗枛棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃殮殮殮殮殯洑殯湞煛¥Θ钡讣滥撬我肇圯噔滏栝腱眍镳瘃耨蝌蝌蝰耩镲铐祀殍珏溷徇捃圪刈赵已邢瓮淌扇惹瞧排拿妹寐侣亮亮亮晾览览览览揽览览揽靠靠靠靠揪揪揪窘郊技技技换换换汉构构垢父贩贩范抖档档档荡闯吵吵吵膊膊膊脖北北北卑鞍鞍鞍隘┅┅┅┅┅┅┅┅èèèèèèèěЁЁЁЁЁЁЁЁΖΖЁЕΖΖΖΖΖΖΖΖΕΖΖΖゥゥΖΕゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥイゥゥゥいいゥいいいいいいいいいぃ¥いい##いぃ##いぃ##いぃ##¥ぃ##いぃ##いぃ################"ⅱ 牊灊洐棔搻帇垎|yvrolifca^\ZXVTSQPOONNNNMMMNOPQRSTUWXZ[]^`aceghjklnoqrsuvvwxz{{|}}~亖亖倐們儍儍儎剟剟剟剟厖厖厖厖唵唵唵唶噰噰噲垐墘墘墘妸媼媼媼寣實崓崓崕帋帍弿弿悙悙悙憫憭拻拻拻摀摀摀摀敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗棗棙槝槝槝槞櫃槞櫃櫃櫃櫃櫄殮殮殮洕煚ⅳエ贝讣烂撬窝肇谳哜滏玳觎眍镳瘃耨蝌蝌耨痧镱铐礻殓驽溻徇蒈谫刂沼倚衔吞耸扇乔破拍妹侣侣铝晾览览览靠坷览揽靠靠靠靠烤究靠揪窘浇浇浇技技技换汉汉汉构父父父贩抖抖抖档荡创创创吵吵吵吵膊膊膊膊北北北卑鞍鞍鞍隘┅┄Еィ灈櫀搼帄噭亇zvsplifca^\ZXWUSRQQPPPPPPPPQRSTUVWYZ\]_`acdfgijkmnoprstuvvwxyz{{||}}~~亖亖亖倐們儍儍儍剟剟剟剠厖厖厗唵噰噰噰垐垑墘墘妸妺媼媼寣實崓崓崕帋帋帍弿悙悙悙憫憭拻拻拻摀摀摀摂敂敂敂敃晻晻晻晻枛枛枛枛棗棗棗棗槝槝槝槝槞櫃槝櫃櫃櫃櫃殮殮殮殯湞煚ⅳエ贝讣棵撬窝宰谳哜滏玳觎眍镳瘃耨蝌蝌蝰耩镲铐祀殍珏溷徇捃圪刈赵已邢瓮耸扇乔破拍妹侣侣亮晾览览览靠靠览靠靠靠靠靠揪揪揪揪浇浇浇浇技技技换缓汉汉汗垢父父阜贩抖抖抖档档档荡闯吵吵吵膊膊膊北卑鞍鞍鞍┅èЕぃ灈櫀攽帇垍亊{wtqnkheb`][YXVUSRRQQQQQQQQRSTUVWXZ[]^`abdeghjklmnpqrstuvwxyzz{{||}}~~亖亖亖亗倐倐倐們儍儍儍剟剠厖厖厗唵唶噰噰垐垐墘墘妸妸媼媼寣寣實崓帋帋帋弿彁悙悙悜憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛棗枛棗棗棗棗棙槝槝槝槝櫃櫃櫃櫃殮殮殮殮殯洓殮洓洓洓洓湝湝湝湝湝湝湝湝湝潩潩湝湞潩潩潩潩灋灋灋灋灋灋灋灋灍煘灋灍煙煙灋煙煙煙煙煙煙煙煙煙牋牋煙煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎                            、ⅰ  ⅱⅱ 、ⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱ%Θ┇贝泛搅娜宋艺宗葸徙彗殛腱眍镳耨耱蝌蝌蝌耨耩镲铐腙殍珂溻徇掭苴僮衷右研衔吞耸噬热瞧破排拍拿妹妹妹侣侣侣侣铝亮侣亮亮亮亮览揽靠靠烤窘浇浇郊技技换换汉汗构垢父贩贩贩抖抖抖兜档创创创吵吵吵巢膊膊膊北卑鞍卑鞍隘隘┅┅┅┅┄ī┅┄èèèèЁЁèěЁЁЁЁЕΗЁЕΖΖΖΖΖΖΖΖΕΖΖΖゥゥゥゥゥゥゥゥイゥゥゥいゥゥゥイぅゥゥいぅゥゥいぅゥイいいいいいいいい##いぃ##¥ぃ##¥ぃ#¥いい#¥いい#¥いぃ############ⅱⅲ##ⅱⅲ##"###ⅱⅱ牊灉洐棔搻崑垍|xurnkheb`][YWUSRQONNNMMMMLMMNOPQRSTUWYZ\]^`bceghjklnoqrstuvwxyz{{||}}~~亖亖亖倐們儍儍儍儎剟剟剟厖厖厖唵唶噰噰噲垐墘墘墛妺媼媼媽寣崓崓崓帋帋帋弿彁悙悙悜憫憫憫拻拻摀挀摀摂敂敂敂晻晻晻晻枛枛枛枛枟棗枛棗棗棗棗棙槝槝槝櫃櫃櫃櫃櫄殮殮殮殮殯洑殮殯洓洓洓洓湝湝洓湝湝湝湝湝潩潩潩潩潩潩潩潪灋灋灋灋灋灋灋灋灋煘灋灋煙煙灋灍煙煙煘煙煙煙煘煙煙煙煙煙煙煙煙煚牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋  牋牎                        、ⅰ 、ⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ%Θ┇贝泛搅娜宋颜宗葸徙彗殛腱眍镳瘃耱蝌蝌蝌耨痧镱盱腴桤驽汊噢蒈谫刂沼已邢瓮趟噬扇乔婆排哪拿寐侣侣侣亮亮侣铝亮亮亮亮览览览览靠靠靠揪窘浇浇浇技技蓟换汉汉汗构父贩贩贩抖抖兜档创创创闯吵吵吵膊脖北北北鞍鞍鞍隘┅èЕィ灈櫀搼帇噭亊zwspmjgda_\ZYWUTRQQPPPPPPPQQRSTUVXY[\^_`bceghjklmopqstuvvwxyz{{||}}~亖亗倐倐們儍儍儍剟剟厔剠厖厗唵唵唶噰噰垐垐墘墘墛妸媼媼媽寣崓崓崓帋帍弿弿弿悙悙悙憫憫憫憫拻拻摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛棖枛棗棗棗棗棙槝槝槝槝櫃櫃櫃櫃櫄殮殮洔灎ⅲェ按富棵鞘窝宰谳哜滏玳觎眍镳瘃耨蝌蝌蝰痧镲铐礻殓驽汊噙蒇谫字沼研衔吞耸惹瞧婆哪寐侣铝亮览览览揽靠靠靠靠揪揪揪揪揪揪揪浇浇冀郊技换换换缓汗构构垢父贩贩贩抖抖兜档创创创吵巢膊膊膊北北北卑鞍鞍鞍隘┅èЁΕあ潥槙搻崐噭}zvsplifca^\ZXVUSRQPPPOOOOOPQRSTUVWXZ\]_`acdfgijkmnoprstuvvwxyz{{{|}}~~亖亖亖倐倐倐們儍儍儍剟剠厖厖厗唵唵唵噰垐垐垐墘墛妸妸媼媽寣寣實崓帋帋帍弿弿彁悙憫憫憫憭拻拻拻摀摀敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗棗槜棗槝槝槝槝槝櫃櫃櫃櫃櫄殮櫄洔灎。ェ按坊棵鞘窝宰谳哚沐玳觎眍镲瘃耨耱蝌耨痧镱眄腙殓驽汊噢蒇谪字杂研衔吞耸热瞧婆拍寐侣铝亮览览览揽靠靠靠靠靠靠靠靠揪揪揪揪浇浇浇郊蓟换换缓汗构构垢父阜贩贩抖兜档档创创创吵膊膊膊脖北北北鞍鞍鞍鞍隘┅┅┅┅┄┅┅┄èèèèěЖèěЁЁЁЁЁЁЁЁΖΖΖΖΖΖΖΕゥゥゥゥゥゥゥゥゥゥゥゥイゥゥゥいいゥイいいいいいいいいぃいいい#¥いい##いぃ####################ⅱⅱ#"ⅱⅱ#"ⅱⅱ#"ⅱⅱⅲ"ⅱⅱⅲ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 牋煘潨殬枖拸崐噭亊{xtqnkheb`][YWUTRQOONNMMMMMMMNOPQRSTVWYZ\]_`bdegijklnoqrstuvwxyz{{||}~~亖亗倐倐們儍儍儍剟剟剟剟厖厖厖唵唶噰噰噲垐墘墘墘妸媼媼媼寣實崓崓崕帋帋帋弿弿弿彁悙悜憫憫憭拻拻拻挀摀摀摀摂敂敂敂晻晻晻晻枛枛枛枛枟棗棗棗棗槝槜槝槝槝槝槝櫃櫃櫃殯湠煛%З捶豢闷饰言宗葸徜彗殛祉铒镳耨耨蝌蝰耩痫铑黼觇珂溷忄掭圳刈衷友邢瓮趟扇乔婆拍寐侣亮晾览靠靠靠烤揪揪揪揪揪揪揪揪揪揪揪浇浇浇郊技换换换汉构构构父阜贩贩抖兜档档荡创创闯巢膊膊膊北北北卑鞍┅┅┄ěЕィ煗殬晸悕妵儉}yvsolifc`^\ZXVUSRQPPPOOOOOPQRSTTUWXZ[]^_abdegijklmopqstuuvwxyzz{{||}}~~~亐亖亖倐倐倐們儍儍儎剟厖厖厖厗唵唵噰噲垐垐垑墛妸妸媼媽寣寣實崓帋帋帋弿弿弿悙悙憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗棙槝槝槝槞櫃櫃櫃櫃殮櫃殯湠煛¥З撤豢闷释言宗苓徙彗殛腠铒镳瘃耨耱蝰耩痫铑黼觇珂溷忄掭圳刈赵已衔吞耸扇瞧婆拍妹侣侣亮晾览览揽靠靠靠靠烤揪揪烤揪揪揪揪浇浇浇技蓟换换换汉构构垢阜贩贩范兜档档荡创吵吵吵巢膊膊膊北鞍鞍鞍隘┅┅┅┅èěΕぃ灉殬晵悕妵儉}yvspmigda_][YWUTSRQQPPPPPPQRSTUVWXZ[]^`abdeghjklmopqrtuuvwxyyz{{||}}~~亖亖亖亗倐倐倐們儍儍儍剟剟厖厖厖唵唵唶噰垐垐垐墘妸妸妺媼寣寣寣崓崕帋帋帍弿弿弿悙悜憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗棙槝棗槝槝槝槝槞櫃櫃櫃櫃殮殮殮殮殯洑殮殯洓洓洓洓湝湝洓湝湝湝湝湝潩潩湝潩潩潩潩潩潪灊潩潪灋灋灋灋灋灋灋灋煙煙灋灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牋牋煙煚牋牋煙煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋  牋                     ⅱⅰ  ⅱⅱ、¥Η┆俺逗嚼那宋言宗苓徙彗桕腱眍镳瘃耱蝌蝌蝌耨痧镱盱腙殓驽汊噙蒈圪刂赵已邢瓮趟适扇惹婆排拍拿妹侣侣侣铝谅侣铝亮亮亮亮览览览览靠靠烤揪浇浇郊技换换换汉构构构父贩贩贩抖档档档荡闯吵吵巢膊膊脖北鞍鞍鞍鞍┆┅┅┅┅èèèèèèèèЁЁЁЁΖΖЁЕΖΖΖΖΖΖΖΖゥウΖΖゥゥΖゥゥゥゥゥいいゥイいいいいいいいい#¥いいぃいいい##いぃ################"ⅲ##ⅱⅱ#"ⅱⅱ#"ⅱⅱⅲ"ⅱⅱⅱⅱⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ 牊煘潧殬枖拸崐噮{xurokhfc`^[YWVTSQPONNNMMMMMMNOPQRSTUWXZ[]^`acefhijlmopqsttuvxyyz{{||}~~亖亖亖亗倐倐倐們儍儍儍儎剟剟剠厖唵唵唶噰垐垐垐墘妸妸妸媼媽寣寣崓崓帋帋帍弿弿彁悙悜憪憫憫拻拻拻挀摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛棗棖枟棗棗棗棗槝槝槝槝槞櫃櫃櫃櫄殮殮殮殮洓殮殮洓洓洓洓洓洓洓洓湝湝湝湝湝湝湝湝潩潩潩潩潩潩潩潩潩灋潩潩灋灋灋灋灋灋灋灋灋煙灋灋灍煙煘灋煙煙煘灍煙煙煙煙煙煙煙煙煙牋煙煙煚牋牊煙牋牋牋煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎 牋牋牎 牋牋  牋牎 牋  牎   、ぅЗ扯航滥撬窝宰谳哚沐玷觌祉铒瘃耨蝌蝌蝌蝰耩镲铐礻殍珏溷徇掭圳僮衷右研衔退适缮惹破排哪哪妹侣侣侣铝亮亮亮晾览览览揽靠靠靠烤揪揪揪浇郊技技换缓汉汉构垢父父贩贩范抖兜档档档创创创闯巢膊膊膊北北北卑鞍┅┅┅┅┅┅┅èèèèèЖèèЁЁЁЁЕΖΗЁΖΖΖΖΕゥΖΖゥゥゥゥゥゥゥゥイいいいいいいいぃ#いいぃ#いい##¥い##¥い###い###い##¥い#############ⅲ##"ⅱ##"ⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ ⅱⅱⅱ 牊灊洑槚敀弻妵剚~{wtqnjgeb_][YWUSRPONNMMMMLLLMNOOPQRSUVXZ[]^_acefhijlmopqrstuvwxyz{{||}~~~亖亖亖倐倐倐倐儍儍儍儍儎剟剟剟厖厗唵唵唶噰噲垐墘墛妸妸媼寣寣寣崓帋帋帋帍弿弿弿悙悙悙悜憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晻枛枛枛枛棗棖棗棗槝槝槝槝槝槝槝櫃櫃櫃櫃櫃殮殭櫄殮殮殮殮殯洓洓洓洓洓洓洓湝湝湝湝湝湝湝湝湝潩湝湝潩潩潩潩潩潩潩潩潪灋灊潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煙煘灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牋牊煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 牋  牎   牎   牎  牎       、ぅЖ扯辜烂鞘窝宰谲哚沐玷觌祉铒痧耨蝌蝌蝌耨痧镱盱腙桤驽汊噢蒈谫刂沼已邢瓮耸缮热瞧婆哪哪妹寐侣侣侣亮亮亮亮亮览亮亮览览览览靠烤揪揪窘浇浇郊蓟换换汉汗构垢父阜贩贩抖兜档档荡创吵吵吵膊膊膊北卑鞍鞍鞍隘┅èЕイⅰ煗殬晸悕妵儉}yvsolifc`^\ZXVUSRQPPPPOOOPPQRSTUVWYZ\]_`acdfgijkmnoprstuuvwxyz{{{|}}~~亖亖亖倐們儌儍儍剟剟剟剠厖厖厖唵唶噰噰噲垐垐墘墛妸妸媼媽寣寣寣崓崓帊帋帋弿弿弿悙悙悙悜憫拻拻拻拻摀摀摀摀摂摀摂敂敂敂敃晻晻晻晼枛枛枛枛棗棗棗棗槝槝槝槝槞櫃櫃櫄湞煛ⅳΙ撤豢缕释言宗苓徙彗殛祉铒镳耨耨蝌蝰耩镲铐祀觇珏溷徇捃谫刂沼倚衔吞耸惹婆拍拿侣亮晾览靠靠靠靠揪揪揪揪窘浇浇浇浇浇浇浇技技技技换汉汉汉构构垢父阜贩贩抖兜档档创闯吵吵巢膊北北北鞍鞍鞍隘┅┅┅┄èЁΕぃ灉櫁敀弻墕|xurnkheb`][YWVTSQPPOOOOOOOOPQRSTUVXY[\^_`bceghjklmopqrstuvwxyyz{{{|}}~~~~~亖亖亖亗倐們儍儍儎剟剟剠厖唵唵唶噰垐垐垐墘墛妸妸媼媼寣寣實崓崓崕帋弿弿弿悙悙悙悜憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晻枛枛枛枛棗棗棗棗槝槜棙槝槝槝槝槞櫃櫃櫄湞煛ⅳΙ撤痪缕释言宗苓徙彗殛祉铒镳耨耨蝌蝰耩镲铐祀殍珏溻徇捃谫字沼研瓮趟噬惹婆拍拿铝亮览览靠揪揪揪揪浇揪揪浇浇浇窘浇浇浇郊技蓟技换缓汉汉汉构父父父贩抖抖抖档创创创吵吵吵膊脖北北北鞍鞍鞍鞍┅┅┅┅┅┄ěЕΕぃ灉櫁晵弻墕儉}yvspmjgda_][YWUTSRQQPPPPPPQRSTUVWXY[\^_abcefhiklmnoqrstuvvwxyzz{{||}}~~~~~亖亖亖亗倐倐倐儍儎剟剟剠厖厖厗唵噰噰噰垐墘墘墛妸媼媼媼寣實崓崓崕帋帋帍弿彁悙悙悙憫憫憫憭拻拻拻摀摀摀摀敂敂敂敂敃晻晻晻晼枛枛枛枛枟棗棗棗槝槝槝槝櫃櫃櫃殰潫牏う┈坊韭剖托宰谲哚沐玳觌眍镲痧耨耨耨耩痫铑盱腴桄邃忉咻苴刈衷友形吞耸扇瞧拍拿寐晾览揽靠揪揪揪窘浇浇浇浇浇浇浇浇技技技技换换换缓汉汉汉构垢父父阜范抖抖兜荡创创闯吵膊膊膊北北北卑鞍鞍鞍┅┅┅┅┅┅┅┄èèèèěЖèěЁЁЁЁΖΖΖΖΖΖΖΖゥゥウゥゥゥゥゥイゥゥゥいぅゥイいいいいいいいい##いぃ########"###ⅱⅲ##ⅱⅲ##ⅱⅲ##ⅱⅲ##ⅱⅲ##ⅱⅱ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱ 、ⅱⅰ  ⅱⅰ  ⅱⅰ  ⅱⅰ          、      牋煙灊湜櫁晸憥寜唲亇zwtpmjgdb_]ZXVUSRPONNMMMLLLLMNNOPQRSUVXY[\^_abdfgijkmnoqrstuvwxyzz{{||}~~~~亖亖亖亖倐倐倐們儍剟剟剟厖厖厗唵唶噰噰垐垑墘墘妸妺媼媼寣實崓崓崕帋帍弿弿彁悙悙悙憫憫憫憭拻挀搾摀摀敂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗槝槜棙槝槝槝槝槞櫃櫃櫃櫃櫃櫃櫃櫄殮殮殮殮殮殮殮洓洓洓洓洓洓洓洓洔湝湜洔湝湝湝湝湝潩湝湝潩潩潩潩潩潩潩潩潪灋灊潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煙灋灋灍煙煘灋煙煙煘灋煙煙煘灋煙煙煘灍煙煙煙煙煙煙煙煙煙牋煙煙牋牋牊煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎¥Η┆驳讣棵剖托又佘掎沐骅觌祉铒痧耨蝌蝌蝌耨痧镱盱腙桤驽汊噢蒇谫字杂倚邢瓮耸缮惹瞧排哪拿妹侣亮亮亮晾览览览览坷览览靠靠靠靠揪揪揪窘郊技技蓟缓汉汉汗构父父阜范抖抖兜荡创创闯巢膊膊膊北鞍鞍鞍隘┅┅┅┅è┅┄èèèèЁЁЁЁЕΖΗЕΖΖΖΖΖΖΖΖΕゥゥゥゥゥゥゥゥいゥゥイいぅゥいいいいい¥いい########"ⅱ##"ⅱⅲ#ⅱⅱⅲ#ⅱⅱⅱ#ⅱⅱⅱ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ ⅱⅱⅰ        牎   牎  牋  牋煙灋潨殭棔搼帉墕儉}zwspmjgda_]ZXVUSRPONNMMMLLLLMNNOPQRSUVXY[\]_abdfgijkmnpqrstuvwxyzz{{|}}~~~亖亖亖倐倐倐倐儍儍儍儎剟剟剟剠厖厗唵唵噰噰噲垐墘墘妸妸媼媼媼寣崓崓崓帋帍弿弿彁悙悙悙憫憫拺憫拻拻拻拻摀摀摀摀摂敂敂敂敃晻晻晻晻枛枛枛枛枟棗枛棗棗棗棗槝槝槝槞殯潪牏うì逗韭粕托宰谲哚沐玳觌眍镲瘃耨耱蝰耨痫铑盱腴桄邃忉咻苴刈衷友形吞耸扇瞧拍拿寐亮览览靠揪揪揪揪浇浇骄浇浇浇浇浇郊浇浇郊技技技换缓汉汉汗构父父阜范抖抖兜荡创创闯吵膊膊膊北北北鞍隘隘┅┅┅┅èèīèèЁΖイⅰ煘湙棓拸寜唭|yurokhec`^[YXVTSQQPOOOOOOOPPQRSTUVXY[\^_`bcefhijlmnoqrsttuvwxyyzz{{||}}}}~~~亖亗倐倐倐儍儍儍剟剠厖厖唵唶噰噰噲垑墘墘墛妺媼媼媽實崓崓崕帋帋帋弿彁悙悙悙憫憫憫憫拻拻拻挀摀摀摀摂敂敂敂敂晻晻晻晻晼枛晻枛枛枛枛枟棗棗棗棙槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫃殮殮櫃殮殮殮殮殮洓洓洓洓湝湝湝湝湝湝湝湞潩潩潩潩潩潩潩潩潩潩潩潩灋灋潩潪灋灋灊灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煙煘灋灋煙煙灋灍煙煙灋煙煙煙煙煙煙煙煙煙煙煙煙煙牋牋煙煚牋牋煙煚牋牋煙煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋。うЗ蹈伎们释言踪苓徙彗桕腱眍镳瘃耱蝌蝌蝰耩痫铐祀觇珂邈忄掭圳儇终右研衔退噬热乔婆哪妹寐侣亮晾览览靠靠靠靠靠靠靠烤揪揪揪揪浇浇浇郊技换换换汉汉汗构父父父贩抖抖兜档创创闯吵膊膊膊脖北北北鞍鞍鞍鞍┅┅┅┅èěЕイ"牉湚棔拸寜唭|yurolifc`^\ZXVTSRQPPOOOOOOPPQRSTUVXY[\^_`bdeghjklmnpqrstuvwxyyzz{{|}}~~~~亖亖倐倐倐們儍儍儍剟剟剟厖厗唵唵唶噰垐垐垑墘妸妸妺媼媽寣寣崓崓崓帋帍弿弿弿悙悙悙悜憫憫憫拻拻摀挀摀摀敁摀敂敂敂敂敃晻晻晻晻枛枛枛枛枛枛枛枟棗棗棗棗槝槝槝櫅湠牎%ǐ逗韭粕托幼佘哚沐玳觌眍镲瘃耨耨蝰耨痫铑盱腴桄邈忄咻圳刈衷友衔吞耸扇婆拍拿铝晾览靠烤揪揪揪浇浇浇浇浇浇浇浇浇技技技技换换换缓汉汉构构父父贩贩抖兜档档创创闯吵膊膊膊脖北北北鞍隘隘┅┅┅┅┅┅┅┄èèèèěЁΕイⅰ煗洐棓拸寜唫|xurnkheb`][YWVTSQPPOOOOOOOOPQRSTUVWY[\]_`acefhijkmnoqrsttuvwxyzzz{||}}~~~~亖亖亖亖倐倐倐們儍儍儍剟厖厖厖唵唶噰噰垐垑墘墘墛妺媼媼媽寣寣寣崓崕帋帋帋弿弿弿悙悜憫憫憫拻拻拻挀摀摀摀摂敂敂敂敂晻晻晻晻枛枛枛枛枟棗枛棗棗槜棗槝槝槝槞殯潪牏%ǐ逗韭派托又佘哚沐玷觌祉铒痧瘃耨耨痧镱铐祀觇珏溻徇捃谫字沼倚贤趟噬惹婆哪妹铝晾览靠靠揪揪揪窘浇浇浇浇郊技浇技技技技蓟换换换汉汗构构垢父阜贩贩抖兜档荡创吵吵吵膊膊膊北卑鞍鞍鞍┅┅┅┅èèèèěЕΕぃ煗洐枖憥媹厒|xurnkheb`^[YXVTSQQPPOOOOOOPQRSTUUWXZ[]^_abdeghjklmnpqrstuvwxxyzz{{||}~~~~~亖亖亖亗倐倐倐們儍儎剟剟剠厖厖厗唵噰噰噲垐墘墘墘妸媼媼媼寣實崓崓崕帋帋帋弿弿弿彁悙悜憪悜憫拻拻拻挀摀摀摀摀敂敂敂敂晻晻晻晻晻晻晻枛枛枛枛枟棗棗棗棗槝棗槞殰灍。エ捕壕僚赏杏仲苻徙彗桕腱铑镳瘃耨耨耨痧镱眄礻殓驿汊噙蒇儇终砸严翁耸扇瞧拍拿寐晾揽靠烤揪浇浇浇浇浇浇浇郊技冀浇技技技技蓟换换换汉构构构父阜贩贩抖兜档档创吵吵吵膊脖北北卑鞍鞍鞍┅┅┅┅┄èèèèèèèЁЁЁЁЕΖΖΖΖゥウΕゥゥゥゥイいいイいいいいい¥いいぃ#いいぃ#¥ぃ########"ⅱ##"ⅱⅲ#ⅱⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ 、ⅱ   ⅰ   ⅱ            牋  牋  牋牎 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煙灊潧殭棔搼帉墕儉}zvspmjgda_\ZXVTSQPONNMMMLLLLMNNOPQRSTVWYZ\]_`bdeghijlmopqrstuvwxyyzz{||}}~~~~亖亖亖亗倐倐倐們儍儍儍剟剠厖厖厗唵噰噰噲垐垐墘墘妸妸媼媼寣寣寣崓崕帋帋帋弿弿弿彁悙悙悙憫憫拻憭拻挀摀摀摀摀敂摂敂敃晻敃晻晻枛晼枛枛枛枛枟棗棗棗棗槝槝槝槝槞櫃槝櫃櫃櫃櫃櫃殮殮櫃殮殮殮殮殮洓洓殮洓洓洓洓洓洔湜洓洔湝湝湝湝湝湝湝湝湞潨湝湞潩潩潨潩潩潩潩潩潩潩潩潩灋灋灋灋灋灋灋灋灋灋灋灋灍煘灋灋煙煘灋灋灍煘灋灋煙煙灋煙煙煙灋灍煙煙灋煙煙煙煘煙煙煙煙煙煙煙煙煙煙煙煙煙牋牊煙煚牋牋煙煚牋牋煙煙牋牋煙煙牋牋煙煚牋牋牋、ぅЖ蹈伎闷释杏仲苻徙彐桕腱眍镳瘃耨蝌蝌蝰耩镲铐祀殍珏溷徇捃圪刈赵已形吞耸扇乔破拍妹侣侣亮览览览揽靠靠靠靠揪揪靠烤揪揪揪窘浇浇浇郊蓟换换缓汉构构垢父贩贩范抖档档荡创创吵吵膊膊膊北鞍鞍鞍隘┅┅┅┅┄ī┅┄èèèèèèèěЁЁЁЁΖΖΖΖΖΖΖΕゥゥゥゥゥゥゥゥいいゥいいいいいいいいい########"###ⅱⅲ##ⅱⅱ#"ⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅰ  ⅱⅰ        牋牎  牋牋  牋牋 牋牋 牋牋 牋牋 牋牋牎牋牋牋牋牋牋牋牋牋牋煙灋潨洑槜晵悗媺唭}yvspmigda^\ZXVTSQPONMMMLLLLLLMNOPQRSTVWYZ\]_`bdeghiklnoprstuvwxyyzz{{|}}~~~~亖亖亖亖倐倐倐倐儍儍儍剟剠厖厖厗唶噰噰噲垑墘墘墛妸媼媼媽寣實崓崓帋帋帋帍弿弿彁悙悜憫憫憫拻拻拻拻摀摀摀摀摂敂敂敂敂晹敂晻晻枙晻枛枛枛枛枟棗棗棗棗棗棗棙櫄湠煛%ǐ逗韭派托又佘哚沐玳觌眍镲痧耨耨耨耩痫铐祀觊珂溷徉捃圪刂沼倚贤趟噬惹婆哪寐铝览揽靠烤窘浇浇浇浇浇浇浇技技技技技技技换缓汉汉汉构构构父贩贩贩范兜档档荡闯吵吵巢膊北北北鞍鞍鞍隘┆┅┅┅┅┅èè┅èèèèěЁΖゥぃ煗洐枖憥寜唫|yvrolifca^\ZXWUTRQQPPPPPPPPQRSTUVWXY[\^_`bcefhijklnopqrstuvwxxyyzz{||}}}}~~~亖亖亖亖倐們儍儍儎剟剟剠厖唵唵唵噰垐垐垐墘墛妸妸媼媽寣寣實崓帋帋帋弿弿弿弿悙悙悙悜憫憫憫拻挀摀摀摀摂敂敂敂敂敂敂敃晻晻晻晻枛枛枛枛棗棗棗棗棗棗棙櫄湞煛ⅴǐ逗韭派托又佘哚沐玳觌祉铒痧耨耨耨耩镱铐祀觇珏溻徇捃谫字杂研瓮趟噬绕拍拿侣晾揽靠烤揪浇浇浇浇技冀浇郊技技技技蓟换技换缓汉汉汉构构构父阜贩贩范兜档档荡闯吵吵巢膊膊脖北鞍鞍鞍鞍┅┅┅┅┅┅┅┄èèèèèèèěЁΖゥぃ煗洏枔憥媹厒~{xtqnjgdb_][YWUTRQPOOOONNNOOPQRSTTVWXZ[]^_abdfghjklmopqrstuvwwxyyzz{||}}}}~~~亖亖亖亖倐倐倐儍儍儍剟剠厖厖厗唵噰噰噰垐垑墘墘妸妺媼媼媽寣寣實崓帋帋帋弿弿弿弿悙悙悙悜憫憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂敃晻晻晻晼枛枛枛枛棗棖枟棗棗棗槞殰潫。エ捕壕缕赏性宗苓徙彗殛腠铒镳耨耨耨耨痧镱盱腙殓驿汜噢苒僮终右形吞耸扇桥拍妹铝晾靠靠揪窘浇浇浇郊技技郊技技技技技换换换缓汉汉汉构垢父父阜贩贩范兜档档荡创吵吵吵膊脖北北卑鞍鞍鞍┅┅┅┅è┅┅èèèèěЁЁЁЁΖΕぃⅰ牉湚槚搼帇垍亊{wtqnjgdb_][YWUTRQPOOOONNNOOPQRSTUVWYZ\]^`acdfgijklmopqrsttuvwxyyzz{{||}}}}~~~亖亖亖亗倐倐們儍剟剟剠厖唵唵唶噰垐垐垐墘妸妸妸媼媽寣寣實崓崓崓帋帍弿弿弿悙悙悙悜憫憫憫憭拻拻拻摀摀敂摂敂敂晹敂晻晻晻晻枛枛枛枛枟棗棗棗棗槝槝槝櫅湠煛%ǐ坊韭剖脱宰谲哚沐玳觌眍镲痧耨耨耨耩镱铐祀觇珏溻徉捃谫字沼倚瓮趟噬惹排拿寐亮揽靠烤揪浇浇浇郊技技技技技技技技换换换换汉汉汉汗构构垢父贩贩贩抖兜档档创闯吵吵膊脖北北卑鞍鞍鞍┅┅┅┅èèèèěЁèЁЕΖイぃ灊洏枖憥媹厒{xuqnkheb`][YXVTSRQPPPOOOOPPQRSTUVWXZ[]^`abdeghjklmnpqrstuvvwxyzzz{{|}}}}~~~~亖亖倐倐倐們儍儍儍剟剟剠厖唵唵唶噰垐垐垑墘妸妸妸媼寣寣寣實崓崓崓帋帍弿弿弿悙悙悙悜憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敂晻晻晻晻晼枛枛枛枛枛枛枟棗棗棙櫄湞煛%ǐ坊韭剖脱宰谳哚滏玳觎眍镳瘃耨耨耨耩镲铐祀觇珏溻徉捃谫字杂研瓮趟噬惹拍拿寐铝览靠靠揪窘浇浇浇技技冀技技技技技换换换换汉汉汉构垢父父阜范抖抖兜档档创创吵吵吵膊脖北北北鞍鞍鞍隘┅┅┅┅┄┅┅┄èèèèЁЁЁЁΖΕイ"灉殬枔悗媹厑~{wtqnjgdb_][YWUSRQPOOONNNNNOPQQRSTUWXZ[]^_abdfghiklmnpqrsstuvwxxyyzz{{||||}}~~~亖亖亖亗倐儍儍儍剟剟厖厖唵唶噰噰噲垐墘墘墛妸妸媼媽寣寣實崓帋帋帋帍弿弿弿悙悙悙悜憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敂晻晻晻晻晼枛枛枛枛棗棖枟棗棗棗槞殰灍。Ι撤豢们饰颜刳萼怃骅殡祉铒痧耨耨耨耨痧镱盱腙桤邃汜咿苴僮衷友形吞耸扇桥哪寐铝揽靠揪揪浇浇浇浇技技技技技技技技蓟换换换缓汉汉汉构构构父阜贩贩抖兜档荡创闯吵吵巢脖北北北鞍鞍鞍┅┆┅┅┅┅èèèèЁЁЁЁЕΖゥぃⅰ牉湚槚搼帇垍|xurolifc`^\ZXVUSRQPPPOOOOOPPQRSTUVWYZ\]^_abdfghjklmnpqrsttuvwxyyyzz{|||}}}}~~~亖亖亖亗倐倐倐儍儎剟剟厖厗唵唵噰噲垐垐墘墛妸妸妺媼寣寣寣崓崓崓崕帋帋帋弿弿悙彁悙悜憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛枛枛枛枟棗棗棙櫄湞煛&┈俺坊棵撬窝肇圯噔滏栝腱眍镳瘃耨耨耨痧镱盱腙殍驿汊噙蒇谪渍砸严翁耸扇瞧拍寐铝晾靠揪揪浇郊技技技技技技技换患技蓟换换换缓汉汉汉汗构父父父贩贩贩抖档档荡创吵吵吵膊北北北鞍隘┅┅┅┅┄ī┅┄èèèěЁЁЁЁΖΕイ"灉殬枔悗媹厑~{wtqmjgdb_][YWUTRQPOOOOONNOOPQRSTUVWYZ\]_`acdfhijklnopqrstuvwwxyyzz{{|}}}}~~~亖亖亖亖倐們儍儍儎剟剠厖厖唵唶噰噲垐垐垑墘妸妸妸媼媽寣寣實崓崓崓帋帍弿弿弿悙悙悙悙憫憫憫憫拻拻拻挀摀摀摀摀敂敂敂敂敂敂敂晻晻晻晻晼枛枛枛枛枟棗棗櫄湞煛&┈按讣滥撬弦肇坜噔滏桕腱眍镳瘃耨耨耨耩镲铐祀觇珏溷徉捃谫字杂倚瓮趟噬绕拍妹侣晾揽靠揪揪浇浇浇郊技技技技换换技换换换换汉汉汉汗构父父父阜范抖抖兜荡创创闯吵膊膊脖北北卑鞍隘┅┅┅┅┄èèèěЖèěЁЁЁЕΖゥい"灉殬晸悗媹厑~{wtqnjgeb_][YWUTRQPPOOONNNNOPPQRSTUWXZ[]^_abdeghiklmnpqrsstuvwxxyyzz{{|||}}}}~~~~~~亖亖亖亗倐倐們儍剟剟剟厖唵唵唵噰垐垐垑墘妸妸妸媼媽寣寣實崓崓崕帋帍弾弿弿悙悙悙悜憫憫憫拻拻拻挀摀摀摀摂敂敂敂敂晻晻晻晻晼枛枛枛枛棗棖枟棗棗棗棗棗槝槜棙槝槝槝槝櫃櫃櫃櫃櫃殮殭櫄殮殮殮殮殮洓殮殮洓洓洓洓洓洓洓洓洔湝湜洔湝湝湝湝湝湝湝湝湝湝湝湝湞潩潨湞潩潩潩潩潩潩潩潩潩灋潩潩潪灋灊潪灋灋灊潩灋灋灊潪灋灋灋灋灋灋灋灋灋灋灋灋灍煙煘灋煙煙煘灋灍煙灋灋灍煙灋灋灍煙灋灋灍煙煘灋煙煙煘灋煙煙煘灋煙煙煙煙煙煙煙牎ⅳΗ┇捶痪屡商杏仲坜噔滏栝腱眍镳瘃耱蝌蝌蝌耩痫镱盱觊珂邈忄掭圳刈衷已衔吞耸扇瞧婆哪寐铝亮晾揽靠靠靠揪揪揪揪揪揪揪揪窘浇浇浇浇技技技蓟换汉汉构父父父贩抖抖兜档创创创吵巢膊膊脖北北北鞍隘┅┅┅┅è┅┄èèèèЁЁЁЁЕΖЁЁΖΖΖΖΕゥゥゥゥぅゥゥイいいいいいいい#####ⅲ##"ⅱⅲ#ⅱⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱ、ⅱⅱⅰ 、ⅱ            牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煚牋牋牊煙牋牋牋煚牋牋牊煙牋牋牊煙煚牋牊煙牋牋牊煙煘潩湚櫂枖拹崑垍|yvrolifca^\ZXVTRQPONMMLLLLLLLMNOPQRSTVWYZ\]_`bdeghiklmopqrstuvwxyyzz{{|}}}}~~~亐亖亖亖亖倐們儍儍儍剟剟剟厖唵唵唵噰噲垐垐墘妸妸妸媼寣寣寣崓崕帋帋帋弿弿弿彁悙悙悙憫憫憫憫拻拻摀挀摀摀摀摀摂敂敂敂敂晻晻晻晻晼枛晻枛枛枛枛枟棗棗棗棗槝槝槝槝槝槝槝槞櫃櫃櫃櫃櫃櫃櫃櫃殮殮櫃殮殮殮殮殮殯洑殮洓洓洓洓洓洓洓洓洓洔湜洓洔湝湝湝湝湝湝湝湝湝湝湝湝湞潨湝湝潩潩潩潩潩潩潩潩潪灊潩潪灋灋潩潪灋灊潩潪灋灋潩潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煙煙灋灍煙煙煘煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚。ウí贝富棵剖托宰佘掎沐玷觌祉铒痧耨蝌蝌蝌蝰耩镲铐礻殍驽溻徇蒈谫刂沼倚衔吞耸扇瞧婆拍寐侣铝亮览览览靠靠靠靠烤揪揪揪揪浇浇浇浇技技技换汉汉汗构父父贩贩抖抖兜档创创创吵膊膊膊脖卑鞍鞍鞍┅┅┅┅┄èèèèЁЁЁЁΖΕイ"灉殬枔憥媹厒{xurnkhec`^\ZXVUSRQPPPPOOPPQQRTUVWXY[\^_`bcefhijlmnoprsttuvwxyyzz{{||}}}}~~~亖亖倐倐倐儍儍儍儎剟厖厖厗唵唶噰噲垐垐垑墘妸妸妸媼媽寣寣崓崕帋帋帍弿弿弿悙悙悙悙憫憫憫憫拻拻拻拻挀摀摀摀摂敂敂敂敂晻晻晻晻晻枙晻晼枛枛枛枛棗棗棙櫅潫。エ捕壕缕释言宗葸徜骁殛祉铒痧耨耨蝌耨耩镱盱腙殓驿汜噢蒇僮衷右邢吞耸扇桥拿寐铝览烤揪窘浇技技技蓟换换换换换换换换汉汉汉汗构构垢父贩贩贩范兜档档荡创创闯吵膊膊膊脖北北卑鞍┆┅┅┅┅┄èèèèЁЁЁЁΖΖΖΖΕイぃⅰ牊潧櫁晵悕妵剚}zwspmjgda_\ZXVUSRQPOONNNNNNOPQRSTUVXY[\^_`bceghijlmnoprsstuvwxxyyzz{{||}}}}}~~~~~~亖亖亖倐們儍儍儎剟厖厖厗唵唶噰噲垐垑墘墛妸妺媼媽寣寣實崓帋帋帋帍弿弿彁悙悜憫憫憫憭拻拻拻挀摀摀摀摂敂摀敂敂敂敂晻晻晻晻枛枛枛枛枟棗棗棗棗棗棗槞殰灍。エ撤壕缕释言宗葸徜骁殛祉铒痧耨耨耨耨耩镱铐祀殍驽汊噙蒇儇终右严吞耸扇瞧拍寐铝览烤揪揪浇技技技技蓟患技蓟换换换换换换换汉汉构构构父父阜贩抖抖抖档创创创吵膊膊膊北卑鞍鞍鞍┅┅┅┅èèèèěЁЁЁЕΖЕΖΕイぃⅰ牊潧殫晵悕妵剚~{wtqnkheb_][YWVTSQPPOOOOOOOPQQRSTUWXZ[]^_abdeghijlmnoqrsstuvwxxyyzz{{||}}}}~~~亖亖亖亗倐儍儍儍剟剠厖厖厗唵噰噰噲垐墘墘墛妸妸妺媼寣寣寣崓崓帋帋帋弿弿弿彁悙悙悙憫憭拻拻拻挀搾挀摀摀摀摀敂敂敂敂晻晻晻晻晼枛枛枛枛棗棗棗棗棙槝槞洔灎ⅳΙ撤豢闷饰言宗葸怃骁殛祉铒痧耨耨耨耨痧镱盱腙桤邃忉咿苴刈赵友形退噬惹婆拿寐亮览烤揪揪浇技技技技换患技技换换技换换换换缓汉汉汉构垢父父阜贩抖抖兜荡创创吵膊膊膊北鞍鞍鞍隘┅┅┅┅èèèèěЁЁЁЁЁЁЕΖゥい"牊潨殫晵悕妵剚~zwtpmjgda_]ZXWUSRQPOOOOOOOOPQRSTUVWYZ\]_`acefhijlmnoprstuuvwxyzz{{||}}~~~~亖亖亖亖倐倐儍儍儍剟剟剟剠厖厖唵唶噰噰垐垑墘墘墛妸媼媼媼寣實崓崓崕帋帋帋弿彁悙悙悙憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛枛枛枛棗棗棗棗棙槝槝櫄洕煛ⅳΙ捶豢们饰言刳葸怃骅殡祉铒痧耨耱蝌蝰耩镲铐祀殍驽汊噙蒇儇终右邢吞耸扇瞧拍寐铝晾靠烤揪窘浇浇浇郊技技技技换患技换换换换汉汉构构构父父父阜贩抖抖兜档创创闯巢膊膊脖北鞍鞍鞍┅┅┅┅èèèèěЖèЁЁЁЁЁΖゥい"灉殫晸悕妵剚~zwspmjgda_\ZXVUSRQPOOOONNOOPQRSTUVWYZ\]_`acdfhijkmnoprsttuvwxyyzz{{||}}~~~~亖亖亖亗倐倐們儍剟剟剟厖厖唵唵唶噰噰垐垑墘妸妸妺媽寣寣實崓崓崓帋帍弿弿彁悙悙悙憫憫憫憭拻挀摀挀摀摀敁摂敂敃晻晻晻晼枙晼枛枛枛枛棗棗棗棗槝槝槝槝槞櫃櫃櫄湠煛%И锤伎们宋颜刳葸怃骁殛祉铒痧耨耨蝌蝰耩镱铐祀殍驽汊噙蒇儇终砸严翁耸扇瞧拍拿侣晾揽靠烤揪浇浇浇郊技技技技技技技技换换换换汉构阜兜巢爱Δ殫攼寜厒~{wtpmjgeca_][ZYYXXXXXXXYZ[\]^_abdeghijlmoprstuvwxz{{|}}~亖倐儍剟剟剠厖唵唵唵唵噰噰噰噲垐垐垐垑墘墘墘妸妸妸媼媼寣寣實崓帋帋帍弿悙悙悙悜憫憫憫拻拻拻挀摀摀敁摂敂敃晻晻晻晼枙晼枛枛枛枛枟棗棗棗棙槝槝槝槝櫃櫂槞櫃櫃櫃櫃櫄殮殮殮殮洓洓洔潫。うǐ倒嚼娜讼艺刿捺怃骅殡祉铒痧耨耱蝌蝌耩痫铐祀觇珏溻徇捃谫字杂倚瓮趟噬惹婆哪妹侣晾览览靠揪揪揪揪浇浇浇浇浇浇浇浇技技技技换换换汉汗构构垢父贩贩范抖抖档档创创闯吵膊膊膊北鞍鞍鞍隘┅┅┅┅èèèèèèèěЁЁЁЕΖΖΖΖΖΖΖΖゥゥゥゥゥゥゥゥいいゥいいいいいいいいい##いぃ########ⅱⅱ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅰ 、ⅱⅰ  ⅱⅰ  ⅱⅰ  ⅱⅰ                牋牎 牋牋 牋牋牋 牋牋 牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊牋牋牋牋牋牋牋牋牋牋牋煙牋牋牋煙牋牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煙煚牋牋煙牋牋牋煙牋牋牋煙煚牋牋煙牋牋牋煙牋牋牋煙牋牋牋煙牋牋牋煙煚牋牊煙煙牋牊煙煙煙煙煙煙煙煙煙煙牋牊煙煚牋牋牋牋牋牋牋牋牎牋牎  牋     、ⅰ 、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱ 、ⅱⅰ 、ⅱⅱ 、ⅱⅱ ⅱⅱⅱⅱⅱⅱⅱ ⅱⅱⅱ 、ⅱⅰ              ⅱⅰ ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱ       、   ⅱⅰ ⅱⅱⅱ ⅱⅱⅱ ⅱⅱⅱⅱⅱⅱⅱ 牊灊湚櫁晸悗媹唭|yvsolifca^\ZXVTSQPONNMMMMMMMNOPQRRTUWXZ\]_`bdegijkmnpqstuvwxyz{|}}~~亖亖倐儍儍儍儎剟剟剟剠厖厖厖唵唵唵唵噰噲垐垐垑墘妸妸妸媼媼寣寣崓崓崕帋弿弿彁悙憫憫憫憭拻拻拻挀摀摀摀敂敂晻敃晻晻晻晻枛枛棗枟棗棙槝棗槝槝槝槝槞櫃櫃櫃櫃殮殮殮殮殯洓殮洓洓洓洓洓洔湝洓湝湝湝湝湝潩潩潩潩潪灊潩潪灋灋灋灋灍煙灋灍煙煙煙煙煙煙煙煙煚牊煙煚牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋  牋         ⅱⅱ ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅲ"ⅱⅱ##ⅱ###########"###ⅱⅱ#"ⅱⅱ##"#####################################いぃ##いぃ##¥ぃ##¥ぃ##いい#¥いい##いい#¥いい#いいい#¥いいぃ¥いい#¥いい##いぃ##¥ぃ##¥ぃ#¥いい#¥いい#¥いい#¥いい##いぃ##¥ぃ##いい#¥いぃ##¥ぃ##いい#¥いいぃいいいぃいいいぃいいい#¥いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいゥゥウΖЁЁЁЖèЁЕΖゥぃ"牊灊湜洑櫂槜枙敂摀拻憪悙弿弾帋帋帋帋帋帋弿弿弿悙憫憫憭拻摀摀敂敂晻晻晼枛棗棗棗棙槝槝槝槞櫃櫃櫃櫃殮殮殮殮殯洓殮洓洓洓洓洓湝湝洓洔湝湝湝湝湝湝湝湞潩潩潩潩灋灋灋灋灋灋灋灍煙煙煙煙煚牊煙煙牋牋煙煚牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋  牋         ⅱⅱ 、ⅱⅱ ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ##ⅱⅱ##ⅱ##########################################ぃ##いい#¥いぃ##いぃ##¥###########¥ぃ##いぃ##いい#¥いいぃいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいぃいいいいいいいいウЗ背逗嚼们释杏仲坜噔滏栝觎眍镲瘃耱蝌篌篌篌篌篌篌蝌蝰耨痫镱眄祀觊桤驽溷忉噙掭蒈圳儇鬃终赵右乙蜒行舷挝挝瓮吞烫烫趟耸适适噬扇热热惹瞧破破婆拍哪哪拿寐侣侣亮览览靠烤窘浇浇技换换换汉汗构构垢父贩贩贩抖抖抖档荡创创创吵吵吵吵膊膊膊脖北北北卑鞍鞍鞍隘éィ湙棓憥媷剙}yvsolifc`^\ZYWUTSRRRQQQQRRSTUVWXZ[]_`bcefhjkmnpqrsuvwxyz{|}~亖倐儍儎剟剠厖厖厗唵唵唵唶噰噰噰噲垐墘墘墘妸妸妸媼媽寣寣實崓帋帋帋弿彁悙悙悜憫憫憫拻挀摀摀摂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫄殮殭殮殮殮殮殮洓洓洓洓洔湝湝湞煚ⅳェ┈豆搅娜讼艺刿萼怃骅殡祉铒痧耨耱蝌蝌耨痫镱盱觊桄邃忉咻苴儇终右邢瓮退噬热瞧婆拍妹妹侣铝亮亮亮晾览览晾览览览览览靠靠靠烤揪揪揪浇技技技换汉汉汉构父父阜贩抖抖抖档荡创创闯吵吵吵巢膊膊膊北北北北鞍鞍鞍鞍┅èЕイ!煗洐枔憥媷剚~zwspmjgda_\ZYWUTRRQQPPPPPPQRSTUVWXY[\^_abceghjklnoprstuvwxyz{{||}}~亖倐倐倐們儍儍儍剟剠厖厖厖唵唵唵噰噲垐垐墘墛妸妸妺媽寣寣實崓崕崕帋弿弿弿悙悜憫憫憭拻拻拻摀摂敂敂敂晻晻晻晼枛枛枛棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃櫄殮櫃殮殮殮殮殯洓洓洓湠煛¥Θ钡辜滥撬我肇圯噔滏玳觎眍镳瘃耨蝌蝌耨痧镱盱腙桤驿汊噢蒇谪字杂研衔吞耸扇乔破拍拿妹侣侣亮亮亮亮览览览览揽靠览靠靠靠靠烤揪揪揪窘浇技技技换换缓汉构构垢父贩贩范抖档档档荡创创闯吵膊膊膊脖北北北鞍隘鞍┅èЕぃ灈櫀攽帇垊亊zwtpmjgda_][YWVTSRQQQQPPPQQRSTUVWYZ\]_`bcdfhiklmnpqrtuvwxxyz{|}}~~亖亖亗們儍儍儍剟剟剟剠厖厖厖厗唵唵唵噰噲垐垐墘墛妸妸妺媼寣寣實崓崕帋帋弿弿弿悙憫憫憫憭拻拻拻摀摀敂摂敂敃晻晻晻枛枛枛枛棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫄殮櫃殮殮殮殮殮洓洓洓湠煛¥Θ钡辜滥撬我肇圯噔滏栝腱眍镳瘃耨蝌蝌蝰耩镲铐祀殍珏溷徇捃圪刈赵已邢瓮趟扇惹瞧婆拿妹寐侣亮亮亮晾览览览览揽坷览靠靠靠靠烤揪揪揪浇郊技技蓟换换缓汉构构垢父贩贩范抖档档档创闯吵吵巢膊膊膊北卑鞍北鞍鞍鞍鞍隘┄Еイ灉櫀攽帇垊亊zwspmjgda_][YWUTSRQQPPPPPPQRSTUUVXY[\^_abceghjklmopqstuvvwxyz{||}}~~亖亗倐倐們儍儍儍儎剟剟剠厖唵唵唵唶噲垐垐垑墘妸妸妺媼寣寣實崓崓崕帋弿弿弿悙悜憫憫憭拻摀挀摀摂敂摂敂敃晻敃晻晼枛枛枛枟棗棗棗棙槝槝槝櫃櫃櫃櫃櫄殮櫃殮殯洓殮洓洓洓洔潪牎%Ι驳菇滥人弦肇圯噔滏栝腱眍镳瘃耨蝌蝌蝰耩镲铐祀殍珏溷徇捃圪刈赵已邢瓮趟缮惹瞧婆拿妹寐侣亮亮亮晾览览览览览览览览靠靠靠靠揪揪揪揪浇浇浇技换换换汉构构垢父贩贩贩抖档档档荡创创创吵膊膊膊膊北北北卑鞍鞍鞍鞍┄Еイ灉櫁攽帇垍倊{xtqnkheb`^\ZXWUTSRRQQQQQQRSTUVVWYZ\]_`abdegijkmnoprstuvvwxyz{|||}~~亖亗倐倐們儍儍儍儎剟剟剟剠厖唵唵唵噰噰噰垐墘墘墛妸媼媼媽寣崓崓崓帋帍弿弿彁悙悙悜憫拻拻拻拻摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗槝槝槝槝槞櫃櫃櫃櫃殮殮殮殮殯洑殯湞煛ⅳΘ钡讣烂撬窝肇谳哜滏玳觎眍镳瘃耨蝌蝌蝰痧镲铐礻殍驽溻徇蒈谫刂沼倚衔吞耸扇乔破拍妹侣侣铝晾览览览揽览览览靠靠靠靠靠靠靠烤揪揪揪窘浇浇技技换换换汉构构构父贩贩贩抖档档档荡创创创吵膊膊膊膊北北北卑鞍鞍鞍隘┄Еイ灉櫀攽帇噭亇zwspmifda^\ZXWUTRQQPPPPPPPQQRSTUVXY[\^_abceghjklnoprstuvwxxyz{||}}~~亖亗倐倐倐儍儍儍儎剟厖厖厖厗唵唵唶噰垐垐垐墘墘墘妸妺媼媼寣實崓崓崕帋弿弿弿悙悜憫憫憭拻拻拻摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫄殮殭櫄殮殮殮洔潫牏ぅí锤祭们宋颜刳葸怃骁殛祉铒痧耨耱蝌蝌耨痫镱盱腴桄邃忉咻苴儇终右邢瓮趟噬惹瞧婆哪妹妹侣铝亮亮亮览览览览览靠览览靠靠靠靠揪揪揪窘浇技技技换缓汉汉构垢父父贩范抖抖兜档档档创闯创吵巢膊膊膊脖北北北鞍鞍鞍鞍┅ěΕ"牉洐枔憥媷剚}zvsplifca^\ZXWUSRQPPPPPOOPPQRSTUVWYZ\]_`acdfhiklmnoqrstuvwxyz{{||}}~亖亗倐倐們儍儍儍儎剟剟剟厖厖唵唵唶噰噰噲垐墘墘墘妸媼媼媽寣崓崓崓帋帍弿弿悙悙悙悜憫拻拻拻挀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃殮殭殮殮殯洓洔潫。うǐ蹈祭们宋颜宗葸怃骁殛祉铒镳耨耨蝌蝰耩痫铑盱觊珂邃忉咻苴儇终右邢瓮退噬惹瞧婆哪妹寐侣亮亮亮亮览览览览揽靠览览靠靠靠靠揪揪揪窘浇技技技蓟换缓汉汗构垢父贩贩抖抖兜档档荡创吵吵吵巢膊膊膊北北北北鞍鞍鞍鞍┅ěΕ"牉洐枖憥媷剚~zwspmjgda_][YWUTSRQQPPPPPQQRSTUVWXZ[]^`abdegijlmnoprstuvwxyz{{|}}}~亖亗倐倐倐儍儍儍儎剟剟剟剠厖唵唵唵噰噰噰垐垑墘墘墛妺媼媼媽實崓崓崕帋弿弿弿悙悙悙悜憫憭拻拻挀摀摀摀摂敂敂敂晻晻晻晻晼枛枛枛枟棗棗棗棙槝槝槝槞櫃櫃櫃櫃殮櫃櫄殮殮殮殯潫牏ぅí锤祭们宋颜刳葸怃骁殛祉铒痧耨耱蝌蝌耩痫镱盱觊桄邃忉咻苴儇终右邢瓮趟噬惹瞧婆拿妹侣侣亮览览览揽靠坷览靠靠靠靠烤揪揪揪窘浇浇浇郊技技蓟缓汉汉汗垢父父阜范抖抖兜荡创创创吵吵吵巢膊北辈北北鞍鞍鞍隘┅┅┅┅┅èèèèèЁèèЁЁЁěЁЁЁЁЕΖΖΖΖΖΖΖΖウΖΖΕゥΖΖΕゥウΖゥゥゥゥゥゥゥゥゥゥゥゥイいゥゥイいぅゥいいいいいいいいいいいいいいいいい¥いいぃ#¥い#####################################"ⅰ煘潧櫁晸悗媹厒|yurolifc`^[YWVTRQPONNMMMMMMMNOPQRSTUWXZ[]^`aceghiklnoqrstuvwxyz{{||}~~亖亖倐倐倐儍儍儍儎剟剟剟剠厖厖厗唵噰噰噰垐垐墘墘妸妺媼媼寣實崓崓帋帋帋帍弿悙悙悙悜憫憫憫拻挀搾摀摀敂敂敂敃晻晻晻晼枛枛枛枛棗棗棗棗槝槝槝槝櫃櫂槞櫃櫃櫃櫃殮殮殮殮殯洓洓洓洓湝湜洔湝湝湝湝湝湝湝湝湞潩潩潩潩潩潩潩灋灋灋灋灋灋灋灋灍煙煘灋煙煙煘灍煙煙煙煙煙煙煙煙煙牋煙煙煚牋牊煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎 牋牋  牋  牎        、ⅱⅰ ⅱⅱⅰ ⅱⅱⅰ、ⅱⅱⅱ、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲうī捶壕聊人我肇谳哚沐玳觌祉铒瘃耨蝌蝌蝌蝰耩痫铐祀觇珂邈忄掭苒儇终右研衔吞耸噬热瞧婆排拍拿妹妹妹侣侣侣侣铝亮侣侣亮亮亮亮览览览靠烤揪揪窘郊技技换缓汉构构父贩贩贩抖抖抖档荡创创创吵膊膊膊脖北北北卑鞍鞍鞍隘┅┆┅┅┅┅┄èè┄èèèèěЁЖěЁЁЁЁΖΖΖΖΕゥΖΖゥゥゥΖゥゥゥゥゥゥゥゥゥゥゥゥイいゥゥイいゥゥイいいイいいいいいいいいぃ#いいぃ#¥い##¥いぃ#¥いぃ#¥い###ぃ#############ⅲ##########"ⅱ##"ⅱ##ⅱⅱ 牊煗湜櫁晵悕媹厒{xuqnkheb`][YWUSRQOONNMMMMLMMNOPQRSTUWYZ\]^`bceghiklmoprsttuvwxyz{{||}~~亖亖亗倐儍儍儍儎剟剟剟剠厖厖厖唵噰噰噰垐垑墘墘妸媼媼媼寣實崓崓帋帋帋弿彁悙悙悙憫憫憫憭拻摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛棗棖棗棗棙棗棙槝槝槝槝櫃櫃櫃櫃櫄殮殭櫄殮殮殮殮殯洓洓洓洓湝洓洔湝湝湝湝湞潩潩潩潩灋潩潩灋灋灋灋灋灋灋灋灋灋灋灋灍煙灋灋煙煙煘灋煙煙煘灍煙煙煙煙煙煙煙煙煙煙煙煙煚牋牊煚牋牋牋牋牋牋牋牋牋牋牋牋牎 牋牋  牋  牋  牋   牎        、ⅱⅰ ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲうЗ扯航滥撬窝宰谲哚沐玷觌祉铒痧耨蝌蝌蝌蝰耩痫铐祀觊珂邈忄咻苒谪渍杂已邢翁怂适扇乔破婆排哪妹妹妹寐侣侣侣侣亮谅铝亮览览览揽靠靠靠揪浇浇浇技蓟换换汉汗构构垢父父贩范抖抖档荡创创创吵吵吵膊膊北北北卑鞍鞍鞍┆┅┅┅┅┅┅┅┅èèèèěЁЖěЁЁЁЁЕΖΖЕΖΖΖΖΖΖΖΖΕゥウΖゥゥゥゥゥぅゥゥイいぅゥイいゥゥイいいイいいいいいいいいぃ#¥い#########################ⅲ##"ⅱ##ⅱⅱⅱ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ#ⅱⅱ##"ⅱ 牊灊湚槚敀悕妵厒~{xuqnkheb`][YWUSRQOONNMMMMLMMNOPQRSTUWYZ\]^`bceghjklnoqrstuvwxzz{||}}~亖亗倐倐們儍儍儍儎剟剟剟剠厖厖厖唵唶噰噰噲垐墘墘墛妺媼媼媽寣崓崓崓帋帋帋弿彁悙悙悙憫憫憫憭拻拻拻摀摀摀摀敂敂晻敂晻晻枙晻枛枛枛枛枟棗棗棗棙槝槝槝槝櫃櫃櫃櫃櫃殭櫃櫄殮殮殮殮殮殮殮殯洓洓洓洓湝湝洓湝湝湝湝湝潩潩湝湞潩潩潩潩潩灊潩潪灋灋灋灋灋灋灋灋灍煘灋灋煙煙灋灍煙煙煙煙煙煙煙煙煚牊煙煚牋牋煙牋牋牋牋牋牋牋牋牋牎牋牋牎牋牋牋牋牋牋牋牋牋牋牎  牋      牋         ⅱⅱ 、ⅱⅱⅰⅱⅱⅱ 、ⅱⅱ ⅱⅱⅱⅱ¥Η┇背逗搅那宋言宗苓徙彗桕腱眍镳耨耱蝌蝌蝌蝰耩痫铐礻殍珏溻徇捃圳刈赵友邢瓮趟适扇惹婆排哪拿妹旅妹侣侣侣侣侣亮亮亮亮览览览览靠靠靠烤窘浇浇郊技换换缓汉构构垢阜贩贩范兜档档档创创创吵巢膊膊膊北北北卑鞍鞍鞍隘┅┅┅┄èèèèèèèěЁЁЁЁЁЁЁЁЕΗЁЕΖΖΖΖΖΖΖΖゥウΖΕゥゥゥゥゥゥゥゥイゥゥゥいいゥイいいいいいいいいいいいいぃ¥いい##いぃ##いぃ##¥ぃ########"###ⅱⅲ######"###ⅱⅱ#"ⅱⅱ#"ⅱⅱⅲ"ⅱⅱⅲ"ⅱⅱⅱⅱⅱ 牋煘潨殬棓拹崐垍|xurolifc`^\YXVTSQPOONNNNMMNNOPQRSTUVXZ[]^_acefhiklmopqstuvwxyzz{||}}~亖亗倐倐倐們儌們儍剟剟剟剠厖厖厗唵唶噰噰噲垐垐垑墛妸妸妺媽寣寣實崓帋帋帋帍弿弿弿悙悙悙悜憫拻拻拻挀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛枟棗棗棗棗槝槜槝槝櫃櫃櫃櫃櫃櫃櫃殮殮殮殮殮殮殮殮洓洓洓洓洔湝湝湝湝湞湝湝潩潩潨湞潩潩潩潩潩潩潩潩灋灋灋灋灋灋灋灋煙煙煙灍煙煙煙煙煙煙煙煙煙煙煙煙煙牋煙煙煙牊煙煙煚牋煙煙牋牋牊煚牋牋牋牋牋牋牋牋牋牋牋牋牎 牋  牎       牋  牋  牋            、ⅱ  ⅱⅱⅱⅲうЗ撤航聊人窝宰谳哚沐玳觌祉铒瘃耨蝌蝌蝌蝰耨痫镱黼觊桄邃忄咻苒谪渍杂已衔吞耸噬热瞧排排哪妹寐侣侣铝亮谅铝亮亮亮亮晾览览览揽靠靠烤揪浇浇浇技换换换汉构构垢阜贩贩范兜档档荡闯吵吵吵巢膊膊膊北北北北鞍鞍鞍鞍┅┅┅┅è┅┅èèèèèèèèěЁЖěЁЁЁЁЕΖΖΖΖΖΖΖΕゥウΖゥゥゥゥゥゥゥゥイいいいいいいいいいいいい¥いいぃ#いい#############ⅲ###ⅲ##"ⅱ##"ⅱ##"ⅱ##"ⅱ##ⅱⅱⅱ#ⅱⅱⅱ#ⅱⅱⅲ#ⅱⅱⅱ#ⅱⅱⅱ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱ 牊灊洑槚敀弽妶厒|xurolifc`^\ZXVTSQPONNNMMMMMNNOPQRSTUWYZ\]^`aceghiklmopqsttuvxyyz{{||}~~亖亖亖倐倐倐倐儍儍儍儍剟剟剟剟厖厗唵唵唶噰垐垐垑墛妸妸妺媽寣寣實崕帋帋帍弿弿弿悙悙憫憫憫拻拻拻拻摀摀摀摂敂敂敂敂晻晻晻晻晼枛枛枛枟棗枟棗棙槝棙槝槝櫂槝櫃櫃櫃櫃櫃殮殮櫃殮殮殮殮殮洓洓洓洓洔湝洓湝湝湝湝湞潩潩潩潩潩潩潩潩潪灋潩潪灋灋灋灋灋灋灋灋灍煘灋灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牊煙煙牋牋煙煚牋牋牋牋牋牋牋牋牎牋牋 牋牋 牋牋 牋牋  牋牎  牋牎  牋牎  牋牎               ⅳェí俺豆嚼那宋言宗苓徙彗桕腱眍镳瘃耱蝌蝌蝌耨痧镱盱腙桤驽汜噢蒇谫字杂已邢翁耸噬热瞧排拍哪拿寐侣侣侣亮亮亮亮览览览览揽靠靠靠揪揪揪窘浇浇浇技换换换汉构构构父贩贩贩抖档档档荡创吵吵吵膊膊膊脖北北北鞍鞍鞍鞍┆┅┅┅┅èè┅èèèèèЁЁЁЁΖΖΖΖΖΖΖΖゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥいぅゥゥいいゥイいいいいいいいい#¥いぃ########################ⅱⅲ##ⅱⅱ#"ⅱⅱ#"ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱⅰⅱⅱⅱⅰ 牊煘湜殬枖憦寠噭亊{wtqnjgeb_][YWUSRPONNMMMMLLLMNNOPQRSUVXY[\^_acdfhijkmnpqrstuvwxyz{{||}~~~亖亖亖亗倐倐倐們儍儍儍剟剟剟剠厖唵唵唶噰噲垐垑墘妸妸妺媼寣寣實崓崓崕帋帍弿弿彁悙悙悙憫憭拻拻拻摀摀摀摂敂敂敂敃晻晻晻晻枛枛枛枛枟棗枛棗棗棗棗棙槝槝槝槞櫃櫃櫃櫃殮殮櫄殮殮殮殮殯洓洓洓洓湝湝洓湝湝湝湝湝湞潨湝湝潩潨湝湞潩潩湝潩潩潩潩潩潩潩潩潩灋灋灋灋灋灋灋灋灋灋灋灋灍煘灋灍煙煙灋灍煙煙灋煙煙煙煙煙煙煙煙煙牋牊煙煚牋牋煙煚牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋 牋牋 牋牋  牋         ⅱⅱⅱ¥Η┆俺逗嚼那宋言宗苓徙彗桕腱眍镳瘃耱蝌蝌蝌耩痫镱盱觊桤邃忉咿苒谪渍砸研衔吞耸缮热瞧排拍哪拿妹侣侣侣亮亮亮亮亮亮亮晾览览览揽靠靠烤揪浇浇浇技换换汉汗构垢父阜贩抖抖抖档档荡创吵吵吵巢脖北北北鞍鞍鞍鞍┅┅┅┅┅┅┅èè┅┄èèèèЁЁЁЁЕΗЁЕΖΖΖΖゥウΖΕゥゥゥゥゥゥゥゥイゥゥゥいぅゥイいいいいいいいい##いぃ########"###ⅱ###ⅱⅲ##ⅱⅲ##ⅱⅲ#"ⅱⅱⅲ"ⅱⅱⅱⅱⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱ 牊煘湜殬枖憦寠噭亊zwtqmjgdb_]ZXVUSRPONNMMMMLLLMNOOPQRSUVXZ[\^_acdfhijkmnpqrstuvwxyzz{||}~~亖亖亖亗倐倐倐們儍儍儍儎剟剟剟厖厗唵唵唶噲垐垐墘妸妸妸媼寣寣寣崓崕帋帋帍弿弿弿悙悙憫憫憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晻枛枛枛枛枟棖枛枟棗棗棗棗槝槝槝槝槝槝槝槞櫃櫃櫃櫃殮殮櫃殮殮殮殮殯洓洓洓洓洓洓洓洔湝湝湝湝湝湝湝湝潩潩潩潩潩潩潩潩灋灋潩潪灋灋灋灋灋灋灋灋灋灋灋灋灍煘灋灋煙煘灋灋煙煙灋煙煙煙煙煙煙煙煙煙煙煙煙煙牋牊煙煙牋牋煙煚牋牋煙煚牋牋煙煚牋牋牊牋牋牋牋牋牋牋牋牋牎牋牋牋牋牋牋牋牋牋牋牎牋牎  牋牎   ⅲウí俺豆嚼那饰言宗苓徙彗桕腱眍镳瘃耱蝌蝌蝌耨痧镱盱腙桤驽汊噢蒈谫字杂已邢翁耸缮热瞧排哪哪妹侣侣侣铝亮亮亮亮览览览览揽靠靠靠烤揪揪揪浇浇郊技换缓汉汗垢父父阜范抖抖兜档档档创闯吵吵吵膊膊膊北鞍鞍鞍鞍┅┅┅┅┅┅┅┄èèèèěЖèЁЁЁЁЕΖΖΖΖΕΖΖΕゥゥゥゥゥゥゥゥイゥゥゥいいゥイいいいいいいいいぃいいい##いぃ################"###ⅱⅱ#"ⅱⅱⅲⅱⅱⅱⅲ"ⅱⅱⅲ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱ 、ⅱⅱ 、ⅱⅰ 牋牊灊湜櫂枔憦寠噭亊{wtqnkheb_][YWUSRPONNNMMMMMMMNOPQRSTVWYZ\]_`bdegijklnoqrstuvwxyzz{{|}}~~亖亖亖倐倐儌倐儍儍剟剟剟厖厖厖厗唵噰噰噰垐垐垐墘墛妸妸妺媼寣寣寣崓崓崓帋帍弿弿弿悙悙悙悜憫憫憫憭拻摀拻摀摀敁摀敂敃晻晻晻晼枛枛枛枟棗枟棗棗棗棗棙槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫄殮殮殮殮殮殮殮殮殯洑殮洓洓洓洓洓湝湝湝湝湞潩湝潩潩潩潩潩潩潩潩潩灋灋潩灋灋灋灋灋灋灋灋灋灍煘灋灍煙煙煘煙煙煙煘煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牋牋煙煚牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎。うī蹈伎闷释性踪苻徙彗桕腱眍镳瘃耱蝌蝌蝌耩痫镱黼觊珂邃忄咻苴儇终右研衔趟噬热乔婆哪妹妹侣亮亮亮晾览览览揽靠靠靠靠揪揪揪揪浇浇浇郊蓟换换缓汉构构垢阜贩贩抖兜档档荡闯吵吵巢膊膊北北鞍鞍鞍隘┅┅┅┅┄ī┅èěЁΕぃⅰ煗洐棓憦寜唫|xurnkheb`][YWVTSQPPOOOOOOOOPQRSTUVWYZ\]_`acdfhijklnopqrstuuvwxyyyz{{||}}}}~~~亖亖亖亗倐們儍儍儎剠厖厖厗唶噰噰噲垐墘墘墛妸妸妺媼寣寣寣崓崓帋帋帋弿弿弿彁悙悙悙悜憫憫憫拻挀摀摀摀摂敂摀敂敂晹敂晻晻晻晻晼枛枛枛枛枟棗枟棗棗槝槝櫅湠牎%ǐ逗韭派托又佘哚沐玳觌眍铒痧耨耨耨耩镱铐祀觇珏溻徇捃谪字杂研瓮趟噬惹排拿寐铝览靠靠烤揪揪揪窘浇浇骄浇浇浇浇浇技技技技换换换缓汗构构垢阜贩贩范兜档档荡创创闯吵膊膊膊脖北鞍鞍鞍┅┅┅┅┅┅┄èèèèЁЁЁЁЕЁЁЕΖΖΖΖゥゥΖゥゥゥゥゥゥゥゥゥいいゥイいいいいいいいい#¥いぃ########ⅱⅲ#"ⅱⅱ#"ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ、ⅱⅱ                           牋牎 牋牋 牋牋牎牋牋牋牋牋牋牋牋牋牋煙煘潨洑槜晸悗媺唭}zwspmjgdb_]ZXVUSRPONNMMMLLLLMNNOPQRSUVXY[\]_`bdeghiklnopqrstuvwxyyzz{|}}}~~~亖亖亖亗倐倐倐儍儍剟剟剟厖厗唵唵唶噰噰噲垐墘墘墘妸妺媼媼寣實崓崓帋帋帋弿弿悙悙悙悜憫憫憫拻拻拻拻摀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛枛枛枛棗棗棗棗棙槝槝槞洔灎。エ捕壕缕赏杏踪苓徙彗殛腠铒镳耨耨耱耨耩镱铐祀殍驽溻徇蒇谪字杂研瓮趟噬惹婆哪妹铝览览揽烤揪揪揪浇浇浇浇浇技浇浇技技技技蓟换换换汉构构构父阜贩贩抖兜档档创创闯吵巢膊膊膊北卑鞍鞍隘┅┅┅┅┅┅┅èèèèěЁΖイ"潧櫁攽弻墔{xuqnkheb`][YWVTRQPPOOOOONOOPQRSTUVWYZ\]^`abdfghjklmnpqrsstuvwxyyyz{{||}}}}~~~亖亖亖倐倐儍儍儎剟厖厖厗唵噰噰噲垐垑墘墛妸媼媼媼寣寣寣崓崕帋帋帋弿弿弿弿悙悙悙悜憫憭拻拻摀摀摀摀敂敂敂敂敃晻敂晻晻晻晻晼枛枛枛枟棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫄殮殮殮殮殮殮殮殯洓洓洓洓洓洓洓洓洔洓洓洔湝湝湝湝湞潨湝湞潩潩潨潩潩潩潩潩潩潩潩潩灋灋灊灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煘灋灋煙煘灋灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牊煙煙牋牊煙煙牋牋煙煚牋牋煙牋牋牋煙煚牋牋煙煚牋牋牋、ぅЖ蹈豢闷释杏仲苻徙彐桕腱眍镳瘃耱蝌蝌蝌耩痫铑黼觊珂邈忄掭圳僮衷友邢瓮趟噬惹瞧婆拿妹寐铝亮览览览揽靠靠靠烤靠靠烤揪揪揪窘浇浇浇技蓟换换缓汗构构垢阜贩贩范兜档档荡创创吵吵膊膊膊脖北鞍鞍鞍┆┅┅┅┅┅èèèèèèèěЁЁЁЁΖΖЁЕΖΖΖΖゥゥΖΕゥゥゥゥイぅゥイいいいいいいいい##いぃ########ⅱⅲ#"ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱ  ⅱⅰ                                            牋牊煘灊洑櫁晸憥寜唭}zvspmjgda_\ZXVTSQPONMMMMLLLLMMNOPQRSTVWY[\]_`bdeghiklnopqrstuvwxyyzz{||}}~~~~亖亖亖亗倐倐倐們儍儍儍剟剠厖厖唵唶噰噰垐垑墘墘妸妺媼媼寣實崓崓崕帋弿帍弿彁悙悙悜憫憫憫拻拻拻拻摀摀摀摀摂敂敂敂敂晻晻晻晻枛枛枛枛枟棗棗棗棗槜棗棙槝槝槝槝櫃櫃櫂櫃櫃櫃櫃櫃櫄殭櫃櫄殮殮殮殮殮殮殮殯洓洓洓洓湝湝洓湝湝湝湝湝湝湝湝湝潩潩湝潩潩潩潩潩潩潩潩潩灋灋潩潪灋灋潩灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煘灋灋煙煙灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牋牊煙煙牋牋煙煚牋牋牊牋牋牋牋、ぅЖ锤豢缕释杏仲苻徙彐桕腱眍镳瘃耨蝌蝌蝰耩痫铐祀殍珏溷徇捃圪刈赵已邢瓮趟噬惹瞧婆哪妹妹侣铝亮亮亮览览览览揽坷览靠靠究烤揪浇浇浇郊技蓟换换汉汗构构父父贩贩抖档档荡创吵吵吵膊膊膊脖北北北鞍隘┅┅┅┄èЁΖイⅰ煘湙棓拸寜唭|yurolifc`^\ZXVTSRQPPOOOOOOPQRSTUVWXZ[]^_abdeghjklmopqrstuvwxxyzz{{||}}~~~~亖亖亖亗倐們儌儍儍剟剟剟厖厖厖唵唶噰噰噲垑墘墘墛妸媼媼媼寣寣寣崓崕帋帋帋弿弿弿彁悙憫憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂敂敂敂晻晻晻晻晼枛枛枛枛枛枛枛棗棗棗棙殯潫牏ぇ驳菇僚商杏仲苻徙彗桕腱眍镳瘃耨耨耨痧镱盱腙殓驿汊噢蒇儇终砸严翁耸扇瞧拍拿侣晾揽靠烤揪浇浇浇浇技浇浇技技技技技技技技换缓汉汉汗构构垢父贩贩范抖档档荡闯吵吵吵膊北北北卑鞍鞍鞍┅┅┅┅┅┅┅èèèèěЁЖěЁЁЁЁΖΖΖΖΕゥゥゥゥゥゥゥイいぅゥいいいいいいいいぃ#¥ぃ#####ⅱ##"ⅱ##"ⅱ##"ⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱ、ⅱⅱ   ⅱ                     牎   牎       牎  牋  牋  牋牎 牋牋牋牋牋牋牋牋牋牊煘灊湜殬枙拹帇墕儉}zvspmjgda_\ZXVUSQPONNMMLLLLLLMNOPQRSTVWYZ[]^`bcefhijlmnpqrstuvwxxyyzz{||}}}}~~亖亖亖亖倐們儍儍儎剟剟剠厖唵唵唵噰噲垐垐墘妸妸妸媼寣寣寣崓崓帋帋帋弿弿弿彁悙悙悙憫憫拻憭拻拻搾拻摀摀摀摀敂敂晹敂晻晻晻晻晼枛枛枛枛棗棗棗棗棗槝棗槝槝槝槝槞櫃櫃櫃櫃殮殮櫃殮殮殮殮殮殮殮殮殮洓洓殮洓洓洓洓洓洓洓洓洔湝湝湝湝湝湝湝湝潩潩湝潩潩潩潩潩潩潩潩潩潪灊潩潩灋灋潩潪灋灋潩灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煘灋灋煙煙灋灍煙煙灋灍煙煙煘煙煙煙灋灍煙煙灋灋煙煙灋灍煙煙煙煙煙煙煙煙煙煙煙煙煚煙煙煙牋牊煚、ぅЖ锤豢缕赏杏仲苻徙彐桕腱眍镳瘃耨蝌蝌蝰耩镲铐祀殍珏溷徇捃圪刈赵已衔吞耸扇乔破拍妹侣侣亮览览览靠烤究靠揪揪揪揪窘浇浇浇浇技技技蓟换缓汉汉构构垢父贩贩抖抖档荡创创吵吵吵膊北北北卑鞍鞍鞍┅┅┅┅èè┅èèèèěЁЁЁЕΖΖΖΖゥゥΖΕゥゥゥゥゥゥゥゥいいいいいいいいいいいい##¥#####"###ⅱⅲ##ⅱⅱ#"ⅱⅱⅲ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅰ        牋牎 牋牋 牋牋 牋牋 牋牋  牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煙灋潨洑槚敀悗媹唭}yvspmigda^\ZXVTSQPONMMMLLLLLLMNOPQRSTVWYZ\]^`bdeghijlmopqrstuvwxxyyz{{|}}}}~~亖亖亖亖倐倐倐倐儍儍儍剟剠厖厖厗唵唵唶噰垐垑墘墛妸媼媼媽寣寣實崓帋帋帋帍弿弿彁悙悜憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻晻枙晻枛枛枛枛枟棗棗棗棗槝槝槝槝槞櫃槝櫃櫃櫃櫃櫃殮殮殮殮殮殮殮殮殯洑殮殯洓洓洓洓洓洓洓洓湝湝洓洔湝湝湝湝湝湝湝湝潩潩湝湞潩潩湝潩潩潩潩潩潩潩潩潩灋灊潩潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煙煘灋灋煙煙灋灍煙煙煘煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牋牊煙煙煙煙煙煙煙煙煚、%Ж锤豢缕赏杏仲苻嚆滏栝腱眍镳瘃耨蝌蝌蝰耩镲铐礻殍驽溷徇捃圪刈赵已邢瓮趟缮惹瞧排拿妹侣铝亮览览览靠靠靠靠烤究靠烤揪揪揪窘浇浇技技换换缓汉构构垢父贩贩范抖档档荡创吵吵吵巢脖北北北鞍鞍鞍隘┅┅┅┅┄èèèěЖèЁЁЁЁЕΖΖΖΖΖΖΖΕゥゥゥゥゥゥゥイいいいいいいいい########"###ⅱⅲ#"ⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ、ⅱⅰ            牋牎  牋牋 牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊牋牋牋煙煚牋牋煙煚牋牋煙煚牋牋煙煘灊潨洐槚敀悕媹厒|yvspligda_\ZXVTSQPONMMMLLLLLLMNOPQRSTVWYZ\]^`bceghijlmopqrstuvwxyyz{{|}}}~~~亖亖亖亖亗倐倐倐儍儍儍儎剟厖厖厗唵唶噰噰垐垐垑墘妸妸妺媼寣寣寣崓崓帋帋帋弿弿弿彁悙悙悙悜憫憫憫拻拻拻拻摀摀摀摀摂敂敂敂敂晻晻晻晻晼枛晻枛枛枛枛枟棗棗棗棗棙槜棗槝槝槝槝槞櫃櫃櫃櫃櫄殮櫃櫄殮殮殮殮殮殮殮殮洓洓殮洓洓洓洓洓洔湜洓洔湝湝湝湝湝湝湝湝潩潩湝湞潩潩湝潩潩潩潩潩潩潩潩潩潪灊潩潪灋灋潩灋灋灋灋灋灋灋灋灋灍煘灋灋煙煘灋灍煙煙灋煙煙煙煘煙煙煙灋煙煙煙灋灍煙煙灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牏%Θ锤豢缕赏杏仲苻徙彐桕腱眍镳瘃耱蝌蝌蝰耩痫铐祀觇珂溷徉捃圳刈赵已邢瓮淌扇乔破拍拿寐侣铝晾览览览靠靠靠靠烤揪揪揪窘浇窘浇郊技技技换换缓汉构垢父父贩贩抖抖档档创创吵吵巢膊北北北卑鞍鞍鞍┅┅┅┅┄è┅èèèèěЁЁЁЁΖΖΖΖΖΖΖΕゥゥゥゥイゥゥイいいいいいいいいぃいいい#¥いぃ####"###ⅱⅱ#"ⅱⅱⅲⅱⅱⅱⅱⅱⅰⅱⅱⅱ 、ⅱⅱ 、ⅱⅱ        牎  牋牋 牋牋牎牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊牋牋牋牊煙灋潨洐槚敀悗媺唭}zwspmjgdb_]ZXWUSRPONNMMMMMMMMNOPQRSTUWXZ[]^`acefhijlmopqsttuvwxyzz{{|}}~~~~亖亖亖亖倐倐倐倐們儍儍儍剟剟厖厖厗唵唶噰噲垐垐墘墛妸妸妺媼寣寣寣崓崕帋帋帋弿弿弿弿悙悙悙悜憫憫憫拻拻拻拻摀摀摀摀摂敂敂敂敂晻晻晻晻晻晻晻枛枛枛枛枟棗棗棗棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃櫃櫃櫃殮殮殮殮殮殮殮殮洓洓洓洓洓洓洓洓洓湜洓洓洔湝湜洔湝湝湝湝湞潩潨湝潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩灋潩潩灋灋灋潪灋灋灋潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煙煘灋灍煙灋灋灍煙灋灋灍煙煘灍煙煙煙灍煙煙煙灍煙煙煙煙煙煙煙煚。ウí钡讣棵剖脱宰佘哚沐玷觌祉铒痧耨耱蝌蝌耨痫镱盱腴桤邃汜咿苒儇渍砸严瓮趟噬惹瞧排拿寐侣亮晾览览揽靠靠靠靠揪揪揪揪窘浇浇浇郊技技技换缓汉汉构构父父贩范抖抖档荡创创吵巢膊膊北北北卑鞍┅┅┅┅┅èèèèèèèЁЁЁЁЕΖΖΖΖΖΖΖΕゥΖΖゥゥゥゥゥいゥイいいいいぃ#¥い#####ⅲ##"ⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ ⅱⅱ        牋牎 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煚牋牋牊煙牋牋牊煙煚牋牊煙牋牋牊煙煚牋牊煙煚牋煙煙煚牋牊煙灋潩湜櫂枖拹帇墕儉}zwtqmjheb_][YWUTRQPONNMMMLLLMMNOPQRSTVWYZ[]^`bcefhijlmnpqrstuvwwxyyzz{||}}}}}~~亖亖亖亖倐倐倐們儍剟剟剟厖厗唵唵噰噲垐垐墘墛妸妸媼媼媼寣寣崓崓崓崕帋帋帋弿弿弿彁悙悜憪憫憫拻拻拻拻摀搾摀摀敂敂敂敂晻晹敃晻晻晻晻枛枛枛枛枟棗棗棗棗棗棗棗槝槝槝槝槝櫃櫂槞櫃櫃櫃櫃櫃殮殭櫄殮殮殮殮殮洓殮殮洓洓洓洓洓洓洓洓洔湝湜洓湝湝湝湝湝湞湝湝潩潩潩潩潩潩潩潩潩潩潩潩潩灋潩潩潩潩潩潩潩灋潩潩潩灋潩潩潪灋灊潩灋灋灊潩灋灋灋潪灋灋灋灋灋灋灋灋灋灋灋灋灋煙灋灋煙煙煘灋煙煙煘灋煙煙煘灋煙煙煘灋煙煙煘灋灍煙灋煚。うī驳讣烂鞘窝宰谳哚沐玳觌眍铒瘃耨蝌蝌蝌耨痫镱盱腴桄邃忉咻苴僮终友邢瓮趟嗜乔婆拍妹侣亮亮览靠靠靠揪揪揪揪揪揪揪揪窘浇浇浇郊技技技换汉汉汗垢父父阜范抖抖档荡创创闯巢膊膊膊北卑鞍鞍隘┅┅┅┅è┅┅èèèèěЁЁЁЁΖΖΖΖΖΖΖゥゥゥゥイいいいいいいいぃ#######"ⅱ##"ⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ 、ⅱ            牋  牋  牋牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋煚牋牋牊煙牋牋煙煙煚牋牊煙牋牋牊煙煚牋煙煙煙煙煙煙煙煙煙煙煙牊煙煙煙牋煙煙灋潨洑櫁枖拸崐垍|yurolifca^\ZXVTRQPONMMLLLLLLLMNOOPQRTUWXZ[\^`acefgijkmnoqqrstuvwxxyyz{{|||}}}~~~亖亖亖亗倐倐倐儍儍儍剟剠厖厖厗唵噰噰噲垑墘墘妸妺媼媼媽寣崓崓崓崕帋帋帋弿弿弿彁悙憫憫憫憭拻拻拻摀摀摀摀摂敂敂敂敂晻晻晻晻晼枙枛枛枛枛枛棗棗棗棗棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃櫄櫃櫃殮殮殮殮殮殯殮殮洓洓洓殯洓洓洓洓洓洓洓洓洓湝洓洓湝湝湝湝湝湝湝湝湝潩湝湝潩潩潩湞潩潩潩潩潩潩潩潩潩灋潩潩潪灋灊潩灋灋灊潩灋灋灊潩灋灋灊潩灋灋灊潩灋灋灊潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煙灋灋灋煘灋灋灍煙煘灋煙煙煙煚ⅲェí捕菇聊人弦肇圯噔滏玳觎眍镲瘃耨蝌蝌蝌耩痫铑盱觊珂邃忉咻圳僮终友邢瓮淌扇瞧婆拍寐铝亮晾揽靠靠靠揪揪揪揪窘浇浇浇浇技浇郊技蓟换换缓汉汉汉构父父父贩抖抖兜档创创闯吵膊膊膊北鞍鞍鞍隘┅┅┅┅┅èèèèЁЁЁЁЁΖЁЁΖΖΖΖΕゥゥΕゥゥゥゥゥいゥゥいいいいぃ#¥い#####ⅱ##ⅱⅱⅱⅱⅱⅱⅱⅱⅰ ⅱⅱ   ⅰ        牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煚牋牋牊煙煚牋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙灋灊潨洑槜晸憦寠噭|xurolifc`^\YWVTRQPONMMLLLLKLLMMNOPQRTUWXZ[\^_acdfghjkmnopqrstuvwxxyyz{{||}}}}~~亖亖亖亗倐們儍儍儎剟剟剟厖唵唵唵噰噲垐垐墘妸妸妸媼媽寣寣實崓崓崓帋帋帋帍弿悙悙悙悜憫憫憫憭拻拻拻挀摀摀摀摀敂敁摂敂敂敂敂晻晻晻晻晼枛枙晼枛枛枛枛棗棗棗棗棙槝槝槝槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫃櫄殮殭櫄殮殮殮殮殯洓洑殯洓洓洓洓洓洓洓洓洔湝洓洓湝湝湜洔湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湞潩潨湞潩潩潩潩潩灋潩潩灋灋灊潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煙灋灋灍煙煘灋煙煙煘灋灍煙灋灋灍煙煘灋煙煙煙煛ⅳェí扯壕僚忍弦重坜噔滏栝腱眍镳瘃耱蝌蝌蝌耨痫镱盱腴桄邃忉咻苴僮终友邢瓮趟扇乔婆拍妹侣亮亮览靠靠靠烤揪揪揪揪揪揪揪窘浇浇浇郊技技蓟缓汉汉构垢父阜贩范抖兜档荡创创闯巢膊膊膊北鞍鞍鞍隘┅┅┅┅èèèèěЁЁЁЁЁЁЁΖΖΖΖΕゥゥゥゥゥゥゥイいいいいいいいぃ#######"ⅱⅱⅱⅱⅱⅱⅱⅰ 、ⅱ                    牋  牋牋牋牋牋牋牋牋牋煚牋牋牊煙牋牋牊煙牋牋牊煙煚牋煙煙煚牋煙煙煚牋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙灋灊湝洑槜晸憦崐噮|yurolifca^\ZXVTSQPONMMMLLLLLLMNOPQRSTVWYZ\]^`bcefhijlmopqrstuvwxxyyzz{||}}}}~~亖亖亖亗倐儍儍儍儎剟剟剟厖厗唵唵噰噲垐垐墘墛妸妸妺媼媼媽寣崓崓崓帋帋帋帍弿弿弿彁悙悙悙悜憫憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂敂晻敂敃晻晻晻晻枛枛枛枛棗棗棗棗棗槝棗棗槝槝槝槝槞櫃櫃櫃櫃櫃櫃櫃殮殮殮殮殮殮殮殮殮殮殮殮洓洓洓洓洓洓洓洓洓洓洓洓洓洓洓洓洔湝湜洔湝湝湝湝湝湝湝湝湞潩潨湝潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩潪灋潩潩灋灋灊潩灋灋潩潩灋灋灊潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煙煘灋煙煙灋灋灍煙煙牎ⅳΗ┇锤豢闷释性踪苻徙彗桕腱眍镳耨耱蝌蝌蝌耨痫镱盱觊桄邃忉咻圳僮衷友形吞耸扇瞧婆哪寐铝亮晾揽靠靠靠揪揪揪揪窘浇浇浇浇技技技蓟换换换汉构构构父贩贩贩抖档档荡创吵吵巢膊北北北鞍鞍隘┅┅┅┅èèèèЁЁЁЁЕΖΖΖΖウΖΖゥゥゥゥイいぅゥいいいいい#いい#####ⅲ##ⅱⅱⅱⅱⅱⅱⅱⅱⅰ 、ⅰ     牋  牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煚牋牋牊煙煚牋煙煙煙煙煙煙煙煙煙煙煙煙煘灋煙煙煘灋煙煙煘灋煙煙煘灋煙煙灋灋灍煙灋灋灍煙灋灋灋煙灋灋灋煘灋灋灋灋灋灊潩湜殭槜晸憦寠噭|yurolifca^\ZXVTSQPONMMMMLLLLMNOPPQRTUWXZ[\^_acdfghjklnopqrstuvwxxyyzz{{|||}}}~~~亖亖亖倐倐倐儍儍儍剟剠厖厖唵唶噰噰噲垐墘墘墛妸媼媼媼寣寣寣崓崕帋帋帋弿弿弿彁悙悜悙悜憫憫憫憫拻拻拻拻摀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛枟棗槞洕煚ⅴЙ逗韭粕托宰谲哚沐玳觎眍镲瘃耨耨耨耨痫铐祀觊珂溷徉捃谫渍杂研翁耸扇瞧琶寐亮览烤窘浇郊技换换换换汉换换汉汉汉汉汉构购构构父父父贩贩范抖兜档档荡闯吵吵巢膊北北北卑鞍鞍隘┅┅┅┅èèèèЁЁЁЁЕΖΖЕΖΖΖΖΕイぃ"灊洐棓拸寜唭}zvspmifda^\ZXVUSRPOONNNNNNNOOPQRSTVWYZ\]^`acdfghjklmopqrsstuvwwxxyyzz{{||||}}~~~~~~亖亖亖亗倐倐倐儍儎剟剟厖厗唵唵唶噰垐垐垑墛妸妸妺媼媽寣寣崓崓崓帋帍弿弿弿悙悙悙悙憫憫憫憫拻拻拻拻摀摀摀摀敂敂敂敃晻晻晻晻晼枙晻枛枛枛枛枛棗棗棗棗棙槝棗槝槝槝槝槝槝槝槝槞櫃櫃櫃櫃殮殮殮殮殯殮殮殯洓洓洓洓洓洓洓洓湝湝洓洔湝湝湝湝湝湝湝湝湝湝湝湝潩潨湝湞潩潩潩潩潩潩潩潩潩潩潩潩灋灊潩潪灋灋潩潪灋灋潩灋灋灋灋灋灋灋灋灋灋灋灋灋煙煘灋灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牋ⅲェí驳讣棵鞘脱宰谲哚沐玷觌祉铒瘃耨蝌蝌蝌蝰耩镲铐腙殓驽汊噢蒇谪字杂研瓮趟噬惹破拍拿侣亮亮览靠靠靠靠揪揪揪揪窘浇浇浇郊技技技换换换缓汗构构垢父贩贩范抖档档荡闯吵吵膊脖北北北鞍鞍鞍┅┅┅┄èèèěЖèЁЁЁЁЕΖゥい"牊潨殬晸悕媹厑~{xtqnkheb`][YWVTSRQPPPOOOPPQRSTUVWXY[\^_`bcefhijlmnoprsttuvwwxyyzz{{||}}}}}~~亖亖倐倐倐們儍儍儎剟厖厖厖唵唶噰噰垐垑墘墘妸妸妸媼媽寣寣實崓帋帋帋弿弿弿弿悙悙悙悜憫憫憫憭拻拻拻挀摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛枟棗棗棗棗槝槝櫅湠牏う┈坊棵剖窝宰谳哜滏玳觎眍镳瘃耨耨耨耨痫铐祀觊珂溻徉捃圪字杂研瓮耸扇瞧拍寐铝晾揽揪揪浇郊技技技蓟换换换换换换换汉汉汉汉构构构垢阜贩贩范抖档档荡创吵吵吵膊北北北鞍鞍鞍隘┅┅┅┅èèèèèèèЁЁЁЁЕΖΖΖΕゥウΕゥゥゥゥイいぅイいいいいいいいいぃ#¥ぃ#####ⅲ##ⅱⅱⅱⅱⅱ、ⅱⅱ         牎  牋牎 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊煙牋牋牊煙煚牋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煘灋煙煙煘灋煙煙煘灋潩湝洐槜晸憦寠噭亊{xurnkhec`^[YWUTRQPONMMMLLLLLMNOPQRSTVWYZ\]_`bdeghiklmopqrstuvwxyyzz{{|}}}}~~~亖亖亖亗倐倐們儍儍儍剟剠厖厖厗唶噰噰噲垐墘墘墛妸媼媼媽寣實崓崓帋帋帍弿彁悙悙悙憫憫憫憭拻拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛枟棗棗棗棗槜棗棙槝槝槝槝櫃櫃櫃櫃櫃殭櫃櫄殮殮殮殮殯洓洓洓洓洓洓洓湝湝湝湝湝湝湝湝湝湝湝湝潩潩潩潩潩潩潩潩潩潩潩潩潪灋潩潪灋灋灋灋灋灋灋灋灋灋灋灋煙煙煘煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牊煙煙牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋  牋牋  牋牋  牋牎     牎   ⅲェí俺逗嚼那宋言宗葸徙彗殛腱眍镳耨耱蝌蝌蝰耩镲铐祀殍驽溻徇捃谫刂沼倚衔吞耸扇瞧婆拍妹侣铝亮览览览览靠靠靠靠烤揪究揪揪揪揪浇浇技技技换换汉汉构构垢父贩范抖抖档创创闯巢膊膊膊北北北卑鞍┅┅┅┅┄èèèèЖèèЁЁЁЁЕΖЁЁΖΖΖΖΖゥΖΕゥゥゥゥイいいいいいいいぃ#いい########"ⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅰ 、ⅱ            牋  牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊煙牋牋牊煙牋牋煙煙牋牋煙煙牋牋煙煙煚牋煙煘灊潨洑槜晸憦寜噭亊{xuqnkhec`^[YWUTRQPONMMMMLLLMNNOPQRSUVXZ[\^_acefhijlmopqstuvwxyzz{{||}~~亖亖亖倐倐倐倐們儍儍儍剟剟剟剠厖唵唵唵噰垐垐垐墘妸妸妺媼寣寣寣崓崕帋帋帍弿弿悙悙憫憫憫憭拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛枟棗棗棗棗槝槝槝槝槝槝槝槞櫃櫃櫄湞煛%З捶豢们饰言宗葸怃骁殛祉铒痧耨耱蝌蝰耩镲铐祀殍驽汊噙蒇儇终右邢吞耸扇瞧拍妹侣晾揽靠靠揪浇浇浇浇浇浇浇郊技技技技蓟换换换汉汉汉汗构构垢父贩贩贩抖兜档档创吵吵吵膊脖北北卑鞍鞍鞍┆┅┄ī┄èèèèěЁЁЁЁΖゥぃ!牊潧櫁敀弻墕儉}zvsplifda^\ZXVUSRQPPOOOOOOPPQRSTUVXY[\^_`bceghiklmnpqrstuvwxyyz{{{|}}~~~~亖亖倐亗倐們儍儍儍剟剟剟厖厗唵唵噰噲垐垐垑墛妸妸媼媽寣寣崓帋帋帋弿彁悙悙悙憫憫憫憭拻拻拻挀摀摂摂敂敃晻晻晻晼枛晼枛枛棖枛棗棗棗棗棙槝槝槝槝槞櫃槝櫃櫃櫃櫃櫄殮殮殮殮洓洓洓洓洓洓洓洓湝湝湝湝湝湝湝湝潩潩潩潩潩潩潩潪灋灋灋灋灋灋灋灋煙煙灋煙煙煙煙煙煙煙煙煙牋牋煙煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牎       、ⅰ  ⅱⅰ  ⅱⅱ 、ⅱⅱ 、ⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲぅΘ贝泛玖湃讼艺刳葸徜彗殛腱铑镳耨耱蝌蝌蝌耨痧镱盱觊桄邃忉咻苒儇渍砸研衔吞噬扇乔破拍哪妹妹侣侣侣铝亮亮亮亮览览览览揽靠靠靠揪揪揪窘浇技技技换缓汉汉构父父阜贩抖抖兜荡创创闯吵吵巢膊脖北北北鞍鞍鞍隘┅┅┅┅èèèèèèèèěЁèěЁЁЁЁЕΖЁЕΖΖΖΖΖΖΖΖゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥイいゥイいいいいいいいい########################"ⅲ##ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ"ⅱⅱⅲ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱ 牊煘潧殬枖拹崑垍|yurolifc`^\YWVTRQPONNNMMMMMNOPPQRSUVXY[]^_acdfhiklmoprstuvwxyz{||}}~亖亗倐們儍儍儎剟剟剟厖厖厖厖唵唵唵唶噰垐垐垑墘妸妸妺媼寣寣實崓崓崕帋弿弿弿悙憫憫憫憭拻拻拻挀摀摀摀敂敃晻晻晻晼枛枛枛枟棗枛棗棗槝棙槝槞櫃槞櫃櫄殮櫃殮殮殮殮殯洓洓洓洓洔湜洓洔湝湝湝湝潩潩潩潩潩潩潩潪灋灋灋灋灋灋灋灍煙煙煘煙煙煙煙煙煙煙煙煙煚煙煙煙牋牋煙牋牋牋牋牋牎牋牋  牋牎               、   ⅱⅱ 、ⅱⅱ ⅱⅱⅱⅱⅱⅱⅱⅱⅱ##ⅱⅲ##ⅱⅲ##ⅱⅲ##"####################うЗ泊坊玖湃讼艺刳葸徙彗殛腱眍镳瘃耱蝌蝌蝌耨痧镱盱腴桤驽汜噢蒈谫刂沼已邢瓮趟噬扇惹破排排哪妹妹妹妹侣侣妹寐侣侣侣侣亮亮亮晾览览揽靠揪揪揪窘郊技技蓟缓汉汉构父父阜贩抖抖抖档荡创创闯吵吵吵巢膊膊膊北卑鞍鞍鞍┅┅┅┅┅┅┄èèèèЁЁèěЁЁЁЁЁЁЁЁЁЁЁЁЕΗЁЕΖΖΖΖΖΖΖΖΕゥΖゥゥゥゥゥいぅゥゥいいぅイいいいいいいいいぃ¥いい#¥いい#¥いい#¥いい##いぃ########"###########"ⅲ##ⅱⅱⅲ"ⅱⅱ##ⅱⅱ#"ⅱⅱ#"ⅱ 煘潨洐棔搻帇垍|xurolifc`^[YWVTSQPOONNNMMMMNOOPQRSTVXY[\^_abdfhijlmoprstuvwxyz{||}}~亖亗倐儍儍儍剟剟剟剟厖厖厖厖唵唵唵噰噲垐垐垑墘妸妸妺媼寣寣實崓帋帋帍弿弿弿悙憫憫憫憭拻摀摀摀摂敂敂敂敃晻晻晻晼枛晼枛枟棗枛棗棗槜棗槝槝槝槝槞櫃櫃櫃櫃殮殮殮殮洓洓洓洓洔湜洓洔湝湝湝湝湝湝湝湝潩潩湝潩潩灊潩灋灋灋灋灋灍煙灋煙煙煙煙煙煙煙煙煙牋牊煙煚牋牋牊牋牋牋牋牋牋牋牋牋牎牋牎        、ⅰ  ⅱⅰ 、ⅱⅱ 、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ"ⅱⅱ##ⅱⅲ##ⅱ###"####################ぅЖ泊坊玖湃滔艺刳葸徙彗殛腱眍镳耨耱蝌蝌蝌蝰耩痫铐礻殍珂溷徇掭苴僮终右已衔吞怂适扇乔瞧破排哪哪哪拿妹妹妹妹侣侣侣侣铝亮亮亮晾览览揽靠揪揪窘郊技技蓟缓汉汉构父父父贩抖抖抖兜档创创创吵吵吵膊脖北北北鞍鞍鞍鞍┅┅┅┅èèīèèèèèЁЖèěЁЁЁЁЁЁЁЁΖΖΗΖΖΖΖΖΖΖΖΖΕΖΖΖゥウΖΖゥゥΖゥゥゥゥゥゥゥゥゥイぅゥゥいいゥいいいいいいいいいいいいい##いぃ##¥ぃ##いい#¥いい#¥いい##いぃ##¥ぃ##いぃ############ⅱⅰ煘潨殭棓拹崑垍|xurolifc`^\YXVTSQPOONNNNNNNNOPQRSTUWXZ[]^`aceghjklnoqrsuuvwxyz{|}}~~亖亖倐儍儍儍儎剟剟剟剠厖厖厖厖唵唵唵唶噰噰噲垐墘墘墘妸妺媼媼媽實崓崓崕帋弿弿弿悙悙悙憫憭拻拻挀摀摀摀摂敂敂敂敃晻晻晻枛枛枛枛枟棗棗棗棙槝槝槝槝櫃櫃櫃櫃櫄殮櫃殮殮殮殮殮洓洓洓洓洔湜洓湝湝湝湝湝湞湝湝湞潩潩潩潩潪灊潩潪灋灋灋灋灋灋灋灋煙煙灋灍煙煙煙煙煚牊煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牎  牋                 ⅱⅱ 、ⅱⅱ  ⅱⅱ ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ#"ⅱⅱ#"ⅱⅱ#"ⅱⅱ#"ⅱⅱ#"ⅲぅΘ贝泛玖湃讼艺刳葸徙彗殛腱眍镳耨耱蝌蝌蝌耨痧镲铎腙殍珏溻徇掭苴僮衷右研衔吞怂适扇乔破破排哪哪哪拿妹妹妹妹侣侣妹侣侣侣侣亮晾览览揽烤揪揪窘郊技技蓟缓汉汉构父父父贩抖抖抖兜档档档创闯吵吵吵膊膊膊脖北北北卑鞍鞍鞍┅┅┅┅┄┅┅┄èèèèèèèèЁЖèěЁЁЁЁЁЁЁЕΖΖΖΖΖΖΖΖΕΖΖΕゥゥゥゥゥゥゥゥゥゥゥゥいぅゥゥいいゥイいいいいいいいいいいいいいいいい#¥いい#¥いいぃいいいぃいいい#¥いぃ##いい##いぃ#############ⅱⅰ牊灊洑槚搼帉墕儉}zvspmjgda_][YWUTRQPOOONNNNNOOPQRSTUVXZ[]^_acdfhijlmnpqstuvvwxyz{||}}~亖亗倐倐們儍儍儍儎剟剟剟厖厖厖厗唵噰噰噰垐垑墘墘妸妺媼媼寣實崓崓帋帋帋弿弿悙悙悙憫憫憫憭拻挀搾摀摀敂敂敂敃晻晻晻晻枛枛枛枛棗棖棗棗槝槜槝槝槞槝槞櫃櫃櫃櫃殮殮殮殮殯洓洓洓洓湝湜洔湝湝湝湝湝湝湝湝潩潩潩潩潩灋潩潩灋灋灋灋灋煙灋灋灍煙煙煙煙煙煙煙煙牋煙煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋  牎   牎   牎            、ⅱ   ⅱ  、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲウī捶航聊人我兆谳哚沐玳觌祉铒瘃耨蝌蝌蝌蝰耩痫镱祀觊桤邃忉咿蒇谫字杂已邢瓮趟适扇惹破破排哪哪哪拿妹侣妹妹侣侣侣侣铝亮亮亮览览览靠烤揪揪窘郊技技换缓汉汗构父阜贩贩抖兜档档荡创创创吵膊渤膊脖北北北北鞍北卑鞍鞍鞍鞍┅┅┅┅┅┄èèèèèèèЁЁЁЁЁЁЁЁЕΖЁЁΖΖΖЕΖΖΖΖΖゥΖΖΕゥウΖゥゥゥΕゥゥゥゥゥいゥゥイいゥゥいいいいいいいいぃ#¥い###い##¥い###い##¥い##¥いぃ#いいぃ#¥い#####################ⅱⅰ煘湜櫁晸悗媹厒|xurokhec`^[YWVTRQPONNNMMMMMMNOPQRSTUWXZ[]^`aceghiklmoprstuvwxyzz{{|}}~亖亗倐倐倐儍儍儍儍剟剟剟剠厖厖厗唵唶噰噰垐垐垑墘墛妸妸媼媽寣寣實崓帋帋帋弿弿弿悙悜憫憫憭拻挀搾摀摀敂敂敂敂晻晹晻晻晼枙枛枛枟枛枟棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫄殮殮殮殮殯殮殮洓洓洓洓洓湝湜洔湝湝湝湝潩潩潨湞潩潩潩潩潩潪潩潩潪灋潩潩灋灋灋灋灋灍灋灋煙煙煙煙煙煙煙煙煙牋煙煙牋牋牊煙牋牋牋煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋牎 牎                、ⅱⅰ、ⅱⅱⅱ、ⅱⅱⅰ ⅱⅱⅰ、ⅱⅱⅱⅱⅱⅱⅱⅲウī捶壕僚人弦肇谳哚沐玳觌眍铒瘃耨蝌蝌蝌蝰耩痫铐祀觇珂邈忄咻苒谪渍杂已邢吞耸噬扇瞧破排排哪妹妹妹寐侣侣侣侣亮谅铝亮亮亮亮览靠靠靠烤揪揪窘郊技技蓟缓汉汉汗垢父父父贩抖抖抖档荡创创闯吵吵吵膊膊膊脖北鞍鞍鞍隘┆┅┅┅┅┄èī┅èèèèěЁЖěЁЁЁЁΖΖΖΖΖゥΖΖゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥぅゥゥイいぅゥいいいいいいいいぃ#いい###ぃ#####################ⅲ###ⅲ##"ⅱ##"ⅱ##"ⅱ##"ⅱ##"ⅱⅲ#ⅱⅱⅲ#ⅱⅰ 牊灊湚槚敀弽妵剚~{wtqnkheb_][YWUSRPONNMMMMLLLMNOOPQRSUVXZ[\^_acdfhijkmnpqrstuvwxyz{{||}~~亖亖亖倐倐儍儍儍儎剟儎剟剟厖厖厖唵唵唵噰噲垐垐墘墛妸妸媼媽寣寣實崓帋帋帋弿弿弿彁悙憪悜憫憭拻拻拻摀摀摀摂敂敂敂敃晻晻晻晻枛枛枛枛棗棗棗棗槝槝槝槝槝槝槝槞櫃櫃櫃櫃殮殮殮殮殮殮殮殯洓洓洓洓洓洓洓洓湝湝洓湝湝湝湝湝湞潨湝湞潩潩潩潩潪灊潩潪灋灋灋灋灋灋灋灋灍煘灋灋煙煙灋灋煙煙灋煙煙煙煙煙煙煙煙煙牋牋煙煚牋牋煙煚牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋 牋牋 牋牋  牋       、ⅳェ┆俺豆嚼那宋言宗苓徙彗桕腱眍镳瘃耱蝌蝌蝌耨痧镱盱腴桤驽汊噢蒈谫刂沼已邢瓮趟噬扇惹婆排拍哪妹妹妹寐侣侣侣侣亮亮亮亮览览览览靠靠靠烤窘浇浇郊蓟换换汉构构垢父贩贩抖抖档档档创吵吵吵巢膊膊膊脖北北北鞍隘┆┅┅┅┅èèèèèèèèЁЖèěЁЁЁЁЕЁЁЕΖΖΖΖΕΖΖΕゥゥゥゥゥゥゥゥゥゥゥゥいいいいいいいいぃ¥いい##いぃ##いぃ########################ⅱⅱ#"ⅱⅱⅲ"ⅱⅱ##ⅱⅲ##ⅱⅱ#"ⅱⅱⅲ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ 牋煘潧殬枖拸崐噭亊{xtqnkheb`][YWUSRQONNMMMMLLLMNOPPQRSUVXZ[\^_acefhijlmoprstuvwxyzz{{|}}~~亖亖亖倐們儍儍儍儎剟剟剟剠厖厖厗唵唶噰噰垐垐垑墘妸妸妺媼寣寣寣崓崕帋帋帍弿弿弿悙悙悙悙憫憫憫憫拻拻搾拻摀摀敁摀敂敂敂敂晻晻枙晻枛枛枛枛枟棗棗棗棗棙槝棗槝槝槝槝槞櫃櫃櫃櫃櫄殮櫃殮殮殮殮殯洓洓洓洓湝湝湝湝湞潨湝湞潩潩湝潩潩潩潩潩潩潩潩潩潪灊潩潪灋灋灋灋灋灋灋灋灍煘灋灋煙煙灋灍煙煙煘煙煙煙煙煙煙煙煙煙煙煙煙煙牋牋煙煚牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋  牋牋  牋牎  牋牎  牋牎       ⅲェí俺豆嚼那饰言宗苓徙彗桕腱眍镳瘃耱蝌蝌蝌耨痧镱盱腙桤驽汊噢蒈谫刂沼已邢瓮趟噬扇惹婆排拍拿寐侣侣侣亮亮亮亮亮亮亮亮览览览览靠靠靠烤窘浇浇郊蓟换换汉构构垢父贩贩范抖档档档创吵吵吵巢膊北北北鞍鞍鞍鞍┅┅┅┅┅┅┅┅èèèèěЁèЁЁЁЁЁΖΖΖΖΖΖΖΕゥゥゥゥゥゥゥゥゥゥゥゥいぅゥイいいいいいいいいいいいいぃいいい####################ⅱⅱ#"ⅱⅱ#"ⅱⅲ##ⅱⅱ#"ⅱⅱ#"ⅱⅱⅲ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱⅰ 牊煘潧殬枖拸崐噭亊{xurolifc`^\ZXVTSQPONNNNMMMMNOOPQRSTVWY[\]_`bdeghjklnoqrstuvwxyzz{{|}}~~亖亖亖亗倐倐倐們儍儍儍儎剟剟剟厖厗唵唵唶噰垐垐垑墘妸妸妺媼寣寣寣崓崓崓帋帍弿弿弿悙悙悙悜憫憫憫拻拻搾拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛枛棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫃殭櫃櫄殮殮殮殮洓洓洓洓洔湜洓洔湝湝湝湝湝湝湝湝潩潩湝潩潩潩潩潩潩灊潩潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煘灋灍煙煙煙煙煙煙煙煙煙煙煙煙煚牊煙煙牋牊煙煚牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋  牋牎  牋牎      ⅲェí俺豆嚼那宋言宗苓徙彗桕腱眍镳瘃耱蝌蝌蝌耨痧镱盱腴桤驿汜噢蒇谫字杂已邢瓮耸噬热瞧婆拍哪拿寐侣侣侣亮亮亮亮晾览亮览览览览靠烤揪揪窘浇浇技技换换缓汉构垢父阜贩抖抖兜档创创创吵吵吵巢脖北北北鞍鞍鞍隘┅èěΕあ潥槙搻崐噭}zvsplifca^\ZXVUSRQPPPOOOOOPQRSTTUWXZ[]^_abdeghjklmnpqrstuvwxyyzz{{|}}~~~~亖亖亖亖倐們儍儍儍剟剟剟厖厗唵唵唶噰垐垐垑墘妸妸妺媼媽寣寣崓崓崓帋帍弿弿弿悙悙悙悜憫憫憭拻挀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛枛棖枛棗棗棗棗棙槝槝槝槝槞櫃櫃殰潫、う┈坊韭剖脱宰谲哚沐玳觌眍镲痧耨耨蝰耨痫镱盱腙桤邃汜咿苴僮终右邢瓮趟噬乔婆拍拿铝亮晾览靠靠靠烤揪揪揪揪窘骄揪窘浇浇浇浇技技技蓟缓汉汉汗构父父阜范抖抖兜荡创创闯吵吵膊膊北北北卑鞍鞍鞍隘┆┅┅┅┅┄èЁΖイ!牉湚槙拹崐噭}zvspmigda_\ZYWUTRQQPPPPPPPQRSTUVWXY[\^_`bcefhiklmnoprstuuvwxyzz{{||}~~~亖亖亖亖亗倐倐倐儍儎剟剟剟厖厖厗唵噰噰噰垐墘墘墘妸媼媼媼寣崓崓崓崕帋帋帋弿彁悙悙悙憫憫憫憭拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻晼枛枛枛枟棗棗棗棗槝槝棗槝槝槝槞殯潪牏&ǐ逗韭粕托宰佘哚沐玳觌眍镲痧耨耨耨耨痫镱盱腴桄邃忉咿苴僮终右邢瓮趟嗜瞧排哪寐铝晾览揽靠靠靠揪揪揪揪揪浇浇浇浇郊冀浇技蓟换换换汉汉汗构父父父贩抖抖抖档荡创创闯吵巢膊膊北北北卑鞍鞍鞍┅┅┅┅┅┅┅┄èèèèèèèèЁЁЁЁΖΖΖΖΖΖΖΕゥゥゥゥゥゥゥゥイゥゥゥいいぅいいいいいぃいいい##いぃ##¥ぃ############ⅱⅲ##ⅱⅲ##ⅱⅲ##ⅱⅲ##ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱ  ⅱⅰ                 牋煙灊湜櫁枔憦寜噭亊zwtqmjgdb_][XWUSRPONNMMMLLLLMMNOPQRSUVXY[\]_`bdfghjklnoqrstuvwxyyzz{||}}~~~亖亖倐亖倐倐倐倐儍儍儍儎剟厖厖厖唵唶噰噰垐墘墘墛妸媼媼媼寣實崓崓崕帋弿弿弿悙悙悙悜憫憫憫拻拻摀拻摀摀敁摀敂敂敂敂晻晻晻晻枛枛枛枛枟棗棗棗棗槝槝棗槝槝槝槞殯潪牏&ǐ逗韭派托又佘哚沐玳觌祛铒痧耨耨蝰耨痫镱盱腴桄邃忉咿苴僮终友邢吞趟扇瞧排哪寐铝亮览揽烤揪揪揪窘骄揪窘浇浇浇浇浇浇浇郊技换换换汉汉汗构父父父贩抖抖抖档荡创创闯吵吵巢膊北北北卑鞍鞍鞍隘┅┅┅┅┅┅┅┅èЁΖイ!牉湚棔拸寠唭}yvsolifca^\ZXWUSRQQPPPPPPPQQRSTUVWYZ\]_`acdfhijkmnoprstuuvwxyzz{{{|}}~~~~~亖亖亖亖倐倐倐儍儍剟剟剟厖厖厖唵唶噰噰噲垐墘墘墛妸媼媼媽寣崓崓崓帋帋帋帍弿彁悘悙悙憫憫憫憭拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻晼枛枛枛枛棗棗棗棗棙槜棙槝槝槝槝櫃櫃櫃櫃櫃櫄櫃櫃殮殮殮殮殮洓殮殮洓洓洓洓洔湝湜洔湝湝湝湝湞潩潨湝潩潩潩潩潩潩潩潩潪灋灊潪灋灋灋灋灋灋灋灋灋灋灋灋灋煙灋灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牋煙煙牋牋牋煚牋牋牋煙牋牋牊煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋  牋   、%Θ扯辜烂鞘窝宰谲哚沐玷觌祉铒痧耨蝌蝌蝌蝰耩痫铐祀觇珂邈徉掭圳僮衷右研衔趟噬扇惹婆排哪拿寐侣侣铝亮亮亮亮览览览览览靠靠靠靠揪揪揪窘浇浇技蓟换换汉汗构垢父阜贩抖抖兜档档创闯吵吵巢膊北北北卑鞍鞍鞍┅┅┅┅┅┅è┅┄èèèěЁЁЁЁЕΖΖЕΖΖΖΖΖゥΖΕゥゥゥゥイいゥゥいいいいいいいいいいいいぃ#いい##¥い##¥い############"ⅱⅲ#ⅱⅱⅱ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ ⅱⅱⅰ ⅱⅱⅰ ⅱⅱⅰ、ⅱⅱⅱ、ⅱⅱⅰ 牋煙灊洑槚敀弽妵厒~{xurnkhec`^[YWUTRQPONNMMMLLMMNOPPQRSUVXY[\^_abdfgijkmnpqrstuvwxyzz{{||}~~~~亖亖倐倐倐倐儍儍儍儍剟剟剟厖厖厖唵唶噰垐垐墘墛妸妸媼媽寣寣實崓崓崓帋帍弿弿悙悙悙悜憫拻拻拻挀摀摀摀摂敂敂敂敂晻晻晻晻枛枙枛枛枛枛枛棗棗棗棗槝槝槝槝槞櫃櫃櫃櫄殮殭櫄殮殮殮殮殮殮殮殮洓洓洓洓洔湝湜洔湝湝湝湝湞潩潨湞潩潩潩潩潩灋潩潩灋灋灋灋灋灋灋灋灋灋灋灋灋煙灋灋灍煙灋灋灍煙煙灍煙煙煙煙煙煙煙煙煙牊煙煙煚牋牊煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎 牋  牋  、%Θ┇捕辜烂鞘窝宰谲哚沐玷觌祉铒痧耨蝌蝌蝌蝰痧镲铐礻殍珏溷徇捃圳刈赵已邢瓮趟噬热乔婆拍哪妹寐侣侣亮亮览览览览览览览靠靠靠靠揪浇浇浇郊技技蓟缓汉汉汗构父父父贩抖抖抖档创创创吵吵吵巢膊北北北卑鞍鞍鞍隘┅┆┅┅┅┅┄èèèèЁèèЁЁЁЁЁΖЁЁΖΖΖΖΖΖΖΖΕゥゥゥゥゥゥゥイいいいいいいいい¥いいぃ#いいぃ#¥い#########ⅱ##"ⅲ#######ⅲ##"ⅱ##ⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ ⅱⅱⅰ 、ⅱⅰ ⅱⅱⅰ 、ⅱ         牋牊煘潨殭棔搼帉墕剚}zwtqmjgdb_]ZXWUSRPONNMMMLLLLMMNOPQRSTVWYZ\]_`bdfghjklnoqrsttvwxyyzz{||}}~~~亖亖倎亖倐倐倐倐儍儍儎剟剟厖厖厖唵唶噰噰垐墘墘墘妸媼媼媼寣崓崓崓帋帋弿弿弿悙悙悙悙憫憫憫憭拻拻拻摀摀敁摀敂敂敂敂晻晻晻晻晼枛枛枛枛棗棗棗棗棙槝槝槝槝櫂槞殯潪牏&ǐ逗韭粕托又佘哚沐玳觌祛铒痧耨耨蝰耨痫镱盱腴桄邃忉咿苴僮终右邢吞耸扇瞧排哪寐铝晾览揽烤揪揪揪揪揪揪揪浇浇骄浇浇浇浇技蓟换换换汉汉汉构父父父阜范抖抖抖档档荡创吵吵吵膊脖北北北鞍鞍鞍隘┅┅┅┅┅┅┅┄èЁΖイⅰ煘湙棔拸寜唭|yvsolifda_\ZYWUTRRQQPPPPPPQRSTUVWXY[\^_`acdfgijklmopqrstuuvwxyzz{{||}}~~~~亖亖亖亗倐倐倐們儍剟剟剟剠厖厖厗唵噰噰噰垐墘墘墛妸媼媼媼寣實崓崓崕帋帋帋弿弿弿悙悜憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻晼枛枛枛枛棗棖枟棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃櫃櫃櫃殮殮殮殮殮洓洑殯洓洓洓洓洔湝湜洔湝湝湝湝湝潩湝湝潩潩潩潩潩潩潩潩潪灋灊潪灋灋灋灋灋灋灋灋灋灋灋灋灋煙灋灋煙煙煘灍煙煙煙煙煙煙煙煙煙煙煙煙煚牋煙煙煙牊煙煙煙牋煙煙煚牋牊煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎¥Θ┇驳辜烂鞘脱宰谲哚沐玷觌祉铒痧耨蝌蝌蝌蝰耩痫铐祀殍珂溷徇捃圳刈赵已邢瓮趟噬热瞧婆哪拿妹侣亮亮亮晾览懒晾览览览览揽靠靠靠揪揪揪窘郊技技蓟缓汉汉汗垢父父阜范抖抖兜荡创创创吵膊膊膊脖北北北鞍鞍鞍隘┅èЕイ煖殬晵悕妴儉|yvrolifc`^\ZXVTSRQPPOOOOOOPQRSTUVWXZ[]^`abdfgijklnoprstuuvwxyzz{{{|}}~~~~亖亖倐倐倐們儍儍儎剟剟剟厖厗唵唵噰噲垐垐垑墛妸妸媼媽寣寣實崓崓崕帋帍弿弿彁悙悙悙憫憫拻拻拻挀摀摀摀摂敂摂敂敂敂敂晻晻晻晻枛枛枛枛枟棗棗棗棗棙槝槝槝槝槝槞殯潪牏&ǐ逗韭粕托又佘哚沐玷觌祛铒痧耨耨蝰耨痫镱盱腴桄邃忉咻苴刈衷友形吞耸扇瞧拍拿侣晾览靠烤揪揪揪浇浇浇浇浇技冀浇郊技技技技换换换缓汗构构构父父阜贩抖抖抖档创创创吵膊膊膊北卑鞍鞍鞍┅┅┅┅┅┅┅┄èèèèЁЕΕぃ煗洐棓拸寜唭|yvrolifca^\ZXWUTRQQPPPPPPPQQRSTUVWYZ\]_`abdfghjklmnpqrstuuvwxyyzz{{||}}~~~~亖亖亖亗倐倐倐儍儍儍儎剠厖厖厗唵噰噰噰垐垑墘墘妸妺媼媼媽寣寣實崓帋帋帋弿弿弿彁悙憫憫憫憭拻拻拻摀摀摀摀摂敂敂敂敂晻晻晻晻晼晻晼枛枛枛枛棗棗棗棗槝槝槝槞洔灎。エ捕壕屡赏杏仲苻徙彗桕腱眍镳瘃耨耨耨痫镱盱腙殓驿汊噙蒇儇渍砸严瓮趟噬瞧排拿寐亮览靠靠揪窘骄浇浇浇浇浇郊技技技蓟换患换换汉汉汉汗构构垢父贩贩贩抖档档档荡创创闯吵膊膊膊北北北卑鞍┅┅┅┅┅┅┅┄èèèèЁΖイ"牊潧櫀攽帉墔|xuqnkheb_][YWUTRQPOOOONNNNOPQRSTUVWYZ\]_`acefhijkmnoqrstuuvwxyzz{{||}}~~~~亖亖亖亗倐倐倐們儍儍儎剟厖厖厖唵唶噰噰垐垑墘墘妸妺媼媼寣實崓崓崕帋帋帋弿弿悙彁悙悜憫憫憫拻拻拻挀摀摀摀摂敂敂敂敂晻晻晻晻枛枛枛枛枛枛枛枟棗棗棗棗槝槝槝櫅湠牎%ǐ逗韭粕托宰谲哚沐玳觌眍镲瘃耨耨耨耩痫铑盱腴桄邈忄咻圪刈赵已衔吞耸惹婆哪妹铝晾览靠烤揪揪揪窘浇浇浇浇浇浇浇浇技技技技换换换汉构构构父阜贩贩范兜档档荡闯吵吵巢膊膊膊北卑鞍鞍鞍┅┅┅┅┄ī┅┄èèèèЁΖゥぃ灊洏枔憥媹厒~{xtqnkheb_][YWVTRQPPOOOONNOOPQRSSTVWXZ[]^_abdfghjklmopqrstuvwxxyzzz{||}}}}~~~亖亖亖亗倐儍儍儍剟厖厖厖唵噰噰噰垐垑墘墘妸妺媼媼寣寣寣實崓帋帋帋帍弿弿弿悙悙悙悜憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晻枛枙晼枛枛枛枛棗棗棗棗棙槝槝槞洔灎。エ捕壕缕赏杏仲苓徙彗殛腠铑镳瘃耨耨耨痫铑盱腙桤邃忉咿苴僮终右邢吞耸扇瞧拍拿寐晾览靠靠揪浇浇浇浇冀浇浇郊技冀浇技技技技换换换汉汗构构构父贩贩贩抖抖档档荡创创吵巢膊膊脖北鞍鞍鞍隘┅┅┅┅┅┅┅┄èèèèЁΖイ"潧櫁攽弻墕|xurnkheb`][YXVTSRQPPOOOOOOPPQRSTUVXY[\^_`bceghjklmnpqrstuuvwxyzz{{||}}~~~~亖亖亖倐倐們儍儍儎剟剟剟厖厖唵唵唶噰噰噲垐墘墘墛妸媼媼媽寣實崓崓崓帋帋帋帍弿弿弿悙悙悙悜憫拻拻拻拻摀摀摀摀敂敂敂敂晻敂敃晻晻晻晻枛枛枛枛枟棗棗棗棗棗棗槞殰灍。エ捕壕僚赏杏仲苓徙彗桕腱铑镳瘃耨耨耨痧镱盱腙殓邃汜噢苴僮终右邢吞耸扇瞧拍拿寐晾揽靠靠揪浇浇浇郊技技技技技技技蓟换换换缓汉汉汗构父父父贩范抖抖兜档荡创闯吵吵膊脖北北北鞍隘鞍┅┅┅┅è┅┅èèèèěЁЁЁЕΖΗЕΖΖΖΖΖゥΖΖΕゥゥゥゥぅゥゥいいいいぃ#######"ⅱⅲ#ⅱⅱⅱ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ ⅱⅱⅰ 、ⅱ         牎   牎   牎  牋  牋牋牋牋牋牋 牋牋牎 牋牋牎 牋牋牎 牋牋牎 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煙煘潩湜櫂枖拹崑垍儉|yvsplifda^\ZXVTSQPONMMMLLLLLLMNOPQQSTUWXZ[]^`acefhijkmnpqrstuvwxxyyz{{|}}}}~~~亖亖亖亖倐倐儍儍儍剟剟剟厖厗唵唵唶噰垐垐垑墘妸妸妺媼寣寣實崓崓崓帋帍弿弿弿悙悙悙悜憫憫憫憭拻拻拻摀摀摀摀敂敂敂敂敃晻晻晻晼枛枛枛枛枟棗枟棗棗棗棙櫄湞煛ⅴИ倒搅派绦又佘掎沐玷觌祉铒痧耨耨耨痧镱眄礻殍驿汊噙蒇谪渍杂研瓮趟噬绕拍拿侣亮揽靠烤揪浇浇浇郊技技技技技技技技换换换换缓汉汉汉构构构父贩贩贩抖档档荡创吵吵吵膊北北北卑鞍鞍隘┅┅┅┅┅┅┄èèèèЁЁèЁЕΖイぃ灊洏枖憥媹厒{xuqnkheb`][YWVTSQPPOOOOOOOOPQRSTUVWYZ\]^`acdfgijklnopqrstuvwxxyzzz{||}}}}~~~亖亖亖亗倐們儍儍剟剠厖厖唵唵唵噰噲垐垐墘墛妸妸妺媼寣寣寣實崓崓崕帋帍弾弿弿悙悙悙悜憫憫憫憭拻拻拻挀摀摀摀敂敂敂敂敃晻晻晻晻枛枛枛枛枟枛枟棗棗棗槞殰潫、ぇ驳菇僚商杏仲苻徙彗桕腱眍镳瘃耨耨耨痧镱盱腙殓驿汜噢苒僮终右形吞耸扇桥哪妹铝晾靠靠烤窘浇浇浇郊技技技技技技技换换换换汉汉汉汗构父父父贩贩贩抖兜档荡创闯吵吵膊脖北北北鞍鞍鞍隘┅┅┅┅è┅┅èèèèěЁЁЁЁΖゥぃⅰ牉湚槙搻帇垍亊{wtqnjgdb_][YWUTRQPOOOONNNNOOPQRSTUVXY[\^_`bdeghijlmnpqrsstuvwxxyyzz{|||}}}}~~~亖亖亖倐倐倐們儍剟剟剠厖唵唵唶噲垐垐墘墛妸妸妺媽寣寣實崓崕帋帋帍弿弿弿彁悙悙悙憫憫憫憭拻拻拻拻摀摀摀摀敂敂敂敂敃晻晻晻晻枛枛枛枛枛枛枛棗棗棗棙殯潫牏ぇ驳菇僚商杏仲苻徙彗桕腱眍镳瘃耨耨耨痫镱盱腙殓邃汜噢苴僮终右形吞耸扇桥哪妹铝晾靠烤揪浇浇浇浇技技技技技换技技换换换换缓汉汉汉构父父父贩贩贩抖兜档荡创闯吵巢膊脖北北卑鞍┅┅┅┅┅┅┅èèèèěЁЁЁЁΖゥぃⅰ牉湜槚攽帇垍|yurolifca^\ZXWUTRQQPPPPOOPPQRSSTUVXY[\]_`acdfgijklmnpqrsstuvwxxyyzz{{||||}}}~~~~~~亖亖亖亗倐倐們儍剟剟剠厖唵唵唶噰垐垐垑墘妸妸妸媼媽寣寣實崓崓崓帋帋帋帍弿悙悙悙悙憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敂晻敂敃晻晻晻晻枛枛枛枛枟棗棗棙殯潫牏ぇ钡菇僚商杏仲苻徙彗桕腱眍镳瘃耨耨耨痫铑盱腴桄邈忉咿苴刈赵友形吞耸扇婆哪寐铝览靠揪揪浇技技技技换技技换换换换换汉汉汉汉构购构构父父父阜贩贩范兜档档荡闯吵吵巢脖北北北鞍┅┅┅┅┅┅┅èèèèЁЁЁЁЕΕゥぃⅰ煘湚槙搻帇垍亊{wtqmjgdb_][YWUTRQPOOONNNNNOOPQRSTUVXY[\^_`bdeghijkmnopqrstuvwxxyyzz{|||}}}}~~~亖亖亖倐倐儍儍儍剟剠厖厖厗唵唵噰噲垐垐墘墛妸妸妺媼寣寣寣崓崕帋帋帍弿弿弿彁悙悙悙悜憫憫憫拻拻拻拻挀摀摀摀摀敂敂敂敂晻晹敃晻晻晻晻枛枛枛枛枟棗棗棙殯潫牏ぇ钡菇僚忍嫌仲苻徙彗桕腱眍镳瘃耨耨耨痧镱盱腙殓驿汜噢苒僮终右邢吞耸扇桥哪妹铝晾靠烤揪浇浇浇浇技技技技技技技技换换换换缓汉汉汉构父父父阜贩范抖兜档创创闯吵吵膊脖北北卑鞍┅┅┅┅èīèèЁèЁЁΖЁЁΖΕイぃⅰ煘湚槙搻崑垊亊{wtqmjgdb_][YWUTRQPOOONNNNNOOPQRSTUVXY[\]_`bcefhijklnopqrstuvwwxyyyz{{||||}}}~~~~~~~亖亖亖倐倐倐們儍剟剟剠厖唵唵唶噰垐垐垑墘妸妸妺媼媼媽寣崓崓崓崕帋帋帋弿弿悙悙悙悜憫憫憫拻拻拻挀摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛枛枛枛枟棗棗棙櫄湞煛ⅴЙ豆搅派绦又佘掎沐玷觌祉铒痧瘃耨耨痧镱盱腙殍驽汊徇捃谪渍杂研瓮趟噬绕拍拿侣亮揽靠烤揪浇浇浇浇技技浇技技技技技换换换换缓汉汉汗构父父阜贩抖抖兜档创创闯吵膊膊脖北北北鞍隘┅┅┅┅èèèèěЖèЁЁЁЁЁΖΕイ"灉殬晸悗媹厑~{xtqnkheb`][YWVTSQPPOOOOOOOOPQRSTUVWYZ\]_`acdfgijklnopqrstuvwwxyyzz{{||}}}}}~~~亖亖亖亖倐倐倐儍儍剟剟剟厖唵唵唵噰噲垐垐墘墘墛妸妺媼媼媽寣崓崓崓崕帋帋帋帍弿弿弿悙悙悙悙憫憫憫憭拻挀搾挀摀摀摀摂敂敂敂敂晻晻晻晻晼枛枛枛枟棗棗棙殯潫牏ぇ捕菇僚商杏仲苻徙彗桕腱铑镳瘃耨耨耨痫铑盱腙桤邃忉咿苴刈衷友形吞耸惹婆拿寐亮揽烤揪窘浇技技技技换患蓟换换换换缓汉汉汉汉构构构垢父父阜贩抖抖兜档创创创吵膊膊膊北北北鞍隘┅┅┅┄èèèèèèèЁЁЁЁΖΕイ#煗湚棔搻崐噭亊zwtpmjgdb_][YWUSRQPOOONNNNNOOPQRSTUVXY[\^_`bcefhijklnopqrstuvvwxxyyzz{{||||}}}~~~~~~亖亖亖倐倐們儍剟剟剠厖唵唵唵噰垐垐垐墘墛妸妸媼媽寣寣實崓崓崕帋帍弿弿弿彁悙悙悙憫憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂敃晻敂晻晻晻晻晼枛枛枛枛棗棗棗槡洕煚ⅳИ倒搅派绦又佘掎沐玷觌祛铒痧耨耨耨耩镲铐祀觇珏溻徉捃谫字杂研瓮趟扇瞧拍妹侣晾靠揪揪浇技技技技换换技蓟换换换换缓夯换汉汉构构构父父父阜范抖抖兜荡创创闯巢膊膊脖北北卑鞍┅┅┆┅┅┅┅┄èèèèЁЁЁЁЕΖЁΖΕゥぃ!牊潨殫晸悕妵剚~{xtqnkheb`][YXVTSRQPOOOOONOOPQRSSTUWXZ[\^_`bceghijkmnopqrstuvvwxxyyzz{{|||||}}}}}}~~~~亖亖亖倐們儍儍儎剠厖厖唵唶噰噰垐垑墘墘墛妸媼媼媼寣寣寣崓崕帋帋帋弿弿弿弿悙悙悙悙憫憫憫憭拻摀摀摀摀敂敂敂敂敃敂敂晻晻晻晻晻枛枙晼枛枛枛棙櫅潪牏ぇ驳菇僚商杏仲苻徙彗桕腱眍镳瘃耨耨耩痫铐盱腴桄邈忄咻圳刂赵已贤趟噬惹颇妹侣晾揽揪揪浇郊技技技蓟换患技换换换换换汉换缓汉汉汉汗构父父父贩贩范抖兜档档创闯吵吵膊脖北鞍鞍隘┅┅┅┅┅èèèèЁЁЁЁЁЁЁΖΕイぃ煗湚棔搻崐噭亊zwtpmjgda_]ZYWUTRQPOOOONNNNOPQRRSTUWXZ[]^_`bdeghijkmnopqrstuvwwxxyyzz{{||||}}}~~~~~~亖亖亖亗倐倐們儍剟剟剟厖厗唵唵噰垐垐垐墘妸妸妸媼媼媼媽寣崓崓崓崕帋帋帋弿弿弿弿悙悙悙悙憫憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂敃晻晻晻晼枛枙晼枛枛枛枛枟棗棗棗棗棗棗棗槝槝槝槝槝櫃櫂槞櫃櫃櫃櫃櫄殮殭櫃殮殮殮櫄殮殮殮殮殮殮殮殮殯洓洓洓洓洓洓洓洔湝湜洔湝湝湝湝湝湝湝湝湝湝湝湝湞潩潨湞潩潩潩潩潩潩潩潩潩潩潩潩潩灋潩潩潪灋灊潩灋灋灊潩灋灋灊潪灋灋灋灋灋灋灋灋灋灋灋灋灍煙煘灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚。ウí钡讣棵鞘脱宰谲哚沐玷觌祉铒瘃耨蝌蝌蝌蝰痧镲铐腙殓驽汊噢苒谪渍砸严瓮趟噬惹瞧排拿侣侣亮览览览靠靠靠靠靠揪揪揪揪窘浇浇浇郊技技技蓟换换汉汗构构父阜范抖抖档荡创创吵巢膊膊脖北北卑鞍┅┅┅┅èī┄èèèèЁЕΕイ!牊潧櫀攽帉墕|yurolifca^\ZXWUSRQPPPOOOOOPPQRSTUVWYZ\]^`acdfgijklmopqrsttuvwxyyyzz{{|||}}}~~~~~~~亖亖亖亗倐倐倐儍儎剟剟厖厗唵唵唶噰垐垐垑墘妸妸妺媼寣寣寣崓崓崓崕帋帋帋弿彁悙悙悙憫憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻晼枛枛枛枛枛枛枟棗棗棙櫄湞煛%ǐ坊棵剖窝宰谳哚滏玳觎眍镲瘃耨耨耨耩镱铐祀殍驽汊徇蒈谪终砸严翁耸扇瞧拍寐铝晾靠烤揪窘浇浇浇技技技技蓟换换换换换夯换汉汉构构构父父父阜范抖抖兜档创创闯吵膊膊脖北北北鞍隘┆┅┅┅┅┄èèèèЁЁЁЁЕΖЁΖΖΖΖΖΕゥΖゥゥゥゥゥいいゥイいいいいぃいいい####"###ⅱⅱⅱⅱⅱⅱⅱⅱ  ⅱⅰ                       牋牋 牋牋牋牋牋牋牋牋牊牋牋牋煙牋牋牋牊牋牋牋牋牋牋牋牊牋牋牋煙煚牋牋煙煙牋牊煙煙煚煙煙煙牋牊煙煙煙煙煙煙煙煙煙煙煙煙煘灋潩湜殭棔搼弽妵厒|yurolifca^\ZXVTSQPONMMLLLLLLLMNOOPQRTUWXZ[\^`acefgijkmnoqrrstuvwxxyyz{{||}}}~~~亖亖亖亗倐們儍儍儎剟剟厖厗唵唵噰噲垐垑墘墛妸妸媼媽寣寣寣崓崓崓崕帋弿弿弿彁悙悙悙悜憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛枛枛枛棗棗棗棗棗棙棗棗槝槝槝槝槞櫃櫃櫃櫃櫄殭櫄殮殮殮殮殯洓殮殮殯洓洑殮洓洓洓洓洓洓洓洓洓湝洓洓湝湝湝湝湝湝湝湝潩潩潩潩潩潩潩潩潩灊潩潩潪灋潩潩潪灋灊潩灋灋灊潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煙灋灋灍煙煘灋煙煙煘灋煙煙煙灍煙煙煙煙煙煙煙牎ⅲェí捕菇滥人我肇谳哜滏玳觎眍镲瘃耨蝌蝌蝌耩痫铑盱觊珂邃忉咻苴儇终右邢瓮趟嗜乔婆拍妹侣亮晾揽靠靠靠揪揪揪揪揪骄揪揪浇浇浇浇郊技技蓟缓汉汉汗垢父父贩范抖抖档荡创创闯巢膊膊脖北鞍鞍鞍┆┅┅┅┅èèèèЁЁЁЁЕΖЁЁΖΖΖΖΕゥウΕゥゥゥゥイいいイいいいいぃ########ⅱ##ⅱⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ  ⅰ        牋  牋牋牎 牋牋牎 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊煙牋牋牊煙牋牋牊煙牋牋牊煙牋牋牊煙牋牋牊煙灋潨洑櫁枖憦崐垍|yvrolifca^\ZXVTRQPONMMMLLLLLLMNOPQRSTVWYZ\]^`bdeghijlmopqrstuvwxxyzz{{|}}}}~~亖亖亖亗倐倐倐儍儍儍剟剠厖厖厗唵噰噰噰垐垑墘墘妸妸妸媼媽寣寣實崓帋帋帋帍弿弿弿弿悙悘彁悙悜憪憫憫拻拻拻拻摀摀摀摀敂敁敂敂敂敂敃晻晻晻晻枛枛枛枛枟棗棗槞殰灍。Ι锤祭娜滔抑氽捺沐玷觌祉铒痧耨耨蝰耨痫镱盱腙桤邃忉咿苴刈赵友衔退噬惹婆拿寐亮揽烤揪窘浇技技技蓟换患技换换换换缓汉汉汉汗构构构父父阜贩范抖抖档荡创创吵巢膊膊脖北鞍鞍鞍隘┅┅┅┅┅èèèèèЁЖěЁЁЁЁЕΖゥぃⅰ煘湚槙搻崐噭亊zwtpmjgda_\ZXWUSRQPOONNNNNNOOPQRSTUVXY[\]_`bcefhijklnopqrstuvvwxxyyzz{{||||}}}~~~~~~亖亗倐倐倐儍儎剟剟厖厖厗唵唶噰噲垐垑墘墘妸妺媼媼媼寣實崓崓崕帋帋帋弿弿弿彁悙悙悙悜憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敂敃晻晻晻晼枛枛枛枛棗棖枟棗棗棗棗棙槝槝槝槝槝槝槝櫃櫃櫃櫃櫃殮櫃櫃殮殮殮櫄殮殮殮殮殮洓殮殯洓洓洓洓洔湝湜洓湝湝湝湝湝湝湝湝湝潩湝湝潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩潪灋潩潩灋灋灊潩灋灋灋潪灋灋灊潪灋灋灊潪灋灋灋潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煙煙煛ⅳェ┇捶痪缕赏杏仲苻嚆彐桕腱眍镳瘃耱蝌蝌蝌耩痫铐祀觇珏溷徉捃圪刈赵已衔吞耸扇瞧排拿寐亮亮览靠靠靠烤揪揪揪揪揪浇揪揪浇浇浇浇郊技技换缓汉汉构垢父阜贩范抖档档荡创闯吵巢膊膊北卑鞍鞍鞍┅┆┅èī┄èèèèЁЁЁЁЕΖゥぃⅰ牉湚槙搻帇垍亊{wtqnjgeb_][YWUTRQPOOOONNNOOPQRSTUVWYZ\]_`acdfgijklmopqrstuuvwxyyzz{{|||}}}}~~~亖亖倐倐倐儍儍儍儎剟厖厖厗唵唶噰噰垐垐垐墘妸妸妸媼媽寣寣寣崓崓崓崕帋帋帋弿弿悙彁悙悜憫憫憫憭拻拻拻挀摀摀摀摂敂摂敂敂晹敂晻晻晻晻晻枛枛枛枛枛枛棙櫅湠牏ぇ驳菇僚赏杏仲苓徙彗殛腠铒镳耨耨耨耨耩镱铐祀殍驽汊噙蒇儇终右严吞耸扇瞧拍寐铝览烤揪窘浇技技技蓟换换换换缓夯换汉汉汉汉汗构构垢父阜贩贩范兜档档荡闯吵吵巢膊膊脖北鞍鞍鞍┅┅┅┅èèèèěЖèЁЁЁЁЁΖΖΖΖゥゥΖゥゥゥゥゥイゥゥゥいいいいぃいいぃ####"ⅲ##ⅱⅱⅱⅱⅱⅱⅱⅱ        牋牎 牋牋牎牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊煚牋牊煙煙煙煙煙煙煙煙煙煙煙煙煘煙煙煙灋灍煙煙灋灍煙煙煙煙煙煙煘煙煙煙煘煙煙煙灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煘灍煙煙灋灊潨洓櫂棔搼弽妵厒|yurolifca^\ZXVTSQPONMMLLLLLLLMNOPQRSTVWYZ\]^`bcefhijlmnpqrsstvvwxyyzz{{|||}}}}~~~~~~~亖亖倐倐倐儍儍儍剟剠厖厖唵唶噰噰垐垑墘墘妸妺媼媼媽寣崓崓崓帋帋帋帋弿弿弿弿悙悙悙悜憫憫憫憭拻拻拻挀摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛棗棗棙櫅潫牏エ捕壕缕赏性宗苓徙彗殛祉铒镳耨耨耨耨痧镱盱腙桤邈忄咻苴刂沼已贤趟扇惹颇寐铝晾揽揪浇浇郊蓟换换换换换换换缓换换换汉汉汉汉构构构垢父贩贩贩抖抖档档创闯吵巢膊膊北北鞍鞍鞍隘┅┅┅┅┄ī┅èèèèěЁЁЁЁΖΖΖΖゥイぃⅰ牊潧櫁晵悕妵剚~zwtpmjgdb_][YWUSRQPOOONNNNOOPQRSTUVXY[]^_abdeghiklmnoqrsstuvwxxyyzz{{||}}}}~~~亖亖倐倐倐們儍儍儎剟厖厖厗唵噰噰噲垐垑墘墘妸妸妸媼媽寣寣實崓崓崓帋帋弾帍弿彁悙悙悙憫憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻晻晻晻晼枛枛枛枛枟棗棙櫅潫。エ捕壕缕赏言宗苓徙彗殛祉铒镳耨耨耨耨耩镱盱腙殓邃忉咿苴刈赵友形退噬惹婆拿侣亮揽烤揪窘浇技技技蓟换换换换汉汉汉汉汉汉汉构构父父父贩贩贩抖档档荡创吵吵巢膊北北北卑鞍┅┅┅┅èèèèěЁěЁЁЁЁЕΖΖΖΖゥい#ⅰ牉潧櫁敀弻墖儉}zvspmjgda_\ZXVUSRQPOONNNNNNOPQRSTUVXY[\^_`bcefhijklnopqrstuvvwxyyyzz{||||}}}~~~~~~亖亖亖倐們儍儍儎剟剠厖厖唵唵唵噰噲垐垐墘墛妸妸媼媽寣寣實崓帋帋帋弿弿弿彁悙悜悙憫憫拻拻拻拻摀摀摀摂敂敂敂敂晻晹晻晻晻晻晼枛枛枛枛棗棗棗棗棙槝槝櫅湠牏う┈坊棵剖窝宰谳哚滏玳觎眍镳瘃耨耨耨耨痫铐祀觊珂溷徉掭圪字杂倚贤趟缮绕拍妹铝晾靠揪窘浇技技技技换换换换换汉换换汉汉汉汉构构构构父阜贩贩抖兜档档创闯吵吵膊膊北北卑鞍鞍隘┅┅┅┅èèèèěЁЁЁЁЁЁЕΖΖΖΖゥイぃ"灊洐棓拸崐噭亊zwtpmjgdb_][YWUTRQPPPOOOOOPQRSTUVWXY[\^_`bcefhijklnopqrstuvwwxyzzz{{||}}}}~~~亖亖亖亗倐倐儍儍剟剟剟厖厗唵唵噰噲垐垐垑墛妸妸妺媼寣寣寣崓崓崓帋帋弿弿弿彁悙悙悙憫憫憫憫拻拻拻拻摀摀摀摂敂敂敂敃晻晻晻晻枛枛枛枛枟棗棗棗棗棗棙櫄湠牎%ǐ泛韭剖脱宰谳哚溴玳觎眍镳瘃耨耨耨耨痫铐祀觊珏溻徇捃谪渍杂研翁耸扇瞧拍寐铝览烤揪浇浇技技技蓟换换换换缓汉汉汉汉汉汉汗构构垢父阜贩贩贩抖档档档创吵吵吵巢膊膊脖卑鞍鞍鞍┅┅┅┅èèèèЁЖЁЁΖЁЕΖΖΖΖΕイぃ"灊洐棓拸寜唭}yvsplifca^\ZXVTSQPPOONNNNNOOPQRSTVWXZ\]^`acdfgijklmopqrstuvvwxyyzz{{|}}}}~~~亖亖倐倐倐們儍儍儎剟厖厖厖唵噰噰噲垐墘墘墛妸媼媼媼寣寣崓崓崓帋帋帋弿彁悙悙悙憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛棗棗棗棗槝槝槝槝槝槝櫄洕煛¥З捶豢们饰言宗葸怃骁殛祉铒痧耨耨蝌蝰耩镱眄礻殓驿汜噢苒僮衷友形退噬惹婆拿侣亮揽烤揪窘浇技技技技技技技技换换换换换夯缓汉汗构构构父父阜贩抖抖兜档创创闯吵膊膊膊北鞍鞍鞍隘┅┅┅┅èèèèЁЁЁЁЁЁЁЕΕゥぃⅰ牊潧櫁敀弽妵剙}zwspmjgda_\ZXWUSRQPPOOOOOOPPQRSTUVXY[\^_abceghiklmnoqrsttuvwxyyzz{{||}}}~~~亖亖亖亗倐倐倐儍儍剟剟剠厖厖唵唶噰噰噲垐墘墘墘妸妺媼媼寣實崓崓崕帋帋帍弿悙悙悙悜憫憫憫拻拻拻挀摀摀敁摂敂敃晹敃晻晼枙晼枛枛枛枛棗棗棗棗棙槝槝槝槝櫃櫃櫄湞煛¥З捶豢们饰言宗葸怃骁殛祉铒痧耨耨耨耨耩镱盱腙桤邃忉咿苴刈赵已衔趟噬惹婆拿寐侣晾揽靠烤揪浇浇浇浇技冀浇技技技技技换换换换汉汉汉汗构构垢父贩贩贩抖档档档创吵吵吵膊北北北卑鞍鞍鞍┅┅┅┅┄èèèěЁЁЁЁΖゥい"牊潧櫁晵弽妵剙}zvspmifda^\ZXVUSRQPPOOOOOOPQRSTUVWXZ[]^`abdfgijklnopqstuuvwxyz{{{||}~~亖亖亖倐倐倐們儍儍儍剟剟剟厖厖唵唵唵噰噲垐垐墘墛妸妸媼媽寣寣實崓崓崕帋弿弿弿悙悙悙悜憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛棗棗棗棗棙槝槝槝槝槝槝槝櫃櫃櫃櫃櫄殮殮殮殮洓殮殮洓洓洓洓洓湝湜洔湝湝湝湝湞潩潩湞潩潩潩潩潩潩潩潩灋灋灋灋灋灋灋灋灋煙煘灋煙煙煙灍煙煙煙煙煙煙煙煙煙煙煙煙煙牋牊煙牋牋牋牋牋牋牋牋牋 牋牋牎 牋牎 牋   牎        、ⅱⅰ 、ⅱⅰ ⅱⅱⅱ、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲうī捶航聊人我兆谳哚沐玳觌祉铒瘃耨蝌蝌蝌蝌耩痫铐祀殍珏溷徇捃圪刂沼已衔吞耸扇乔破拍拿妹妹侣亮亮亮晾览览览览览览览揽靠靠靠揪揪浇浇郊技技换缓汉汗构垢父阜贩范抖档档荡创吵吵巢膊膊脖北鞍鞍鞍隘┅┅┅┅┄┅┄èèèèěЁЁЁЁЁЁЁЕΖΖΖΖΕΖΖΕゥゥΖゥゥゥゥゥいぅゥいいいいい##い################"ⅱⅲ#"ⅱⅱ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱ ⅱⅱⅰ 、ⅱ                         牋   牋  牋   牋   牋   牋牎 牋煙灋潨洐槚敀弽媹厒|yvspmjgda_]ZXWUSRQPOONNNNNNNOPQRSTUVXZ[]^_abdfhijlmnpqstuuvwxzz{||}}~~亖亗倐倐們儍儍儍儎剟剟剟剠厖厖厖唵唶噰噰垐垑墘墘妸妺媼媼寣實崓崓崕帋帋帍彁悙悙悙憫憫憫憫拻拻拻挀摀摂敁敂敂晻晻晻晼枛枛枛枛棗棖枟棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃殮殭櫄殮殮殮殮洓洓洓洓洔湝湝湝湝湝湝湝潩潩潩潩潩灋灊潪灋灋灋灋灋煙灋灋灍煙煙煙煙煙煙煙煙牋煙煙煚牋牊煙牋牋牊煙牋牋牊煙牋牋牊煚牋牋牋牋牋牋牋牋牎 牋牋  牎         ⅱ  ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ#ⅱⅱⅲ#ⅱⅱⅲ##¥ェí捶痪僚忍弦肇谳哚沐玳觌祉铒瘃耨蝌蝌蝌蝰耩痫铐祀觇珂溷徉捃圳僮衷友邢瓮趟噬扇乔婆拍哪拿寐侣侣侣铝亮亮亮亮览懒晾览览览览靠靠揪揪窘浇郊技蓟换缓汉汗构垢父阜范抖抖档荡创创闯吵吵巢膊北北北卑鞍鞍鞍隘┄ěЕイⅰ煗洏枔悕妵剚~zwspmjgda_\ZYWUTRQQPPPPPPPPQRSTUVWYZ\^_`bcefhiklmnpqrtuvvwxyz{|||}}~亖亖亖亗倐儍儍儍儎剟剟剟厖厖厖唵唶噰噰噲垑墘墘墛妺媼媼媽實崓崓崓帋帍弿弿悙悙悙憫憭拻拻拻摀摂敁敂敂晻晻晻晻枛枙晼枛枛枛枛棗棗棗棗槝槝槝槝櫃櫃櫃櫃殮殮殮殮殮洓洓洔潫、うǐ蹈祭那宋艺刳萼怃骁殛祉铒痧耨耱蝌蝌耨痫镱盱觊珂邈忄掭圪刈赵已衔吞耸扇瞧婆拍寐侣亮亮览览览览靠靠靠靠烤揪揪揪揪揪揪揪浇郊浇技蓟换换缓汉构构构父贩贩贩抖档档档创创创闯吵膊膊膊脖北北北鞍隘┅┅┅┅┅┄èèèèЁèèЁЁЁЁЁЁЁЁЕΖΖЕΖΖΖΖΖΖΖΖΕゥウΖゥゥゥゥゥゥゥゥゥいゥゥイいぅゥいいいいいいいいい#¥い#########ⅲ##############"ⅱ##"ⅱⅲ#ⅱⅱⅲ#"ⅱ##"ⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 牊灊洑槚敀弽妵厒{xurolifc`^\ZXVTSQPOONNNNMMNNOPQRSTUVXZ[]^`aceghjklnoqrstuvwxyz{|}}~~亖亖倐們儍儍儎剟剟剟剠厖厖厖厗唵唵唵噰噰噰垐垑墘墘墛妺媼媼媽寣崓崓崕帋弿弿弿悙悙悙悜憫拻拻拻挀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫄殮殮殮殮洓殮殯洓洓洓洓洔湝湜洔湝湝湝湝湝潩潨湞潩潩潩潩潩灋潩潩灋灋灋灋灋灋灋灋灍煙煘灍煙煙煙煙煙牋煙煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎  牎     ⅱ  、ⅱ  ⅱⅱⅰ、ⅱⅱⅱ、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ#ⅱⅱⅱⅱⅱⅱⅲ#"ⅱ###¥ェí捶痪僚忍弦肇谳哜溴玳觌眍铒瘃耨蝌蝌蝌蝌耨痧镱黼觊桤邃忉咿苒谫渍杂已邢翁怂适扇惹破破排拍哪哪拿妹妹妹妹侣侣侣侣亮亮亮亮览览览靠烤揪揪揪浇技技技换汉汉汗垢父父贩范抖抖兜档创创创闯吵吵吵膊膊膊膊北北北卑鞍┅┅┅┅èī┅èèèèèЖèèěЁЖěЁЁЁЁЕΖЁЁΖΖΖΖΖゥΖΖゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥイいゥゥいいいいいいいいいいいいいいいいいいいいぃ#いい##¥い#####################################ⅱⅰ煘湜櫁晸憥媺唭}yvspmjgda_\ZXWUSRQPOOONNNNNNOPQRSTUVXY[]^_abdfhijlmopqstuvwxyz{{||}}~亖倐倐倐們儍儍儍剟剟剟剟剠厖厖厖唵唶噰噰噲垑墘墘妸妺媼媼寣實崓崓崕帋帋帋弿彁悙悙悜憫拻憭拻摀摀摀摀摂敂敂敂晻晻晻晻枛枛枛枟棗棗棗棙槝槝槝槞櫃櫃櫃櫃殮殮櫄殮殮殮殯湞煚ⅳΘ贝讣烂撬窝肇谳哜滏玳觎眍镲瘃耨耱蝌耨痧镱铐腙殓驽汊噙蒇谪字杂研衔吞松惹瞧婆哪寐侣铝亮览览览揽靠靠靠靠靠靠靠靠揪揪揪揪浇浇浇浇技技技蓟换汉汉汗构父父阜范抖抖兜荡创创闯吵吵吵膊脖北北北鞍鞍鞍鞍隘鞍┄ěΕぃ潧槚搻崐噭亇zvsplifca^\ZXWUSRQPPPPPOOPPQRSTUVWXZ\]_`acefhiklmnpqrtuuvwxyz{{||}}~亖亗倐倐們儍儍儍剟剟剟剠厖唵唵唵噰噰噲垐垑墘墘妸妺媼媼寣實崓崓崕帋弿弿弿悙悙悙悜憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛棗棖棗棗槝槝槝槝櫃櫂槞櫃櫃櫃櫃殮殮殮殯潪牏%И锤豢们饰言宗葸怃骁殛祉铒痧耨耱蝌蝌耨痫镱盱腴桤邃汜咿苒儇渍砸研衔吞耸扇乔婆拍妹妹侣铝亮亮亮览览览览览坷览览靠靠靠靠揪揪揪窘浇技技技换换换汉汗构构垢阜贩贩范兜档档档创吵吵吵巢膊膊膊脖北北北鞍鞍鞍鞍┄ěΕ"牉洐枖憥媹剚~zwspmjgda_][YWUTRQQPPPPPPPPQRSTUVWYZ\]_`acdfhiklmnpqrstuvwxyzz{|||}~~亖亖亖亗倐倐倐們儍儍儍剟剠厖厖厗唵噰噰噲垐墘墘墛妺媼媼媽寣崓崓崓帋帋帋帍弿悙悙悙憫憫憫拻拻摀挀摀摂敂敂敂晻晻晻晻枛枛枛枟棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫄殮櫄殮殮殮殯湞煛ⅳΘ贝讣烂撬窝宰谳哜滏玳觎眍镲瘃耨耱蝌耨痧镱铐腙殓驽溻徇蒈谫刂沼倚衔吞耸扇乔破拍拿妹寐侣亮亮亮晾览览览览览览览揽靠靠靠烤揪揪揪窘郊技技技换换汉汗构父父阜贩抖抖抖档档档创闯吵吵吵膊膊膊脖北北北北鞍鞍鞍隘┅èЕィ灈櫀攽帇垊亊zwtpmjgda_][YWVTSRQQQPPPPPQRSTUVWXY[]^`abdegijlmnoprstuvwxyzz{||}}~~亖亗倐倐們儍儍儍剟剟厖剠厖厗唵唵唵噰噰噲垐墘墘墘妸媼媼媼寣實崓崓崕帋弿弿弿悙悙悙憫憭拻拻拻摀摀摀摀敂敂敂敂晻晻晻晼枛枛枛枟棗棗棗棗槝槝槝槝槞櫃槝櫃櫃櫃櫃櫄殮殮殮湞煚ⅳΘ贝讣滥撬我肇谳噔滏玳觎眍镳瘃耨蝌蝌蝰耩镲铐祀殍驽溻徇蒈圪刈沼已衔吞耸扇乔破拍妹寐侣铝晾览览览揽览览览靠靠靠靠靠靠靠烤揪揪揪浇郊技技蓟缓汉汉汗垢父父阜贩抖抖抖档档档创闯吵吵吵膊膊膊膊北北北卑鞍鞍鞍隘┄Еイ灉櫁攽帇垍亊zwtpmjgda_][YWUTRQQPPPPPPPPQRSTUVWYZ\]_`acefhiklmnpqrtuuvwxyz{{||}}~~亖亗倐倐們儍儍儍儎剟剟剟厖厗唵唵唶噰噰垐垑墘墘妸妺媼媼媽實崓崓崕帋弿弿弿悙悙悙悜憫拻拻拻挀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛枟棗棗棗棙槝槝槝槝櫃櫂櫃櫃殮殭櫄殮殮殮殯潪牏%И捶豢们饰言宗葸徜彗殛祉铒镳耨耱蝌蝌耨痫镱盱腴桄邃忉咻苴儇终右邢瓮趟噬惹破排拿侣侣亮晾览览览靠靠靠靠靠揪靠靠揪揪揪揪窘浇浇浇郊技技蓟换汉汉汉构父父父贩抖抖抖档档荡创闯吵吵吵膊脖膊北北鞍鞍鞍隘┄ЁΔ!煗洐枖憥媹剚~{wtqnjgeb_][ZXVUSRRQQQPPPPQRSSTUVWYZ\]_`acdfgijklmopqsttuvwxyzz{{||}~~~亐亖亖倐倐倐們儍儍儍剟剟剟厖厗唵唵唶噰垐垐垑墛妸妸妺媽寣寣實崓帋帋帋弿弿弿彁悙憫憫憫憭拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛枟棗棗棗棗槝槜棙槝槝槝槞櫃櫃櫃櫃櫄殮殮殮殮殮殮殮洓洓洓洓洔湝湝湝湝湝湝湝潩潩潩潩潩潩潩潩潪灋灊潪灋灋灋灋灋灋灋灋灍煙煘灋煙煙煙煙煙煙煙煙煙煙煙煙煚牋煙煙煚牋牊煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎 牋牋                、ⅱ  ⅱⅱⅱ、ⅱⅱⅱⅲうī捶壕聊人我肇谳哚沐玳觌祉铒瘃耨蝌蝌蝌蝰耩痫镱祀觊桄邃忄咿苒谪渍杂已邢吞怂噬扇瞧破排排哪妹妹妹侣侣侣侣铝亮亮亮亮览览览揽靠靠靠揪窘浇浇技蓟换换缓汉汗构父阜贩贩抖抖档档荡创创创吵吵吵巢膊北北北卑鞍鞍鞍隘┅ěΕ"牉洐枖憥媹剚~zwspmjgda_\ZYWUTRQQPPPPPPPQQRSTUVWYZ\^_`bcefhiklmnoqrstuvwxyyz{{||}}~亖亖亖倐倐儍儍儍儎剟剟剟厖厖厖唵唶噰噰垐垑墘墘妸妺媼媼寣實崓崓崕帋帋帍弿悙悙悙悜憫憫憫拻挀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗棗槜棗槝槝槝槝槝櫃櫃櫃櫃櫃櫃櫄洔灎ⅲェ按富棵鞘窝宰谳哜滏玳觎眍镳瘃耨蝌蝌蝰耩镲铐礻殍驽溻徇蒈谫刂沼研衔吞耸惹瞧婆哪寐侣铝亮览览览揽靠靠靠靠烤究靠烤揪揪揪窘浇浇浇技蓟换换换汉汉构构父父贩贩抖抖兜档创创创闯吵吵巢膊北北北卑鞍鞍鞍┅┅┅┅┄è┅èèèèèЁЖèěЁЁЁЁЕΗЁЕΖΖΗΖΖΖΖΖΕΖΖΖゥウΖΕゥゥΖΕゥゥゥゥゥゥゥゥイぅゥゥいいいいいいいい#¥いい##いぃ############################"###ⅱⅲ##ⅱⅱ#"ⅱⅱⅲ"ⅱⅱⅲⅱⅱⅱⅱⅱⅱ 煘潨殭棓拹崐垍{xurnkhec`^[YWUTRQPONNNMMMMMNOPPQRSUVXY[\^_`bdfgijkmnoqrstuvwxyz{{||}~~亖亗倐倐倐儍儍儍儍儍儍儎剟剠厖厖厗唵唵唵噰噰垏垐垑墘墘墛妺媼媼寣實崓崓崕帋弿弿弿彁悙悙悜憫拻拻拻拻摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枛棗棗棗棗槝槝槝槝櫃槝槞櫃櫃櫃櫃櫄殮殭櫄殮殮殮殮殯洓洓洓洓湝洓洔湝湝湝湝湝潩湝湝潩潩潩潩潩潩潩潩灋灋灋灋灋灋灋灋灋灋灋灋灋煙灋灋灍煙煘灋煙煙煙煙煙煚煙煙煚牋牊煙牋牋牋牋牋牋牋煚牋牋牊煚牋牋牋牋牋牋牋煚牋牋牋牋牋牋牋牋牋 牋牋牎 牎        、ⅱ              、ⅱⅰⅲうЗ扯航聊人窝宰谳哚沐玷觌祉铒瘃耨蝌蝌蝌蝰耩痫铐祀觊珂邈忄咻苒儇终右研衔吞耸噬扇瞧婆排拍拿妹妹妹侣侣侣侣铝亮亮亮晾览览览揽烤窘蓟汗返潮│湙晵帄噧|yuroligeca`^]\[[[[[[[[\]^_`abdeghiklmopqstuvwxz{|}~~亖們儍剟厖唵唵唶噰噲垏噲垐垐垐垐墘墘墘墘妸妸妸妸媼媼媼寣寣崓崓崓帋帋帋弿弿悙悙悙憫憫憫拻拻摀摀摀摀敂敂敂敃晻晻晻晼枛枛枛枛棗棖枟棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃殮殭櫄殮殮殮殮洓洓洓洔灍。うǐ倒祭那宋艺刿萼怃骁殛祉铒痧耨耱蝌蝰耩痫镱盱觊珂邃忉咻圳僮衷友邢瓮趟嗜乔婆拍妹侣亮亮览揽靠靠靠靠靠靠揪揪揪揪揪浇揪窘浇技技技蓟换换汉汗构构父阜贩贩范兜档档荡创吵吵吵巢膊膊膊北北北卑鞍┅┅┅┅┄èèèèЖèèЁЁЁЁЕΖΖΖΖΖΖΖΕゥΖΖΕゥウΖゥゥゥゥゥゥゥゥイいぅイいいいいい¥いい################"ⅱ##"ⅱ##"ⅱ##"ⅱⅲ#ⅱⅱⅱ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ、ⅱⅱⅰ ⅱⅱⅱ、ⅱⅱⅱ、ⅱⅱⅰ 、ⅱ                   ⅱ   ⅱ   ⅰ                       ⅱ  、ⅱ   ⅱ   ⅰ           ⅱ   ⅱ   ⅰ   ⅱ  、ⅱ   ⅱ                       ⅱⅰ ⅱⅱⅱⅱⅱ"ⅱⅱⅱ#ⅱⅱⅲ#"ⅱ###ⅲ###################################ⅲ###########ⅱ##ⅱⅱⅱ"ⅱⅱⅱ"ⅱⅱⅱ#ⅱⅱⅲ#"ⅲ#######ⅲ##"ⅱ##"ⅱ##"ⅲ###ⅱ##"ⅱ##"ⅱⅲ#ⅱⅱⅲ#ⅱⅱ 牊灊湚櫁晸悗媹厓|yvspmjgda_\ZXVUSRPPONNNNMMMNOPQQRSTVWY[\]_`bdegijklnoqrstuvwxyz{||}}~亖倐倐倐們儍儍儍儍剟剟剟剟剠厖厖厖唵唵唵噰噲垐垐墘墛妸妸妺媽寣寣寣崓崓崓帋帍弿弿彁悙悙悙憫憫拻拻拻挀摀摀摀摂敂摀敂敂敂敂敃晻晻晻晼枛枛枛枛棗棗棗棗槝槝槝槝槝櫂槝櫃櫃櫃櫃櫃殮殮殮殮殮殮殮殮洓洓洓洓洓洓洓洔湝湝洓湝湝湝湝湝湝湝湝湞潩潩潩潩潩潩潩潪灋灋灋灋灋灋灋灋灋灋灋灋煙煘灋灍煙煙灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牊煙煙牋牋煙煚牋牋煙煚牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋  牋牎  牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋  牋牋 牋牋 牋牋  牋牎                、ⅰ  ⅱⅰ  ⅱⅰ  ⅱⅰ  ⅱⅱ  ⅱⅰ              、ⅰ  ⅱⅰ  ⅱⅱ 、ⅱⅱ ⅱⅱⅱⅰⅱⅱⅱ  ⅱⅰ  ⅱⅰ 、ⅱⅱ 、ⅱⅱ  ⅱⅰ  、ⅰ  、ⅰ  ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱ  ⅱⅰ  ⅱⅱ 、ⅱⅱ 、ⅱⅰ  ⅱⅱ 、ⅱⅱ  ⅱⅰ              ⅱⅱ  ⅱⅰ                          ⅱⅰ  、                   ⅱⅱⅱⅱⅲ##¥ぅゥゥゥゥゥイい#ⅱ煙灊潨洑櫂棗枙敁拻憫悘弾帋崓崒寣寣寣寣寣寣崓崓崓崕帍弿弿悙憫憫憭拻摀摀敂敂晻晻晻晼枛枛枛枟棗棗棗棗槝槝槝槝槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫄殮殮殮殮洓洓洓洓洔湜洓洔湝湝湝湝湝湝湝湝潩潩湝潩潩潩潩潩潩潩潩潩灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煙煙灋灋煙煙灋灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牊煙煙牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋牋  牋牎  牋牎  牋牋 牋牋  牋牎                                       、ⅰ  ⅱⅰ  ⅱⅱ 、ⅱⅰ  、ⅰ  ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱ 、ⅱⅱⅱ¥ウī锤痪屡商弦肇圯哜溴玳觌祉铒瘃耱蝌篌篌篌篌篌篌蝌耨耩痫铐祆腙殍珂邃溷忄咿蒈苒谫刈种照杂乙蜒研邢挝挝屯吞烫怂怂耸适缮缮扇惹乔乔瞧婆排排哪妹妹寐侣亮晾览揽烤揪揪浇技蓟换缓汉构构垢阜贩贩范抖档档档创创创吵巢膊膊膊脖北北北鞍鞍鞍鞍┄Ε"煗洏枔悕妴儉|yvrolifca^\ZYWUTSRRQQQQQQRSTUVWXY[\^_abdeghjlmnoqrsuvwxyyz{|}~~~亖亗倐們儍儍儍儎剟剟剟剟厖厖厖厗唵唵唵噰噲垐垐垑墘墘墛妸媼媼媼寣實崓崓崕帋帋帋弿弿悙悙悙憫憫憫憭拻拻拻摀摀摀摀敂敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗棙槝槝槝槝槞櫃槝櫃櫃櫃櫄洔灍。ぇ┈俺坊棵剖脱宰谲哚沐玳觌眍镲瘃耨耱蝌耨痫镱盱腙桤邃忉咿苴僮终右邢瓮趟扇瞧婆拍妹铝亮晾揽靠揪揪揪浇浇揪浇浇浇浇浇技技技技蓟换换换汉汉汗构父父父贩抖抖抖兜荡创创闯吵巢膊膊北北北卑鞍鞍鞍┅┅┅┅┅┅┄èЁΖイⅰ煗洐棓拸寜唫|xurnkheb`][YWVTSQPPOOOOOOOOPQRSTUVWYZ\]_`acefhijkmnoqrsttuvwxyzzz{||}}~~~~亖亖亖亗倐倐倐們儍剟剟剟厖厖唵唶噰垐垐垑墘妸妸妺媼媽寣寣崓崓崓崕帋帋帍弿彁悙悙悜憫憫憫憭拻拻拻挀摀摀摀敂敂敂敂晻晻晻晻晼枛枛枛枛棗棗棗棗棗棗棗棙槝槝槞殯潪牏%ǐ逗韭粕托宰佘哚沐玳觌眍镲瘃耨蝌蝌耨痫镱盱腙桤邃忉咿苴僮终友形吞耸扇瞧排哪寐亮览览靠揪揪揪揪窘骄揪窘浇浇浇浇技技技技换换换缓汉汉汗构父父父贩抖抖抖档创创创吵巢膊膊膊北北北卑鞍鞍鞍┅┅┅┅┄ī┅┄èЁΖイ!牉湚棔拸寜唭}yvsolifca^\ZXVUSRQPPOOOOOOPPQRSTUVWYZ\]_`acefhijklnoprsstuvwxyyzz{{||}}}~~~亖亖亖亖倐倐倐們儍儎剟剟厖厖厗唵噰噰噰垐墘墘墛妸媼媼媼寣崓崓崓崕帋帋帋弿彁悙悙悙憫憫憫憭拻拻拻挀摀摀摀敂敂敂敂敃晻晻晻晼枛枛枛枛棗棗棗棗棙槝槝槝槞櫃櫃殯潫牏う┈逗韭粕托宰佘哚沐玳觌祛铒痧耨耨耨耩痫铐祀觊珂溷徉捃圪刂沼倚贤趟噬惹婆哪妹侣晾览靠烤揪揪揪窘浇浇浇浇浇浇浇浇技技技技蓟换换缓汉构构构父父父贩抖抖抖档创创创吵巢膊膊脖北北北鞍隘隘┅┅┅┅┄┅┅┄èЁΖイⅰ煘湙棓拸寜唭|yurokhec`^[YXVTSQPPOOOOOOOPPQRSTUVXY[\^_`bceghiklmnoqrstuuvwxyzz{{||}~~~~~亖亗倐倐倐儍儍儍儍剟剟剟厖厗唵唵唶噰噰噲垐墘墘墘妸媼媼媼寣實崓崓崓帋帋帋帍弿弿弿悙悜憫憫憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晻枛枛枛枛枛枛枛枟棗棗棗棗槝槝槝櫅湠牎%ǐ逗韭粕托幼佘哚沐玳觌眍镲瘃耨耱蝌耨痫镱盱腴桄邃忉咻苴僮衷友形吞耸扇瞧拍拿寐晾览揽靠揪揪揪窘浇浇浇浇浇浇浇浇技技技蓟换换换缓汉构构构父阜贩贩抖兜档荡创闯吵吵膊膊膊北卑鞍鞍鞍┅┅┅┅èè┅┄èЁΖイⅰ煘洐棓拸寜唫|xurnkheb`][YWVTSQPPOOOOOOOOPQRSTUVWYZ\]^`acdfgijklnopqrstuvwwxyyzz{||}}}}~~~亖亖倐倐倐們儍儍儎剟厖厖厗唵噰噰噲垐墘墘墛妺媼媼媽寣崓崓崓帋帋帋帍弿悙悙悙悙憫憫憫憫拻拻拻挀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗棗槝槜槝槝槝槝櫄洕灎ⅲΘ捕壕缕赏杏仲苓徙彗殛腱铑镳瘃耨耨耨耩镱铐祀殍驽溻徇蒈谫字杂研瓮趟噬惹婆哪妹铝晾览揽烤揪揪揪窘浇骄揪浇浇浇浇郊技技技蓟换换换缓汉汉汗垢父父阜贩抖抖抖档创创闯吵膊膊膊脖北北北鞍隘鞍隘┅┅┅┅┅è┅┅èěЕゥ"潧櫁攽弻墕|yvrolifca^\ZYWUTSRQQPPPPPPQRSSTUVXYZ\^_`acdfgijklnopqsttuvwxyyzz{{||}}~~~~亖亖亖亖倐倐倐們儍儍儍剟剠厖厖唵唶噰噰噲垑墘墘妸妺媼媼媽寣崓崓崓帋帋帋帍弿弿弿彁悙悙悙憫憭拻拻拻摀摀摀摀敂敂敂敂敃晻晻晻晼枛枛枛枛棖枛枟棗棗棗棗棙槝槝櫅湠牎%ǐ逗韭粕托宰谲哚沐玳觌眍镲瘃耨耨耨耩痫铐盱觊珂溷忄咻圳刈赵友衔吞耸汕婆拍妹铝晾揽靠烤揪揪揪窘浇浇浇浇郊冀浇郊技技技蓟换换汉汉构构构垢父父阜贩抖抖兜档创创创吵膊膊膊膊北北北卑鞍鞍鞍┅┅┅┅┅┅┅┄èЁΖイⅰ煘湙棓拸寜唭|xurnkheb`][YWVTSQPPOOOOOOOOPQRSTUVXY[\^_`bceghjklmnpqrstuuvwxyzzz{{|}}~~~~~亖亖亖亗倐們儍儍儎剟剟剠厖唵唵唵噰噲垐垐墘墛妸妸媼媽寣寣實崓崓崕帋弿弿弿彁悙悙悙憫憫憫憭拻摀摀摀摂敂敂敂敃晻晻晻晻枛枛枛枛枛枛枛枟棗棗棗棗棗棗棙槝槝槝櫄洕灎ⅲΘ捕壕缕赏性踪苓徙彗殛腠铒镳耨耨蝌耨耩镲铐祀殍驽溻徇捃谫字杂研瓮趟噬惹婆哪妹铝览览靠烤揪揪揪窘浇浇浇浇浇浇浇浇技浇郊技蓟换换缓汉汉构垢父阜贩范抖兜档荡创创闯吵膊膊膊北北北鞍隘┅┅┅┅┅┅┄èèèèěЁΖイ"牊潧櫀攽帉墔|xurnkheb`][YXVTSQPPOOOONNOOPQRSTTVWYZ\]^`acdfgijklmopqrstuvwwxyyzz{||}}}}}~~亖亖亖亗倐儍儍儍剟剠厖厖厗唶噰噰噲垐墘墘墛妸媼媼媼寣寣寣崓崕帋帋帋弿弿弿弿悙悙悙悜憫憫憫拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛晻枛枛枛枛枛棗棗棗棗棙槝槝櫅湠牎%ǐ逗韭派托又佘哚沐玳觌祉铒痧瘃耨耨痧镱铐祀觇珏溻徉捃谫字沼倚贤趟噬惹婆哪妹铝晾揽靠烤窘浇浇浇浇浇浇浇技技技技技技技蓟换汉汉汉构构构垢阜贩贩贩抖抖档档创创闯吵膊膊膊脖卑鞍鞍鞍隘┅┅┅┅┄èèèèèèěЁЁЁЁЕΗЁЕΖΖΖΖΖΖΖΖゥゥゥゥゥゥゥゥゥゥゥゥいぅゥイいいいいいいいい#¥いぃ########ⅱⅲ##ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ"ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ、ⅱⅱ  ⅱⅰ  ⅱⅰ  ⅱⅰ                    牋煙灊湜櫁晸憦寜噭亊zwtqnjgeb_][YWUSRPONNMMMMLLLMNOOPQRSUVXY[\^_acdfhijkmnpqrstuvwxyz{{||}~~~亖亖亖倐倐倐們儍儍儍儍剟剠厖厖厗唵唵唶噰垐垐垑墘妸妸妸媼媽寣寣實崓崓帋帍弿弿弿悙悙悙悜憫憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛枛棗棖枟棗棗棗棗棙槝槝槝槝櫃櫂槞櫃櫃櫃櫃殮殮殮殮殮殮殮殮殯洓洑殯洓洓洓洓洓湝洓洓湝湝湝湝湝湝湝湝湞潩湝湝潩潩潩潩潩潩潩潩灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煙灋灋灍煙煘灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牋牊煙煚牋牊煙煚牋牊煙牋牋牊煙牋牋牋煚牋牋牋牎ⅳェ┆驳讣棵剖托宰佘掎沐玷觌祉铒痧耨蝌蝌蝌蝰耩痫铐礻殍驽溻徇蒈圪刂沼已邢翁耸扇惹瞧拍拿妹侣铝亮亮晾览坷览览靠靠靠靠靠揪究烤揪浇浇浇郊技技换缓汉汉构垢父父贩范抖兜档荡创创闯巢膊膊膊北卑鞍鞍隘┅┅┅┅┄è┅┅èèèèЁЁЁЁЁΖЁЕΖΖΖΖΕゥゥゥゥゥゥゥイいゥゥいいいイいいいいいいいいぃ#いい############"ⅱⅲ"ⅱⅱⅱⅱⅱⅱⅱⅱⅰ  ⅰ                     牎   牎  牋  牎   牎  牋  牋牋牋牋牋牋牋牋牋煙煘灊湜櫂枖拹帇墕儉}zwtpmjgdb_][YWUSRPONNMMMMLLMMNOOPQRSUVXY[\^_abdfghjkmnoqrsttvwxxyzz{{|}}~~~~亖亖亖亖倐倐倐倐儍儍儍儎剟厖厖厖唵唵唵噰噲垐垐垑墘妸妸妸媼媽寣寣實崓崓崕帋帍弿弿彁悙悙悙憫憫憫憫拻拻拻拻摀摀摀摀摂敂敂敂敂晻晻晻晻枛枙枛枛棗棖枟棗棗棗棗槝槝槝槝槝櫃櫂槞櫃櫃櫃櫃櫄殮殮櫄殮殮殮殮殮洓殮殮洓洓洓洓洓湝湜洓湝湝湝湝湝湝湝湝湞潩潨湞潩潩潩潩潩灋潩潩灋灋灊潩灋灋灊潪灋灋灋灋灋灋灋灋灋灋灋灋灍煙煙灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牋煙煙煚牋牊煙牋牋牋煚牋牋牋煚牋牋牋牋牋牋牋煚牋牋牋牎ⅳェ┆驳讣棵剖托又佘掎沐玷觌祉铒痧耨蝌蝌蝌蝰痧镲铐腙殍驽溻徇蒈圪刈沼已邢瓮淌缮惹瞧拍拿妹寐铝亮亮亮览览览览揽靠靠靠靠靠靠烤揪浇浇浇技换换换汉构构构父贩贩贩抖档档档创吵吵吵巢膊膊膊北北北卑鞍┅┅┅┅è┅┄èèèèèЁèèЁЁЁЁЕΖΗЕΖΖΖΖΕゥゥゥゥゥゥゥイいいイいいいいぃ#¥い#########ⅱ##"ⅱ##ⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱ、ⅱⅱ   ⅰ   ⅱ   ⅰ             牎  牎   牎          牋  牋牎 牋煙灋潧殭棔搼帉墕剚~{wtqnkheb`][YWUTRQPONNNMMMMMNNOPQRSTUWXZ[]^_acdfgijkmnoqrsttvwxxyzz{{|}}~~~~~亖亖亖亗倐倐倐們儍儍儍剟剟剟厖厗唵唵唶噲垐垐墘墛妸妺媼媽寣寣實崓帋帋帋帍弿弿弿悙悙悙悜憫憭拺拻拻摀摀摀摀敂敂敂敂晻晻晻晻晼晻晼枛枛枛枛枟棗棗棗棗槝槜槝槝槝槝槝櫃櫃櫃櫃櫃殮櫃櫃殮殮殮殮殮殮殮殮殯洓洓洓洓洓洓洓洔湝湝湝湝湝湝湝湞潩潨湞潩潩潩潩潩潩潩潩潪灋潩潩灋灋灊潩灋灋灊潩灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煙灋灋灍煙灋灋灍煙煘灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牋牊煙煚牋煙煙煙牋煙煙煚牋煙牎ⅲェí贝富柯粕托又佘捺沐骅觌祉铒痧耨蝌蝌蝌耨痧镱铐腙殓驽汊噢蒇谫字杂研衔吞耸扇乔婆拍妹寐侣亮览览览揽靠靠靠靠靠靠靠揪揪揪揪浇郊技技蓟换换汉汗构构父阜贩贩抖兜档荡创闯吵膊膊脖北北卑鞍┅┅┅┅┅èèèěЁЁЁЁЕΖΖΖΖΖΖΖΕゥゥゥゥゥゥゥイいぅゥいいいいぃ#######"ⅱ##"ⅱⅲ#"ⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱ ⅱⅱ         牎  牋  牋牎 牋牋牎 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煚牋牋牊煙牋牋牊煚牋牋牋牋牋牋牋牋牋牋牊煙煘灊湜櫂枖拹崑垍|yvsolifda^\ZXVTSQPONMMLLLLLLLMNOPPQRTUWXZ[]^`acefgijkmnoqrrstvwwxyyzz{||}}}}~~~亖亖亖亖倐倐倐們儍儎剟剟剠厗唵唵唶噰垐垐垑墘妸妸妺媼寣寣寣崓崓崓崕帋帋帋弿彁悙悙悙憫憫憫憫拻拻拻挀摀摀摀摂敂敂敂敂晻晻晻晻枛枛枛枛枛枛枛枟棗棗棗棗棗棗棗棙槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫄殮殮殮殮殮殮殮殮洓洓洑洓洓洓洓洓洔湜洓洔湝湝洓湝湝湝湝湝湝湝湝湝潩潨湝湞潩潩潨潩潩潩潩潩潩潩潩潩灋灊潩潪灋灋潩潪灋灋灊灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煙煘灋灋煙煘灋灋煙煘灋灍煙煙灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牏%Θ┇捶豢缕赏杏仲苻嚆彐栝腱眍镳瘃耨蝌蝌蝰耩镲铐祀殍驽溻徇蒈谫刂沼倚衔吞耸扇瞧婆哪寐侣亮晾览靠靠靠靠靠靠烤揪揪揪揪浇浇浇浇技技技蓟换汉汉汉构垢父阜贩抖抖兜荡创创闯吵膊膊膊北北北卑鞍鞍鞍┅┅┅┅┅┅┅┄èèèèЁЁЁЁЁЁЁЕΖΖΖΖΕゥゥゥゥゥゥゥいいいいいいいい##い#####"###ⅱⅲ#"ⅱⅱⅲ"ⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅰ  、ⅰ        牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋 牋牋牋牋牋牋牋牋牊煚牋牋煙煚牋牋煙煘灊潨殭槚敀悕媹厒|yvsolifda^\ZXVTSQPONMMMLLLLLLMNOPPQRTUWXZ[]^`acefhijkmnpqrstuvwwxyyzz{||}}}}~~亖亖亖亗倐儍儍儍儎剟剟厖厗唵唵噰噲垐垐墘墛妸妸妺媼寣寣寣崓崓崓崓帋帋帋弿弿悙悙悙悜憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂敃晻晻晻晻晻晻晻枛枛枛枛枟棗棗棗棗棗棗棗槝槝槝槝槞櫃櫃槞櫃櫃櫃櫃櫃殮櫃櫃殮殮殮殮殮殮殮殮殯洓洑殯洓洓洓洓洔湝湜洔湝湝湝湝湝湝湝湝湞潩湝湝潩潩潩潩潩潩潩潩潩灋潩潩潪灋潩潩灋灋灊潩灋灋灊潩灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煙灋灋灍煙灋灋煙煙煘灍煙煙煘灋煙煙煘灋煙煙煙灍煙煙煙煙煙煙煙煙煙煙煙牎ⅲウí贝坊柯粕托又佘捺怃骅殡祉铒痧耨耱蝌蝌耨痫镱盱腴桤邃汜咿苒儇渍砸研衔吞松热瞧婆哪妹侣铝晾览览览靠靠靠靠烤揪揪揪揪浇骄浇浇技技技蓟换换汉汗构构父阜范抖抖档创创创吵巢膊膊北北北鞍隘┅┅┅┅┅┅┄èèèěЁЁЁЁЕΖΖЕΖΖΖΖΕゥゥゥゥゥゥゥいいいいい¥いい########"ⅱ##ⅱⅱⅱⅱⅱⅱⅱⅱⅱ ⅱⅱ     牋  牋牎 牋牋牎 牋牋牎 牋牋牎 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊煚牋牋牊煙牋牋牊煙牋牋牊煙煚牋牊煙煚牋牊煙煚牋煙煘灋潨洑櫁枖憦崐垍|yurolifca^\ZXVTRQPONMMLLLLLLLMNOPQQSTVWYZ[]^`bcefhijlmnpqrstuvwxxyyz{{||}}}~~~亖亖亖亗倐們儍儍儎剟剟厖厗唵唵唶噰垐垐垑墘妸妸妺媼寣寣寣實崓崓崓帋帋帋帍弿弿弿彁悙悜憪悜憫拻拻拻拻摀摀摀摀敂敁摂敂敂敂敃晻晻晻晻枛枛枛枛枛枛枛枛棗棗棗棗棙槝槝槝槝櫃槝槝櫃櫃櫃櫃櫃櫃櫃櫃櫃殮櫃櫃殮殮殮殮殮殮殮殮洓洓洓洓洓洓洓洓洔湝湜洔湝湝湝湝湝潩湝湝潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩灋潩潩潪灋灊潩灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煙煘灋煙煙煙煙煙煙煙灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚。うЗ贝坊柯粕托又佘捺沐骅觌祉铒痧耨耱蝌蝌耨痧镱盱腙桤驿汜噢苒儇渍砸严瓮趟噬惹瞧排拿寐侣亮晾览览览靠靠靠靠揪揪揪揪窘浇浇浇郊技技技换汉汉汉构父父阜范抖抖兜档创创创吵膊膊膊北卑鞍鞍隘┅┆┅┅┅┅┅èèèèЁЁЁЁЕΖΖΖΖΖΖΖゥゥゥゥイいいイいいいいい¥いい########"ⅱ##ⅱⅱⅲ#ⅱⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ       牋  牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煚牋牋牊煙牋牋牊煙牋牋牊煙牋牋牊煙牋牋牊煙牋牋牊煙煚牋煙煘灋潨洑櫁枖拹崑垍個|yvspmjgda_\ZXVTSQPONMMMMLLLLMNNOPQRSUVXY[\]_abdfghiklnopqrstuvwxyyzz{||}}}}~~~亖亖亖亖亖倐倐倐倐儍儎剟剟剠厖唵唵唶噰垐垐垑墘妸妸妺媼寣寣寣崓崓崓崕帋帋帋弿弿弿弿悙悙悙悙憫憫拻憭拻拻搾拻摀摀摀摀敂敂敂敂敃晻晻晻晻晼枛晻枛枛枛枛枟棗棗棗棗槝槝槝槝槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫄殮殮殮殮殯洑殮殯洓洓洓洓洓洓洓洔湝湝湝湝湝湝湝湝湝湝湝湝湞潨湝湞潩潩潨潩潩潩潩潩灋灋潩潪灋灋潩潪灋灋潩潪灋灋潩潪灋灋潩潪灋灋潩潪灋灋灊灋灋灋灋灋灋灋灋灋煙煙灋灍煙煙灋灋煙煙灋灍煙煙灋灍煙煙灋灍煙煙灋灍煙煙煙煙煙煙煙牎¥Θ┈蹈伎闷释言宗苓徙彗桕腱眍镳耨耱蝌蝌蝰耩痫铐祀觇珂溷徉捃圳刈赵已邢瓮淌扇乔破拍妹侣侣亮览览览揽靠靠靠烤揪揪揪揪浇浇浇浇技技技蓟缓汉汉汗构父父阜范抖抖兜荡创创闯巢膊膊脖北北卑鞍隘┅┅┅┅èèèèěЖèЁЁЁЁЁΖΖΖΖΖΖΖΕゥゥゥゥゥゥゥイいいいいぃ¥いぃ########"ⅲ#"ⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅰ        牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煙煙牋牊煙煙煚牊煙煙牋牊煙煙牋牊煙煙煚煙煙煙煙煙煙灋潩湜殭棖敀悕媹厓}zvspmjgdb_][XWUSRPONNMMMLLLLLMNOPPQRTUWXZ[\^_acdfghjkmnopqrstuvwxxyyz{{||}}}}~~亖亖亖倐倐倐儍儍剟剟剠厖厖唵唶噰噰噲垑墘墘墛妸媼媼媼寣寣寣實崓帋帋帋帍弿弿弿悙悙悙悙憫憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻晻枛枙晼枛枛枛枛棗棗棗棗棗槝槜棙槝槝槝槝槞櫃櫃櫃櫃櫄櫃櫃殮殮殮殮殮殮殮殮殮洓殮殮洓洓洓洓洓洓洓洓洔湝湜洔湝湝湝湝湝湝湝湝湝潩湝湝潩潩潨湝潩潩潨湝潩潩潨湞潩潩潩潩潩潩潩潩潩潩潩潩潪灋潩潩灋灋灊潩灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煚。うī驳辜滥撬窝宰谳哚沐玳觌眍镲瘃耨蝌蝌蝌耨痫镱盱腴桄邃忉咻苴僮衷友邢瓮淌扇瞧婆拍寐铝亮晾揽靠靠靠烤揪揪揪揪浇揪窘浇郊浇郊技换换换汉汗构构父贩贩贩抖兜档档荡创闯吵巢膊膊脖北鞍鞍鞍隘┅┅┅┅┄èèèěЁЁЁЕΖゥぃⅰ牉湚槚搻帇垍亊{wtqmjgdb_][YWUSRQPOOONNNNNOOPQRSTUVXY[\]_`bcefhijkmnopqrstuvwxxyyzz{{||}}}}~~~亖亖亖亗倐們們儍剟剟剟厖厗唵唵噰噲垐垐墘墛妸妸妺媼寣寣實崓崓崓帋帋弿帍弿彁悙悙悙憫憫憫憫拻拻拻拻摀摀摀摀摂敂敂敂敂敂敂敃晻晻晻晻枛枛枛枛枛枛枟槡洕煛%ì俺坊棵撬我肇圯噔滏栝腱眍镳瘃耨耨耨耩镲铐祀觇珏溻徇捃谪字杂研瓮耸扇瞧拍寐铝晾烤揪揪浇技技技蓟换换换换换换换换汉汉汉汉构构构垢父贩贩贩抖抖兜档创创创吵膊膊膊北卑鞍鞍鞍┅┅┅┅┄ī┅èèèèěЁЁЁЁΖΖΖΖΖΖΖΕゥゥゥゥいいゥイいいいい##¥#########ⅱⅲ##ⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱ  、        牋牋 牋牋牎牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煙煚牋牋煙煚牋牋煙煙牋牊煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙灋灍煙煙灋灍煙煙煘煙煙煙煘灋潩湜殭棔敀弽妶厒}zvspmjgdb_][YWUSRQOONNMMMMMMMNOPQRSTUWXZ[]^_acdfgijkmnoqrsttuwxxyzz{{|}}}~~~~亖亖亖亖倐倐儍儍儍剟剟剟厖厗唵唵噰噲垐垐墘墛妸妸妺媼媼媽寣崓崓崓崕帋帋帍弿彁悙悙悙悙憫悜憫憭拻拻拻挀摀摀摀敂敂敂敂敃晹敂晻晻晻晻晻枛枛枛枛枛棖棗櫄湠煛&┉按讣滥忍弦仲坜嚆彗桕腱眍镳瘃耨耨耨耩镱眄礻殍驿汊噙蒇儇终右邢吞耸扇瞧拍寐铝晾靠揪揪浇技技技技换换换换换换换换汉汉汉汉构构构垢父贩贩贩抖抖兜档创创闯吵膊膊膊北卑鞍鞍鞍┆┅┅┅┅èèèèěЁЁЁЁΖΖΖΖΕイぃⅰ牊潧櫁晵悕妵剚}zwspmjgda^\ZXVUSRPPOONNNNNNNOPQRSTUVXY[\^_`bcefhijklnopqrsttuvwxxyyzz{{||||}}}~~~~~~亖亖亖亗倐倐們儍剟剟剠厖唵唵唶噰垐垐垑墘妸妸妺媼媼媽寣實崓崓崕帋帋帋帍弿弿弿悙悙憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂敂敂敂敃晻晻晻晼枛枛枛枛枛枛枛枟棗棗棗棗棗棗棗棙槝槝槝槝槞櫃槝櫃櫃櫃櫃櫃櫄殭櫃櫄殮殮殮殮殮殮殮殮洓洓殮洓洓洓洓洓洓洓洓洔湝湝湜湝湝湝湝湝湝湝湝湝湝湝湝湝湞潨湝湞潩潩潨潩潩潩潩潩潩潩潩潩潪灊潩潩灋灊潩潪灋灋潩潪灋灋潩潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煙煘煙牏%Ж俺泛韭派绦又氽捺怃骅殡祉铒痧耨蝌蝌蝌蝰耩镲铐祀殍珏溻徇蒈谫字沼研衔吞松惹瞧排拿寐铝亮晾揽靠靠靠揪揪揪揪窘骄揪浇浇浇浇技蓟换换缓汉汗构构父阜贩贩抖兜档荡创吵吵巢膊脖北北鞍鞍鞍┅┅┅┅┄ī┅èèèèěЁЁЁЁΖΖΖΖΕウΖΕゥゥゥゥいぅゥイいいいいぃ¥いぃ####"ⅲ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱ  ⅱⅰ       牋牋牎牋牋牋牋牋牋牋牋牋牋牋牋牋牊牋牋牋煙煚牋牋煙煙煚煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙灋灍煙煙灋灍煙煙灋灍煙煙灋灍煙煙灋灍煙煙灋灍煙煙灋灍煙煙灋灊潨湜櫂棔搼帉妵剚~{xurnkhec`^[YWUTRQPNNMMLLLLLLLMNOPQRSTVWYZ\]_`bcefhijlmopqrstuvwxxyyz{{||}}}~~~亐亖亖亖亗倐們儍儍儍剟剟剠厖唵唵唶噰垐垐垐墘墛妸妸妺媼寣寣寣崓崓崓崕帋帋帋弿弿悙悙悙悜憫憫憫拻拻拻拻摀摀摀摀摀摀摀摂敂敂敂敂晻晻晻晻枛枛枛枛枛枛枛枟棗棗棗棗棙槜棗棙槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫄殮殮殮殮殮殮殮殮洓洓洓洓洓洓洓洓湝湜洓洔湝湝洓洔湝湝湜湝湝湝湝湝湝湝湝湝湝湝湝湞潩潩潩潩潩潩潩潩潩潩潩潩灋灊潩潪灋灋潩灋灋灋灊灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煙煘灋灍煙煙灋煙煙煙煙煙煙煙煚。うí钡讣棵剖脱宰谲哚沐玷觌祉铒瘃耨蝌蝌蝌蝰耩镲铐礻殍驽溻徇蒇谫字沼研衔吞噬惹破排拿侣亮亮览靠靠靠烤揪揪揪揪揪揪揪窘浇浇浇郊技技蓟换汉汉汉构父父阜贩抖抖档档创闯吵巢膊膊脖北鞍鞍鞍隘┅┅┅┄èèèèЁЁЁЁΖゥい"灉殬枔憥媹厒~{xtqnkheb`][YWVTSQPPOOOONOOPPQRSTUVXY[\^_`bcefhijkmnoprsstuvwxxyyzz{{||}}}}~~~亖亖亖亗倐倐倐儍儎剟剟剠厖唵唵唵噰垐垐垑墘妸妸妸媼媽寣寣崓崓崓崕帋弿弿弿彁悙悙悙悜憫憫憫憭拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻晼枛枛枛枛枟枛枟棗棗棙櫄湞煛%ǐ泛韭剖脱宰谳哚滏玳觎眍镲瘃耨耨耨耩痫铐祀觊珂溷徉掭圪字杂倚瓮淌扇瞧拍寐铝晾靠揪揪浇郊技技技换换换换换换换换缓汉汉汉汉构构构垢父父阜贩抖抖兜档创创创吵膊膊膊脖北北鞍隘┅┅┅┅┄èèèěЁЁЁЁΖΖΖΖゥΖΕゥゥゥゥイいゥゥいいいいいいいいぃ###########"ⅱ##ⅱⅱⅱⅱⅱⅱⅱⅱⅰ       牋  牋牋牎 牋牎 牋牋牋牋牋牋牋牋牋牋牋牋牊煙煚牋煙煙煙牋煙煙煚牋煙煙煚牋煙煙煚牋煙煙煚牋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙灍煙煙煘灋煙煙灋灋灍煙灋灋潩湜殭槜晸憦寠噭亊{xurolifc`^\YWVTRQPONMMLLLKKLLMNOPQRSTVXY[\]_abdfghiklnopqrstuvwxyyzz{{||}}}}~~~亖亖亖亗倐們儍儍儎剟剟剟厖厗唵唵噰垐垐垑墘妸妸妸媼媽寣寣崓崕帋帋帍弿弿弿彁悙悙悙憫憫憫憭拻挀摀摀摀摂敂敂敂敃晹敂晻晻晻晻晼枛枛枛枛枟棖枛棗棗棗棗棗槝槝槝槝槞櫂槞櫃櫃櫃櫃櫄殮殮殮殮洓洓洓洓洓洓洓洓湝湜洓洔湝湝湝湝湝湝湝湝湝湝湝湞潩潩湝潩潩潩潩潩潩潩潩潩潩潩潩潩灋潩潩潪灋灋潩灋灋灋灋灋灍煘灋灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牋牊煙煚牋牊煙煚牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 、%Θ扯菇滥撬窝宰谳哚沐玷觌祉铒瘃耨蝌蝌蝌蝰耩镲铐礻殍驽溻徇蒈谫字沼研衔吞耸惹瞧排拿寐铝亮晾揽靠靠靠靠靠靠烤揪揪揪揪窘浇浇浇技技技蓟换汉汉汗垢父父阜范抖抖兜档创创创吵吵膊膊北北北鞍隘┅┅┅┅┄èèèěЁèЁЁЁЁЕΖΖΖΖΕΖΖΕゥゥゥゥゥゥゥゥいいいいいいいぃ########ⅱⅲ#"ⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅰ            牋牎  牋牎  牋牋 牋牋牋牋牋牋牋牋牋煙煚牋牋煙煙牋牊煙煙牋牊煙煙牋牊煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙灋灋煙煘灋灊潨洑櫂枙搼帉墖剚~{xurnkhec`^[YWUTRQONNMMMLLLLMMNOPQRSUVXY[\^_abdfgijklnoqrstuvwxyyz{{||}}~~~~亖亖亖亖倐倐倐倐儍儍剟剟剟厖厖厖唵唶噰噰垐垑墘墘妸妺媼媼媽寣實崓崓帋帋帋弿彁悙悙悙憫憫憫憭拻拻拻挀摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗棙槜棗槝槝槝槝槞櫃櫃櫃櫃櫃櫃櫃殮殮殮殮殯洓洓洓洓洔湜洓湝湝湝湝湝湝湝湝湝潩潨湝潩潩潩潩潩潩潩潩潩潩潩潩潪灋灋潪灋灋灋灋灋灋灋灋灋煙灋灋灋灋灋灋灋煙煘灋煙煙煙煙煙煙煙煙煙牋牋煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋牎 牋牎 牋牎 牋  牋       、ぅЗ扯航聊人我兆谳哚沐玳觌祛铒瘃耨蝌蝌蝌蝰耩镲铐腙殓驽汊噢蒇谪字杂研衔吞松热瞧婆哪寐侣铝亮览览览揽靠靠靠靠揪究靠揪揪揪窘浇郊技技蓟换换缓汉构垢父阜范抖抖兜档创创闯吵吵膊膊北北北卑鞍鞍鞍┅┅┅┅┄ī┄èèèèěЁЁЁЁΖΗЁΖΖΖΖΖゥウΖゥゥゥゥゥいいゥいいいいいいいいい##い#####"##"ⅱⅱ#ⅱⅱⅱⅱⅱ 、ⅱⅰ  、                 牋牎 牋牋 牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煙牋牋牋煙煚牋牋煙牋牋牋牋牋牋牋煙煘灊湜殭棔搼弽妵厒|yvsolifda_\ZXVUSRPOONNNMMMMNOOPQRSUVXY[\^_abdfgijklnoqrstuvwxyzz{{||}~~~亖亖亖亖倐倐倐倐儍儎剟剟剠厖唵唵唶噰垐垐垑墘妸妸妺媼寣寣寣崓崓崓帋帍弿弿弿悙悙悙悜憫拻憭拻挀摀摀摀摂敂敂敂晻晻晻晻枛枛枛枛枟棗枛棗棗棗棗棗槝槝槝槝槞櫂槝櫃櫃櫃櫃櫄殮殮殮殮洓洓洓洓洓洓洓洓湝湝湝湝湝潨湝湞潩潩潩潩潩潩潩潩灋灋灋灋灋灋灋灋灍煙灋灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牋煙煚牋牋牊牋牋牋牋牋牋牋牋  牋牎  牋牎                、ⅰ 、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ%Θ贝泛玖湃讼艺刳葸徜彗殛腱铑镳耨耱蝌蝌蝌蝰痧镱盱腴桤邃汜咻苒儇终右研衔退噬热乔婆拍妹妹寐铝亮亮亮亮懒亮晾览览览览靠靠靠靠揪揪揪浇郊技技换缓汉构构父贩贩范抖档档荡创吵吵吵膊膊膊脖北北北鞍鞍┅┅┅┅èèèèěЁЁЁЁЁЁЁΖΖΖΖΖウΖΖゥゥゥゥゥゥゥゥいいいいいいいいぃ#いぃ########"ⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ、ⅱⅱ                            牋  牋牋  牋牋牎牋牋牋牋牋牋牋牋牋牋牋牋牋煙灋潨洑槜晸憦寠噭亊{xuqnkhec`][YWUTRQPONNMMMMMMMNOPQRRTUWXZ[]^`aceghiklmoprstuvwxyz{{||}~~亖亖亖亗倐倐倐們儍儎剟剟剟厖厖厖唵唵唶噰噲垐垐墘墛妸妸媼媽寣寣崓崕帋帋帍彁悙悙悜憫憭拺憭拻摀摀摀摀敂敂敂敃晻晻晻枛枛枛枛棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃殮殮殮殮殮殮殮洓洓洓洓洓湝湜洔湝湝湝湝湞潩潩潩潩潩潩潩潪灋灋灋灋灋灋灋灍煙煘灋煙煙煙煙煙煙煙煙煙牋煙煙煚牋牊煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎 牋牋牎 牋     ⅱ  、ⅱⅰ 、ⅱ  、ⅱ  、ⅱⅰ ⅱⅱⅰ ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ#ⅱ¥ェí捶壕僚人弦肇谳哚沐玳觌祛铒瘃耨蝌蝌蝌蝰耩镲铐礻殍驽溻徇蒈圪刈赵已邢瓮趟噬热乔婆哪拿妹侣铝亮亮亮览懒亮览览览览揽靠靠靠烤揪揪揪浇郊技技换缓汉汉汗垢父父阜贩范抖兜档档荡创吵吵吵巢膊膊膊北北北鞍鞍┅┅┅┅èī┄èèèèèЁèèěЁЁЁЁЁЁЁЕΖΖΖΖΖΖΖΕゥゥゥゥゥゥゥゥいゥゥいいいいいいいいぃ#¥い#################ⅱ##"ⅱⅱ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ ⅱⅱⅰ 、ⅱⅰ ⅱⅱⅰ ⅱⅱⅰ 、ⅱⅰ牋煘潨洐槚攽弽妵剚~{xuqnkhec`][YWUTRQPONNNMMMMMMNOPQRSTVWYZ\]_`bdegijkmnpqrtuuvwyzz{||}}~亖亗倐倐們儍儍儍儎剟剟剟厖厗唵唵唵噰噰噲垐墘墘墘妸妺媼媼寣崓崓崓帋帍弿弿弿悙悙悙憫憭拻拻拻摀摀摀摂敂敂敂敃晻晻晻晻枛枛枛枛棗棗棗棗棙槝棙槝槞櫃櫃櫃櫃殭櫃櫄殮殮殮殮洓洓洓洓洓洓洓洔湝湝湝湝湞潨湝湞潩潩潩潩潩潩潩潪灋灋灋灋灋灋灋灋煙煙灋煙煙煙煙煙煙煙煙煙煙煙煙煙牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋 牋牋  牋牎  牋         ⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲ"ⅱⅱ##ⅱⅲ##ⅱ###"####ぅЖ贝坊玖湃讼艺刳葸徙彗殛腱眍镳瘃耱蝌蝌蝌耩痫镱盱觊桤驿汜噢蒈谫刂沼已邢瓮趟适缮惹瞧婆排拍拿妹妹妹侣侣旅侣侣侣侣侣亮亮亮晾览靠靠靠揪揪揪浇技技技换汉汉构垢父贩贩范抖档档档创创创吵巢膊膊膊北北北北鞍鞍鞍鞍┅┅┅┅┅┅┄ī┅┄èèèèěЖèěЁЁЁЁΖΖЁЕΖΖΖΖΕウΖΕゥゥゥゥゥゥゥゥいいいいいいいいいいいいいいいいいいいいぃいいい##いい##いぃ##いい#¥いい##い#########################ⅱⅲ##ⅱⅱ##ⅱⅱ#"ⅱ 煘潨殬枖拹崐噮倊{xuqnkheb`][YWUTRQPONNNMMMMMNNOPQRSTVWYZ\]_`bdfgijkmnpqrtuvwxyz{{||}~~亖亗倐倐儍儍剟剟剟剟剠厔厖厖唵唵唵噰噰垐垐垑墘妸妸媼媼媼寣實崓崓崓帋帍弿弿彁悙悙悜憫拻拻拻挀摀摀摀敂敂敂敂敃晻晻晻枛枛枛枛棗棗棗棗槝槝槝槝槝櫃櫂槞櫃櫃櫃櫃殮殮殮殮殯洓洓洓洓湝洓洓湝湝湝湝湝湝湝湝潩潩潩潩潩潩潩潩潪灋灋灋灋灋灋灋灍煙煘灍煙煙煙煙煙煙煙煙煙煙煙煙煙牋煙煙煚牋牊煚牋牋牋牋牋牋牋牋牎 牋  牋         ⅱ  ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅲⅱⅱ##"ⅲ###¥ェí捶壕僚人弦肇谳哚沐玳觌祉铒瘃耨蝌蝌蝌蝰耩痫镱祀觊桄邃忄咿苒谫字杂已邢瓮趟耸缮惹瞧破婆拍哪哪哪妹妹妹妹寐侣侣侣侣亮亮亮览览览揽烤揪揪揪浇技技蓟缓汉汉汗垢父父阜范抖抖抖档档档创闯吵吵吵巢膊膊膊北北北鞍隘┅┅┅┅┅┄èèèèèèèЁЁЁЁЁЁЁЁЕΖЁЁΖΖΖΖΖΖΖΖΖウΖΖΕゥΖΖゥゥゥゥゥゥゥゥイいゥゥいいいいいいいいいいいいい¥いいぃ#¥い###############い###い##¥ぃ#####################ⅱⅰ煗湜櫁晵悕媹厒{xurnkhec`^[YWVTRQPONNNNMMMMNOPQRRSUVXY[\^_abdfhijlmnpqstuvwxyz{{||}~~亖倐倐倐儍儍儍儍剟剟剟剟厖厖厖厗唵噰噰噰噲垑墘墘墛妸妸妺媼寣寣寣崓崕帋帋帍弿悙悙悙憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻枛枛枛枛枟棗棗棗棙槝槝槝槞櫃櫃櫃櫃殮殮殮殮殮殮殮殯洓洓洓洓洔湜洓洔湝湝湝湝湝湝湝湞潩潩潩潩潩潩潩潪灋灋灋灋灋灋灋灋煙煙灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牋牋煙煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋  牋牎        、   、ⅰ  ⅱⅱ ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ%Θ贝泛玖湃讼艺刳葸徙彗殛腱铑镳耨耱蝌蝌蝌耨痧镲铐腙殍珂溻徇掭苴僮终杂已形吞趟适扇乔破破排哪哪哪拿妹妹妹寐侣侣侣侣亮亮亮亮览览览靠揪揪揪窘郊技技换缓汉汉构父父父贩抖抖抖兜荡创创创吵吵吵吵膊膊膊脖北北北鞍鞍鞍鞍┅┅┅┅┄ī┅┄èèèèèèèěЁЁЁЁΖΖЁЕΖΖΖΖΖΖΖΖΕΖΖΕゥゥゥゥゥゥゥゥイぅゥゥいぅゥゥいゥゥゥいいゥイいいゥイいいいいいいいいいいいい#いいい#¥いい##いぃ##############いぃ##いぃ########"ⅱ 牊灉洐棔搻帇垍|yvsplifda_\ZXWUSRQPOONNNNNNNOPQRSTUVXY[\]_`bdeghjklnoprstuvwxyzz{{|}}~亖亗倐倐倐儍儍儍儍剟剟剟剠厖厖厗唵噰噰噰垐垐垑墘妸妺媼媼寣崓崓崓帋帍弿弿悙悙悙悜憫拻拻拻挀摀摀摀敂敂敂敂敃晻晻晻晻枛枛枛枛棗棗棗棗槝槜槝槝櫃櫂槞櫃櫃櫃櫃殮殮殮殮殯洓洑殯洓洓洓洓湝湝湝湝湝潩湝湝潩潩潩潩潩潩潩潩潪灋灊潪灋灋灋灋灋灋灋灋灋煙灋灋煙煙煘灍煙煙煙煙煙煙煙煙煚牋煙煙煚牋煙煙牋牋牋牋牋牋牋牋牋牋牋牋牎 牋            、ⅱ  、ⅱ  、ⅱⅰ、ⅱⅱⅱ、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ#ウí捶壕聊人弦肇谳哚沐玳觌祉铒瘃耨蝌蝌蝌蝰耩痫镱祀觊桄邃忄咿苒谪渍杂已邢翁怂适扇乔破排排哪妹妹妹寐侣侣侣侣侣侣侣亮亮亮晾览靠靠靠揪揪揪浇郊技技蓟缓汉汉构父阜贩贩抖抖档档荡创创创吵吵吵巢膊北北北北鞍鞍鞍隘┅┅┅┅┄èī┄èèèèěЁèèЁЁЁЁЕΖΗЕΖΖΖΖΖΖΖΖΕゥΖΖゥゥゥゥゥゥゥゥゥいゥゥいいいいいいいいいいいいいいいいぃ#いいぃ#いいぃ#いいいいいいぃ#いい###い#################################ⅱⅰ煘潧櫁晸悗媹厒|xurnkhec`][YWUTRQPONNMMMMMMMNOPQRRTUWXZ[]^`acefhijlmoprstuvwxyzz{{|}}~亖亗倐倐倐儍儌儍儍儎剟剟剟厖厖厖唵唶噰噰噲垐垑墘妸妺媼媼寣寣寣實崓帋帋帋弿彁悘悙悙憫憫憫拻拻拻拻摀摀摀摂敂敂敂敃晻晼晻晼枛枛枛枟棗棗棗棗槝槝槝槝櫃櫃櫃櫃殮殮殮殯潪牏%И锤伎们饰言宗葸怃骁殛祉铒镳耨耨蝌蝰耩痫铑盱觊珂邃忉咻苴儇渍砸严瓮趟噬惹瞧婆拿寐侣铝晾览览览揽靠靠靠靠靠靠靠烤揪揪揪揪浇浇浇郊技技换缓汗构构父贩贩贩抖档档档荡创创创吵吵吵巢膊北北北卑鞍鞍鞍┅èЕイⅰ煗洏枔悕妵剚}zwspmjgda_][YWVTSRQQPPPPPPQRSTUVWXY[]^`abdeghjklmopqrtuuvwxyzz{{||}~~亖亖亖倐倐儍們儍儎剟剟剟厖厖厖唵唶噰噰噰垐垐垑墘妸妸妺媼寣寣實崓帋帋帋弿弿悙彁悙憫憫憫憭拻拻拻挀摀摀摀敂敂晹敂晻晻晻晻晼枛枛枛枟棗棗棗棙槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫃殮殮殮殮殮殮殮殯洓洓洓洓湝湝洓湝湝湝湝湝潩潩潩潩潩潩潩潩灋灋潩灋灋灋灋灋灋灋灋灋煙煘灋灋煙煙灋灍煙煙煙煙煙煙煙煙煙煙煙煙煚牊煙煚牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牎  牋牎  牋             、ⅰ 、ⅱⅱⅰⅱⅱⅱⅱ¥Θ┇贝泛搅娜宋言宗葸徙彗殛腱眍镳耨耱蝌蝌蝌耨痧镱盱腙桤驽汊噙蒈圳刈赵右研贤趟适缮惹破排排哪妹妹妹侣铝侣侣铝亮亮亮亮晾览览览靠靠靠烤揪浇浇郊技换换缓汗构构父阜贩贩范兜档档荡闯吵吵吵膊膊膊脖北北北卑鞍鞍鞍┅èЕぃ潧櫀搼帇垊亊zwspmjgda_\ZXWUSRQPPPPOOOOPQRSTUVWYZ\]_`acdfgijklnoprstuvvwxyz{{||}}~~亖亖亖亗倐倐倐儍儍剟儎剟厖厖厖厗唵噰噰噰垐垐垑墘妸妺媼媼寣寣實崓帋帋帋帍弿弿彁悙憫憫憫憭拻拻拻摀摀敂摂敂敂晹敂晻晻晻晻晼枛枛枛枟棗棗棗棙槝槝槝槞櫃櫃櫃櫃殮殮殮洕灎ⅲェ按富棵鞘窝宰谳哚溴玳觎眍镲瘃耨耱蝌耨痧镱铐礻殓驽溻徇蒈谫字沼倚衔吞耸扇乔婆拍妹侣侣铝晾览览览靠靠靠靠靠靠靠靠揪揪揪揪浇浇浇郊技换换缓汉构构垢父贩贩范抖档档档创创创吵膊膊膊脖卑鞍鞍鞍┅┅┅┅┅┅èèèèěèèěЁЁЁЁЁЁЁЁΖΖΖΖΖΖΖΖゥゥゥゥゥゥゥゥいいゥイいいぅいいいぅいいいいいいいいい##いぃ##¥ぃ################ⅱⅱ#"ⅱⅲ##ⅱⅲ##ⅱⅲ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱ 、ⅱⅱ ⅱⅱⅱ  牊煘潧殬枖拸崐噭亊{wtqnkheb_][YWUSRQONNMMMMLLMMNOPQQRTUWXZ[]^`acefhijlmoprstuvwxyzz{{|}}~~亖亖亖倐倐儍們儍儎剟剟剟厖厖厖厗唵噰噰噲垐墘墘墛妸媼媼媼寣寣寣崓崕帋帋帋弿弿弿彁悙憫憫憫憭拻拻拻摀摀摀摀敂敂敂敂敃晻晻晻晼枛枛枛枛棖枛棗棗棗棗棙槝槝槝槞櫃櫃櫃櫃殮殮殮殮殮殮殮殯洓洓洓洓湝湝洓湝湝湝湝湝湞潨湝湝潩潩潩潩潩潩潩潩灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煘灋灍煙煙煘煙煙煙煙煙煙煙煙煙牋牋煙煚牋牋牊牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎 牋牎        、ⅰ      、ⅰ  ⅱⅱ 、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ%Θ┇贝泛搅娜宋艺宗葸徙彗殛腱眍镳耨耱蝌蝌蝌耨耩镲铐腙殍驽溻噙捃圳刈赵右严瓮趟适扇惹破排排哪妹妹妹寐侣侣侣侣亮亮亮亮晾览览览靠靠靠烤窘浇浇郊技换换缓汗构构垢阜贩贩范兜档档荡创创闯吵膊膊膊脖北北北鞍鞍鞍鞍隘┅┅┅┅┅┅┅┄èèèèèèèèЁЁЁЁЕΗЁЕΖΖΖΖΖΖΖΖゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥいいいいいいいいぃ¥いい#¥いい#¥いい##¥#####"###"###"###ⅱⅲ##ⅱⅲ##ⅱⅲ##ⅱⅲ##ⅱⅲ##ⅱⅲ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ 牊煘潧殬枖拸崐噮{xurolifc`^\ZXVTSQPOONNNNMMNNOPQRSTUVXY[\^_abdfgijkmnpqrstuvwxyz{{||}~~亖亖亖倐倐們儌們儍儍儍儍剟剟厖厖厗唵唵唶噰垐垐垐墘妸妸妺媼寣寣寣崓崓崓帋帍弿弿弿悙悜憪憫憭拻拻拻挀摀摀摀摂敂敂敂晻晻晻晻晼枛枛枛枛棗棖枟棗棗棗棙槝槝槝槝櫃櫃櫃櫄湞煛¥Ι撤豢缕释言宗葸徙彗殛祉铒镳耨耨蝌蝰耩镲铐祀觇珂溷徉捃圪刈赵已衔吞耸扇瞧婆哪寐铝亮晾揽靠靠靠揪揪揪揪揪骄揪揪浇浇浇浇技技技蓟换汉汉汉汗构构父阜贩贩范兜档档档创闯吵吵巢膊膊膊北北北卑鞍┅┅┅┅èěΕぃ灉殬晵弽妴儉}yvrolifc`^\ZXVTSRQPPOOOOOOPPQRSTUVXY[\^_`bceghiklmnpqrstuvwwxyzz{{||}~~~~~亖亖亖亗倐儍儍儍剟剟剠厖厗唵唵噰噲垐垐垑墘妸妸妺媼寣寣寣崓崓帋帋帍弿弿弿悙悙悙悜憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗棗槝槜棙槝槝槝槝櫃櫃櫃櫃櫄殮殭櫃殮殮殮殮殯洓洑殯洓洓洓洓洓湝洓洓湝湝湝湝湞潩潨湞潩潩潩潩潩潩潩潩潪灋灋灋灋灋灋灋灍煙灋灋灍煙煘灋煙煙煘灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牋煙煙牋牋牋煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎 牋牋                   、%Ж扯辜烂鞘窝宰谲哚沐玷觌祉铒痧耨蝌蝌蝌蝰耩痫铐祀殍珂邈徉掭圳僮衷右研衔趟适缮惹破排哪哪妹侣侣侣铝亮亮亮亮览览览揽靠靠靠烤揪揪揪浇郊技技蓟换缓汉汗构构父阜贩范抖兜档档创闯吵吵吵膊北北北鞍鞍鞍鞍┅┅┅┅┅┄èèèèЁèèЁЁЁЁЕΖΗЕΖΖΖΖΕゥウΖゥゥゥゥゥゥゥゥイいゥゥいいいいいいいいぃ#いいぃ#¥い########"ⅱ##ⅱⅱⅱⅱⅱⅱⅱ#ⅱⅱⅲ#"ⅱ##"ⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱ ⅱⅱⅰ 、ⅱ  ⅱⅱⅰ 、ⅱ             牎  牋煙灊潧殭棔搼帉墕儉}zwtpmjgdb_][XWUSRPONNMMMMLLLMNNOPQRSUVXY[\]_abdfgijkmnpqrstuvwxyzz{{|}}~~亖亖亖倐倐倐倐儍儍儍儎剟剟剟厖厗唵唵唶噰垐垐垑墘墘墛妸媼媼媼寣崓崓崓崕帋弿弿弿悙悙悙悙憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗棙槝槝槝槝槞櫃槝櫃櫃櫃櫃櫃殮殮殮殮殮殮殮殮洓洓洓洓洓洓洓洔湝湝湜湝湝湝湝湝湞潩湝潩潩潩潩潩潩潩潩潩灋灋灊灋灋灋灋灋灋灋灋灋煙煙灋煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牊煙煙牋牋煙煚牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎牋牋  牋牎  牋   牋牎  牋牎       ⅳェí俺豆嚼那宋言宗苓徙彗桕腱眍镳耨耱蝌蝌蝌耨痧镱盱腙桤驽汊噙蒈圪刂沼已邢瓮趟噬扇瞧婆拍哪拿侣侣侣铝亮亮亮亮览览览览靠靠靠靠揪揪揪窘郊技技蓟缓汉汉汗垢父父阜范抖抖兜档创创创吵吵巢膊北北北北鞍鞍鞍鞍┆┅┅┅┄èèèèЁЁЁЁЁЁЁЕΖΖΖΖΖΖΖΖゥゥΖΕゥゥゥゥゥゥゥゥいいゥイいいいいいいいい##いぃ################ⅱⅲ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱⅰⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱ  ⅱ                         牋煙灊湜櫁枖憦寠噭亊{xurnkhec`^[YWVTSQPONNNMMMMMNOOPQRSTVWYZ\]_`bceghijlmopqrstuvwxyzz{{|}}~~~~亖亖亖亖亗倐倐倐儍儍儍剟剠厖厖厗唵噰噰噲垐墘墘墛妸媼媼媽寣實崓崓崕帋帋帋弿彁悙悙悜憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晻枛枛枛枛棗棖枟棗棗棗棗槝槝槝槝槞櫃櫃櫃櫃殮殭櫄殮殮殮殮洓洓洓洓洓洓洓洓湝湝湝洔湝湝湝湝湝潩湝湝湞潩潩潩潩潩潩潩潩潩潩潩潪灋潩潩灋灋灋潪灋灋灋灋灋灋灋灋灋灋灋灋灍煙煘灋煙煙煘灍煙煙煙煙煙煙煙煙煚牋牊煙牋牋牊煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎¥Η┇驳讣棵剖脱宰佘掎沐玷觌祉铒痧耨蝌蝌蝌蝰耩痫铐祀殍珂溷徇捃圳刈赵已邢瓮趟噬热乔婆哪拿妹侣亮亮亮晾览览览览靠览揽靠靠靠靠揪揪揪窘浇技技技换汉汉汗垢父父贩范抖抖档荡创创创吵膊膊膊脖北北北鞍鞍鞍隘┅┅┅┅┅┅┅┄èèèèèèèЁЁЁЁЕΖЁЁΖΖΖΖΕゥゥゥゥゥゥゥイいぅゥいいいいいいいいい¥いいぃ#¥い#########ⅲ##"ⅱ##"ⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱ、ⅱⅱⅱ、ⅱⅱⅰ ⅱⅱⅰ、ⅱⅱⅱ、ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ ⅱⅱⅰ 、ⅱ             牋牊煘潨殭棔搼帉墕剚~zwtqnjgeb_][YWUSRPONNMMMLLLLMNNOPQRSTVWYZ\]_`bdeghiklnoqrsstuvwxyzz{{|}}~~~~亖亖亖亗倐們倐們儍剟剟剟剠厖厖厗唵噰噰噲垐墘墘墛妸媼媼媼寣實崓崓崕帋帋帋弿弿弿彁悙憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晻枛枛枛枛枟枛枛棗棗棗棗棙槝槝槝槝櫃櫂槞櫃櫃櫃櫃櫄殮殮殮殮殮殮殮殯洓洓洓洓洓洓洓湝湝湝湝湝湝湝湝湝潩湝湝潩潩潩湞潩潩潩潩潩灋潩潩灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煙煘灋煙煙煙灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牋煙煙牋牋牋煚牋牋牊煙牋牋牊煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎ⅳΗ┆驳讣棵剖托又佘掎沐玷觌祉铒痧耨蝌蝌蝌蝰痧镲铐礻殍驽溻徇蒈谫刂沼已邢瓮耸缮惹瞧排哪拿妹侣亮亮亮览览览览揽靠靠靠靠揪究揪窘浇浇浇技技换换缓汉汗构垢父阜贩范抖抖档荡创创闯吵膊膊膊北北北卑鞍┅┅┅┅è┅┅èèèèěЁЁЁЁΖЁЕΖΖΖΖΖΖΖΖゥゥゥゥゥゥゥゥイいぅゥいいいいいいいいい¥いい#############ⅲ##"ⅱⅲ#ⅱⅱⅲ#ⅱⅱⅱ#ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰ ⅱⅱ   ⅰ                     牎  牋煙灋潨殭棔搼弻墖剚~zwtqmjgdb_][XWUSRPONNMMMLLLLLMNOPQRSTVWYZ\]_`bdeghiklmopqrstuvwxyyz{{||}}~~~~亖亖亖亖倐倐倐倐儍儍儍儎剠厖厖厗唵噰噰噰垐垐垑墘妸妺媼媽寣寣崓崓帋帋帋弿弿悙彁悙悜憫憫憫憭拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻枛枛枛枛棗棗枛棗棗棗棗棗槝槝槜槝槝槝槝槝櫃櫃櫃櫃櫃殭櫃殮殮殮殮殮殯洓殮殯洓洓洓洓洔湜洓洔湝湝湝湝湝湝湝湝潩潩潩潩潩潩潩潩灋灋潩潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煙煘灋灍煙煙灋灍煙煙煘煙煙煙灋灍煙煙煙煙煙煙煙煙煙煙煙煙牋牋煙牋牋牋牊牋牋牋煙煚牋牋煙煚牋牊煙煙牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋。うЗ蹈伎闷释杏仲苻徙彐桕腱眍镳瘃耨蝌蝌蝰耩痫铐祀殍珂溷徉捃圳刈衷友邢瓮趟噬热乔婆拍哪妹寐侣亮亮亮览懒亮晾览览览览靠靠靠烤揪揪揪浇技技技换汉汉汗构父父阜贩抖抖兜档创创创闯巢膊膊脖北北北鞍隘┅┅┅┅èèèèèèèěЁЁЁЁΖΖΖΖΖΖΖΖゥゥゥゥゥゥゥゥイぅゥイいいいいいいいい##¥#####"###ⅱⅲ##ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅰ                   牋   牋牎  牋牎  牋牎 牋牊煘潨洑槜晸悗媺唭}zwspmjgda_\ZXVUSRPONNMMMLLLLLMNOPQQSTVWYZ\]_`bdeghjklnoqrsstuvwxyzz{{|}}~~~~亖亖倐倐倐們儍儍儍剟剟剟厖厗唵唵唶噰噲垐垐墘墘墛妸媼媼媽寣崓崓崓帋帋弿弿弿悙悙悙悜憫憫憫拻拻搾拻摀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗棗棙槝棗槝槝槝槝槝櫃櫃櫃櫃櫄殭櫃櫄殮殮殮殮殮洑殮殯洓洓洓洓洔湝洓湝湝湝湝湝湝湝湝湞潩潩潩潩潩潩潩潩潩潩潩潩灋灊潩潩灋灊潩潪灋灋灋灋灋灋灋灋灍煘灋灋煙煘灋灋煙煙灋灍煙煙煘煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚牊煙煙牋牋煙煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎。うЗ蹈伎闷释言踪苻徙彗桕腱眍镳瘃耱蝌蝌蝌耩痫镱盱觊桤邃忉咻苒儇终右研衔退噬热乔婆哪妹妹侣亮亮亮晾览览览览靠靠靠靠烤揪揪揪浇浇浇郊技换换换汉汉构构父阜贩贩抖抖档档创创创吵巢膊膊膊北北北卑鞍鞍鞍┅┅┅┅┄ī┅èèèèěЁЁЁЁΖΖΖΖΖΖΖΕゥゥゥゥイぅゥイいいいいいいいいいいいいぃいいぃ########ⅱⅲ##ⅱⅲ##ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅱ 、ⅱⅱ  ⅱⅰ  、                        牋牊煘灊湚櫁晸憦寜噭亊zwtqmjgeb_][XWUSRPONNMMMMMLMMNOPQQRTUWXZ[]^`acefhijlmopqsttuvxyyz{{||}~~~亖亖亖倐倐倐倐儍儍儍儍剟剟剟剠厖唵唵唵噰噰噰垐垑墘墘妸妺媼媼寣實崓崓崓帋帋帋弿彁悙悙悙憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晻晼枛晻枛枛枛枛枟棗棗棗棙槝槝槝槝槝櫂槝槞櫃櫃櫃櫃殮殮櫃殮殮殮殮殮洓洓洓洓洓洓洓洓湝湝湝湝湝湝湝湝潩潩湝潩潩潩潩潩灋灋潩灋灋灋灋灋灋灋灋灋煙煘灋灋煙煘灋灋煙煙灋灍煙煙灋煙煙煙煙煙煙煙煙煙煙煙煙煙煚牊煙煙牋牊煙煙牋牊煙煙牋牋煙煚牋牋煙煚牋牋煙煚牋牋煙煚牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋。うЗ蹈伎闷释杏仲苻徙彐桕腱眍镳瘃耱蝌蝌蝌耩痫镱黼觊珂邃忄咻苴儇终右研衔退噬热乔婆哪妹妹侣亮亮亮览览览览揽靠靠靠靠揪揪揪揪浇浇浇郊蓟换换缓汉构构垢阜贩贩范兜档档荡创吵吵吵膊膊膊北卑鞍鞍鞍┅┅┅┅┄┅┅┄èèèèЁЁèЁЁЁЁЁΖΖΖΖΕウΖΕゥゥゥゥゥゥゥゥいいゥイいいゥいいいいいいいいい##¥ぃ########"ⅲ##ⅱⅱ#"ⅱⅱⅲ"ⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅱ  ⅱⅰ      、ⅰ  ⅱⅰ  、         牋煘灊湚櫁晸憥寜噭亊{xtqnkheb`][YWVTRQPONNNMMMMMNOOPQRSTVWYZ\]^`acefhijkmnpqrstuvwxyyzz{||}}~~~亖亖亖亖倐倐倐倐儍儍儍儎剟厖厖厗唵噰噰噰垐墘墘墘妸媼媼媼寣實崓崓崕帋帋帋弿弿弿彁悙憫憫憫憭拻拻拻摀摀摀摀敂敂敂敂敃晻晻晻晼枛枛枛枛枛枛枛棗棗棗棗棙槝槝槝槞櫃櫃櫃櫃櫃櫃櫃櫄殮殭櫄殮殮殮殮殯洓洓洓洓湝洓洓湝湝湝湝湝潩湝湝潩潩潨湞潩潩潩潩潩潩潩潩潪灋灊潩灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灍煙灋灋灍煙灋灋灍煙煘灋灍煙煘灋煙煙煘灋煙煙煙灍煙煙煙煙煙煙煙煙煚牋牊煙牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牎ⅳェ┆钡富棵剖托又佘掎沐骅觌祉铒痧耨蝌蝌蝌蝰痧镲铐腙殓驽汊噢蒈谫刂沼已衔吞耸扇惹破拍妹妹侣铝亮亮晾览览览览靠靠靠靠靠靠靠靠揪浇浇浇郊技换换汉汗构构父贩贩范兜档档荡闯吵吵吵膊脖北北卑鞍鞍鞍隘┅┅┅┅èī┄èèèèěЁЁЁЁΗЁЁΖΖΖΖΕゥゥゥゥゥゥゥイいゥゥいいいいいいいいぃ#いい###ぃ#####ⅲ##"ⅱ##"ⅱ##"ⅱⅲ"ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ、ⅱⅱⅱ、ⅱⅱⅰ 、ⅱ                牋   牎   牎  牋  牋牎 牋牋牋牋牋牊煘灊湜殬棔搻帇墕儉}zwspmjgda_]ZXVUSQPONMMMLLLLLLMNOPQRSTVWYZ[]^`bcefhijlmopqrstuvwxyzz{{|}}}~~~亖亖亖亖倐倐倐倐儍儍儍儎剟厖厖厖唵唵唵噰垐垐垐墘妸妸妺媼寣寣實崓崕帋帋帍弿弿弿悙悙憫悜憫憭拻拻拻摀摀摀摀敂敂敂敃晻晻晻晻枛枛枛枛枟棗枛棗棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫃殮殮殮殮殮殮殮殯洓洓洓洓洔湜洓洔湝湝湝湝湝湝湝湝湞潨湝湝潩潩湝潩潩潩潩潩潩潩潩潩灋灋潩灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煙煙灋灍煙煙灋灍煙煙灋灍煙煙灋灍煙煙煙煙煙煙煙煙煚牊煙煙牋牊煙煙牋牋煙煚牋牋煙牋牋牋牋牋牋牋牋牋牋牋牋、ぅЗ蹈豢闷释杏仲苻徙彐桕腱眍镳瘃耱蝌蝌蝰耩痫铐祀殍珏溷徉捃圪刈赵已衔吞耸扇乔婆拍妹侣侣亮晾览览览靠靠靠靠揪揪揪揪揪揪揪浇郊技技技换换换汉汗构构垢阜贩贩范兜档档荡创吵吵巢膊膊脖北鞍鞍鞍鞍┅┅┅┅┄ī┅èěЁΕぃⅰ煗洐棓拸寜唭|yurolifc`^\ZXVTSRQPPOOOOOOPPQRSTUVXY[\^_`acefhijkmnoprsstuvwxyyzz{{||}}~~~~亖亖亖倐倐倐倐儍儎剟剟剟厖厖厖唵噰噰噰垐墘墘墘妸妺媼媼媽寣崓崓崓帋帋帋弿弿悙彁悙悙憫悙憫憭拻憭拻挀摀摀摀摂敂敂敂敃晻敂晻晻晻晻晼枛枛枛枛棗棗棗棗棗棗棙櫄湠煛%ǐ逗玖派托又佘哚沐玳觌祛铒痧耨耨耨耩痫铐祀觊珂溷徉捃圪字沼倚贤趟噬惹婆哪妹铝晾揽靠烤窘浇浇浇郊冀浇郊技技技技蓟换换换缓汉汉汉构构垢父贩贩贩抖档档档创吵吵吵巢脖北北北鞍鞍鞍隘┅┅┅┅┅┅┅┄èèèèЁЁèЁЕΖイぃ灊洏枖憥媹厒{xtqnkheb_][YWUTRQPPOOOOONOOPQRSTUVWYZ\]^`acdfgijklmopqrsttuvwxyyzz{{||}}}}~~亖亖亖亗倐倐倐儍儍儍剟剠厖厖厗唶噰噰噲垐墘墘墛妸媼媼媽寣寣實崓帋帋帋帍弿弿弿悙悜憫憫憫拻拻拻挀摀摀摀摀敂敂敂敂晻晻晻晻晼枛枛枛枛枛枛棗棗棗棗棗槝槝槝櫅湠牎%ǐ逗玖派绦又佘掎沐玷觌祉铒痧耨耨耨痧镱铐祀觇珏溻徉捃圪字沼倚贤趟噬惹婆哪妹铝览揽靠烤窘浇浇浇郊冀浇郊技技技技蓟患技换缓汉汉汉构构构父贩贩贩抖档档荡创吵吵吵膊脖北北卑鞍鞍鞍┅┅┅┅┄èèèèЁЁЁЁЕΗЁΖΖΖΖΖゥゥゥゥゥゥゥゥいいいいいいいいいいいいいいいい############ⅱⅲ#"ⅱⅱⅲⅱⅱⅱⅱⅱⅱⅱⅱⅱ 、ⅱⅱ  ⅱⅰ        牋牎  牋牎  牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煙煘灊湝殭槚敀弽媹厒|yvsolifda^\ZXVTSQPONMMMLLLLLLMNOPQRSTVWYZ\]^`bdeghijlmopqrstuvwxyyzz{||}}~~~~亖亖亖亗倐倐倐們儍儍儍剟剠厖厖厗唶噰噰噲垐墘墘墛妸媼媼媼寣寣寣崓崕帋帋帋弿弿弿弿悙悙悙悙憫憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻晻晻晻枛枛枛枛枛棗棗棗槡洕煛ⅳИ豆搅派绦又佘掎沐玷觌祉铒痧耨耨耨耩镲铐祀觇珏溻徇捃谫字杂倚瓮趟噬惹婆哪寐铝览靠靠揪浇浇浇浇技技技技蓟患技蓟换换换缓汉汉汉汗垢父父父贩贩范抖档档荡创吵吵吵膊北北北卑鞍┅┅┅┅┅┅┅┄èèèèЁЁЁЁЕΖイ"灉殬枔悗媹厑~{xtqnkgeb_][YWUTRQPPOOOONNNOPQQRSTUWXZ[\^_`bdeghijkmnopqrstuvwwxyyyz{{||||}}}~~~~~~亖亖亖亗倐倐們儍剟剟剠厖唵唵唶噲垐垐垑墘妸妸妺媼寣寣寣實崓崓崓帋帋帋帍弿悙悙悙悜憫憫憫拻拻拻挀摀摂敁摂敂敂敂敂晻晻晻晻晼枛枛枛枛枛枛枛棗棗棗棗棗槝槜棙槝槝槝槝櫃櫃櫃櫃櫃櫄櫃櫃殮殮殮殮殮殮殮殮殯洓洓洓洓洓洓洓湝湝湝湝湝湝湝湝湝湝湝湝湞潩潨湝潩潩潩湞潩潩潩潩潩潩潩潩潩灋潩潩灋灋灊潩灋灋灋潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煙灋灋灋煙灋灋煙煙煙灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙牊煙煙煙煙煙煙煙煙煙牋ⅲェí贝富棵剖托又佘掎沐骅觌祉铒痧耨蝌蝌蝌耨痫镱盱腴桤邃汜咿苒儇渍砸严瓮趟噬惹破拍拿侣亮亮览靠靠靠烤揪究靠揪揪揪揪窘浇浇浇浇技技技换缓汉汉汗构垢父阜贩范抖兜档荡创闯吵吵巢脖北北北鞍鞍鞍┅┅┅┄èī┅èèèèěЁЁЁЁЁЁЁΖΖΖΖΕゥゥゥゥゥゥゥイいいイいいいいいいいいぃ###########"ⅱ##"ⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅰ 、ⅱ   ⅰ        牋  牋牎 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋煚牋牋牊煙煘潩湜櫂枖拹崑垍|yvsolifda^\ZXVTSQPONMMLLLLLLLMNOPPQRTUWXZ[\^`acefgijkmnpqrsstvwwxyyz{{|}}}}~~~亖亖亖亗倐們儍儍儎剟剟剠厖唵唵唶噰垐垐垑墘妸妸妸媼寣寣寣崓崓崓崕帋弿弿弿彁悙悙悙憫憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂敃晻晻晻晻晻晻晻枛枛枛枛枟棗棗棗棗棗棗棗棙槝槝槝槝槝槝槝櫃櫃櫃櫃櫃櫃櫃櫃殮殮殮殮殮殮殮殮殯洓洑殯洓洓洓洓洓湝洓洓湝湝湜洔湝湝湝湝湝湝湝湝湝潩湝湝潩潩潩湞潩潩潩潩潩潩潩潩潩潩潩潩潩灋潩潩潪灋灊潪灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋灋煘灋灋灋煙灋灋灍煙煘灋灍煙煘灍煙煙煙煙煙煙煙煙煙煙煙煙煙煙煙煚。うī贝富棵剖托又佘掎沐玷觌祉铒痧耨耱蝌蝌耨痫镱盱腴桤邃汜咿苒儇渍砸严瓮趟噬惹瞧婆拿寐侣铝晾览览览靠靠靠靠揪揪揪揪窘浇浇浇郊技技技换汉汉汉构父父父贩抖抖抖档荡创创闯吵膊膊脖北北鞍鞍┅┅┅┅┄èèèèЁèěЁЁЁЁЕΖΖΖΖΖΖΖΕゥゥゥゥゥゥゥイいいいいいいいぃ#¥ぃ####"ⅱⅲ#ⅱⅱⅱⅱⅱⅱⅱⅱⅰ ⅱⅱⅰ 、ⅱⅰ ⅱⅱ   ⅰ            牋  牋牋牋 牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊煙牋牋牊煙牋牋牊煚牋牋牊煙灋潩湜櫂枖拹帇垍儉|yvsplifda^\ZXVTSQPONMMMLLLLLLMNOPPQRTUWXZ[]^`acefgijkmnpqrrstuvwxyyzz{||}}}}~~亖亖亖亗倐倐倐儍儍儍儎剟剟剠厖唵唵唶噰垐垐垑墘妸妸妸媼寣寣寣實崓崓崓帋帍弿弿弿彁悙悙悙悜憫憫憫憭拻拻拻摀摀摀摀摂敂敂敂敂敂敂敃晻晻晻晻枛枛枛枛枟棖棗槞洕煚ⅴЙ逗韭剖脱宰谲哚沐玳觎眍镲瘃耨耨耨耩镱铐祀觇驽汊徇蒈谪渍杂研瓮淌扇瞧拍妹侣晾靠烤揪窘郊技技技蓟换技蓟换换换换汉汉汉汉构构构垢父父阜贩抖抖兜档创创闯吵膊膊脖北鞍鞍鞍隘┅┅┅┅┄ī┅èèèèЁЁЁЁЕΖΖΖΖΕゥぃⅰ牊潨櫁晵悕妵剚~zwtpmjgda_\ZXVUSRQPOONNNNNNNOPQRSSUVWYZ\]^`acdfghiklmnpqqrstuvwwxxyyzz{{{{||}}}}}}~~~~亖亖倐亗倐儍儍儍剟厖厖厗唵噰噰噲垐墘墘墘妸妺媼媼媽寣寣實崓崕帋帋帋弿弿弿彁悙悙悙悜憫憫憫拻拻拻挀摀摂敂摂敂敂敂敂敃晻晻晻晻枛枛枛枛枟棗枛棗棗棗棗棗槝槝槝槝槝槝槝槝槞櫂槝櫃櫃櫃櫃櫄殮殮殮殮殮殮殮殮殮殮殮殮洓洓殮洓洓洓洓洓洔湜洓洔湝湝湝湝湝湝湝湝湝湝湝湝湞潩湝湞潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩潩灋灊潩潪灋灋潩灋灋灋灋灋灋灋灋灋灋灋灊灋灋灋灋灋灋灋灋灋煙煙灋灍煙煙灋灍煙煙灋灋煙煙灋灋煙煙灋煙煙煙煙牏%Ж豆嚼那宋颜宗葸徜彗殛腠铒镳耨耱蝌蝌蝰痧镱铐腙殓驽汊噙蒇谫字杂研衔吞松惹破拍拿侣亮亮览靠靠靠靠揪揪靠揪揪揪揪揪浇浇浇浇技技技蓟缓汉汉汗构父父阜贩抖抖兜档创创闯吵膊膊脖北北鞍鞍┅┅┅┅┄ī┅┄èèèèЁЕΕぃ煗洐枖憥媹厒~{xtqnkheb_][YWUTRQPOOOONNNOOPQRSTUVWYZ\]_`acdfgijklnopqrstuvwxxyyzz{||}}}}~~~亐亖亖倐倐倐們儍儍儎剟厖厖厖唵唵噰噰噲垐垐墘墛妸妸妺媼寣寣寣崓崓帊帋帋弿弿弿弿悙悙悙悙悙悙悜憫憫憫憭拻挀搾挀摀摀摀摂敂敂敂敂晻晻晻晻枛枛枛枛枛枛枟棙殯潫。エ撤豢们饰颜刳萼怃骅殡祉铒痧耨耨耨耨痫铑盱腴桄邈忄咻圳刂赵已衔趟噬惹婆拿寐亮揽烤揪窘郊技技技换换换换换换换换缓汉汉汉汗构构垢阜贩贩贩抖档档档创创闯吵巢膊膊脖北鞍鞍鞍隘┅┅┅┅┅┅┅èèèèěЁЁЁЁЁЁЁЕΖゥぃⅰ煘湚槙搻崐噭亊zwtpmjgda_\ZXWUSRQPOONNNNNNOOPQRSTUVXY[\^_`bcefhijklnopqrstuvwwxyyzz{{||||}}}~~~~~~亖亖亖倐倐倐們儍剟剟剠厖厗唵唶噰垐垐垑墘墛妸妸媼媼媼寣實崓崓崕帋帋帋弿弿弿弿悙悙憪悜憫憭拻拻拻摀摀摀摀敂敂敂敂敃晻敂晻晻晻晻晼枛枛枛枛枟棗棗櫄湞煛%┈按坊棵撬我肇圯噔滏栝腱眍镳瘃耨耨耨耩镱铐祀觇驽溻徇捃谪渍杂严翁耸扇瞧拍寐铝晾靠揪揪浇技技技技换换患换换换换换汉汉汉汉构构构构父父阜贩抖抖抖档创创闯吵膊膊膊北鞍鞍鞍隘┅┅┅┅┅┅┅èèèèЁЁЁЁЕΖΖΖΖゥイぃⅰ牊潧櫁晵悕妵剚~{wtqnkheb`][YWVTSQQPPOOOOOOPQRSTTUWXY[\^_`bcefhijklnopqrstuuvwxyyyzz{{|||}}}~~~~~~~亖亖亖倐倐倐們儍剟剟剠厖唵唵唶噰垐垐垑墘墘墛妸媼媼媼寣實崓崓崓帋帋帋帋弿弿弿弿悙悙悙悜憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂敃晻晻晻晻枛枛枛枛枛枛棗櫄湠煛&┉贝讣滥忍弦仲坜嚆彗桕腱眍镳瘃耨耨耨痧镱盱礻殍驿汜噢蒇僮终右邢吞耸扇婆拿寐亮揽烤揪浇郊技技技蓟换换换换汉汉汉汉汉汉汉构构父父父贩贩贩范兜档档荡创吵吵巢膊膊北北鞍鞍鞍隘┅┅┅┅èèèèèèèěЁЁЁЁΖΖΖΖゥイぃⅰ牊潧櫁晵悕妵剚}zwspmjgda_\ZXVUSRPPOONNNNNNNOPQRSTUVXZ[\^_`bdeghijkmnopqrstuvwwxxyyzz{{||||}}~~~~~~亖亖亖倐倐倐儍儎剟剟剠厗唵唵唶噰垐垐垑墘妸妸妺媼寣寣寣崓崕帋帋帍弿弿弿悙悙悙悜憫憫憫憭拻拻拻挀摀摀摀摂敂敂敂敂敃晻晻晻晻枛枙晼枛枛枛枛棗棗棗槞洕灎ⅳИ倒搅派托又佘哚沐玳觌眍镲瘃耨耨蝰耨痫镱盱腙桤邃忉咿苴刈赵友形退噬惹婆拿寐铝览靠靠揪浇浇浇浇技技技技技换技技换换换换缓汉汉汉构构构父阜贩贩范兜档档荡闯吵吵膊脖北北卑鞍┅┅┅┅┅èèèèěЁЁЁЁΖゥぃⅰ牉湚槚搼帇垍{xurnkhec`^\ZXVTSRQPPOOOOOOPPQRSTUVXY[\]_`acefhijklnopqrstuvwwxyyzz{{|}}}}}~~亖亖倐倐倐儍儍儍儎剟厖厖厗唵噰噰噲垐墘墘墘妸妸妸媼媽寣寣實崓崓崓帋帋弿弿弿悙悙悙悜憫憫憫拻拻摀挀摀摀敂摀敂敂敂敂敃晻晻晻晻枛枛枛枛枟棗枟棗棗棗槝殯潫。エ捕壕缕赏性宗苓徙彗殛祉铒镳耨耨耨耨耩镱盱腙殓驿汜噢蒇僮终右邢吞耸扇瞧拍妹侣晾靠烤揪窘浇技郊技技技技技蓟患技蓟换换换换汉汉汉汗构构垢父贩贩范抖档档荡创吵吵吵膊北北北卑鞍鞍鞍┅┅┅┅┄ī┅┄èèèèЁЁЁЁЁЁЁЁΖΖΖΖゥゥゥゥゥゥゥゥいいいいいいいいいいいい##い#########ⅱⅱ#"ⅱⅱⅱⅱⅱⅱⅱⅱⅰⅱⅱⅰ        牋牋 牋牋 牋牋牎牋牋牎牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牋牊煚牋牋煙煙牋牊煙煙煚煙煙煙煙煙煙煙煙煙煘灋潩湜殭棖敀弽妶厒|yvsolifda^\ZXVTSQPONMMMLLLLLLMNOPQRSUVXY[\]_abdfghjklnoprrstuvwxyyzz{||}}~~~亖亖亖亖倐倐倐倐儍儍儍儎剟厖厖厖唵噰噰噰垐墘墘墘妸妺媼媼寣實崓崓崕帋帋帍弿弿弿悙悙憫憫憫憭拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻晻枛晻晼枛枛枛枛棗棗棗棗棗槝槝櫄湞煛%ǐ逗韭剖脱宰谳哚滏玳觎眍镳瘃耨耱蝌耨痫镱盱腙桤邃忉咻苴刈赵已衔趟噬惹婆拿寐铝览靠烤揪浇浇浇浇技技技技蓟换患蓟换换换换汉汉汉汗构父父父贩范抖抖档荡创创吵膊膊膊北北卑鞍隘┅┅┅┅┄èèèěЁЁЁЁЁЁЁΖΕイぃⅰ煘湚槙搻崐噭亊{wtqnkheb_][YWUTRQPPOOONNNOOPQRSTUVXY[\^_`bcefhijkmnoprsstuvwxxyyzz{{||}}}}}~~~亖亖亖亗倐儍儍儍剟剟剠厖厗唵唶噰噲垐垐墘墛妸妸妺媼寣寣寣崓崓崓帋帋弿弿弿彁悙悙悙悜憫憫憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗棗槝槝槝櫅湠牎&ì坊柯剖脱宰谳哚滏玳觎眍镲瘃耨耨耨耩痫铐祀觊珏溻徇捃谫渍杂研瓮耸扇瞧拍妹铝晾揽揪揪窘浇技技技技换技技换换换换换汉汉汉汗构构构垢父父父贩抖抖抖档荡创创吵巢膊膊北北北鞍鞍┅┅┅┄èèèěЁЁЁЁΖΖΖΖゥイ"煗洐棔拹崐噭亊zwtpmjgda_]ZYWUTRQPOOOOONOOPQRSTUVWXZ[]^`abdeghjklmnpqrstuuvwxyzzz{{|}}}}~~~亖亖亖亗倐倐倐儍儎剟剟剠厖厖厗唵噰噰噲垐墘墘墛妸媼媼媼寣實崓崓崕帋帋帋弿彁悙悙悙憫憫憫憫拻拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻晻枙晻枛枛枛枛枟棗棗棗棗槝槝槞洔灎ⅳΙ撤豢们饰言宗葸怃骁殡祉铒痧耨耨蝌蝰耩镲铐祀殍驽汊徇蒈谪渍砸严翁耸扇瞧拍妹侣晾揽靠揪窘浇浇浇技技技技技换患技蓟换换换缓汉汉构构父父父贩范抖抖兜荡创创闯巢膊膊脖北卑鞍鞍┅┅┅┅┄è┅èèèèěЁЁЁЁΖゥい"潨殫晵悕妵剚}zwspmjgda_\ZXVUSRQPOOONNNNOPPQRSTVWXZ[]^_abdeghjklmopqrstuvvwxyyzz{{|}}}}~~~亖亖亖亖倐倐倐們儍儍儎剟厖厖厗唵噰噰噲垐墘墘墘妸妺媼媼寣實崓崓崕帋帋弿弿悙悙悙悜憫憫憫拻拻拻拻摀摀摀摀敂敃晻晻晻晼枙晼枛枛枛枛棗棗棗棗棗棙棗棗槝槝槝櫄洕煚ⅳΙ撤豢们饰言宗葸怃骁殛祉铒痧耨耨蝌蝰耩镲铐祀殍驽汊噙蒇儇终砸严吞耸扇瞧拍妹侣晾揽靠揪窘浇浇浇郊技技技技技技技技换换换缓汉汉汉构父父父贩范抖抖兜档创创创吵吵巢膊北北北鞍隘┅┅┅┅┄è┄èèèèěЁЁЁЁΖΕイ"灉殬枔悗媹厒~{xuqnkheb`^\ZXVUSRQQPPPPPPQRSTUUVXYZ\]_`acdfgijklnopqrttuvwwxyzz{{||}}~~~~亖亖亖亗倐們儍儍儎剟剟剟厖厗唵唵噰噲垐垐垑墘妸妸妺媼媼媽寣崓崓崓帋帋弿弿弿悙悙悙憫憫拻拻拻摀摀摀摀敂敂敂敃晻晻晻晻枛枛枛枛棗棗棗棗棗棗棗槝槝槝槝櫃櫃櫃殯湠牎%И锤祭们宋颜刳萼怃骅殡祉铒痧耨耨蝌耨耩镲铐祀觇驽汊噙蒇谪终砸严翁耸扇瞧拍妹侣晾揽靠揪窘浇浇浇郊技技技技技技技技换换换换汉汉汉汗构父父阜贩贩范抖档档档创吵吵吵膊脖北北卑鞍鞍鞍┅┅┅èèèèěЁЁЁЁΖゥい"灉殫晵悕妵剚}zwspmjgda_\ZXVUSRQPOOOOOOOPPQRSTUWXY[]^_abdeghjklmopqstuuvwxyzz{{||}}~~~亖亖倐倐倐們儍儍儎剟厖厖厖唵唶噰噰垐垑墘墘墛妸媼媼媽寣寣實崓帋帋帋弿弿悙悙悙憫憫憫憭拻拻拻摀摀摀摂敂敃晻晻晻枛枛晼枛枛枛枛棗棗棗棗棙槝槝槝槝槞槝槝櫃櫃櫃殯湠牎%И锤祭们宋艺刿萼怃骅殡祉铒痧耨耱蝌蝰耩镱铐祀殍驽汊噙蒇儇终砸严翁耸扇瞧拍拿寐铝览靠靠揪窘浇浇浇浇浇浇浇技技浇技技技技蓟换换换汉汗构构垢父阜贩范抖抖档荡创闯吵巢膊北北卑鞍鞍鞍隘┅┅┅┅èèèèèèèěЕΖイ"灉殬晸悕妵剚~zwspmjgda_\ZXVUSRQPPOOOOOOPPQRSTUVXY[]^_abdeghjklmopqstuuvwxyz{{{||}~~亖亖亖倐倐倐們儍儍儍剟剠厖厖厗唵唵噰噲垐墘墘墛妸妸媼媽寣寣實崓帋帋帋弿弿悙悙悜憫憫憫拻挀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗棗槝槝槝槝槝槝槝槞櫃櫃櫃櫄殮殮殯潫牏うǐ蹈祭那宋艺刿萼怃骅殡祉铒痧耨耨蝌耨耩镱盱腙殓驿汜噢蒇儇终砸严瓮怂噬惹婆哪妹铝晾览揽靠揪揪揪揪窘揪揪窘浇浇浇浇浇浇郊技蓟换换换汉汉汉构垢父父贩抖抖抖档荡创创闯吵巢膊膊北北北鞍鞍鞍隘┅┅┅┅┄èèèèЁΖゥぃ灉殬晸悕妵剚~zwspmjgda_\ZXWUTRQQPPPPPPPQRRTUVWXY[]^`abdeghjkmnopqstuvwwxyz{|||}}~亖亗倐倐們儍儍儍剟剟剟剟厖厖唵唵唶噰噰垐垑墘墘妸妺媼媼媽實崓崓崓帋帍弿弿彁悙悙悙憫憭拻拻拻摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗棙槝槝槝槞櫃櫂槞櫃櫃櫃櫃殮殮殮洔潫、うǐ倒祭娜讼艺刿萼怃骅殡祉铒痧耨耱蝌蝌耨痫铐祀觇珏溻徇捃谫字杂倚贤趟噬惹婆拍拿侣亮览览靠烤究烤揪揪揪揪窘浇浇浇浇浇浇浇技技技蓟换汉汉汉汗垢父父贩抖抖抖档创创创吵膊膊膊脖北北北鞍鞍鞍鞍┅┅┅┅èЁΕぃ灉殬晸悕妵剚}zwspmifda^\ZXWUTRQQPPPPPPPQQRSTUVWYZ\^_`bcefhiklmnoqrstuvwxyz{{||}}~~亖亖亖倐們儍儍儍剟剟剟剠厖厖厗唵噰噲垐垑墘妸妸妺媽寣寣實崕帋帋帍弿弿弿悙悙憫憫憫憭拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛棗棗槝棗槝槝槝槝槞櫃櫃櫃櫃櫄殮殮殮殯洓洓湠煛¥Θ钡菇滥人弦肇圯噔滏栝腱眍镳瘃耨蝌蝌蝰耩镱铐腙殓驿汊噢蒇儇渍砸严瓮趟噬惹破拍拿侣亮亮晾揽靠靠靠烤揪靠烤揪揪揪揪浇浇浇浇技技技技换换换汉汗构构垢阜贩贩范兜档档荡创吵吵吵膊膊膊脖北北北鞍隘┅èЕΕ"潧槚搻帇垍亊{xtqnkheb`^\ZXVUSRRQQQQQQQRSTUVWWYZ\]_`bcdfgijlmnoprstuvwxyyz{||}}~亖亗倐倐倐儍儍儍儎剟剟剟剠厖唵唵唵噰噰噲垐墘墘墛妸媼媼媽寣崓崓崓帋帍弿弿彁悙悙悙憫憭拻拻拻摀摀摀敂敂敂敂晻晻枛晼枛枛棖枛棗棗棗棗棙槝槝槝槞櫃櫃櫃櫄殮殮殮殯洓洓洓洓洓湜洓洔湝湝湝湝潩潩潩潩潩潩潩潩灋灋灋灋灋灋灋灋灍煘灋灍煙煙煙煙煙煙煙煙牋牋煙煚牋牋牋牋牋牋牋牋牎牋牋  牋牎        、ⅰ  ⅱⅱ ⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱⅱ##ⅱⅲ##"#################################¥ぃ¥ウЗ驳富韭派滔艺刿萼怃骁殛腠铑镳耨耱蝌蝌蝌蝰耩镲铐腙殍珏溻徇捃圳刈赵右严瓮趟适扇惹破排排拍拿妹妹妹寐侣妹寐侣侣侣侣亮亮亮览揽靠靠靠揪揪浇浇技技换换汉构构垢父贩贩范抖档档档创创创闯吵吵吵膊脖北北北鞍鞍鞍鞍┄Еィ灈櫁攽帇垍亊{wtpmjgda_][YWUTSRQQPPPPPPQRSTUVWXZ[]^`abdfgijlmnoqrstvvwxyz{|}}}~~亖亖倐們儍儍儎剟剟剟厖厖厖厗唵唶噰噰噲垐垐垑墛妸妸妺媽寣寣實崕帋帋帍弿悙悙悙憫憫憫憭拻摀摀摀摂敂敂敂晻晻晻晼枛枟棖枟棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫄殮殮殮殮洓洑殯洓洓洓湞灎。ウ┇倒嚼娜讼艺刿萼怃骅殡祉铒痧耨耱蝌蝌耨痫镱盱腴桤邃汜咿苒儇终右邢瓮趟噬惹瞧婆拿寐侣侣亮览览览览靠览览揽靠坷揽靠靠靠靠揪揪揪窘浇技技技换汉汉汉汗垢父父阜贩范抖兜档档荡创吵吵吵巢膊膊膊北鞍氨卑鞍隘┅┅┅┅┅┅┅┄èèèèèèèěЁЖěЁЁЁЁЁΗЁЁЕΖΖΖΖΖΖΖΕゥウΖゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥイいぅゥいいいいいいいいいいいいいいいいいいいいいいいいい¥いいぃ##ぃ#################################ⅱⅰ牋煘湜櫁晸悗媹厒|yvrolifc`^\ZXVTSQPOONNNNNNNNOPQRSTUWYZ\]_`bdegijlmnpqstuvwxyz{|}}~~亖亗倐儍儎剟剟剟厖厖厖厖唵唵唵唶噰噰噰垐垐垐垑墘妸妸妸媼媽寣寣實崓崓崕帋弿弿彁悙憫憫憫拻拻拻挀摀敂敁敂敂晻晻晻晻枛枛枛枛棗棗棗棙槝槝槝槝櫃櫃櫃櫃殮殭櫄殮殮殮殮殯洓洑殯洓洓洓洓洔湝湜洔湝湝湝湝湞潩潩潩潩灋灊潪灋灋灋灋灍煙煘灍煙煙煙煙煙煙煙煙煙煙煙煙煚牋煙煙牋牋牋牋牋牋牋牋牋牋牋牎 牎         ⅱ  、ⅱ  ⅱⅱⅱⅱⅱⅱⅱⅱⅱ#ⅱⅱⅲ#ⅱⅱ##"ⅲ##"ⅲ###ⅲ#######################¥Η┆蹈痪屡忍弦肇圯哜溴玳觌眍铒瘃耨蝌蝌篁蝌耨痧镱盱腴桤驿汜噢蒈谫刂赵右研瓮趟耸噬热乔破破排哪哪哪拿妹妹妹妹妹妹妹寐侣侣侣亮亮亮览揽靠靠揪窘浇浇技蓟换换汉汗构构父阜贩贩范抖档档档创创创闯吵膊膊膊脖北北北鞍鞍鞍鞍┅┅┅┅┅┅┅┅┅èèèèèèèèěЁèèЁЁЁЁЁΗЁЁΖΖΖΖΖΖΖΖΖウΖΖΕゥΖΖΕゥウΕゥゥゥゥゥぅゥゥイぅゥゥイいゥゥいいいイいいいいいいいいいいいいいいいいいいいいいいいいい¥いいぃ¥いいぃ#いいぃ#いいぃ#¥い#"ⅱ煘潧櫁晸憥媺唭}yvspmjgda_][YWUTRQPOOONNNNNOOPQRSTUWXZ[]^`acefhjklnoprstuvwxyz{||}}~亖倐倐倐們儍儍儍剟剟厖剠厖厗唵唵唶噰垐垐垐墘墘墛妸媼媼媼寣崓崓崓帋帍弿弿彁悙悙悙憫憭拻拻拻摀摀摀摂敂敂敂晻晻晻晻枛枛枛枛棗棗棗棗槝槝槝槝櫃櫃櫃櫃櫄殮殮殮殮洓洓洓湠煛¥Θ钡讣滥撬我肇谳噔滏玳觎眍镳瘃耨蝌蝌蝰痧镲铐礻殓驽汊噙蒇谫字沼研衔吞耸扇乔破拍妹寐侣铝亮览览览揽览览览靠靠览揽靠靠靠靠揪揪揪窘浇浇郊技换换换汉构构垢父贩贩贩抖档档档档创创创闯吵渤巢膊北北北卑鞍鞍鞍鞍┄Еィ潧櫀搼帇噭亇zwspmjgda_][YWUTSRQQPPPPPPQRSTUVWXY[\^_abceghjklmnpqrtuvvwxyz{|||}~~亖亗倐倐們儍儍儍儎剟剟剟厖厗唵唵唶噰垐垐垑墘妸妸妺媼寣寣寣崓崓崕帋弿弿弿悙悜憫憫憫拻拻拻摀摀摀摀敂敂敂敂晻晻晻晻晼枛枛枛枟棗棗棗棙槝槝槝槝櫃櫃櫃櫃櫄殮殮殮殮洑殮殯洓洓洓洓洓洓洓洔湝湝湝湝湝湝湝湝潩潩潩潩灋灋灋灋灋灋灋灋煙煘灋灍煙煙灋煙煙煙煙煙煙煙煙煙牋牋煙煚牋牋牊牋牋牋牋牋牋牋牎                       、ⅰ 、ⅱⅱⅱⅱⅱⅱⅱⅱⅲⅱⅱⅱⅲ"ⅱⅱⅲ"ⅱⅱ#"ⅱⅱ#"ⅱⅱ##ⅱⅲ#######ぅЗ驳富韭湃滔艺刿葸怃彗殛腠铑镳耨耱蝌蝌蝌蝰耩痫铐礻殍珂溷徉掭苒儇终杂已衔吞怂适扇乔破破婆拍哪哪哪妹妹妹妹侣侣妹侣铝谅侣亮晾览览揽靠靠烤揪浇浇郊技换换汉汉构垢父父贩贩范抖档档档荡创创创闯巢膊膊膊北北北北鞍鞍鞍鞍ěΔ!煖殫晵弻墕|xurokhec`^\ZXWUTSRRRQQQQQRSTUUVWYZ\]_`acdfgijlmnoqrstuvwxyyz{||}}~~亖倐倐倐們儍儍儍剟剟剟剟厖厗唵唵唶噰噰垐垑墘墘墛妺媼媼媽寣崓崓崓帋帍弿弿彁悙悙悜憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枛枛枟棗棗棗棙槝槝槝槞櫃櫃櫃櫃殮殭櫄殮殯殮洔潫、うí锤祭们宋颜刳葸怃骁殛祉铒痧耨耱蝌蝰耩痫铑盱觊珂邈忄咻圳僮终右邢瓮趟噬惹瞧婆拿妹侣侣亮览览览览坷览览揽靠览览靠靠靠靠揪揪揪揪浇浇郊技蓟换缓汉汗构父父阜贩贩抖兜档档档创吵吵吵巢膊膊脖北鞍氨鞍鞍鞍隘┅┅┅┅┅┅┅┅┅┄èè┄èèèèèЁèèЁЁЁЁЕΖΗЁΖΖΖΖΖΖΖΖΖウΖΖΕゥΖΖゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥゥイいぅイいいいいいいいいい¥いいぃ#いいぃ#¥い##¥い##¥い##¥いぃ#いいぃ#¥い##¥い#############ⅱⅰ煘湜櫁晸悗媹厒|xurokhec`^[YWVTRQPONNNMMMMMMNOPQRSTUWYZ\]^`bdegijkmnpqrtuuvwxyz{||}}~亖亗倐倐們儍儍儍儎剟剟剟剠厖厖厗唵噰噰噰垐垑墘墘墛妺媼媼媽實崓崓崕帋弿弿彁悙悙悙憫憭拻拻拻摀摀摀摀敂敂敂敃晻晻晻晻枛枛枛枛棗棗棗棗棙槝槝槝槞櫃槝櫃櫃櫃櫃櫄殮殮殮洕煚ⅳエ贝讣烂撬窝肇谳哜滏玳觎眍镳瘃耨蝌蝌蝰耩镲铐礻殍驽溻徇蒈谫刂沼倚衔吞耸扇乔破拍拿妹侣铝亮亮亮览览览览览靠靠览靠靠靠靠揪窘浇浇浇技技技蓟缓汉汉汗构构父父贩贩范抖档档档荡闯吵吵吵膊膊膊脖北鞍卑鞍隘┄Еィ灉櫁攽帇垍倊{xtqnkheb`^\ZXVUSRQQQQPPPPQRSTUVWXY[\^_`bcefhiklmnpqrstuvwxyyz{{||}}~~亖亖亖倐倐倐們儍剟剟剟剟厖厖厖唵唵唵噰噲垐垐墘墛妸妸媼媽寣寣實崕帋帋帍弿彁悙悙悜憫憫憫拻拻拻挀摀摀摀摂敂敂敂敃晻晻晻晼枛枟棖棗棗槝槝槝槝櫃櫂櫃櫃殮櫃櫃殮殮殮殯潪牏ぅИ锤伎们饰言宗葸怃骁殛祉铒镳耨蝌蝌篌篌篌篌 \ No newline at end of file diff --git a/fpga/tests/tb_data/pcf7931_read_1MSA_data.high.gold b/fpga/tests/tb_data/pcf7931_read_1MSA_data.high.gold new file mode 100644 index 000000000..a9719827c --- /dev/null +++ b/fpga/tests/tb_data/pcf7931_read_1MSA_data.high.gold @@ -0,0 +1 @@ +??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔侨热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热惹乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热惹乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔侨热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热惹乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔侨热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮汕乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔侨热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔侨热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热惹乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔侨热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热惹乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔巧缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔巧缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热惹乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔侨热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热惹乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔巧缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔侨热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮汕乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔侨热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔侨热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮墒适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适嗜热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂似破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破破粕缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔侨热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热惹乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔侨热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔侨热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热惹乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热仁适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热人怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔侨热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热惹乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔侨热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热惹乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热惹乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热惹乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔巧缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔侨热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔侨热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热惹乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热惹乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热惹乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔侨热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热惹乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔巧缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮汕乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮伤怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂巳热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮墒适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热惹乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热惹乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热惹乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔侨热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热惹乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热惹乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔巧缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热惹乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔侨热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮汕乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔侨热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂怂巳热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮墒适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适适缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮汕乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔侨热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮汕乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔侨热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热惹乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔侨热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔巧缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热惹乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔巧缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮汕乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔侨热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔巧缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮扇热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔侨热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮汕乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔乔缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热热壬缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮缮 \ No newline at end of file diff --git a/fpga/tests/tb_data/pcf7931_read_1MSA_data.highz.gold b/fpga/tests/tb_data/pcf7931_read_1MSA_data.highz.gold new file mode 100644 index 000000000..7a576391f --- /dev/null +++ b/fpga/tests/tb_data/pcf7931_read_1MSA_data.highz.gold @@ -0,0 +1 @@ +哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝湝吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档荡创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊渤吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档荡创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵巢膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊泊创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吹档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吹档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档荡创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创床膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊渤吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档党吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档党吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档党吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档党吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档荡创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵巢膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊泊创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创床膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊泊创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊渤吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吹档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵车档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档党吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵车档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档党吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵车档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊泊创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵车档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档荡创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档党吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吹档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档荡创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档荡创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父副北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北北背吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊渤吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创床膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊渤吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊渤吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵车档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档荡创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档党吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵车档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档荡创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吹档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吹档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吹档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊渤吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吹档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档党吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吹档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档党吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档荡创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档荡创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵掣父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊渤吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵巢膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊泊创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档荡创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吹档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档党吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吹档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档党吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵车档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵巢膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吹档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档党吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吹档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档荡创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创床膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵车档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵巢膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊渤吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊渤吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档党吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵车档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档党吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档党吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档党吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档荡创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吹档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊渤吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊渤吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵巢膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创锤父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父赋吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创炊抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吹档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档党吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创床膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创床膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创床膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊渤吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵车档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵车档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档荡创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创床膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创床膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊渤吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吹档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吹档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档党吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父父赋吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创炊抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖抖档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档荡创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵巢膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊渤吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵巢膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊渤吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵车档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档荡创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵巢膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵巢膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵炒创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊膊渤吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创闯吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吹档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档荡创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创创吹档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档档吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵吵车档档档档档档档档档档档档档档档档 \ No newline at end of file diff --git a/fpga/tests/tb_data/pcf7931_read_1MSA_data.in b/fpga/tests/tb_data/pcf7931_read_1MSA_data.in new file mode 100644 index 000000000..00d0ab3dc --- /dev/null +++ b/fpga/tests/tb_data/pcf7931_read_1MSA_data.in @@ -0,0 +1 @@ +厖厖厖厖厖厖厖厖厖厖厖厛厛垍厖垍厖厖垍垍厖厛厖厖厖厖厖垍厖厖厖厖厛厖厖垍厖厖厖厛厛垐厖垐厛垍厖厖厖厛厖垍厖垍垍厖厖厖厖厖垐厖厖厖厛厖厖厖厛垍厖厖垍厖垍厖厖厖厖垍厖厖厖厛厖厛厖厖厖垐厖厖厛厛厖垍垍厖厛垐厖厖厖厖厖垐厖厖厖厖厖厛厛厖垐厖厖厖垐厛厖厛垍厛厖垍厖厖厛厖垍厛厖厖厖垍厛厖厛厖厖厖厖厖厖厖厖厛厛厛厖垍厛厖厖厖厖垐垍厖厖厛厖厖厖垍厖厛厖厖厖垍厖厛厖厖厖厖垍厖厖厛厖厖垐厖厛厖厖垍厖厖厖垍厖厖厛厖厖厖厖厖垍厖垍厖厖垍厛厛垍垍垍厖厖厖垍厖厛厛垍厖厖厖垍垍厛厛厖厖厖厛厖垍厖厖垍厖厖厛厛厖厖厛垐厖厛厖厖厖厖厖垍厖垍厛厛厖厖厖厖厖厖厖垍厛厛厛垍厖厛垍垍厖厖垍厖垍厛厖垍厖垍厛垐厛垍厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖垍垍厖垍厖厛垐厛垍厛厖厛垍垐厖厖厖厖厖厖厖厛厖厖厖厛垍垍厛厖厖厖厖垐厖垍厛厖垍垍厛厛垍厖厖厖厖厖垐厖厖厛垍垍厖厖厖厖厖垍厛厖厖厖厖厖厖厛垍垐厖厖厛厖厛厖垐厖垍厖厖厖厖厖垍厛垍厛厛厖厛厖垍厖厖厖厛厛厖厛厖垐垐厖厖厖厖厖厖厖厛垍垐垍厛厖厖厛厖厛厛垐厛垍垍垍厛厖厖厖厖垍厖厖垍厖厛垍厖垍厖垍厖厖厖厛垍厛厖厖厛厖垐厖厖厖垐垍垍厖厖垍厛厛厛厖垍厖垍厛厖垍厖厖厖垍厖厖厖厖垍厖厛垍厖厛厖垍厖厛厖厖垐厖厖厖厖厛垍厖厛厖垍厖厖厖厖垍厖垍厖厖厖厛厖厛厛厖厛厛厖厖垍厖厖垍厖厖厖厛厖厖厖厛厖厛厖垐厖厖垐垍垐厖垍厛垍厖厖垍垍厖垍垍厖厖厖厛厛厛厖垍垍厖垐垍厖垐厖厛垍厖厖厖厖厖垐厛厖厖厖厖厛厖厖垍厛厖厛厖厛垍厖厖厖垍厖厖垐厛厖垍厛厖厖厛厛厛厖厖厛厖厖厖厖厖厖厛厖垐厖垍厖厛厖垍厛垍垍厖厖厖厖厖厛垍厖垍厖厖厛厖厖厖厖厖厛厖垍厖厖厖厖厖垍厖厛厖厖厖厖厖厖厖垍厖厖厛垐厖厛厖厛厖厖厖厖厖厖垍垍垐厛厖垍厖厖厛厖厖厖厖厖垍垍厖厖垍厖厖垍厖厖垍厖垍厛厖厖厖厖垍厖厖厖厛厛厖厖厖垍厛厖厖厖厖垍厖垐厖厖垍厖厖厖厖厖厛垍厖厛厖垐垍厖厖厖厛厖垍厖厖厖厛厖厖厖厛厖厛厖垍垐厛厖厖厛厖垍厖厛厖厖厖厛厖厖厛厖垍厖厖厖厖厛厖垍厖厖垍厛厖厖厖厛厖厖厖厖厖厛厖厖厖厖厖厖厖厖厛垍厖厖厖厖厖厖垍厖厖垍厛厖厖垍厖厖厖厖厖厖厖垍垍垍厖垍厖垐垍垍厖厖厖厖厖厖厖垐厖厛厖厖厛厛厖厛厖厖厖厛厖厖厛厖垐垍厛垍厖厖厖厖厖垍厖厖厖厖厛垍厖厛厖厖厖厖垍厖垍厛厖厖厖垍厖厖厖垍厖厖厛厖垍垍厖厖厖厖厛厖厖厛垍厖厖厛垍厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖垐厛厖厖厖厖垐厖厖厖垍垍厖垍厛厖垐厛厖厛厖厖厖厖厖厖厖垍厖厖厖厖厖厛厖垐厖厖厖厖厖垍垍厖厖垍厖垍厖厖厖厖厖垍厖厖厖厖厖厖垐厛厖厛厖垍垍垍垐垍垐厖垍垐垍厖垍厖垍垐厖垐厖厖垍厛垐厖垍厖垍厖垐厖厖厖垍厖厛垍厖垍垍垍厖厛厛厖垍厖垍厖垍垍垍垍厛厖垍厛厖垍厖厖厖厖厛垍厛厖垍厖厖厖厛垐垐厖垍垐厖垍厖厖厛厖厖厖厛厖厖厖厖垍厖厖厖厖厛厖垍厖厖垐厖厖厖厖垍厖厛厖厖厖厖厖厛厖厖垍垍厖垍厖厛厖垍厖厖厖厛厖厖厖厛垍垐厖厖厖厖厖垍厖厖厖厛厖厛厖厖厖厖厖垐厖厖垍厛厖厖厖垍厖厖厖厖垐厖厖厛厖厖厖垐垍厖厖垍厖垍厛厛垍厖厖厖厖垐厖厛厛厖垐厖厖垍厖厛厛厖厖厛厖厖垐厖厛厖厖厖厖厛厖厖垍厛厖厖厛厖厖垐垍垍厛厛厖厛厛垐厖厖厖垍厛厖厛厛厖厖厛垍厛垍厛厖厛厛厛厖垍厖厖垐厖厖垍厖厖厖厖厖厖厖厖厖垍厖厖厖垍厖厖厛垐厖厖厖厖厖厖垍厛厖厖厖厖厖厖垍垍垐厖厖厖厖垍垍厖厖厖厛厖厖垍厖厖厖厖厖垍厖厖垍垍厖垍厛厖厖厖厖厖厖垍厖垐厖垍厖厛厖厖厖垐厖垍厖厖厖厖厛厖厖垍垍厖垍厖厖厖垍厖厛厖厖厖厖厖厛垍厖厖厖垐厛厖厖厖厖厖厖厖厖垍厖厖厖厖垍厖厖厖垍厛厖厛厛厖厖厖厖垍厖厛垍垍厛厖厖垍厖厖垍厖垍厖厛厛厖厖厖厖厖厛厖厖厛垍厖垍厛厖厛厖厖垍厖厛厖厖厛厖厖厛厖厖厖厖厖厛厖厛垐垍厖厖厖垍厖厖厖垍厖厖厖垍厖厖厖厖厖厛厛厛厖厖厖垍垍厛垍厖厖厖垍垍厖厛厛厖厖厖厖厖厖垍厖厖厖厖厖厛厖厖厖垍厛厖厛垐垍厛厖垍厖厖厖厛垐厖厛厖厖厖垍厖厖厖垍厖厖厖垍垍厖垐厖厖垍厖厖厖厖垍厖厖厖厖厖厖垍厛垍厛厛厖厛厖厖垍厛厛厖厖厖厖厖垍垍厖厖垍厛垍厖厖厖厖厖厖厖厖厛厖垍垍厖厛厖厖垍厖厖厛厖厛厖垍厛厖厖厖厖厖厖厖厖垍厖厛垍厖厛垍厖厖厖厖厖厖厖厖厛厖厖厖垍厖厖厖厖垍厖垐厖厖厖厖厖厖厖厖厛厛厖厖厖厖垍垍厖厖厖厖厖厛垍厖厖厖厛垍厖厛厖厛厖厛垍厖厖厖厛厖厛垐厖垍厖厛厖垍垍厖垍厖厖厖厛厖厖厖厖厖厖厖垍垍垍厖厛厖厛厖厛厖垍厖厖垍垍垍厛厖厖厖厖厛垍厖厖厛厖厖厖厛厛垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厛厖厖厛厖厖厖垍厛厛厛厖厖厖厖厖厖垍垍垍厖厖厖厛厖厛厖厖厖垍厖厖厖厖厖厖厖厖垐厛厖厛厖厖厖厛厛厖厛厖厖厖厖厛厖垍厖厖厖厖厖厖厖厖厖垍厖厛垍厖厖厖垍厖垍厖厖厖厖厖厛垍厛厖厖厖厛厛厖厖厖垍厖厖厛厖厖厖厖厛垍厖垐厛厖厖垍厛垍厖厖厖厖厖厖垐厖厖厖厛厖厖厛厖厖厖厖厖厛厖厖厛厖厖厖厖厖垐厖厖厖厖厛厖厖厖垍厛厛厖厖厖厛厖厛厖厖垍垍垍垍厖厖垍厛厛垍厛厖厛厖厖垐厖厛厖厖厖厛厛厖厖厖厖厖厛厖厛厖垍厖垍厖厖垍厖厖垍垐厛厖厖厖厖厛厖厖厖厖厖厖厛厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厛垍厖厖厖厛厖厛厛厖厖厛垍厖厖厖厖厖厖厖厖厖厛厖厛垐垍厛厛厖厖厛厖垍垍厖厖厖厖垍垍厖厖厛厖厖厖垐厖厖厖厖厛厖垍厖厖垐垍厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厛厖厖厖厖厖厛厖厛厖厛垐厖厖厖垍厖厖厖厖厖厖厖厛厖厖垍厖厖厖厖厖厖垍厖厖厖厖厛厖厛厖厖厛厖厖厖厖厖厖厖厖厖厛厖厖厖垐厖垍厖厖垐厖厛厖垍厖厖厛厖厖厛厖厖厖厖厖厖厖厖厛垍厖厖厖厖厖厖厖垐厛厖厖厖厖厖厖厛垍厖厛垍厖厖厛厖厖厛厖厖垍厖厖厖厖厛厖厖厛厖厖厖厖厖厛厖垍厖厛厖厖厖厖厖厛厖厖垐厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖垍厛厛垍厖厖厖垍厖厖厖厖厖厖厖厖厖厖厛厖垍厖垍垍厖垍厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖垐厛厖厖厖厖垍厖厖厖厖厖厖垐厖厖厖厖厖厖厛厖厖厖厖厖垍垍厖厛厖厖厛厛厖厖厖垍垍垍厖厖厛厖厛厖厖厖厛垍垐厛厖厖厛厛垍厖厖厖垍厖厖厖厖垍厖厖厖厖垍厖厛厖厖厖厖厖厖厖垍垍厛厖垍厖厖厖厛厖厖厖厖垍厖厖垍厖垍厖厖厖厖厖厖厖厖厖厖厖垍厖垐厖厛垍厛厖厖厖厖垍垍厖厖厖厛厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖垍厖厖厖厛垐厛厖厖厖垍厖厖厖厖垍厖厖厖垍厖厖厖厛垍厖垍厛垍厛厛垍厖厖厖厛厖厛厖厖垍厖厖厖厖厖厖厖厖厖厖垐厖垐厖厖厛厖厖垍厖厖厖厖厖垍厖厖厖厛厖厖厖垍厖厖垍厖垍垍厖厖垍垍厛厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厛厛厖厖厖厖垍厖垍厖厖垍厖厖厛垍垍厖厖厛厖厖厖厖厖厖垍厖垍厖厖厖厖垍厖厖厛垍厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厛厖厖垍厖厖厖厖厖厖厖厖厛厖垍厛厖厛厛垐厖垍厖厖垍厖垍厛厖垍厖垍垍厖厖厖垐厖垍厖垍厖厖厖垍厖厖厖垐厛厖厖垍厛厖厖厛垍厖厖厖厛厖厖垍厖厖厖厖厖厖厛厖厖厖垍厛厖厛厛厛厖厖厖厖垍厛厖厖垍厖厖厖厛厖厖厖厖厖厖垍厖厖垍厖厛垍厖厖厖厖垍厖厖厖厖厖厖厖厖厖厛厛厛垐厖厛垍厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厛厖厖厖厛垍厖垍厖厖厖厖垍垐垍垐厖垍厖厖厖垐垍厖厖厖厛厛垐厛垐厛厛厛厛厖厛厖垍厖厖厖厖厖厖厖厖垍厖厛垐垍垐厖厛厖厖垍厛垍厖垐厖垐垍厖厛厛厖厖厖厖垍厛厖厖厖厖垍垍厖厖垍厖垍垍厖厖厛垐厖厛垍厖厖厖厖厛垍厖厖垍厖垍厖厖厖厖厖厖垐厖厖厖厖厖垐垍垍垍厖垍厖垍厖垍厖厖厖厛厖厖厖厖厖厖厛垍垍厖厖厛厖垐垍垍厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖垍厖厖厖厛厖厛厛垐厖厖厛厛厖厖厛厖垍厖厖厖厖厖垍厖垐厖厛厖垍厖厛厖厖厛厛垐厖垐厖垍垍垐厖厛厖厖厖厖厖厖厖厖厖厖厖厖厛垍垍厖厖厛垐厖厛厖厖厛厖厖厖厖厖厖厖厖厖厖垍厖厛厛厖厖厖垍垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖垐厖垍厖厖垍厖厖厖厖厖厖厖厖厖垍厛厖厖厖厖厖厖厖垐厖厖厖厖厖厖厖厖厖厛厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖垍垍厖厖厖厖厖垍厖厖垍厖垍厖厖厖厖厛厖厖厖厖垍垍厖厛厖厖厖厛垍垐垍厖厖厖厖厖厖厖垐厖厛垐垍厖厖厖厖垍厖垍垍厖厖厖厛厖厖垐厖厖厖厖垐垍厖垍厖垍厖厛垍厖垐厖厖厖厖厖厖垍垍垍厖垍厖垍厛厖厖厖厛厖厛厖厖垍厖厛厖厖厖厖厛厖垐厖厖厖厖厖厖厖厛厖厖厖厖厖垍厖厖厖垍厛厖厖厖厖厖厖厖厖厖厖厖厖垍厖厛厛厖厖厖垍厖厖厖厖厖厖厖厖垍厛厛厖厖厖厖厖厖厖垐垍厖厖厖厖厖垍厖厖垐垍厖厖垐厖厖厛厖厛厖厖垍厖垍厛厛垍厛厖垐厛厖垍厖厖厖垍垍厛厖厖厖厖垐厖厖厖厛厖厖厖垍厖厖厖厖厖厖垍垍厛厛垍厖厖厖厖垍厖厖垍厖厛厖厛垍厖垍厛厖厛厖厖厖厖厖厖厛厖厛厖厖厖厖厖厛厖垍厖厖厖厖厛厖厖厖垐厖厖厖厖厖厖厖厛厖厖厖厖垍厖厖厖厖厖厖厛厖厖厛厖厛垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖垍厖厛厖厖厖厖厛厖厛厖厖厖厖厛垐垍厖厖垍垍垐垍厖厖厖厖厖厖厖厖厛垍厖厖垍垐厖厖垐垍厖厛厖厛厛厖厖厛厖厖厖厖厖厖垍厖垍厖厖厖厖厖厖厖垍厖厖厛厖厖厛厖厖厖厖厖垍厖厖厛厛垍厖厖厛厖垍厛厖厛厖厖厖厛厖垍厖厖厖厖厖厖厖厛厖厖厖垍垍厖厛厖厖厖厖厖厛厖厖厛厖垍厖厖垍厖厖厖厖厖厖厖厖厖厖厖垍厖厖厛厛厖厖厖厛垍垍厖厖厖厖厖厖厖厖厖厖垍厖厛厖厖垍垍厖厖厛厖厖厛厖厖厖厖垍垍厖垍厛厛厛垐厖厖厖厖厛厛厖厖垐垍垐厖垍垐垍厖厖厛厖厛厖厖厛厖垍厖厖厖垍厛厖厛厖厖厖厖厖厖厛厖厖厖厖厖厖厖垍厛厖厖厛垍垍厖厖厖厖厖厖厖厖厖厖厖垍厖厖厛厖厖厖垍厖厖厛厖厖厖厖垍厖厛厖厖垍厖厖厖厖厖垍厖垍厛厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厛厖厛厖垍厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厛垍厖厛厖厖厛厖厖厛厛垍垍垐厖垍厖厖厖厛厖厖厖垍厛厛厖垍厖厖厖厖厖厖厖厛厖垐厖厛厖厖垍厖厖厛厛厖厖厖垍厛厖厖厛厖厖厖厖厖厖厖厖厖厖厛厖厖厖垍厖厛厖厖厛厛厖垍厖厖厖厖厖厛厖厖厖厖厖垍垍厖厖厖垍厛厛厖厖厖垍厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厛厖厛厖厖厖厛厖厖厖垍厖垍垍厖垍厛厖厖厛厖厖厖厖厖厖厖厖厖垍厛厛厖厛厖厖厖垍垍厖厖厖垍厖厖厖厖垍厖垍厖厖垍厖厛厖厖厖厖垍厖垍厖厖厖垍厖垍厖厖厖厖厖厛厖厖厖厖厖厖厖厖垍垍厖厖厖厖厖厖垍垍厛垍厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厛厛厖厛厖厖厖厖厖垍厖垍厖厖垍厖厛厖厖厖垍垍厖厖厖厖厛厛厖厖厛厖厖垍厖厖厖厖厖垍厛厖厖厛厖厖厖厖厖厖厖厖厖厖厛垍厖厖厖厛垍厖厖厖厖厖厖厖厖厖厖垍厛垐垍厖垐垍厖厖厖垐厖垍厖厖厖垍厖厖厖厖厛垐厖厖厖厖厖垍厖厖厖厖厖厖厖垍垍厖厖垍厖厖垐厖厖厖厛厖厖厛厖厖厖厖厖垍厖厛厛厖垍厖厖垍厖厖厖厖厖厖厖厖厖垍厖厖厖厖厛厖厖厖厖垍厖厖垍厖厖厛厖厖厖厖垍厖厖厖厖厖厖厖厖厖垍厖厖厖厛垍垐厖厖厖厖厖厖厖厖厛厖垍厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖垍厛厖厛厛厛厖垍厖厖厖厖厖厛垍厖厖厖厛厖垐厛厖垍厖厖厖厖厛厖厖垍厖垍厖厖厖厖厛厖垍厖厖厖厖厛垍厖垐厛厖厖厖厖厖垐厖厖厖厖厖厖厛厖厛厛垍厛厖厛厖垍垍厖厛厖厖厖厖厖垍厖厖厖垍垍厖厖厛厖厛厖厖厖厖垍垍垍厖厖垍厖厖厖厖厖厖厖厖厖厛厛厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厛厖厖垍厖厖厖厖厖厛厖厖厖厖垍厖厖垍垍厖厖厖厖厖垐厖垍厖厖厛厖厛厖厖厖厖厖厖垍厖垍厖厛厖垍厛厖厖厖垍厖垍厖厛厖厖厖厖垍厖厖厖厛厖垍厖厖厖厖垍厛垍厖厛厛厖厖厖垐垍厖厖厖厖厖厖厖垍厛垍厖厛厖厖厛厖厖厛厖厖厖厖垐厖垍垍厖厛垍厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖垍厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厛厖厖厖厖厖厖厖厖厛厛厖垍厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖垍厖厖厖厖垍厖厖厖垍垍垍厖厖厖厛厛垍垐厛厖厖厖垐厛垍厖垍厖厖厖垍厖垍厖厖厛厛厖厖厖厖厖厖厛厖垍厖厛厖厖厛厖厖厖厖垍厛厖厖垍厛厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖垍厖厖厖厖厖厛厖垍厖厖厖厖厖厖厖厖厖厖垐厛厖厖厖垍厖厖厖垍厖厖厖厛厖厖厖厖厖厛厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛垍厖厖厖厖厛厖厖厖厖厖垍厖厖厖厖厖厛厖厖厛厖垐垍厖垍厖厖厖厖厖垍厖厖垍厖厖厛垐厖垍厖厖厖厖垍厖垍垐垍垍厖垍厛厛厖厛厖厖厖厖厛厖厖垍厖垍厛厖厖厖垐厖厛厛厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垐厖厖厖厛厖厖厖厖垐厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厛厖厖厖厛厖厖厖厖厖厖垐垍厖厛厖垍厖厖厖厖厖厖厖厖垍厖厛厖厖厖厖厖垍厖厖厖厖厖厖厛厖垐厖垍厖厖厖厖厛厖垍厛厖厖厛厖垍厛厖厖厛厖厛厖厛厖厖厖厖厖厖厖厖厖厛厖厖厛厖垐厖厖厖垍垍厖厖厖厖厖垍垍厖厖厖厛厖垍厛厖垐厖厖厖厖厛厖厖厖厖厖厖厖厖厛厖垍垍厛厖垍垍厖垍厛厛厖厖垍厖垍厛垐厖厖垍厖垍厛垐厖厖厖厖厛厖厖厖厖厖厖厖厖垍厖垍厖垍厖厖厖厖厛垐厖厖厖厖厛厖厖厛厖垍厖厖厖垍厖厖厖厖厛厖厖厖厖垍厛厖厖垍垍厖厖厖垍厖厖厖厖厖厖厖厖垍厖厖厛厖厖厖厖厖厖厖厖厖厖垍厖厖垍厖厖厖厖厛垍垍厖厖厖厖垍厖厛厛厖厖厖厖厖垐厖厖厛厖厖厖垍厖厛垐垍厛厖厖厖垍厛厛厛厖厛厖厖垍垍垍厛厖厛垍厛厖厛厖厖厖厖厖垍厖厖垍厛厖厖垍垍厖厛厖厖厖厖厖厖厖厖垍垍厖厖厖厖厖厖垍厖厖厖厛厖厖厖厛厖垍厖垍厖厖厖厖垍厖厛厖垍厖厖厖厖厖厖厖厛厛厖厖厖厖厖厖厖厖厖厛厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛垍厖厖厖垐厖厖厖厖厛厖垍厖垍厖厖厖厖厖厖厖厛厖厖厖厖厛垍厛厖厖厛厖厖厖厖厖厖厖垍厖垍厛厛厛厛厖垐厖厖厖厛厖厖厛垐垍厖厛垍厖厖厖厖垐厖厛垍厖厖厛厖厖厖垍厖垍厖厖垐厛厖垍厖厖厖厖厖厖厛厖厖厖厖厖厖厛厖厛垍厖厖厛垍厖厖厖厖厖厖厛厖厛厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厛厖厖厖厖厖厖厖垍厖厛厖厖垍垍垍厖厛厖厛厖厛厖厖厖厛厖厖厖厖垐垐厖厖厖厛厖厛厖厖厛垍厖厖厖厛厖厖厖厖垍垍厛厖厖厛厖厖厖厖厛厖厖厖垍厖厖垍厖厖厖垍厖厖厖垐厖垍厖厖厖厖垐厖厛厖厖厛厖厛厖厖厖厖厛垍厖厖垍厖厖厛厖厖厖厖厖厖厖垐厛厖厖厖厖厖厖厛厛厖厖厖厖厖厖厖厛厖厛垐厖厖垍厖垍垍厛垍厛厖垍垍厛厖厛厛厖厖厖厖厖厖厖厛厖厖厖厛垍厛厖厖厖厖厖厖厖厖垍厛垍厖厛厖垍厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖垍厖厖厖厛厖厖厖厛垐厖厖厛厖垐厛厛垐垐厛厖厖厖厖厖厛厛厖垐厖厖厖厖垍厛垍厖厖垍厖垍厖厖垍厖厖厖厖厛厖厛厛厖垍垍厖厖厖垐厛厖厖厖厛厖厖厖垐厖厖厖垐厖厖厛厖垍厖厖厛厛垍垍厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖垍厖厖厖厛垍垍垍厖厖厛垍厖厖厖厖厖厖垍厖厖厖厖厛厖厛厖厖垍厖厖厖垐垍厖厖垍厖厖厖厖厖厖厖厖厖厖厖厛垍垍厖厖厖厖厛厖厖厖厖厖厖厖厖厛厛厖厖厛厛厖厖厖厖垍厖厛厖厖厛厖厖厖厖厖垍垐厖垍厛垍厖厖厖厖垍厖厖垍垍厖厖厖厖厖厖厖厖垍厖厛垍厖垐厖厖垍厖厖厖厛厛厖厖厖厖厖厛厖厖厖厖垍厛垍厛厖厖厖厖厛厖厖厖厖厖厖厖厖垍垍垍厛垐厛厖厖厛垍厖厖厖厖厖厛厖厖垍厖厖厛厖垍厖厖厖垍垍厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖垐厖厛垍厖厖厖厖垍厖厛垍垍垐厖垍厖厖厖厛垐厖垍厖厛垍厛厛垍厛厖厛垐厖厖厖垐厛厛厖厖厛厛垍厖厖厛厛厖厖厖厛厖厛厖厛厛厛垍厖垍厖厛垍垍厖垍厖垍厖厖厖厖垍垍厖厖厖厖厖厛垍厖厖垍厖厖厖厖厛厖厖厖厖厖厖垐垍厖厖厖厖厛厖厖垍厖厖厖垐厖厖厛厖厖厖厖垍厛厛厖厖厛垍垐垍厛厖厖厖厖厖厖厖厖厛垍厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厛厖厖垐厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厛厖厖厖厖厛厛厖厖垍厖厛垐厖垐厖厖厖厖厛厖垍厖厖垍厖厖厛垍厛垐厛厛厖厖厖厖垐厛厖厖厖厛垍厛厖厖垐厖垍厖厖厖厖厛垍垐厖垍垍垍厖厖厖厖厖厛厛厖厖垍垍厖厖垐垍厛厖厖厖厖垍厖厖垍厖厖厖垍厖厖厖厖厖厖厛厖厛厖厖厖垍厖厖厖厖厖厖垍厖厖厖厖厖厖垍厖垍厛厖厖厖厖厛厖厖厖厖垍厖厖垍厖厖垐厖垐厖厖厖厖厖厖厖厖垍垍厖厖厖厛厖厖厖厛厛厖垍厖垐厛垍垍厖厖厛厛厖厖厛厖厖厖厖垍厖厖厖厖厛厖厖厛厖厛垍垍厛厖厖厖垍厖厖垐垍垐垐垍垍厛厖厛垍厖垍厖垐厖厖厖厖厛厖厖厛厖厛厖厖厛厛厖厖厖厖垐厖垐厖厖厖厖垍厛垍厖厖厖厛厛厖厖厛厖垍厛厖厛垍厖厛厖垐垍厖厖厖垍厖厛厖厖厛厖垐厖厖厖厛厖垍厛厖垍厖厖厖厖厖厖厖厛垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厛厖厛厖厖厖垍厛厛厖垍垍厖厖厖垐垍厖厖厖厛厖厛厖垐垍厖垍厖垍厖垐厖垍厖厖厛厖垐厖厛厖垍厖垍厖厖厖厖厖厖垍垍垐厖厖厖垍厛厖厖厖厛厖厖厖厛厛厖厖厖垐垍厛厖垍厖厛厛厖厖厖垍厛厖厖垍厛厖厖厖垐厖厖厛厖厖厖厖垍厖垍厖厖厖厖厖垍厖厖厖厖厖厖厛厖垍厖厖厖厖厖厛厛厖厛垍厛厖厛厖厖厖厖厖垍厖厖厖垍厖厖厖垍厖厖厖厛厖厖垍厛垍厖厖厖厖厖厖厛垍厖厛厖厛厖厛厖厖垍厖厛厖厖厖厖厖垍厖厖厖垍厖垐厖垍厛厖厖厖厛厖垍垍垍厖厛垍厛厖厖厖厖厖厛厖垐厖厖厖厛垍厖厖厖垍厖厖厖厖厛垍垍厖垐厛厖垍厖垍垍厖厖厖厛厖垍垍厖厖垐厖厖厖厖垍厖厖厖厛厛厖厖垍厖厖厖垍厖厖厛厖垍厛厖厖垍厛垍厛厖厖厖厖厖厖厛厖垍厖厖厖垍厖厖厖厖厖垍垍厖厖厖厖厖厖厖厖厖厛厖厖厖厖厛厖厖厛厖厖厖厖厖厖厖厖厖厖垐厖厖厖厖垍厖垍厖垍厖厖厖厖厖垍厖厖厖垍厖厖垍厛厖厖厖垍厖厖厛厖厖厖厖厖厖厖厖厖厛厖厛垍厖厛厖厖垍垍垍垍厖厖厖垍厖厛厖厛厖厖厖厖垍厛厖厛厛垍厖厖厖厖厖厖厖垍垍厖厖厖厛垐厖厖垐垍厛厖垍厛厛厖厖厖厖垐厖厖厖厖厖厖厖厖厖垍垐厖厛垐厖厖厖厖厖厖厖厖垍垍厖厖厛垍厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖垍厖厖厛厛厖厖厖厖垍厖厖厖厛厖厖垐厛厖厖厖厖厖厖厖厖垍厖厖垍垍厛厖垍厖厖厛厖厛垐厖厖厛垐厖厛垐厛厖厖垍厖垍厖厖厖垍垍垍垍厛厖垍厖厛厖厖厖厖厖厖厖厖垍厖垍厖厖垐垍厛厖厖厛厖厖厛厛厖厖厖垐垐厛厖厖厖厖厛厖厖厖垍垍垍厖厛垍垍垍厛垍厖厖厖厖厖厖厖厖垍厛垍厖厖厖厖厖厖厖厖垍厖厖厖厛垍垍厖厖厛厖厖厖厖垍厖厖厖厖厖厖厖垍厖厖厖厖厖厛厖厖厖厖厛厖垐厖厖厖厖厖厖厖厖厖垐垐厖厖厖厖厖厖垍厖厛厖厖厖厖厖厖垍厖厛垍厖厖厖厖垐厖垍厖厖厖厖厖厛厛厖垍厖厖垍厖厖厖垐垐垐垍垍厖厖厖厖厖垍垍厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厛厖厛厖厖厖厖厖厖厖厖垍厖厖厖厛厖垍厖垍厖厛厖厛厖厛厖厖厖厛垍厖厖厖厖厖厖垍厖厖厖厖厖垍厖厛厖厖厖厖厖厖厖厖厖垍厛厖垐厖厖厖厛厖厖厖厖厖厖垍厖厖厖厖垍厛厖垍厖厖厖厖垍厖厖厛厖厛垍垍厛垍厖厖垍厛厖厛厖厖垍厖厖厛厖垍厖厖垐厖厛厛垍厖垍厖厛厛厖垍厖厖厖厖厖厖厖厖厛厖厖垐垍厖厖垍垍厖厖厛厖厛厖厛垍厖垐垍垍厛垐垍厖垍厖垍垐厖厖垐厖垍厖厖厖厖厛厖厖垍厖厖厖垐厖厖厖厖厛厖厖厛厖厖厖厖厖厖垍垍厖厖厖厖垍厖垍厖厖垍厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厛厖厖垍厖垐厖厖垍厖厖厖厛厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厛厖垍垍垍厖厖厖厖厖垍厖厖厖厖厖厛厛垍厖厛垍垍垍垍厖垍厛厖厖厛厖厛垍厖厛厖厛厖厖厛垍厖厖厛厖厖垍厖厖厖厖垍垐垍厖厖厛厛厖垐厖厛垍厛厖厛厖厛厖厖厛厖垍厖厖厖垍垐垍厖厖厖厖厛厖垍厛厖厛厖厖厖厖厖垍垍厖厖厖厛厖厛厖厖厖垍垍厛厖厖垍厖厖厖垍厖垍厖厖厖厖厛垍厖厖厖厖垐厖垍厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖垐垍厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厛厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厛厖垍厖厖厖厖厖厛厛厖厖厖垐厖厖厖垍垍厖厖厖厛垐厛厖厛厖垍厖厖厖垍厖垍厛厖垍厖厖厛厖厖厖厖厖厖厖厖垍厖厖厖厖垍垐厖厖垐厖垍垍厖厖厖厖厛厖垍厖厖厖厖垍厛厖厖厖厖厖厖厖厖厖厖垍厖厖厖厛厖厖厖厖厛垍厖厖垍厖厖厖厖厛厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垐垍厖厖垍厖厖垍厖垐厖厛厖垍厖垍厛厛厛厖厖厖厖厛厖厛垍厖垍厛厖厖厖厖厖厖厖厖厖厖厖垍垍厖厖厖厖垍垍厖厛垍厖厖厛厖厖厖厖厖厖厖厖厖厛厖厖厖垍厖厖厖厖厖垍厖厖垐厖垍垍厖厖厖厖厖厖厖厖厛厖厖垍垍厖垍厛厛垍厖垍厖厖厖厖厖厖厛垍垍厖垍厖厖厛厛厖厖垐厖垍厖厖厖厖厖厖厖厛厖厖垐厛厖厖厖垍厖厖厖厖厖厖厖厖厖厛厖厖垍厖厖垍厖厛厖厖厖厖厖厖厖厖厖厖垍厖厖厖垐厖厛垍垍厛厖垍厖厖厖垍垐厖厖厖垐厖厖厛厖厖厖厖厛厖厖垍厖厛垍厖厖垍厖厖垍厛垍厖厖厖厛厖厖厖厖厖垍厛厖垐厖厖厖厛厖厛厖厛垍垍垍厖厖厖厖厖厖厖垐厖厛厖厖垍厛厖厖厖厖厛厖厛厖厛厖垍厖厖厖厖垍垍垍厖厛垐厛厖厖厖厛厖厖厖厖厖厖垍垍厖厛厖厖厖厖厖厛厖垍厖厖厖厖垍厖垍厛厖厖厖厖厖垍厖厛厖厖厖厛厛厖厖厛厖厖厖厖厖垍厖垐厖厖垍厖厛厖厛厖厛垍厖垐厛垐厖厖厛厖厖厖垍厖厖垐厖厖垍厖厖厖厖垍厖厖厖厖厛垍厖厖厖厛厖厖厖厛厖垍厖厖厖厖垍厖厖厛厖厖垍垍厖厖厖垍厖厖厖厖厖厖厖厖厖垍厖垍厖厛厖厛厖厛厛厛厖厖垐垍垐垍厖垐厛厛垍厖厖厖厖垍厖厛厖厖厛厛厖垍厖厖厛垍厖厛厛厖厖垍厖厖厖厛垍厖厖垍垐厖厖厖厛垍厛厖厛厖厛厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厛厖垍厖厖厖厖厖厖厖厖厛厖厖厖厖厖厛厖厛厖厖垍厛垍厖厖厖垍垍厖厖垍厖厛垐垍厖厖厖厖厖厖垐厖垍厖垍厖厖厖厖厛厖厖垐垍厖厖厖垍厖垐厛垐厖厛垍垍厛厖厖厛厖厛厖厖厖厖垐厖垍厖垍厖厖厛厛厖厛垍垍厖厖垍垍厛厖垐厖厖厖厖厖厖厖垐厖厖厖厖厛厖厖厖垍厖厖垍厛厖厖厖厖厖厖厖厖厖垍垍垐厖厖厖厖厖厖垍厖厖厖厖垍厖垍厖厛厖厖厖厖厖厖厛厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厛厖厖厛厛厖厖厛厛垍厖厖厛垍垐厖厖垍厛厖垍厖厛垍垍厖厖垍垍厖厖厖厖垐厖垍厖垍厛厖垍厖垐厛厖厖厖垍厖垍厖厖垐厖垐厖厖垍厖厖厛厖厛厖厖厖厖厖厖垍厖厖厖厖厖厖垍厖厖垍厖厖厛厖厖厖厛厖厖厛厖厖厖垍厛厖厖厖厖垍厖垍垍厖厖厖厖厖厖厖垍厛厛厖厖垍厖厛厖厛厖厖厖厖厖厖厖厖垍厖厖厖厛厖厖厖厖垍厖厛厖垍厖厖厖厖厖垍厛垐厖厖厖厖厛厖厖厖厖厖垍厖垍厖厖垍厖厖垍厖厖厛厖厖厖垍厖厛厖厖厛厖厖厖厛垍厖垍厛厖厖厖厖厖厖厖厛垍厖厖厖厖厖厛厛垍厖厛垐垍厖厖厛厛厖厖厛垐垍厛厖厖厖厖厛厖厖厛厖厛厖厖厖厖厖厖厖厖垍厖厖垐厛厖厖厛垐厛垍厖厖厖厖厖厖厖垍厖厖厖厖垐垍垍厛厖厖厛厛厛厖厖厛厖厖厖厖垐厖厖厖厛厖厖厖厖垍厖厛厖厖厛厖厖厖厖厖厖厖厖厖厛厖厛厖厖厖厖厖垍厖垍厖厖厖厖厛厖厖厖厖厖厖厖厖厖垐厛厖厖垍厖厖厖垍厖厖厖厖厖厛垍厛厛厛厖厖厖垍厖厖厖垍厛垍厖垍垍垍垍厖厖厖厖垍厖厖垍垍厖厖垍垍厛厛厖厖垍厖垐厛厛厖厛厖厖厖厖厖垐厖厛垍厖垍垍垍厖厖厛垍垍垍厖厖厖厖厖厖厖垍垍厖厖厛厖厖厛厖厖垍垍厛厖厖厖厖厖厖厖垍厖厛厛厖厖厖厖厖厖厛厛厖厛厖厖厖厖厖厖垍厖厖厛厖厖厖垍厖厖厖厖厖厖厖厖厖垐垍厖厖厖厛厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖垍厖厖垐厛垍厖厖厛厛垐厖厖垍厛厖垍厖厖厖厖厖厖厖厖厖厖厛厛厛厖厛厖厖垍垍垍厖垍厛厖垍厛厛厖垐厛厛厖垍厖厖厖厖厖厖厖厖垍厖厖厖厖垐厛厛垍厖厖厛厖厖厖厖厛厖垍厖厖厛垍厖厖厛厖厛厖厖垍厖厖厖厖厖垍厖厖厖厛厖厖厛厛厖厖厖厖厖厖厛厖厖厖厛厛厛厖厖厖垐厖垍垍厖垍厖厖厖厖厖厖垐厖厖厖厛厖厛厖厖厖厖厖厖厖厖厖垍厖垍厖厖厖厖厛厛厖厖厖厖厖厖垍垍垐厛厖厛厖厖垍厖厖厖垐厛垐厖垍厖厖厛厖厖厖厖厖厛厖厖厖垍厖厖厛垐厖垍厖垐厛厖垍厖垍厖垐垍厖厛厖厖厖垍厖厛厖垍垍厖厖垐垐厖垍厛厖厛垍垐厖厖厛厖厖厛厛厖厛厖厖厛厖垍厖厖厖厖厖厖厖厖厖垍厖垐垍垍厖厖厖厖厖厖厛厛厛厖厛厛厖厖厖厛厖垍厖厖厖垍厖厖厖厖厖厛厖厛厖厛厖厖厖厖垍厛厖厖厖厖厖厖厖厖厖垍厛厖垍厖垍厛厖垍厖厛厖厖厖厖垍厖厖垍厖垍垍厖垐垍厛厛垍垍垍厖厖厖厖厖厖垐厖厖厖厖厛厛厖厖厖厛垍厖厛垍垐厖垍厖垍厖厖厛厛厖垐厖厖厖垐厖厛厖厖厖厖厖厖厖厖垍厖厖厖厛厖垍厛厖垍厖厖厖厖垐垍厖厖厖厖厖厛垍厖厖厖厖厖厖厖厖厖垐厛厖厖厖厖厛厖厖垍厖厖厖厖厖厖厖厖厖厖厛垍厖厖厖垍厖厖厖垍厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖垐厖垍厖厖厖垍垍厖厖厛厖厛厖厖厖厖厖垍厖垍垍厖垍厖厖厖垍厛垍厖厛厖厛厖厖厖厖垍厖厛厛厛厖厖厛厖垍厖厖厛垐厖垐厖厛厛垐厖厖厖厖垍厖厛厖厖厛厖厖垐垍厖垍厛厛厖垍厖厖厖垍厛厖厖厖厛厖厖厖垍厖厖垍厖垍垍厖厖厛垍厖厖厖厖垍垍厖厖厖厖厖厛厖垍厛厖厖厖厖厖垍垍厖厖厖厖垍厛厖厖厖厛厖厖厖垐厖厖厖厛厖厖厖厖厖垍厖垍厖厛厛厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厛厖厖厖厖垐厖垍厖厖厛厖厛垍厖厖厖厖厖厖厖厖厛垐厖厛厖厖厖厖垍垍厖垐厖垍厖厖垐厖垐垐垐厖厖厖垍厖厛厛厖厖厖厖垍厛厖垐厛厛厖厖垍垍垍厛厖垍厖厖厖厖垍厖厖厛厖垍厖垍厛垍厖垍厖垍厖厖厖厖垍厛垍垐垍厖垍垍垍厖垍厖厖厖厖垍垍厖厖厖垍厖厖垍厖厖厛垍厖厖垍厖厛垐垍厖厖厖垍垐厖厖垐垍垍厛厖厖厖垍厖垍厖厖厖厖厖厛垍厖厖厖厖厖厖厖垍垍厖厛厖厖厖厖厖垍厖厖厛厛厖厖厖厖厛厖厖厖垍厛厖厖厖厖厖厖厖垍厖厖厛垐厖厖垐厖垍厖厖厛厛厖厖厖厖厛厖厖垍垍厖厖垍厛厖垍垍厛厖厛厖厖厖厖厛厖垍厖垐厖厖厖厖厛厖厖厖垍厛厖厛垍厛厖厖垐厖垍厖厖厛厛厖厖厖垍厖厖厖厖垍厖厖厖厖厖厖厖厛厖厖厖垍厖厖厖厖厖厛垍垍垍厖厛垍厖厖厖垍厛厖厖垐厖垐厛厖垍厖厖厖厖厖垍厖厖厖厛厛厖厖厖厖厖厖厖厖厖垍厖厖厛厖厛厖垍垍厖厖厖垍厖厖垍厖垍垐垍厖厖厛厖厖厖厖厖厖厖厖厛厖厖厛厛厖垐厖厛厖厖垍厖厖厛垍垍垍厛厖厖垍厖垍厛垐厖垍垍厖厖厖厛厖厖厖垍厛厖厛垐厖厖厖厖厖厖垐厖厖厖厖垐垍厛厖厖厖厖厖厖厖厖厖厖厖垐厖厖厛厖厖厖厖厖厖厖厖厛厖厖厛垍垍厛厖厖厖厖厖厖厖垍厛厖垍厖厖厖厛厖垍厖厖厖厖厛垍垍厖厖厖厛厖厖厖垐厛垍厛厖垍厖厖厖垐厛垍垍厖厖垍厖厖厖厖垐厖垍厖厖厖厖厖厖厖垍厖厖垍垐厛厛厖厛垍厖厖厛厛厖厖厛厛厛厖垐厖厖厖垍厖厖厖厛垐厖厖厖厛厖厛厖厖厛厖厖厖垐厖厖厖垐厖垍垍厛厖厖厖厖厖厖厖厖厖厛厖厖垍厖厖厛厖厖厛厖厖厖厖厖厖垍厛垍厛垍厖厖垍厖厖厖厖垐厖厛厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厛厖厖厛厖厖厖厖厖厖厛垍厖垍厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖垍垍厖厖厖垍垍厖厖厛厖厖厖厖厖厖垐厖垍垍垍垐厖厖垍厖厖厛厖厖厖厖垍厖厖厖厖厖厖厖厖垍厖厖厖厖垍厖厛厖厖垐厖垍厛厖厖垍厖垍厖厖垍垐垍厖厛厛厖垍厖垍垍厖厖垍垍厖厖厖厖厖垍厖厖厖厖垍垍厖厖厖厛厖厖厖厛厖厖厖厛垍厖厛厛垍厖厖厖垍厖厛厖厖厖厖厖厛厖厖厖厖厖厖厖垍厖厖厖垍厖厖厖厖厖厖厖厖厖厛厖厛厖厖垍垍媴垍厖垍厖厛厛厖厖垍厖厛厖垐厖厛厖厖厖厖厖厖厖垍厖厖厖厛厖厖垍垍垍垍厖厛厖厖厖厖厛厛厖厖垍厖厖厖厖垍垍厖厖垍垐垐垍垍厖垍厖垐厖厖厖厖厛垍厖厖厛厖垍垍垍垍厖垐厖厛垍厖垍垍厖厖垍厖厛厖厖垍厖厖厖厖垍厛垍厖厖厖厖厖垐厖厖垍厖厛厖厖厖厖厖厛垍厛厖厛厖厛厖厖厖厖厛厖厛厖厖垍厖厖厖厖厖厖厖垍厖垍厖厖厖厖厖厖垍厛厛厛厖厛垐厖厖厖垍厛厖厖厖厛厖厖垍厖厖厛垐厛厖厖厛厛垍厛厖厖厖垍厖厛垍厖厖厖厛厛厖厛厖厛厖厖厛垍厛垍垍垍厖垐厛厛垐厛厛厖垍厖厛厖厖垐厛厛垍厖厖厖厖厖厖厛垍垐厛厖厖厖垐厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厛厖厖厖厖厖厖厛厛厛厖厖垐厖厛厛厖厖厖厛厖厖厖厛垍垍厖垍厛厖厖厖垍厖垍厖垍厖厖厖厖厖厖厖厛厖厖厖厖厛厖厖厖厛厖厖厖厖厖厛垐厛厛厖厖厖厖厛厖厖垍厖厖厖垐厛厖厛厖厖厖厛垐垍厖厖厛厛厖厖厛垍厖厖厛厖厖厖厖厖垐垍厖垐垐厖垐厛厖垍厖垍厛垐垐垐厛厛厛垍厛厖厖垍垍厖厖厖垐垍厛垐垍厖厛厖垍厛厛厖垍厖垍垍垍厖厛厖厖厖厖厛垍厛厖厖厖厖垍垍厖垍厖厖垐厖厖厛厖厖厛厖厛垍垍厛厖厖厖厛厖垍垍厖厖厛垍厖厖厖厛垐厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖垍厖厖厛厖厖厖厖厖垐厖厖厖厛厖厖厖厖厖垍垍厛厛厖厖厖厖垐厖厖厛厖厖厛垐厛厖厖厖厖厖厖厛厖厖厛厖厖厛垍厛厖厛厖厖垍厖厖厖厖厖厖厛垍厖厛垍厖厖厛垍垍垍垐厛厖垍厛厖厖厖厖厛厖垐垍厖垍厛厖厖厖厖厛垍厛厖垍垍垍厖厖厖垍厖厖垍厖厖垍垐厖厛厖厖厛厖厖厖厖厛厖厖厖厖厛厖垍厖厖垍厖垐厖厖厖厖垍厖厛厖厖厖厖厖厛厖厛厖垍厖厖厖垐厖厖厖厖厖厖厖垍厖厖垍厖厖厖厖厖厖垍厖厖厖厖厖垍垍厖厖厖厖垍厛厖垍厖厖厛垍垍垍厖厖厖媹垍垍厛垍厛厖厛厖厖厖厖垐厖厖厖厖厛厛厖厖垍厛垐厖厛垍厛厛厖厛厖厛垐垍厖垍厛垍垐厖厖厖厖垍垍垍厖厖厖厖垍厛厛厛垍厛厖厖厛厖厖垍厖厖厖厖厖垐厖厛厖垐厖厖垐厛厖厖厖厖厖垍厛厖厖厖厛厖厖厖厖厖厖垍垐厖厛垍厛厖厛厛厖厖厖厖厖厖垍厖厖厖厖厛厖厖厖厖垐厖厖厛厛厖厖厖厖垍厖厛垍厖厖厖厖厖厖垍厖垐厖厖厖垐厖厖厛厖厖厖厖垐垍厖厖厖厖厛厛垐厖厖厛厛厖垍厖厖厛厖厖厖厛厛厛厖厛垍厖垍垐厖厛垍厖厛垍厖厖垍厛厖厖垐垍厖厛垍垍垐厖厖垍垍厖厛厛垍厖厛厖垍厖垍厖厖厖垐厛厖厖垍垐厖厖垐垍垍厖厖厖厛垍厖厖厖厖垍厛厖厛垍厖厖厖厖垐厖厖厖厖垍厖厖垍厖垍厛垐厖厛厛垍厛厖厖垍厖厖厖厖厖厖厖垍厖厖厖厛厖厖厖厛厖厖厖厖厖厖垍垍厖厖垐垍厖厛厖厖厖垍垍垍厖垐厖厖厛垐垍厖厖厛垍厖厖垍厖厖厖厖厛垐厖厖厛厖垍厖厖厛厖厖垐厖厛厛垐厖厖厖厛厖厛厖垍厛厛厖厖厖厖厖厖厖厖厖厛厖厖厖垍垍厖厖垐厖厖垍厖垍厛厖垍厖厖厖厖厖厛厖厖厖厖厖厖厛厛厖厖厖垍厖厖厖厖厖厖厖厖厖垍厛厖厖厖厛厖厖厛厖厛厖厛厛厖厖厛垍厛垐厖厖垍厖垍厛厖厖厖厖厖垐垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖垍厖厖厛厛厖厖厛厖厖垍厛垍厖厛垐厛厖厖厛厖厛厖厖垐厛厖厖垐厖厛厖厖厛垍厖厖厖厛垍垍垐厖垍厖厖厖厛厖厖垍厖厛厛垐厖厖厖垐垍厛厖垐厛厛厖厖厖厖厖厖厖厛厖厖厖垍垐厛垐厛厛垍厖垍垍厖厖厖厛厛厖厖厖垍垍厖垍垍厖厛垍垍厖厛厛厖厛垐厖厖厖厖厖厖厖厛厖垍厖厛厖厖厖厖厖厖厖厖垍厖厖厖厛垐厖厖厖厖厖厛厖厖厖厖厖垍厖厖厖厖厖厖厖垍垍厖厖厖厖垍厛厛厛垐厖厖厖厛垍厖厛厛厛垍厖厛厖厖厖厖垍厛垍垍厖厖厛厖垍厖厖垐厖厖厖垍垐厖垍厛厖厖厖厖垍垍垍垍厖厖厖厖厖厛厖厖厖厛厖厖垍厖垍垍垐厖厛厖垍厖垐垍厛垐垍垍厖垐厛厖厖厖厖垍垍厖厖垐厖垍厖垍厖厖厛厖厛厖厖厖厖厖垍厖垍厛厖厖厖垍厛厖厖厛厛厖厖厛厖厖厖厛垍垐厛厖厖厖厖垍厖厖垍厖厖垍厖厖厖厖厛厖厖厖厖垍厖厖厖垐厛厖厖厖厖厖厖垍厖垍垍垍垍厖厛厖厖厛厖厖厛垍厖厖厖厖厛垍垍厖厖厖厛厖厖厖厛厖厖厖厖厖厖厖垍厖厖厖垍厖厖垍厖厖厖厖垍厖厖垐垍厖垍垍垍厛垍厖垐厛厖厖厖厖厖垐厖厖厖厖厖厛厖厛厛厛厖厖厖厖厖厛垍厛厛厖厖厛垍厖厖厖垍厖垍厖厖垍厛厖厖垍厖厖厛厖厖厛厖厖厖厖厛厖厖垍厖厖厖厛厛厖厛厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖垍厖厛厖垍厖垍垍厛厖垍厖厖厖垍垍垍厖垍垍厖厛厛厖厖垍厖厖厛厖垍垍厖厖厛厖垐厛垍厖厛垍厖垍厛垍厛厖厛厖垐厛厛厖厖厖厖厖厖厖垍厖垍垐厛厖厖厖厖厖垍垍厛垐厖厖垍厛厛厖厛厖厛垍垍垐厛垍厖厖厛厛厛垍厖厖厖厖垍厖厖厖垍厛厖垍厖厛厖厖垍厛垐垍厖厖厖厖厖厖垍厖厖厖厛厖厖厖厛垐厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厛厖厖厖厖厖厖厖垍厖垍厛厖厖厖厖厖垍厖厖厖厖厛厛垍厖厛厖厖厖厖厛垍厖厖垍厖垍垍厖厖垍厖垍垍垍厛厖厖厛垍厛厖厖厖厖厛垍垐厛厖厖厖厖垍厛厛厖厛厛厛厖厛厖厖垐垍厖厖垍厖厖厖垍厛厖垍厖厖垐垍垍厛垍垍厖厛厛垍厖厖垍厖厛垐厛厖厖厖厖厖垍厖垍厖厖厛垍厖厖厖厖厛厖厖厖厖厖厖厖厖垍厖厖厖厖垍厛厖厛厖垍厖厖厖厖厛厛厖厛厖厖厖厖厖厖厖厖厖厖厛厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖垍厖厖厖厖厛厖厖厖厖厛厖垐厖厖厖厖厖垍垍垍厖垐垍厖厛厖厛厛垍厛厛垍厖垍垍厖厖厖厖垍厛厖厖厖厖厖厛厖厖厖垍厖厖厖厖厛垍垍厖厛厖厖厖垍厛厖厖厖垍垍厖厖厖垐厖垍厖厛厖厖厖厖厖厖厖垍厖垍厖厖厛厖厖厖厖厖厖垍厖厖厖厛厛厖厖垍厖厖厖厛厛厛厛厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厛厖厖厖厖垍厖厛厖厛垍厛厖厛厛厖厖厖厛厖厖厖厖厖垍垍厖垍垍垐厛厖垍厖厖厛厖垍厖厖厖垍厛厛垐厖厖厖厖垍厛垍垍垐厛厖垍厛厖厖垐垍厛垍垍厖垍垍厖垍垍垍厛厛厖垍厛垐厖厖厖厖垍厖厖垐厛垍厖厖厖厛厛厖垐厖垍厖厖垍垍厖厖厖厛垍厖厖厖厛垍厖厖垍厖垍厛厖厖垍厖厖垍垍厖厖厖厛垍厖厖垍厖厖厖厖厖厖厖厖厛厖厖厖厖厖厛厖厛厖厖厖厖厛厖厖厖厖厖厖厖厖厖厛厖厛厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厛垍厖厖厖垍厖厖垐厖厖厖厛厛厖垍垍厛垍厖厖厖垍厖垍厛垐垐厖厖垐厛厖厖垐厖垍厖厖厖厖厛厖厖厖厖垍垍厖厖垐垐厖厖厖厖厖厖厖垍厖厛厖厖厖厖厛厖厛厖厖厖垍厖厛厖厛厖厖厖厖厖厖厛厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖垐厖厖厛垍厖厖厖厛厖厛厖厖厖厖厖厖垍厖厖垍厖厛厛厖厖厖厖厛厖厖厖厛厖厖厖厖厛厖厖厖厛垐厛垍厖厖厖厖厖厖垍厖厖厖厛垍厛垍垍厛厛垍厛厛厛厛厖厛厖垐厖厖厖厖垍厖厖厛垐厖垍厖垐垍厛厖厖垍厖厖垐厖厖垍厖厖厖垍厛垐厛厖厖垍厛厛厖厖厖厖厖厖厖厛厛垐厛厖厛厛厖厖厛厖厖厖厖厖厖厖厛厛厖垍厖厖厖厖垍厖厖厛厖垐垍厖厖垍厖厛厖厖厖垐厖厛厖厖厖厖厛厖厛厖厖厖厖厖厛厖厖厛厖厖垍厛厖厖厖厖厖厖厖厖垍厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厛厖厖厖厖厖厖厖厖厖厖垐厖垍厖垐垍厖厖垐厖垐厖厖厖垍厖厖厖垍垍厖厖垐厖厖厖厖垍厖厛垍厖厛厖厖垐垐厖厖厖厖厖厖垍垍厖厛厖厖厛垐厖厖厖厖厖厖垍厖厖厖厛厖厛垍厛厖垍垍厖厖厛厖厛厖厛厛厛厖厖垍垍厖厖厖厖厛厖厖厖厖厖厖垍厖厖垍厖厖厛垐垍厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厛垍垍厖垍厖厖厖厖厖厖厖厖厖厖垍厛厖厖厖厖厖厖厖厛厖厖厖厖厖垍厛厖厖垍厖垍垍厖厖厖厖垍厖垍厖厖厖厖厛厖垍垍厖厖厖厖厖厖垍垍厛厖厖厛垐厖厖垍厖厖厖垍厖厛垐厖厛厖厛垍厛垍厛厛厖厖厛厖厛垍厖厖厖厛垍垐厖厖厖厖厖厖垍厖垍垐厖厖厖厖厖厖厖厖厖垐厖厖厖垍厛垍厖厛厖垍厖厖厖厖厖厖厛垍厖厖厖垍厖垍厖垍厖厖垍厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍垍厖厖厖厖厖厖厖厖厖厖厖垐厖厖厖厖厖厖厖厖垍厖厖厖厖厖厛厖垍厖厖厛厖厖厖厖厛厖厛厖垍厖垍厛垍垍厛厛垐厛厖厖厛垍厖厛厖厛垍厖厖垍厖厖垍厖垐厖厖垍厛厖厖厖厖厖厖厖厖垍厖厛垐垍垐垍垍厖厖厛厛厖厖垍垍厖厖垍垍厖垍厛垍厖厖厛厖垍厖厖厖厛厖垍厖厖厖厖厖厖厛厖厖垍厖厖厖垍厖厖厖厖厖厛厖垍厖厖垍厖厖厖厖厖厖垐厖厖厖厖垍厖厖厖厛厖厖厖垍厖厛厖垐垍厖厖厖厛厖厛厛厖垍厖厛垍厖厖厖厖垍厖厖垍垍垍厖厖厖厖垍垍垐厖厖厖垐垐厖厖垍垍厖垍厖垐垍厖厖厖厖垍厖厛厖厖厖厖厖厛厖厖厖厖厛厖厖垍厖厛垍垍厖厖厖垐厖垍厛垐厖垍厖厛厖厖厛垐厖厖厖厖垐厖厖厖厛厖厛厖垍厖垍厖厖厖厖厖厖厖厖厖厛厖厖厖厛厖垍厛厛厖厛厖厖厛厖垐厖厖厖厖垍厖厖垍厖厖厖厖厛厖厛厖厖厖垍厛厖厖厖厖厖厖厖厛厛垍厛厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖垐厛垍厖厖厖厖厖垍垍厖垍厖厖厛垍厖厖厖厖厖厖厖垐厖厛厛厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厛垍垍垍厖垐厖垐垐厖厖垍厖垍垍厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖垐厖垍厖厖垍厖垍厖垍垍厖厖厖厖厖厖厖垍垐厖厖厖厖厖厖垍厖厖垍厖厖厖厖厖厖垍厖厖厖垍厛厖厖厖厖厖厖厖垍厖厖厖厖厖厖垍垍厖厖厖厛厖厖厖厖厖厖垍厖厖厖厛厖厖厖厖垍厖厖垍厖垍厖厖厖厖厖厖厖垐厖厖垍厖厖厖厖垍厖厛厖厖厖厖厖垍垍厛厛垐厖垍厖厖垍厖垐厖垍厛厖厖厖厖厖垍垍厛厖厖垍厖垍厛厛厛垍厖厖垍厛厖厛垍厖厖厛厖厖厛垍垍厖厖厛厖厖厛厖厖厛厖厖厖厖厖厖厛厖厖厖厖厛厖厖厖厖厖厛厖厖厛厖垍厖厖厛垍厖厖厛垐厖厖厖厠垍厖厖厖厛垍厖厖厖厖垍厖厖厖厛垍厖厖厖厖厖厖厖垍厛垍垐厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖垍厖厖厖厖垐厖厖垍厖厖厛厛垍厖厖厛厖垍厖厛厖厛垍厖厖厛垍厖厖厖厖厛垍厖厖厖厛垍厖厖厖厖厖垍厖厖厖垍厖厖厛厖垍厛厖垍厖厛厛垍厖厖厖厛厛厖厖厖厛厖厖厖厖厖垍厖垐厖厖垍厖垍厖厖垐厖厖厛厖厖厖厖厖厖厖厖厖厛厖厖厖垍厖厖厛垍厖厖厖厖厖厖厖厖厖厛垐厖厖厖厖厖垍厖厖厖厖厖垍厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖垍厛厖厖厖厛垐厖厖厖厛厖厖厖厖厖厖厖厖厖垐厛厖垍厖垍垍垍厖厖垍厛垍垍垍厖厖厖厛厖厖垍垍厖厖厖厖厖垐厖厖厛厖垍厖厛厛垐厖厖厖厛厖厛厖厖垍垍厖厖厖厖厖厖厖厖厛厖厖厖厖厖垍垍厖厖厖厛厖厖厖厖厖厖厛厖厖厛厖厖厖厛厛厖垍厖垍厖厖厖厖厛厖厖厖垍厖厖厖厖垍厖厖厖厖厖厛厖厛厖厖厛厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厛厛垍垐厖厖垍厛厛厖厖厖厖垍厖厖厖厖厛厛厖垍垍厖厛厖厖厛厛厖垍厖厖厖厖厖厛厖厛厖厛厖厛厖厖厖厖厛厖垍厛垍厛厖厖垍垍垍垍厖厖垍厖厛厛厖厛厖垍厖垍厖厖厛厛厖垍厛厖厖厖厖厖厖厖厖厖垍厖厖厖厖厛厖垍厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖垍厖厛厖厖厛厖厖厖厖垍厖厖厖厖厖垍厖垍厛厛垍厖厖厖厖垍厛厖厖厖厛厛厖厖厖厖厖厛厖厖厖厖厖厖厖厖厛厖垍厖厖厖厛厖厖厖厛厖厛厖厛垍垐厖厛垍厖厛垍厖厖厛厛厖垍厛垍厖厖垍垐厛厖厖垍厖厖厛厛厖垍厛垐厛垍厖厖垍厖垐垍厛厖厛厖厖厛厖厖厖厖垍垐厛厖厛厛厖垍厖垍厖垍垍厖厖厖厛厛厖厖厖垍垍垍垍厖厖厖厖厖垍厖厖垍垍厛厛厖厛垐厖垐厖厖厛厖厖厛厖厖厖垍厛厖厖垍厖厖垍垍厖垍厛厛厛厖厛厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厛垍垍厖垍厖厖垍厛垍厛厖厖厖厖厖厖垍厖厖厛厖垍厖厛厛厖厖厖厛厛厖厖垐厖厖垍厖厖垍垍厛垍厛厖厛厖垐厖厖厖厖厛厛厛厖垍厛厛厖厖厖垍厖垍厖厖厛厛厛厖厛厛厛厖厛垐厖厖厖垍厖厖厖厖厖垍厖厛厖厖厖厛垍厖厖厛垍厖厖垍厛厖垍厖垐厖厖垍垍厛厖厖厖厛厖厖厖厖垍厖厖厛厖厛厖厖垍厖厖厖厛垍垐垍厖厖垍垍垍厖厖垍厖厛厖厖厖厖垍厖厖垍厖厖垐垍厖厖厖厖厛厖厛厛垍厛厖厖厖厛垍垍厖厖厛厛垍厖厖厖垍厖厖厖厖厛厖厖厖垍厖厖厛厖厖厛厖厛垍垍厖厖厛厖厖厖厖厖厛厖厖厖厛厖厛垍厖厖厛垍厛垐垍垐垍厖厛厖厖厛厖垍厛厖厛垐厖垍厖厖垍厛厖厖垍厖厛厖垍厖厛厛厛垍厖厖厛垍厖厖垍厖垍垍厖厛厛垍厖厛垍垍厛厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖垍厖厖厛厖厖垍厖厖厖厖垍厖厛厖厖厖厛厖垍厖厖厖厖厛厛厖厖垍厖厖厖厖厖厖厖垍厖厖厖厖厖厛厖垐厛厖厛厖厖厖厖垍垐厖厖厖垍垍厛厖厖厛厖垐厖厖厖垐厖厖厖厖垍厛厖垍厖厛厖厛厛厛厛厖厖厖厖厖垍厛厛厖厛垍厛厖厖厖垍厖垐厖垐厖厖垍厖厖垍厖垍厖厖厖厖垐垍厖厖厖垍厛厖厖厖厖厖垐垐垍厖厖厖厖厖厖厖垐厖厖厖厖厖垍厖厖厖厖厛垍厖厖厖厖厖厖厖厖厖厛垍厖垍厛厖厖厖垍厛厖厖厖垍厛厖厖厛厖厖厖厖厖厖厖厖厖厖厛厖厛厖厖垐厖厖厖厖厖厖厖厛厖厖厖厖垍厛厛厖厛厖垍厖厛厖厖厛厖厖厖厛厖垍厛厖厛厖垍厛厖厖厖厖厖厖垍垍垍垍垍垍厖厛厖厖垍厖厖厖厖厛厖厖厖厖厖厖厛厛厖厖厖厖垐厛厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖垍厖厖厖厖厖厛厖厖厖厖厖厖厖厖厛厖厛厖厖厖厖厖垍厖垐垍厖厖厖厖厖厖厛垍厖厖垍厖厖厖厛厖厖厖厖厖垍厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厛厖厛厛厖厖厖垍厛垍厖垍厖垐厖厛垍垍厛厖厖厛厖垍厖厖厖厖厖厛厛厖厖垍垍厖厖厖厖垍厖厖厖厖厖厖厖垐厖厖厖垍垍厛厖厖厖垍厛厛厛厖垍厖厖厖厖厖厖厖垍垍垍厖厖厖厖厖厖厖垍厖厖厖厛垐厖厖厖厖厖厖厖厛厛厖厖厖厖厖厖厖厖厖厛厛厖厖厖厖厖厖厖厖垐厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厛厖厖厖厖厖厖垐厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖垍厖厖厖厖厖垍厖垍厖厖厛厖厖厖厖厛厖垍厛厖厖垍厛厖厛厛厛垍垍厛厛垐厖厖厖厖垍厛厛厖厛厖厖垍垍厖垍厖厖厛厖厖厖厖厖厖厛厖厖厖垍厖厖垐厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厛厛厛厖厖垍厛厖厖厖垍厖厖厖厖厖垍垐厖厖厛厖厖厖厖厛厖厖厖厖厖厖垍厖垍厖厖厖厖厖厖厖厛厖厖厖厛厖厖厖厖垐厖厖厖厖垍厖厖厖垍厖垐厖厖厖厛厖厛厛厖厖厛垍厛厖厖垍厖厖垐厛厖厖厖垍厖垍厖垐厖垍厖厖厖厛厖厖厖厖厖厛厖厖厖厖厖垐垐厛垍厖厛厖厛厖厖厖厛厖厖垍厖垐厖厖厛厛厖垍垍厛厖厖厖厖厖厖厖垍垐厖厖厖厖厖厛厖厖垍厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厛厖厛厖厖厖厖厖厖垍垐厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厛厖垍厖厖厖厛垐厖厖厖垍厛厛垍厖厖厖厛厖厖垍厖厖厖垍厖厖垍厖厛垍垍厛厛厖垍厖厖厖垍垍垐厖厛厖厖垍垍厖垍垐厖厖厖垍厖厛垍厖垍厖厖厖厖厖垍厖垍厛垍垍垍垍垍厖厖厖厛厖厖厛厛垍厖厖厖厖厛垍厛垍厖垍厖厖厖厛厖垍厖厖厛厛厖厖厖厖厖厖垍厖厖厖厖厖垍厖厖厖厖厖厛垍垐厛厖垍厖垍厖厛垐厖厖厖厛厖厖厖厖厖厖垍垍厖厖厖厖厖厛垍垍厖垍厖厖厖厖厖厖垍垐厖厛厖厖厖厖垍厛厖厖厖厖厛厖垍垍垐垍厖厖垍厖厖厖厖厖厖垍厖厖垍厖厖厖厛厖厖厖厖厖厖厖厛厖厖厖厖厖厖垍厖厖厖厖厛厛厖厖厛厖垐厖厖厖垍厛厖垍厖垍厖厖厖厖厖厖垍垍厖垍厛垍厖厖厛垍厖厛垐厖厖厖垐厖垍厖厖垍厛厖厖厖厖厖厛厖厖垍厛厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厛厛垍厖厛厖垐厛厖厖厖厛厖厖厖厛厖厛厖厖厖厖厛厖垍厛厖厛垍厖厖厖厛厖厖垐垍厖厖厖垍厖厖厛垍垐厖厖厛厖垍垍厖垍厖垍厖厖厖厛垍垐厖厖厖厖厛垐厖垍垍垍垍厛垐垍垍厖厖厖垍厖厖厛厖垍厖厖垍垍厖厛厖厛厖厛厖厖厖厖厖厖垍厛厖垍厛厖垍厖厛垍厛厖厖厛厖厖厖厖厖厖厖厖厖厖厖厛厖厖垍厖垍厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厛垍厖垍厖垍厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厛厖厖厖垍厖垍厖垍厛厖厖厖厖厛厖厖厛垍厖厖垍厖垐厖垍厛厖厖厖厖厖厖厖厖厖垍垐垐厖厖厖厖厖厖厖厛垐厛厛厖厖厖厖垐厖垍垐厖厛厖厖厖垐垐垍垍厖厛厛厖厛厖厛垍垐垍厛厖厖厖垐垍厖厖厛垐厖厛厖厖垐厖垐厛垐厖厖厖厛厖厖厖厖厛垍厖厖厖厖厛厖厖厖厖厖厛厖厖厖厛厖厖垍厛垍厖厛厛厖厖厖厖垐厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厛厖厖垐厖厖厖厖厖厖厖垍厖垍厖垐厛厖厖厖厖厖厖厖垍垐厖厖厖垍厖厖厖垐厛厖厛垍垍厛厖厖垍厖厖厖厛垍垍厖垐垍垍垐厖厖厛厖厖垍厖厖垍厖厖厖厖厛厖垍垍厖厖厛厖厖厖厛厖垍垐厖厖厖厖厖厖厖厛垍厛厖厖厖厖厖厖垍厖垍厖厖厖垍厖厖厖厖垍厛厖厖厖厖厖厖厖厖垐厛厛垍垍厖厛厖垍厖垐垐厖厖厖厖厖厖厖厖垍厖垍厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖垐厖厖厖厛垍厖厖垐厖厖垍厖厖厛厖厛厖厛厖垍厖厖垍厛厖厛厖垍垍厖厖厖垍垐厖厖厖垍厖垍厖垍厖厖厖垍厖垍厖厖厛厖厖厖垍厖厖垍厖厖厖垍厛厖厖厖厖垐厖垍厛厛厖厛垍厖垍垍垐厖厖厖厖厛厖厖厛厖厖厖厖垍垍垍厖垍厖垍厖厖厖厖厖厖厖厖厛厖垐垍厖厖垍厖厖垍厖垍厖厛垐厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厛厖厖厖厖厖厖垍厖厖厛厖厖厖厛厖垍厖厖垍厖厖厖厖厖厖厖垐垍厛厖厛厖厖厖厛垍厖厖厖厖厖厖厖垐厖厖垐垍厛厖厖厖厛厖厛厛垐厛垍厖厖垍厖厖垍垍厛垍厛厖厛厖厖垍垍厖垍厛厖厖厛厛厖厖垍垍厖厖厖垍垍厖厖厖厖厛厖厖厖厛厖厖厛厖厖垍厛垍厖厖垍厖厖垍厖厖厖厖厖厛垍垍厖垍厖厖厖厛厖厖厖厖厛厖厖厖厛厛厖厖厖厖厖厛厖厖厖厖垐厖厖厛厖厖厖厛厖厖厖厖垍厛厖厖厖厖厖厖厖垍厖厖厖厖厖厖垍厖垍厖厛厖厛垐厛厛厖厖厖厛厛厖厛垍厛厖厛厛厛厛垍厖厖厖厖垍垍厖垍厖厖厖厖厛厛厖厛厖厖厖厖厖厖厛厛垍厛垍厖垍厖厖垍厖垍厖垍厛垐厖厖厖厖厖厖厛垐厛厖厛垍垍厖厛厛厛厖厖厖垍厖厖厖厛厖厖厛厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厛厛厖厛厖厛厖厖厖厖厖厖厖厛厖厖垍厖厖厖厛厖厖厖厛垍厛厖厛垍厖厖厛厖厖厖厖厖厖厖厖垍垍厖厖厖垍厛垍厖厖厖厛厖垍厖厖厖垐垍厖厖厛厛厖厖厖厖厖厖垍垍厖垍厛垐厖厖厖垍厖厖厖厖厖厖垍厖垍厖厛厖厖厖厛厖厖厛厖厖厖厛垍厛厛垍垍厖厖厖厖厖厖厖厖厖厖厛厖厖厛厛厖厖厖垍垍厖厖厛厖厖厖垍厖垍厛垍垐厖厛厖垍厖厛厖厖垍厖厖厛厖厖厖厖厖垍厖厖垐厖垍厖厖厖垐厖厖厖厖垍厖垍厖厖厖厛厖厖厖厛厖厖厖垍厖厖垍厖厖厖厖厖厖厖厖厖垍厖厛厛厖垍厖垐厖厖垍厖厖厖厖厖厖垐垐垐垐厖厖厖厖厛垍厖厖厖厛厛厖厖厖厖垍厖厖厖厖厖厛厖厖厖垍垍垐垍厖厖厛厖厖垐厖厛厖厖垍厖厛垍厖厛厖厛厖厖厖厖厛厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厛厖厖厖厛厖厖垍厖厛厖厖厖垍厖厖厛厖厖厖垍厖垍厖厖厖厖厖厖厖厖厖厖厖垍厖厖厛垐厖厖厖厖厖厖厖厖厛厖厖厛厛厖厖厖厖厖厖厛垍厖厖厖厛厖厖厖厖垍厖厖厛厖厛厖垍厛厖厛厖厖厖厖厖厛厖厖厛厖厖厖厖垍厖厖厖厖厖厖厖厖厛厖厛垐厛厖厛垍厛厖垐厖厛垍垐厖厛垍厖厖垍厖厖厖垍厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖垍厛厖厖厛垍厖厖垍厛厖厖厖垍垍垍厖厛厖厖厖厖厖厖垍垍垍垍厖厖厛厖厖厛厖厖厖厛垍厖厖垐厖厖厛垍垍厖厖垍厖厖厖厖厖厖厖厛垍垍厖厖厖厖厖厖厖厖厖厖厖垍厖厖厛厖厖厖厛厖厖厖厛厛厖厖厛厖垍垐垍垍厖垍厖厖厖厖厖厛厖厖垍厖厖垍厖厖厛厖厛厛厖厖厖厖厛厖厖垐厖垍垍垍垍垍厖垍厛垍垍厛厖厖厖厖垐垍厛厛厖厛厖厖厖厖垐厖垍厖厖垐厛厖厖厖厛厖厖垍厖厖厖厛厖厖厖厖厛厖厛厖厛厖垐厛厖厖厖厖厖厖厛厖厖厖垍厖厖厖厖垍厖厛厖垍厖厖厖厛垍厛厖厖厖厖厖厖厖厖垍厛厖垍厖厖厖垍厖厖厖厖厖垍厖厖垐厖垍厛厖厛垍厖厖垍厖垍厖厛厖厛厖厖厖厖厖厛厖垍垐垍厖厛厛厛厖垍垐厖垍厖厖厖垍垍厖厖垍厖厛厖厖厛厖垍垐厖垍垐厖厛厛厛厖厖厖厛厖厖垍厖厖厖厛厛厖厖厛垍厛厖厖厖厖垍垍厖厖厛厛垐厖厛厖厖厖厛厖厖厛厖垍厛厛厖厛厖厖厖厖厖垍厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厛厖垍垍厖厛厖垍垍厖厖厖厖厖厖厖厖厛厛垍厖厖厖厖厖厖厖垍厖厖厖厛厖厖厖厖厖垐厖厖厖垍厖厖垍厖厛厖垍厖厛垐厖垐厖厖厖厖厛厛厖厛厖厖厖厖垍厖厖厖厛厛垍厛厖厖厖厖厖厖厛厖垍厖厛厖垍厛厖垍厖垐垍厖厖垍垍垍垐厖厖垐厖厖厖厖厖厖厖厛厖厖厛厖厛厖厛垐垐厖厖厖厖厖厛厖垍厖厛垍厛厖厖厖厖厛垍厖厖厖厖厛厖厖厖厖厖厖厖垍厖厖厖厖厖厖厛厖厖垍厖垍厖厖厖厖厖厖垍厖厛厛厖垍厖厖厛厖垍厛垍厖垍垍厖厖垍厖厖垍厖厖垍厖厖厖垍垍垍厛厖垐厖厖厖垍厖厖厖厛厖厖厖厖垍厖垍厖厖厖厖厛厖厛厖厖厖垍厖厖垍垐垍厖厛厛厛厖厖厖厖厛厖垍厖垐厖垐垐厖厖垍厖厖厛厖垍垐厖厖厖厖厛垍垐垍厖垍垐厖垍厛厖厖厛厛垍厛垍厖厖垐垍垍厖厖厖厖厛垍厖厛厛厛厖厖厖垐垍垍垍厖厖厖厖厖垍厖厖厖厖垍厖厖厖厖厛垍厖垍厖垍垍垐厖厖垍厛厖厖厖厛垍厖厖厖厖垍厖厖厖厖垍垍厖垍厛厖厖垍厖厛厖厖厖厖厖厖厛垍厖厖厖厖厖厖厖厛厖厖厖厖垐厖厖厖厛厖厖厛厖厖厖厛厖厖垍厛厛厖垍垍厖厛垍垐厛厖厛厖厛厛厛垍厛厖厖厖厖厖厖厛厛垐厛厖厖厖厖厛厖厛厖厛厖厖厖厛厖垐垐厖厖垍垍垐垍垍厖厖厖垍厛厖垍垐厖厖厖厖垍厖垍厖厖厖厖垐厛厖厖厖垐厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厛厖厛厖厛厖厛厖垍厖厛厛厖厛厖厖厖厖厖厖厖垐厖厖厖厖厛厖厖厖厖垍厖厖厖厖厖厖厛厖厖垍厖厖厖厖厖厛厖厖厖厖厛厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厛厖厛垍厛厖厛厛厖垍厖厖垍厖厖厖厖厖厖厖厖垍垍厖厖厖垍垐厖厛厖厖厛厖厖垍垍垐厖厖厖厖厖厖厖厖垍厖厖厖厖厛厖垐厖厖厖厖厖厖厖厖垍厖厖厖厖厖垐厖厛厖厛厖厖厛厖厖厖垍厖厖厖厖厖厖厖厛厖厖厛厛厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厛厛厖厖厖厖厖厖厖厖垍厖厖厛厖厖厖厖厖垐厖厖厖厖厖厖厛厖厛厖垍厖垍垍垐厖厖厖厖垍垍垍厖厛厖厖垐厖垍厖厛厖厛厖厛厛厛厖厖垍厖垍厖垐厖垍垍厖厖厛垍厖垐厖厛厛厖厖厖垐垍厛厖厛厛厛厖垐垍厖垍垐垐厛垐厖厖厖厛垍厛厖厖垍厖垍厖厖厖厖厖垍厖垍垍厖厖垍厖垍厖厛厖垍厖垍厖厖厛厖垍厖厖厖厛垍厛厖厛厖厛厖厖厖厖厛厖垍厛厖厖厖垍厖厖厖垍垍厛厛厖厛垍垍厖厖垍厖厖厛厖厖厛厖厖垍厖厖厖厖厖厖厖垍厖厖厖厖厛厖垐厖厖厖厖厖厖厖厖厛厖厖厛厖垐厖垍厖厖厛垐厖厛厖厛垐厖厖厖厛厛厖厖厛厛厛厖厖厛厖垍厖垐垐垐垐厖厖厖垍厖厖厖垍垍厖厖厖垍厖厖垍厛厖厖垍垐厛垐厛垍厖厖厛厖垍垍厖垐厖厖厖厖垍垐厖厛厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖垍垍厖垍厖垍垍垍厖厖垍厖厖垍厖厖厖厖厖垍厛厖厖厖厛厖厖垍垍厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厛垐厛厖垍垍厖厖厖垍垍厖厖垍垍厖厖垍垍厖厖厖厖厛厖厖厖厖厖垍厖垍厖厛厛厖厖厖厖垍厖厛厖垍垐垍垍厖厖厖厖厖厖厛厖厛厖厛厖厖厖垍厖厖垍厖厛厖厖垍厖厖厖厖厖厖厖厖厖厛垍垐垍厛厖厖厖厖厛厖厛厛厖厛厖厖厛厖厖厖厖厖厖厖垍厛厖垍厖厖厖垍厖厖厖垐厖厖厖厖垍厖厖厖厖垍厖厖厛厖厖厛垍厖垍厖垍厖垍厖厖厖厖厖垍厖厖厖厖厖厖垍厖厖厖厖厖厖垍垍厖垐垍厖厖垐厖厖厖厖厖厖厛厖垍厖垐厖厖厖厖厖厖垍厖厖厛垍厖厖厖厛厖垍厖厖厖厖厖垍垍垐厛厖厛厖厖垍垍厛垍厖厖厖厛厛厖厖厖厖厖垍厖垍厛垍厖厛厖垍垍厛厖厛厛厖厖厛厛厖厛垍垍厖厖厖厖厖垍厖厛垍厖厖垍垍厖垍厖厖厖厖厖垍厛厖厛厖厖厖厖厛厖厖厖厖垍垍垐厖厖厖厖厛厖厖厖厖厖垍厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厛垍厖厖厖厖厖厖厖厖厖厖厖垍厖厖厛厛厛厖厖垍厖厖厛厖厖垍厛厖厖厖厖厖垍厖厖厖厛垍厖厖厛厖厖垍厖厖厛垍厖厖厖厛厖厖厖厖厖厖厖垍厖厖厖厖厖垐厖厖厛垍垍厖厖厖垐厖厖厖厛厛厛厖厖垍厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖垍厛厖厛厖厖厖厖厖厖厖厖厛垍厖厛垐垍厖厖垐垍厖厖厛厖垍厖厖垍厖厖厖垍垍厖厖厖厖厖厖厖垍厖厛厖厖厖垍厖厛厖厖厖厖垍厛厖厛厖厖厖厖垐厖厛厖厖厖厖厖厖厖厖厖厛垍厖垍厖垍厖厖厛垍厖厖厛厛垍厛厖厖厖厖垐垍垍垍垍垍垍垍垍厖垐厖垐垍厖厖厖厖厛厖厖厖厖厛厛厖厖厛厖垍厖厖厖垍垍厖厖厖垍厛厖垍厖厖垐垍垍厖厛厛垍厖厖厖厖厖厖厖厛厖厖厖厖厖厖厛厖厖厖厛厖垍厖厖厖厖厖厖厖垍厖厖厖厖厛厖厖厖厖厖厛厖厛厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厛厛垐厛厖厖厖厖厖厖厖厛厖厖厖厖厖垍垍厖厖厖厛垍厛厖厛厖厖厖厖厛垐厖厖厖垐厖垍垍厛垍垍厖厛厖厛垍厖厛厖厛垐厛厖厖厖厖厖厖厖厖垍厖厖厛厖垍厖厛厖厖垍垐垐厖垍厛厛厖厖厖厛厛厖厛厖厖厛厖厖垍厖厖厛厛垍厖厖厖厛厖厖厖厖厖厖厛厖垍垍厖厖厖厖厖厖垍厖厖厛垍厖厖厖厖厖厖厖垐厛厖厖厛厖垍厖垍厖厖厖厛厖厖厖垍厖厖厖厖垍厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖垍厖厛厖厖厖厖厖厖垍垍厖厖垍厛厖厖厖厖垐垍垍厖垍厖厖垍厛厛厖厖厖厖厖厖厛厖厖厖垍厖厖厖厖垍垍厖厛厖厛厛厖厛厛厛垍厖厖厖垍厖厖垍厖垍垍厖厛厛垍垍厖厖垐厖厖厖厖厖厖厖厖垍垍厖厖厖厖垐厖垍厖厖厖厖厖厖厖厖厖厖厛垍厖厖厖垍厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖垍厖厖垍垍垐垐垍厖厖厖厛厖垍厛厖厖厖厖厖厖厛厖厖厖厖垍厛厖厖厛垍厖厖厖厖厖厖厛厖厛厖厖厖厖厖厖厖厖厖厛厖厖垍厖垍厖厖厖垍厖厖垍垐垍厖垐厖厖厖厖厛厖厖厛厛垍厛厛厖厛厛厖厖厖垍垍厖厖厖垍厖厖厖厛厖厖厖厖厖厖垐厖厖厛厖厖厖厖垐厖垍厖厖厖厖厖厖厖厖垍厖厖厖厛厖厖厖厖厖厛垍垍垐厖垍厖垍厖厖厖厖厖垍厖厖垍厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厛厖厛厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛垍厖厖厖厛厖厖厖厖垍厖厛厖厖厖厖厖厛厖厖厛厖厖厖厖厛厛厖厛垍厖厖垍垍厖厛垍厖垍厖厖垐垍厛垍垐垍厖厖厖厖垍厖厖厛厖垍厖厖厖厖厖厖厖厖厖垍厛厖厖厖厛厖厖垐厛垐厖垍厖厛垐厖厛厖厛厖厖厖厖厖厖厖厛垍厖厖厖厛垍垍厖厖厖厖厖厖厖垍厖垐垍厖厖厖厖垍垍厖垐厛厖厖厖厖厛厖厖厖垍厖厖厛厖厖厖厖厖厖垍厖厛厖厖厖厖厖厖厖厖厖厖垍厖垍厖厖厖厖厛垍厖厖厖垍厛厛厖厖垍厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖垍垍厖厖垍厖厖垐垐厛厖厖厛厛垐厖厖厛垍厖垍厖垍厖厖垍厛垍厖厖厖厖厖垍厖垍厖厖厖厛厖厖厖垍垍厖厖厖厛垍厖厖厖厛厖厖厛厖厖厖厖厖厖垍厖厖厖厛厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厛厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厛垍厖厖垐厖厖厛厖厖厖垍厖厛厛厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖垐厖厖厖厖厖厖垍垍厛厖厖垍垍厛厛厖厖厖厛厖垐厖厛厖厖垐厖厖厖厖垐厖厖厖厖垐垍厖垍厛垐厖厖厖垍垐厛厖厖厖垐垐厖厖厛垍厛厖厛垍厖厛厖厖垍垐厛厖厖厖垍厖厖厖厛垐厖厖厖厖厖厖垐垍厖厖厖厖厛厛厖厖厖厖厖厖厖厛厛厖厖厖厖厖垍垍厖厛垐厖厛厖厖垍厖厖厖厖厛厖垍厖厖厛厖厖厖厖厖厖厛厖厖厛垍厖垍厖厖厛厛厖厖厖厖厛厖厖垍厖厖厛垍厖厖厖厛厖厖厛厖厖厖厖厖厖厖厖厛厖厛垍厖厛厛厖垍厖厛厖厛厖厛厖垍垍垍垐厖厖垍厖厖厛垐厖垍厛垍厖厛厖厛厖厖厖厛垍厖垍垐垐厖厛厛厖厖垍厖垍厖厖厖厖垍垐厖厖厖厛垍厖厖厖厖厖垍厖垍厛垐厖厖厖厖厖垍厖厖垍厖垍厖垍厖厖厖厖垍厖垍厖厖厛厖厖垍厖厖厛厛厖厖厛厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厛垍厖厖厖厛厖厖厖厖厖厖垐厛厖厛厖厖厖厖厖厖厖垍厖厖垐厛厖厖厖厛垍垍厖垍垍厖厖垍厛厖厖厖垍厛厖厖厖垐厖垍厖厖厛厖厖垍垍垐厖厖垍厖厖厛厛厖厖厛垍厖厖厖垍厖厖垍厛厖垍厖厛垍厖厖厖垐厛垐厖垍垐厛垍垐厖厖厛厖垍厖厖厖厛厖厖厖厖厖厖厖厖垍厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖垐厖垍厖垍厖厖垍厖厖厖厖垍厖厛厖厖厛厖厖垍厖厖厖垍厖厛厖厖厖厖厖厖厖厖厛厖厖垐厖厖厛厖垍厖厖厛垐厖厖厖厛厖厛厖厖厖厖厖厖厖厖垐厛厖厛厖厖厛厖厖垍厖厖厖垐厖厖厖厖厖厖厖厖厛厛厖厖厛垍厖厖厖厖厖厖厖厛厛垐厖厖厖厖垐垍厖厖垍垍厛厖厖厖厖厛厖厖厛厖厖厖厖垍厖垍垍厖厛垐垍厖厖厛厖厖厖厛厛厖厛厛厖厖厖厖厛垍厖厖厖厖厖厖厛厛厖厖厖垐厖垐厖厖厖厛厖垍垍垍厖厖垍垍厛厖厖厖厖厖厖厖厛厖厖垍厛厖厖厖厖垍厖厖厖厖厖厖厛厖厛厖厖厖厖厛垍厖垍厖厖厖垍厖厖厖厖厖厖厖厖厛厛厛厖厖垍厖厖厖垍垍厖厖厖厖垍厖厖垍厖厖厖垍厖厖垐垐厖厖厛厛垍厖厖厖厖厖厖垍厛垍垐厖厛垍厖垍厖厖厖厖厖垍厖垍厖垐厖厖垐厖厖厛厖垍垍厖厖垍厖厖厖厛垍厖厖厖厖厛垐垍厖厖厖厛厖垍厖垍厛厛厖厛厛厖厖厛厖厛厖垍厛厖厖厖厖垐厖厖垍厖厖厛垍厖厖厖厛厖厖厖厖厖厖厛垍厖厖厛厖厛厛厖厖厖垍垍厖厖厖厖厛厖垍厛厖厖厖厖垍厖厖厖厖厖厖厖厖垍垍垍厖厖垍厖厖厖厖厖厖厖厛垍垍厖厖厛厛厛厖厖垍厖厖垍厖厖垍垍厛垐厛厖厖厖垐厖厖厖厛厖厛厛厖厖厖垐厖厖厖厖厖厖厖垍厖垍垍厖厖厛厛厛厖厛厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厛厖厛垍厖厛垍厖厖厖垍厛厖垍厖厖厖垍厖垍厖垍垍垐垍厖厛垍厛厖厖厖厖垍厖厖厖厛厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖垐厖厛厛厖厖厛厛厖厛厖厖厖厖厖厖厖厖垐厛厖厖厖厖厖厖垍垍厖厖厖垍厛厖厖厖厖垐垍垍厛垐垍厛厖厖垍厛厖厛厖垍厖厛垐垍厛厖厖厛厖厖垐厛厖厖厖垍垍厖厖厛厖厛厖垍厖厖厖垍厖垍厖厖厖厖厖厖厖厖厖厛垐厖厖垍垍厖厛厖垍垍厖厖厖垍垍垍厖垐厖厖垍厖厖厛厖厛厖厛厖厖厖厖垐厖厛厖厖垍垍垍厛垍垍厛厖垍厖垍厛厖厛厖厖垍垍厛厖厛厖厖厖垐厖厖垐厖厛厖厛厖厖垍垍厖厖厖厛垍厖厖厛厖厖厖厖垍厛厖厖厖厖厖厖厛垍厖厖垐厛厖厛厖厖厖厖厛厖厛厛厖垐厖垍厛垍厖厛垐厖厖厖垍厖厖厛厖厖厖厖厖厖厖垍垍厖厖厖垍厖垍垐厛垐垍厖厖厖厖厖垍厖厖厛垐厛厖厖厖厖厖垍垍厖垍厖厖厖厖厖厖厛厖厖垍厛厖厖垐厖厖厖垍厛厖垍厖垐厛厖厖厖厖厛厛垍厖厖厖厛垍厖厖厖厖垍厖垍厖厖厖厖厛厖厖厖厖厖厖厛厖厖厛厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厛厖厛厖厖厖厖厖厛厖厖厖厖厖厖厛厛厖垍厖厖厖厖厖厖垍厖厖垍厖厖厛厖厖厛厖厖厖厛垐垐垐厖厖厖厛厛厖厛厖厛厛厖厖厖厖厖垍厖厖垍厖厖厖垍垍厖厖厛厖厖厛厖厛厖厖厖厖垍垍厖厖厛垍厖厖厖厖厖厖厖厛垍厖厖厖垍厖厖垍厖厖厖垍厖厖垍厖厛厖厖厖厖厖垐厖厛厖厛厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厛厖厖厛厛厖厖厖垍厖厖厖厖垍厖厖厖厖厖厛厖厖垍厖厖厛厖厖垍垍垐厖垍垍垐厖垍厛垍垐厖厛厖厖厖厖垐厖厖厖厖垍厖厛厖厛厛厖厖垍厖厖垍垍垍厛厖厛厖厖厖厖厖厖厖厖厛厖垐垐厖厖厛厖垐厖厖厛垍垐厖厖厖厛厖厖厖厖垍厛厖厖厛厖垐厛厛厖厖厖垍垍厖厖厖厖垐厛垐厛厖厛厛垍厖厖厖垍厖厖厖垍厖垍厖厖厖垍厖厖厖厖厖厖厖厖厖厛垍厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖垍厖厖厛厖厖厖厖垐厖厛厖厖垐厖垍厖厛厛厛厖厖厖厖垍垐垍厖厖垐垐厛厖厖厖厖厖垍厛厖垍厛厛垍垍厖垐厖厖厖厛垐厛厖厖垐厖厖垍厖厖厖厖厛垐垐垍厖垍垐厖垍垐垐垍厛垐厛厛厖厛厖垐垍垍厛垍厖垐垐厖厛厖厖厛垐厛厖厖厛厖厛厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厛垍厖厖厖厛厛厛厖垍厖厛厖厖厖垍厖厖垍厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厛厖厖厛厖厖厖厖厖厖厖厖垍厖垍垍厖厖厖厖厖厖厛厖厖垍厖厛厛垍厖厖厛垐厖厖厖垍垐厖厖垍厛厖厖厖垍厖厖厖厖厖垍厛垍垐垐厛厖厖厖垍垐垍厖厖厖厛厖厖厛厖厖厖垍厖厖厖厖厖厛垍厖厖厛垍厖厖厛厖厖厖厖厛厖厖厖厛厖厖厖厛厛厛厛厖厖厖厖厖厖厖厖垍厖厛厖厖厖厖厖厖垍厖厛厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖垍厖厛厖厛厖厖垐厖厖厖垍厖厖厖垐厛厛厖厛厖厖厛厖厛厖厖厖厛厖厖厖垍厖厖垍垍厖厛厖厖垍厖厖垐厖垐垍厖垐厛厛垐厖厖垍厖厖厖厖垍垍厖厛厖厖厖垍厖厛垐厖厖厖厖厖厖厖厖厛厖厖厖厛厖垍厖厖厛垍垐厖厖厖厖厖厛厛厖厖厖厖厖厖厖厖厖厖厖垐厖厖垍垍厛垐厖厛厖垍垍厖厛厖厖垐厖垍厖厖垍厖厖厖厖厖垍厛垍厖厖厛厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖垍厛垍厖厖垐厖厛厖厖厛厖垍厖垍厖厖垍厖厖厖厖厖厖垍厖厖厖厖垍垍厖垍厖厖垐厖厖厖厖厛垍厖厛垐厖厛垐厛厖厖垐厛厖厛厖厖厛厖垍厛垍厖厖垍垐垍厖垍厖垍厖垍厖垍厖垍厖厛垍厖厛厖厖厛厖厛厖厖厖厛垍厖厖垍垍厖厖垍厖厖垐垍厖垍厖厖厖厖垍厖垍垍厖厖厖厖垍厛厖厖厖厖厖厖厛厛厖厛垍厖厛厖厖厖厖垍厖垍垍垍厛厖厖厖厛厛厖厖厖厖厖厖厛厖厖厖厖厖厖厛垐垍厖厖厖厖厖厖垍厖厛厛厖厛垐厖厖厖垍厛厛厖厖厖厛厖厖厖垍厖厖厖厖垍厖垐厖厖厖厖厖厖厖厛厖垍厖垐厖厛厖垍厖厖厖厖厖厖垍厛厛厛厖厖厛厖厖厖垍垍厖厖厖厛垍垐厖垍厖厖垍厖厖厖厖厖厛厖厖厛厛垍垐厖厖垍垍厖厖厖厖厖厖厖厛垍厖厖厖厖垍厖厛厛厛垐垍垐厖厛厖厛厖垍厖垍厖厖厖厖厛厖厛厖厛厖厖厖厖厖厖厖厖厖厖垐厖厖厖垐厖厖垍厖厖垍垍厖垍厖厖厖厖垍厖厖厖厖厖厛厖厛厖厖厛厖厖厖厖垐垍厖厖厛厖厛垐厖厖厖厖垍厖厖厖厖垍厖厖厖厖厛厖垍厖厛厖垍厛厖厖厖垐厖厛垐厛垐垍厖厖厛垍垍垐垐厖厖厖厛垍厖厖垍厛厖垍厖厖厛厖垍厛厖厖厖厖垍厛垍厖垐垍垍垍厖垐厖厖厖厖厖厖厖垍厖厖厖厖厖厛厛厖厖厛垐垐厖厖厛厖厖厖厖厖厖厛垍垐垐厖垐厛厛厖厖厛厖厛厖垍垍厖厖厖厖厖厖厛厖垍厖厛垍厖厖厖厖厛厖厛厖厛厖厖厖厖厖厖垍垍垍厛厖厛垐厖垍厖厖厖厛垐厛厖垐厖厖厖厖垍厖厖厖厖厖厖厖垍厖厖垍厖厖厖垐垍厛厖垐垍厖厖厖垍厖厖厖厛厖垍厛厖厛垍厖厖垍厖厖厖垍垍厖垍厖厛厖垍厛厛厖厖厖厖厖厛厖厖垐厖厛垐厖垐厖厖厛厖厛厖厖垐厖厛厖厖厖厛垍厖垍厖厖厖垍厖厖垍厛厖厖厛厖厛厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖垐厛厖厖厖厖厖厖厖厖厖厖厛厖垍厖厖厖垍厖厖厖厖厖厖厖厛垍厖厛垍厖垍垍厛厖厖厖厖厖厖厛垐厖厖垍垍垐厛垍垍厖厖厖垐厖厖厖厖厖厛厛厛厖厖垍厖厖厖垍垍厖厖厖厖厖厖厖厖厖厖厛厖厖厖垐厛厖厖厖厖厖垍厖垍厛垍厖厖厛垐厖垐厖厖厖厖厛厖垍厖厖垍厖厖厖厖厖厖厖厛垍厖厖厖厛厖垐厖厖厖垍厖垍厖厖垍厖厖垍垍厖厖厖垍厖垍垐厖厛厖厖厖厖厖厖厖厛厖厖厖厛厛厖厖厖厖厖厖厖厖垐厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖垐垍厛厖垐厛厛厖厖厛厖厖垍厖厖厖厖厖厖厖厖厖厖厖厛厖垍厖厖厖厖厖厛垍厖厖厖垍垍厖垍厖厖厖厛厛厖厖厖垍垍垍厖厖垐垍厖厖厖厛厖垍厖垍厛厖厖厖厖厖厛厖厛厛厖厖厖厖厛垍厖厛厖厛厖厖厖厖厖厖厖厛厖厖厖厖垍厖厖厖厖厖厖厖厛厖厖厖厛厖厖厖厖垐厖垍厖厛厛厖厖厛厖垍垍厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厛厖厖厖厖厖厖厖垍厖厖厛垍垍厛厖厖厖厖厖厛厖厖厖厖厛厛垍垍厖厛厖厖垍厖厖厖厛垍厛厖厖厖厖垐厖厖厛厛厖垍厖厖厖厖厖垍垍厖垍垍厖厖厖厖厖垍厛垍厛厛垐厖厖厖厖厖厖厖厖厖厖厖垍厛厖厛厖厖厖厖厛厛厖垐厖厖厖厖厖厖厖厛厖厖垍厛垍厖厖厖厖厖厛厖厖厖厖厖厖厖垍垐厛厖厖厛垍厛厖垐垍垍厖垍厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厛厖厖厛厖厛厖厖厛厖厖厖厖厛厖厖厖厖厖厖垍厖垍垍厖厖厖厖垍厖厖厖厖厛厖厖厖厖垍厛厛厖厖厖厛垍厛厖垍厛厖厛厖厖厖厛垍垍垍厖厖厛垍垐厛垐厖厛垐厖厖厖厖垐垍厖厖厛厖厖厛厖厖厖垍垍厖厖厛厖厖厛厖厖厛厖厖厖厖厖厖厖厖厖厖垍厖厖厖垍厖厖厖厖厖厖垐厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厛厖厖垍厖厖厖厖厖垍厖厖厖厖厖厛厖厖厖厖厖厛厖厖厛厖厖厖厖厖厖厖厛厖厖厖垍垍厖厛厖厖厖厖厖垍厛厖厖厛厛厖厖厖厖厖厛厖垍厛厖厖厖厛厖厖厖厖垐厖垐厖厖厛厖厖厖厖厛厖厛厖厛厖厖厛厛厖厛厖厖厖厖厛厖厖厖厖厖厖厖厖厛厖厖厖厖厖厛厖厛厖厖厖厖厖厖厖厖垍垍厛厖厛厖厖厛厖厖厖厖厖垍厖厛厖垍垍厖厖厖厖厖厖垍厖厖垍厖厛厖厖厖厖厖厛垍垐厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厛厖厖垍厖垍厖厖厖厛厖厖厖厖厛厖垍厛厖厖厖厖垍厖厖厖厖厖厖厛厖厛厖厖厖垍厖厖厛厛垍厖厖厖厛垍厖厖厖厖厖厖垍厖垐厛厖垍厖厛厖垐厖垍厖厖厛厖厛厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厛厛厛厖厖垍厛厖厖厖厖厛厖厖厖厖垍厖厖厖厛厖厖厛厛厖垍厖厛厖厖垍垍厛厖厖厖厖厖厖厖厛厖垍垍厖垍厖厛厖垍厖厖厛厖厖厖厖厖厖厖厖厖厛厖厖厛垍厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖垍垍厖厖厖厖厖厖厖垐厖垍厖厖厖厖厖厖厛厛厖垐厖厖垍厖厖垐厛垍厖厖厖厖垍厖厖垍厖厖厖垍厖厖厛厖垍厛厛厖厖厖厛厖垍厛厖垍厖垍厖垍厖厖垐厖垍厖厖垍厖厖厖垐垍厖厖厖厖厛厛垍厖厖厖垐厖厛厖厛厛厖厖厖垍厛厖厖厖厛厖厖厖厖厖垍厖厛厖厛厖厖厖厖厖厖厖厖厖厖厖厛厛厛厖垍厖厛垍厖厛厛厛垍厛厖厖厛厖厖厖厖厛厖厖厖厛厖厖厖厖厖厖垍厖厖厛厖厖厖厖厖垍厖厖厖厛厖厖厖厛厖厛厛厖厛厖厖厖厖厖厖厖厖厖厖厛厖厛垍厖厖垍厛垍厖垐厖厖厛厖垍垍厖厖厛垍厖垐厛厛垍垍厖垍垍厛厖垍厖厖厖厖厖垍厛垍垍垍厛厛厖厖厖厖垍厖厖厛厖垐垍厛厛厛厛厖厖厖厖厖厖厖厖厖厛厖厖厖厖垍厖厖厖厖厖厛厖垍厖厖垍厖厛厖厖厖厛厖厛垍厖厖厖垍垍厖厖厖厖垍厖厖厖厖垍厖厖厖厖垍厖厛厖厖厖垍厖厖厖垍厖厖厖厖厖垍厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖垍厖垍厖厛厖厖垐厖垍厖厖厖垍厖厛厖厖厖厖垍厖厛垍厛厖垍厖厖厖垍厛厖厖垍厖厛厖厖厖厛垍垐厖厖厖垍厖厖厖厖垍厛厖厖垍厖垍厖厖垍厖厖垍厖厖垐厖垍厖垍垍垍厖厖厖垍垍厖厖厖厖厖垍厖厖厖厛厛厖厖厖厖厖厖厖厖厛垍厖厖厖厖厖垍厛垍垍厖厖厖厖厖垍厖垍厖厖厖垍厖垍垍垍垐厖厖厛厖厖厖厖厖厖厖厛厛垍垍厖厖厖厖厖厖垍厛厖垍厛厖厖厖厖厖厖垍厖厖厖垐厖厖厖厖厛厖厖厖厖垍厖厖厖垍厖厖厛厖厖厖厛厛厖垍厛垍厛厖厖厖厛厖厖厖垐厛垍厖厛垍厖厛厖厖垐厖厛垍厖厖厖厛厖厛厛垍厖垍厖垍厖厖垐厖垍厛厛厖厛厖厖厖厖厖厛厛垍厛垐厖厖厖厖垐垐厖垍厛垍厖厖厛厖厖厖厖厖厖垍厖厖厖厖厖厖垍厖垍厖厖厖垍厖厖厖垍垍厖垍厖厛厖厛厛厖厖厖厖厖垍厛厖厖厖厖厛厖厖厖厛厖厖垍厛厖厖厖厖厖厖厖厖厛厖厛垍垍厖厖厛厖垍厛厖厖垍厖厛垍厛厖垍垐厛垍厖厛厛厖垐厛垐厛垍垍厖垍厖厖厖厖垍厖厖垍厛厖厖厛厛厛厖厖厖厖厖厖厖厖厖厛厛垍厖厖厖厖厖厖厛厖垍垍垐厖厖厖厖厖垍厛厖厖厖厛厖厛厖厖厖厖垍厖厖厖厖垍厖厖垍垍厖厖厛厖厖厛厖厛厖厛厖厖厖厖厖厖厖厖厖厛厖厖厛厖垐厖厖厖厖厖厖厛厖厖厖厖垍厖厖厖厖厖厖厖厖厖垍厖厖垍厖厖垍厖厖厖厖厖厖厖厛厛厖垍厖厖厖厛垍厛厖厖厛厖垐垍厛垐垍垍垍厛厖垍厛厖垍厖厖垍厖厛厖厖厛厖厛厖厖厖厖厖厛厖厛厖厖垍厖厖垍厖垍垍厖厖厖厖厖厛厖厖厖垍厖厛厖厖厛厖垍厖厖厛垍厖厖厛垐厖厖厖厖厖厖厖垍厖厛厖厖厖厖厖厖厖厛垍厖厖厖厖厖垐厖厖厖厖垍厖厛厖厛垍厖厖厖厖厛垍垍厖厖垍厖垍垍厛厖厖厖厖厖厖垍厛厖厖厖垍厛厖垍垍厖厖厖厛厛厖厛厖厖厖厛厖厖厖厖厖厖厖垐垐厛厛厛垍厛垍厖垍厖厖厖厛厖厖厖垐垍厖垍垍垍厖厛垍垐厖厖厛厖厖厖厖厖垍厖厖厛垍厖厛厛厛厖厖厖厖厛厖厖垐厖厖厖厖厛厖垐厖厛垍垍厖垍厖厛厖垍厖厖厖垍厖厖厖厛厛厖厖厖厛厖厖厖垍厖厖厖厖厖厛厖厖厖垐垐厖厛厖厛厖厛厖厖厖厛厖厖厖厛垍厛垍厖厛厖厖厛厖厖垐厖厛厖垐厖垍厖厖厖垍厖厛厖厖厖厖厖厖厖厛厖厖厛厖厖厖厖厛厖厖厖厖厖厖厖垐厛厛厛厛厖厖厖厖垍厖厖垐厖厖垐厖垍厖厖厖厖厖厛厛厖垍厖厖厖厖垍厖厖厖厖垍厖厖厛厛厖厖垍垐垍厛垍厖厖垍垍厛厖厖厖厖厖厖厖厖厖垍厖厖厖厖厛厖厖垍厛垍厖厛厖厖厖厛厖垍厖厖厖厛厛厖厖厖厖厖垍厖厖厛垍厛厖垍厖厖厖厖厖厖厛垍厖厖厖厖厖垍厖厖厖厖厖厖厛厛垍垍厖厛厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厛厛厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖垍厖垍厖厖垍厖厛厖厖厖厖厛厖厖垍垐厛厖厖厖厛厖垍厖厖厖垍垍垍厖厖厖垐厛厖厖厛厖厖厖垐垍垍厖垍垐垐垍厖厖垍厛厖厖垍厖厛厖厖厖厖厛厖厖垍厛垍厖厖垍厛厖厖厖垍垍垍厖厖厖厖厖垐厖垍厖厖厛厖厖厖厖厖厖厖厖厛厖垍厖厖厖厖厖厖厖厖厛厖垐厖厖厖垍垍厖厖厖厖厖厖垍厖垐厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厛厖厛厖厖厖厖厖厖厛厖厛厛厖厖厖厛厖厛厖厖厖厛厛垍厖厖厖垍厖厖厖厛厖厛垐厖厛垍厖厖厖厖厖垍厖垍厖厛厖厛厖厖厖厛厖厖厖垍厛厖厖厖厛厖厖厖厛垍厖厛厖垍厖厛厖厛厖厛厖垍垍厖厖垍垐厖垍厖厖厖厖厖厛厖垍厖厖厖垍厖厖垍厖垍厖厖厖厖厖厖厖厖厖厛垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍垍厖厖厖垍厖厛厖垍厖厖厖厖厖厖厖厖厖厖厖垐厖厛厖厖厖厖厖厖厖厖厛厖垍厖垍厖厛厛厖厖厖厛厖厖厖厛厖厖垍厖垍厛厖厖厖厛厛厛厖垐垍垍厖厛厛厛厖厖厖厖垐垐厛厛垐厖厖厖垐垍厛垍厖厖厖厛厖厖垍厖厖厛厖厛垐厖厖厛垍厛垍垍厖厖垍厖厛厖厛厖厖厖厖厖厛厖厛厖厛厖厖厖厖厖厖厖厖垍厖厛厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖垐厖厖厖厖垍厖垐厖厖厖垍厖垍厛厖厛厖厖厖厖厛垐厖厖厖厛厖厖厛厖厛垍厖厖厖厖垍垍厖厖厛垍厛厛厖厖厛厖厖厖厖垍厖厛厖厖厖垍厖厖厖厖垍厛垍厖厖垐垍垍厖厖垐厛垍厛厖垍厛厖厛垍厖厖垍垐厖厛厖垐厛厖厖厛垐厖厖厖垐厛厖厖厖厖厛垍厖垍厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厛厖厛厖厖厖厖垍厖垐厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖垍厖垍厖厖垍厖厖厖厖厛厛厖厛厛厛厛厖厖厖垍垍厖厖厖厛厖厛厖厖厖厖厖厖厖厛厛垍厖厛厖厖垍厖厖厖垍垍厖厖垍厖垍垐厖厛厛垐厖厖厛厖厛厛厖厖厛厛垍厖厖厖厖厖厛垍厖厖厛厖厖厖厖厖厖厖厛厖厖厛厖厖厖厖厖厖厖厖厖厛垍厖厖厖厖厛垍厖厛厖厖垍厛厖厖厖厖厖厖厖厖垍厖厖厖垐厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厛厛厖厖厖厖厖厛垐垍厖厖厖厖厖厛厖厖厖厖厛厖厖厖垍厖厖厖垐厖厖厛厖垍厖垍垍垍厖厖厖厖厖厛厖垍厖厖垍厖垍厖厖厖垐厖厖厖厖厛垐厖厛厖厖厖垍垐厛垍厖厖厛厖垍厛厖厖垍厛厛厛厖厖垍厖厖厖垐厖厖厖厛垐厖厛厛垍厛厖厖厖垍厖厖厖厖厖厛垍厖垍厖厖厖厖厖垍厖厛厖厖厖垍厖厛厖厛厖厛厖厖厖厖垐厖厖厖厛厖厖垍厖垍厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厛垍厖厖厛厖厛厖厖厖厖厖厖厛垍厛厖垍厖垍垍厖厖垍厛垐厖厛厖垐垐厖厖厖厖厖厖垍厛厖厖厛厛厖厖垍厖厖厛厛垍垍厖厖厛垍厖厖厖厖厛厖厖厖厖厛厖厖厖垍厖厖厖厖垍厖垍厖垐厖厖厖垍厖厖厛厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厛厖垍厖厖厖厖厖厛厖厖厛厖厖厖厛厖垍厖厖厖厖厖厖厖垍厖厖厖厛厖厖厖厖厖厖厖垍垍厖垍厖厛厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖垍厖厖厖厖厛厖厖厖厖厖厖厖垐厛厖垍厖厖厖厖垍垍厛厖垍厖厖厖垐厖厖垍厛厖厖厛厖厖厖厖厖厖垍厖垍厖厖厖厛厖厖厛垍厖厖厖厖厖厛厖厖厖厛厛垍厖厛厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖垍厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖垍厖厖厖厖厖厖厖垍厖厖厖厖厖厖厛厖厖厛厖厖垍厖厖厖厖厖厖厖垍厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厛厖厖厖厖厖厖垍厖厛厛厖垍垍厖厖垍厖垍厖厖厖厖垍厛垐厖厛厛厖厛垍厖厖垍厖厛厖厖厖厖厖厖厛厛厖厖厖厖垐垍厖厛厖厖厖垐厛厖厖厛厛厛厛厛厖厖厖厖垍厖厖垍厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厛厖厛厖厖垍厖厖厖厖厖厖厖厖厖厖垍厖厖厛厛厖厖厛厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厛垐厖垍厖厖垍厖厖厖厛厖厖厖厛厖厖厖厖厖厛厖垍厖厖垍厖厖厖厖厖厖厖厖厖厛厖厖厖垍厖厛厖厖厖厖厖垍垍厖垍厖厛垍垍厖厖厖垍厖厛厖厖垍厖厛厖垍厖厖厖垍垍厖厛厖厖厖厖厖厛厖厖厛厖厖厛厖厖厖厖厖垍厖厖厛厛厖垍厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厛垍厖厛厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厛厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厛厛厖厖厖厖厖垐厖厖厖厖厖垍厖厛垍厛厖垍垐垍厖厖厖垍厖厖垐厛厖垍厖厖垍垐厖厖厖厖厖厖厖厖厖厛垍垍厖厖厛厖厖厖厖厛垍垍厖厖厖厖厛厖厖厖厖垍垍厖厖厖厖厖厖厛厖厖厖厖垍垍厖厖厖厖厛厖厖厛厖厛垍厛厖厖厖垍垍厖厖厖厖厖厖厖垍厖厖厖厖厛厖厖厖厖厖厖垍厖厖厖垐厖厖垍厖垍厖厖垍厖厖厖厛厖厛厖厖厖垍厖垍垍垍厖厖厖垍厖厖厖厖厖厖厖垍厖厖厖厛厖厖厛厖厖厖厖厖垍厖厖厖厖厖垍厖厖厖厖厖垐厖厖垍厛垍厖厖厛垍厖垍厛厖垐厖厛厖厖厖垍厖垍垍厛厖厖厖厖垐厖垍垍厖厖厛厖垐厖垍垍厖垍厛垍厖垐厖厛厖厖厖厖厖厛厖垍厖厖厖厖垐厖厖厛厛垐厛厖厖厖垐厛厛厛厛厛厖厖厖厖厖厖厖垍厖厖厖厖厖厖厛厖垍厖厖厖垍厖厖厛垍厖厖厖厛厖厖厛厖厖厖厛厛垍厖厖厖厖厖厖厖厖厖厛厖垐厖垍厖厛垍厖厖厖垐厖厖垍厛厖厖厖垍垍厛厖厖垍厛厛厛厖厖厖厛垍厖厖厛厖厖厖厖垐厛厖厖厖厛厖垐厖厛厖厛垍厛厛厖垐厖厖厖厖垐厛厖厛厛垍厖厖厖厖厖厖厖厛厖垐厖厖厛厖厛垐厖厖厖厖垍厖厖厖厖厖厛垍垐厖厖厛厖垐厖厖厖厖厖厖厖厖厖厖垍厖垍厖厖厛厖厖厖厖厖厖厖厖垍垐厖垍厛垐厖垐厛厖垍厛厖厖厖厖厖垍厖厖厛厖垍垍厖厛厖垍厖厖厖厖厛厖厖厖厖厖厛厖厛垍厖垍厖厛厛垍厖垍垍厖厖厖垍垍垍厛厖厖厖厛厖厛厖厛垍厛厖厛厖厖垍厖厖厖厛垍厖厖垐垍厖厖厖厖厖垍厖厖垍厛厖厖垍厖厖厖厖垐厖厛垍厖厖厖厛垐厖厖厖厖厖厖垍垍厖厖厖垍厖厖厖厛厖厖厖垍厖厖厛厖垍厖厖厖厖厖厖垐垍厖厛厖厛厖厖厛厖垍垍厖厖垍厖厛厖厛厖厖厖厖厖厖厖厖厖厖垍厛厖厖垍厖厖厛厖厖厖厖厖厛厛厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厛垍厖厖厖厛厖厛厖厖厖厖厖厖厖厖厖厖厖厖厛厛厖厖厖厖厖厖厖厛垍厖厖厛厛垐厖垍厖垍厖厖厖厖厖垍厖厛垐厛垍厛垍厖厖厛厖垍厖垍厛厛厖厖厖垐厛厖厖垍厖垍垐厖厖厖厖厖垍厖厖厖垍厛厖厖厖厖厖厛厛厖厖厖厖厖厛厖厖厖垍厖垍厖厖厖厖垍厖厖厖厖厖厖厛垍垍垍厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厛厖厖厖厛垍厖厖厖厛厖垍厛厖厖厖厖厖厖厖厖厛厛厖厖厖垍厛垐厛厖厖厖厖厖厖厛厖厛厛厖厖厖厖垍厖垍厖厖厛厖厖垍厖垍垍厖垐厛厖厖厖厖厖垐厖厖垍厛垍厖厖厛厖厛厖厖厖垍厖垍厖厖厖垍厛厖厖厖厖垍厛垍厖厖厖厖厖厛厖厖厖厖厖垍厖厖垍厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厛厖厛厛厖厖厖厖厖厖厖厖厖厖垍厛厖厖厖厖垍垍厛厖厖厖厖厖垍厖垍厖厖厖厖厖厖厛厖垍厖厖厖垍垍厛垍厖厛厖厛垍厖厖厖厖垍厖厛垍厖厛垐厛厖厖厛厖垍垍垐厖垐厖厖厛厖厛厖垐厖厛厖厖厖厖厛垍厖厖厛厖厖厖厛厖厖厖厛厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖垍厖厖厛垍厖厖垐厛厛厖厖厖厛垐厛垍垍厖厖厖厖厛垍厛厖厖厖厖厖厖厛厖厖厖厖厖厖垍厛厖厖厖厖厛厛厖厖垍厖厖厖厖厖厖厖厛厖厖垍垍厛厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖垍垍垍厖厖厖厖厖厖厛垐厖厖厖厛厖厖厖厖厛厛厖厛厖厖厖厖厖厖厛厖垐厖厖厛垍厖厛厖厖垍厖垍厛厛垍厖垍厖厖厛厖厛厖垍厖垐厛厖厖厖厖厖垍厖垍厛垍厖厖厖厛垍厖厖垍厖垐厖厖垐厖厛厖厖垍垍厛厖厖厖厛厖厛厖垍厖厖厖厖厖厖厖厛厛厖垍厖厖厖垍厖厖厖垐垍厖厖厖厖垍厛厖厖厖厖垍厖垐厖厖厖垍厖厖厖厖厖厖厖厖厖厛厛厖厛厖厖厖厖厛厖厖厖厖厖厖厖厛厖厖垐厛厖厖厛厖厖厖厖厛厖厖厛厖厖厛厖厖厛厖厖垍厖厖厖厖厛厖厛厖厛厖垍厖厖厖厛厖厖垐厖垐垐垍厖厖厖厖垍厛厖厖厖厛厖厖垍厛垍垍厛厖厖厖厛厖厛厛厖厖垍厖厛厖厖垍厖垍厖厖厖厛垍厛厖垍厖厖厖厖厛厖厖厖垍垍厖厖垍厖厖厖厖厖垐垍厖厖厖厖厖厖厖垍厖厖垍厛厖厛厖厖厖厛厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厛垐厖厖厖垍厛厖厖厖厖厖垍厖厛厖厖厖垍厖厖厖厖厖厖厖厖厖厛垍厖厖厖厛垐厛厖厖厖厖厛厖垍厖垍厖厛厛厖厖垐厖厛厖厖垍厖厖厖垍垍厛厖厖厛垐厖厛垍厖厖垍垍厛厖厖厖厖厖垍垐厖厖厖垐垐厖厖垐垐厛厖厖厖厛厖厖厛厖垐厛厖厖垍厖厛厖厖厖厖厛厖厖厖厖厖厖垍厖厛厛厖厖厖厛厖厖厖厖垍厛厖厛厖垐厖厖厖厛垍厖厖厛厖厖厖厖厖厖厖厖厖厖厖厛厖厛厖厖厖厖厖垐垍厖厛厖厖厛厖厖垍厖厖厖垍厖厖厖垍厖厖厖垍厖厖厖厛厖厖厖垍厖厖厛厖厖垍垍厖厖厖厖厖厖厖厖厖垍垍垍厖厖厛厖厖厖厖厖厖厖厛垐厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖垐厛厛厖厖厖厖厖厖厖厖厖厖厛厖厖厖垍厖厖厖垍垐厖厖厛厖厖厖厖厖厖厖厛厛厖垍厖垍厖厖厖厖厖厛厖垍厖垍厖厖垍厛垐厖厖厖厖厖厖厖厖垍厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厛厖厖厖厖厖厖厖厖厛厖垍厖厛厖厛垍厖垍垐厖厖厖厖垍厖垐厛厖垐厖厖厖厖厖厖厖厖厖厖垍垐垍厛厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垐厖厖垍厖厖厖厖垍厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖垍厖厖垍厛厛厖厖厖厖厖厛厖厖厖厛厖垍厖厖厖厖垍厖厛厖厛厖厖厖厖厖厖垍垍厛垍垍厖厖厖厖厖厛厖厖厖厖厖厖厛厛厖厖厖厖厖厖厖垍垐厖厖垐厖厖厛厖厖厖厖厛厖厖厖垍垍厖厖垐厛厖垍垐厖厖厖厖厖垐厛厖垍厖垍厛垍厖厖厖垍厖厛厖垍垐垍厖厖厖垐厖垍厖厖厖厖厖厖厖厖厖厖厖厛厛厖垐厛厖厖厖垍厖垐厖垍垍厖厛垍垍厛厖垐厖厛厖厖厖垍垍厖厖厖厖厖垍厖厖厖厖厛厖厖厛垍厖厛垍厛厖厖厛厖厖厖垍厖厖厖厖厖垍厖厖厛厖厖厖垍厖厖厖厛垍厖垍厖垍厖厖厖厛厛厖厖垍厖厖厛厛垍厖垐厛厖厖厖厖厛厛厛厖厖厖厖垍垍厖厖厖厖垍厖厖厖厖厖厖厖垍厖厖厖厖垐厛厖厖厛垐厖厛厛厖厖厛厖厖厖厖厛垍厖厖厖厖厛厖垍厖厖垍厖垍厖垍厖垍厖厖厖厛垍厖厖厖垍垐厖垐厛厖垍厛厛厖厖厖厖垍厖厖厖厖厖厖厖厛厖垍厖厖厖厖厖垐厛厖厖垍厛厖厖厖厖垍厖厖厖厖厖厖厖厖厛厛垍厛厛厖厖厖厖厖垍厛厖厛厖厖厖厖厖厖厖厖厖厖垍厖垍厛厖厖厖厖厖厖厖厖垍厛厖厖垍垐厖厖厖垍厖厖厛厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖垍厖厖厖厛厖垍厖厖厖厖厛厖厖垍厖厖厖厖垍厖厛厛厖厖垍厖厖厖厛厖厛厖厖厖垍厖厖厖厖厖厖厖厛厖垍厖厖厛垍垍厖厛厖厛垍厖厖厖厖厖厖厖厖垍厛厖垍厖厖厖厖厖垍厖厖垍厖厖厖厖厛厖厖厖厖厖垍垍垍厛厖厖厖厛厖厖垍垍厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖垍厖厖厛厖厖厖厛垍厛厖厖厖垍厖厖厛厖厖厖厛厖厖厖厛厖厖厖厖厖垍厛厖厖厖厖厖厖厖厖厖厖厖厛厛厖厖厖厛厖厖厖厛厖厖垍厖厖厖厖垍厛厖厛厖厖垍厖垍垍垍厖厖厖厖垍厖厖厛厖厖厛厖厖厖厖垍厖厖厖垍厛厖厖垐厖厖厛厛垐厖厖垐垐厖厖厛厛厖厛垍厖厖厖厖垐厖厛厖厖厛厖厖厖厛厖厖厛垍厖厖垐垍厖厖垍厖厖厖厖垍厖厖厛厖厖厖厖厛厖厖厖厖厛厖厛垍厖厖厖厖厖厖厖厖厖厛垍厖厖厛厖厖厖厖厖厖厖厖垍厖厖厖垍厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厛厖厖厖垐垍厖厖厖厖垍垍厖厛厖厖厖厛厖厖垐垍厖厖厛厖厖厛厛厖厖厖厖厖厖垍厛厖厖垍厖厛垐垍垐厖厖厛厖厛厖厖垍厖垍垐厖厖垍厖厖厖厖垐厖垍厖厖垍厛垍垍垐厛厖厛厖垍厛厖厛垐厛厖厖厛厖厖厖厖垐厖厖厖厖垍垍厖厛厖厛厖垍厖厖厖垍厖垐厖垍厖厖厖垍厛厖厛厖垍垍厖厖垍厖厛垍厖垍厖垍垐垍厖厛厖厖厛厖厖厖厖厖厖厛垐垍厖厛厖垍厖厖厛厖厖厛厛垍厖垍厖厖厖厖垍垍厖厛厖厖垍厖厛垍垍垍厛厖垍垐厖厖厛厖厖厛垍厖垍厛垐厛厖厖厖厛厖厛厛厖厖厖垍厛厖厖垐垍厛厖厛厛厛厖厛厖厛厖垍厖厖厖厖厖厖厖厖厖垐厖厖厖厛厖厖厛垐厖厖厖垍厛厖垍厖厛厖厖厛垍厖厖厛厖厖垍厛厖厛厖厖垐垐垍厖厛厖厛垍厖厖厖厛厖厖垐垍垍垐垍厖厖厖厛厖厖厖厖垐厛厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖垍厖厖厖厖厖厖垍垍厖厖厖垍厛厖厖垍厖垍厖厖厖厖厖垐厖垍厖垍厖厖厖厖厖厖厖厖厛厖厖厖厛垍垐厖厛厖厖厖厛厛厛厖厖厖厖厖厖垍厖厖厖厛厖厛厖厖垍厖厖垍厖厖厖厖厖厛厛垐厖厖厖厖垍垍厛厖垍垍厖厖厖厖厖厖厛垐厖厖厖厛厖厖厖厖厖厛厛厛厖厛厖厖厖厖厖厛厛厛厖垍厖厛厖厖厖厖厛厛厖厖厛厖垐厛厖厛厖厖厖厖厖垍厛厖厖垐厖厛厖厖厖厖厖垍厖厛厖厛厛厖厖厛厛厛厖厖垍厖厖厖厖厖厖厖厖垐厖厛厖厖厖厖垐垐垐垐厛厖厛厖厖厖垍厖厖厖垍厖厛厛厛厖厛厖垍厖厖垐厛垍厖厖厛垍厖垍垐垐厖厛垐厛厛厖厖垍厖垍厛垍垍厛垍垍厖厖厛厛厛厛厖厖垍厖厖垍厖厖厖厛垍厖垍厛垍厖厖垍厖厛厛垍厖厖厖厖厖垍厖厖厖厖垍厛垍厖厖厖厖厖厖厖厖厖厖垍厖厖厖垐厖厖厖厛垍厖厖垍厖厖垍厛厖厖厖厖厖厖厖厖垍厖厖垍厖厖厖厖厛厛厖厖厖厖厖厖厖厖厖厖厖厖垍厛厛厖厖厖厖厛厖垍厖垍厛垍垍垍厛厖厖厖厖厖厖厖厖厖厛垍垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍垍垍垍厖垐厖厖厛厖厖厖厖厛厛厛垍厖厛厖厛垍垍厖垍厛厖垐垍垍厖厖厖厖厖厖垐厛垍厛厖厛厖垍厖厖厖厖厖厖厖厖垐厛厖厛厖垍厖厖厖厖垍厖厖厛垍垍厛厖垍厖厛厖厖厖厖厖厖厖厖厖厖厖垐厖厖厖厖厛垍厖厖厖厖厖厖厖垍厖厖垍厖厖垍厖厖厖垍垍厖厖厖厖垍垍厖厖厖厖厖垍厛厖厛垍垍厖厖厖厖厖厖厖厖厖厖垐厖厖厖厛垍厖厖厛垐垍厖垍垐垍厖厖厛垐厖厖厖厖厖厖厖垐厖厖厖厛厖厖厖厖厖厛厛厛厖厖厖厖厖厖厛厖厖厛厖垍厖垍垐垍垍垍厖垍垍垍厖厖厖厖厖垍垍垐厖厛厖厖厖垍厖厛厖厖厖厖厖厖厖厖厛厖厖厖垍厖厖厖厖厖厖厖垐垍厖厖厖厖厖厖厖厖垍厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厛垐垍厖厖垍垍厖厖垐厖厛厖厖垍厖厖厖厛厖厖厖厖厖厖厖厖垍厖垍垐厛垍厛厖垐垍垐厖垍厖厖厖厛垐厖厖厛厛厖垍厖厛厛厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厛厖厖厖厛厖垍垍厖厖厖垐厛厖厖厛厖厛厛厖厖厖厖厖厖厛厖厖厖厖厛厖厖厖厖厖厖厖厖垍厛厖垍垐厛厖厖厖垍厖厖垍厛垍厖厛厖厖厖厖垍厖厖厛厖厖厛厖厖厖垍垍厖垍厖厖厖厖厖厖厛厖厖厖厖厖厖垐厖垐厖厖厖厖厖厖垐厖厖垐垍厖厖厖厖厖厖厛厛厖厖厖厛厖厖垍厖厖厛垍垍厖厖厖垍厖厛垍厖厖垍垍厖厖厖垍厖厖垐厛厖厛厖厖垍厖垍厛厛厛厖垍厛厖厖厖垍厖厖厖厖厖厖厛厖厛垍厛厖垐厖厖垍垍垐厛厖厛厖厖厖厛厖厖厖厖厖厖垍厖厖厖厖垍厖厖厖厖厖厛厖厛厖垍厖厖厖厖厖厛厖厖厖厖厖厛厛厖厖厛垍厖厖厖厖厖垍厛厖厖厖垍厖厖垍厖厖厖厛厖厖厛厖厖厖厛厖厖厖垐厖厖厖厖厛厖厖厛厖厛厖垐垐厛厖厖厛厖厛厖垍垍厛厖厛厛厛厖垍厖厖垍厖厖厖厛垍垍厖厖厖厖厛厖厛垍垐厛厖厖垐厛厖厖厛垐厖厖垐厖垍垍垍厖厛厖垍垍厖厖厖垍厖厖厖厖厖厛厖厖厛厖厖厖厖垐厛厖厖厖厖厖厖厖厖厖垍厖厖厛厖厖厖厖垍垍厖厖厛垍厖厖厖厛厖厛厖厖厛厛垍厖厖厖厖垍厛厖垍厖垍厖厖厖厖垍厖垍厖厖垍厖厖厖厖垍厖厛厖厖厖厖厖垍厖厖厖厖垍厖垍厖厖厖厖厖垍厖垍厖厖厖厖垍厖厖垍厖厖厖厖垐厛厖厖垍垐垍厖厖垍厖厖厛厖垍厖厛厛厛垐厖厛厖厖厖垍厖垍厖厖垍厖垍厖厖厛厛厖厖厛厖厖厛厖厖垍厖厖厖厖厖垍厖厖厖厖厖垐厖垍厖厛厛厖厖厖厖厛厖厖厛厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厛厖厖厖厖垍厖厖垍厖垍厖厖厖厖厖厛厖厖厖厛垍厛厖厖厖厖厖厛垍厖厖厖厖垍垍厖垍厖厖厖垍厖厖厛厖厖厖厖厖厖厖厖厖厖厖垍厖厛厖厖厛厖厖厖厛垍厖厖厖厛厖垍厖厛厖厖厖垍垐厖厖厖垐厖厛厛厖厛厖厖厛垍厖厖厖厖厖厛厖厛厖厛厖厖厖厖厖厖垐垐厖厖厖厖厖垍厖厛厖厖厖厖厖垍厖厖厛厖厖垍厖厖厖厖厖厖厛厖厛厖厖厖厖厖厖厖厖厛厖厖厖厖厖垍厖垍厖厖厖厖厖厖垍厖厖厖厖厖厖厖垐垐厛厛垍厛厖厖厖厛厖厖厖厖厖厖厖厖厖垍厖厖厖垍厖垍厖厖厖厖厛厖厖厖厖垍厖厖厖厖厖厖厖垐垍厖厛厖厖垍厖厖厖厛厛垍厛厖厖厖厖厖厖厖垍垍垍厛垍厛厖厖厖垍厖厖垍垍厖厖厖垍垐垐厛厖厛厛垍厖厖垍厖垍垐垍厖垍垍厖厖垍厖厛厛厖厛厖垍垐厖厖厖垐厖垍厖厖厖垍垍厖垍厖厖垍厖厖垐厖厖厖厖厛厖厖厖厖垍厖厛厖厛厖垍垍厖厖厖厖厖厖厖厛厖厖厖厖厖厛厖厖厖厖厖厖厖垍厖厖厖垍厖厖厛垍垍厖厖厖厖厖厖厖厖厛厖厛垍厖厛厖垐厖厖厖厖厖垍厖厖厖厖垐垍厖厖垐厖厛垍垍厛厖厛厛厖垍厛垍垍厛厖厖垐厛厖厛厖厖厖厖厛厛厛厖厛垍厛厛厖厖厖厖厖厛厛厖厖厖厖厖厖垍垐厖厖垐厛垐厖厖厛厖垍厖厖垍垍厖厖厛厖厖厖厖垍厖厛厖垍厖厖垍厛厖厖厖厖厖厖厖厖厖厖垍垍厖厖厖厖垍厖厖厖厛厖垐厖厖厛垍垍垍厖厖厖垍厛厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厛厖厖厖厖厖厖垍厖厖厖厛垍厖厖厖厖垍厖厖垍厖厖垍厖垐厖垍厛厖厖垍厛厖厖厖厛厖厖厖垍厖垍厖厖垍垐厖厖厖垍厖厛垍厛厖厖厖厖厖厖厖厖厛厖厖厛厖厛厛厖厖厖厛厖厖厖厖厖厖垍厖垐厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖垍厖厛厖厖厖厛厖厖厖厖厛厖厖厖厛厖厖厖厖厖厖厖厛厖厖厖厖垍厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厛厖厖厖厛垍厖厖厖厖厖厖厖厖厖厖厖厖厛厛垐厖厖厛厖垍厖厛厖垍垍厖垍厛厖厖厛厖厖厛厖厖厖垍厖厖厖厛厖垍垍垐厖厖厖厖厖厛厖垍厖垍垍厖厛厖厖厛厖厖垍厛厖垍厖垍厖厖厖厖厖厖厖厖垍厖厖垍厖厖厖厖厖垍厖厖厖厖厖厖厖厖垍厖厖厛垍厖厖厖厖垍垍厖厛厖厖厛厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厛厖厖厖厖厖厖厖厖厖垍厖厖厖厛厖厖厖厖厖厖垍厖厖厖厛厖厖厖厖厖厛厖厖厖厖厖厖垍厖厖厛厖厖厖厖厖厛厖厛厖厛垐厖厛垍厖厖厖垍厖厖厖厖厖厖厖垍厖厖厖厖厛厖厖厖厛厖厖厖垍厖垍厖厖垍厖厛厛厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖垍厖垐厖厖厖厖厛厖厖厖厖厖厖厛厖垍厖厖厖垍厖厖厖厛厖厖垍厛厖厖厖厛厖厖厖厖厖厖厖厖厖厖厛垍厖厖厖厖厖厖厛厖厖厖厖厖垍垍厖厖厖厖厖厖垍垍厛厖厛厛厖垍厖厖厖垐垍厖厖厖厖厖厖厖厖厖厛厖垍厖厖厛垍厖厖厖厛厖厖厖厖厖厖垍厖厛垍厖厖垍垐厖厖厖厖厛厛厖厖厖厖厖垍厖厖厖厖厖厖厖厛厖垐厖垍垍厖厛厛厖厖厛厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛垐垍厖厖厖厖厖厖厛垍垍垍厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厛厖厖厖厖厖厛垍厖厖厖垍厖厖厖垍厖厖厖厖垍厖厛厛垍厖垍厖厖垍垍垍厖垍厖厖厖厛厖垐厖厛厛厖厖厖厖厖垍厖厖垍厖垐厖厖厖厖厖厖厖厖厖厖垍厖垍厖垍厖厖厖厖厖垍厖厖厖厖厛厖厖厛厖厖厖厖垐厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厛厛厖厛厖厖厖垍厖垍厖厛垐厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖垍厖厖垐厖厖厖厖厖厖厖垐厖厖厖垍厖垍厖厖垐厖厖垍垍厛厖厖厖厖厛厛厖厖垍垍垍厖厖厖厛厖厛厖厖厖厖厖厖厖厖厛厖垐厖厛垍厖垍厖厖厛厖厖垍厛厖垐厖厛厖厖厖厖厖厖厖厛厖厖厖厖厖厖厛厖厖垍厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厛厖厖厛厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厛厖垐厖厖厖厖厖厛厖厖厖厖垍厖厖厖垍厖厛厖垍厖厖厖厛厖厖厖厖垍垍垍厖厖厖厖厖厖厛垍厛厖厖厖厖厖厖厖厖厛厖厖垍厛厖厖厖厛厖厖厖厖垍垍厖垍厛厖厖厖垐厖厖厛厖厖厖厖厖厖厖厖厖厖厖厛厛厖厖垍厖垍垐厖厖厖垍厖厖厖厖垍厖厖垍厖厖厖厖厛厖厖厖垍垍厖厖厛垍厖厖厖厖厖厖厛垍垍垐厖厖厖厖厖垍厖厖厛厖厖厛厖厖厖厖厖厖垍厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛垍厖厖厖厛垍厖厖厖厛厖厖厖厛厖厖厖垍厖厖厖厖厖厖厛厖厖厖垍厖厖厛厛垍垐厖厖厖厛垍厖厖厖厖厖厖厖厖厖厖厛垐垍厖厖厖厖厖垐厛厖厛厛厖厖厖厖垐厖厖垍厖厖厖厖厖垍厖厖厖垍垍厛垍厖厖厖厖垍厖厛厛垍垍厖垍厖厖厖厖厖厖厖厛厖厖厛垍垍厖厛垐厖厖厖厖厛厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖垍厖厖垍厖垍垍垍厖厖厖厖厖厖垍厖厛厖厖厖垐厖厖厖厛厖厖厖垍垐厖厖厛厖厖厛厖厖厖厖厖垍厛厖垍厛厖垍厖垍厖垐厛垍厖厖厖厖厖厖厖厛厛厖厖厖厖垍厖厖厖厛厛厖厖厖厖厖厖垍厖厖垐厛垐垍厖垍厖厖厖厖厖厖垍厖厖厖厖垍厛厛垍厖厖垍厖厖厖厖厛垍厖厛厖厛垍厛垍厖垍厖厖厖厖垐厖厛厖厖厖垍厖厛厖厖厛厖厖厖厖厖厖厖厖厖厛垍厖厖厛厛厛厖厖厖厖厖厖厖厛厖厖垍垍厖厖厖厖厛厖厛垐厖厖厖厖厖厖厖厛厖厖厖厖垐垍厛厖厖厖厖厛垐厖厛厖垐垍厖垍厛垐厛厛厖厖厖厖垐厖厖厖厖厖厛厖厖厖垍厖厖厖垍厖厖厛厖垍厖垍厛厖厖厖厖厖厛厛垍厖厖厖厖垐厖厖厖垍厖厖厛厛厖厖厖厖厖厖厖厖厖厖垍厛厛厖厖厖厖垍厛垍厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖垍厖垐厖厖厖厖垐厖厖厖厖垍厖厖厖厛厖厖厖厖厖垍厖垍厖垍厖垍垍厛厛厖垍厖厖垍厖厖厖厖厛厖厖厛厖厛厖厖厛厖厛厖厖厛垍厖厛厖厖厖垍厖垍厖厖厖厖垍垐厛厛厖厛厖厛厖垐垐垍厖厖厛厛厖厖厛垍垍厖厛厖厖垍厖厛垍垍厖厖厖厖厖厖厖厖垍厛垍厖厖厖厛厛厛厛厛厛厖厖厖厖厖厖厖厖厖厖厖厖厛厖垍厖厖厛厖厖垍厖厖厖厖厖垍厛厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖垍厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厛厖垍厖厛厖厛垍厖厖厛厖厖厛垍厖厖厖厖厛垐厖垍厖垐厖厖垐厖厖厖厖厛厖垐垐厖厖厖厖厖垐厖垐厖厛厖垐厖厖厖厖垐厖厖垐垍厛厖厖厖垍厖厖垐厛厖垍厖厖厖垍厖厖厖厖厖厖垍垍厖厖厖垍厖厖厖厖厖厖厖厖厖厛垍厖厛厖垍厖垍厛厖厛厖厖厖垐厛厖厖厖厖垍厖厖垍厖厖厖厖厖垍厖厛厖厛厖厛厖厖厖厖厖厖厖厖厖厖厛厖厖垐垍厖厖厖厖厖厖厛厖厖厖垍厖厖厛厛厖厖厖厖厖厖厖厖厖垍厖厖厖垍厛厖厖垍厛垍厖厖厖垍厖厛厖垐厖厖厖厖厛厛垍厖垍厖厛厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖垍厖厖垍厛垍厖厖厖厖垍厛厛垍垐垐厖厛厖厛厖厖厖厖厖垍厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖垍厖厖垍厛厖厖厖厖垍厖垍厖厖厛厖垍厖厛厖厖厖垍垍厖厛厖厖厖厖厖垍厖垍厖垍厖厖厖厛厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厛厖厖厖厛厖垐厛厖厖厛厛厛厖厖厖厖厖厖厖厖厖厛厛厖厖厖厖厖厖厖垍厖厖厛厖厛厛垍垍垐厖厖厖厖垍厖厖垍厖厖厖厖厛厛厖厖厖厖厖厖垍厖厖厖厖厛厛厛厖厖厖垍厛厖厖厖厖厛厛垍厖厖厖垐厖厖厖厛厖垍垍厖厖厖厖垐厖垍厖垐厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖垍厖厖垍厖厖厖厖垍厛厖厖厖厖垍厖厖厛厖厖厖垍垍厛厖厖厖厖厖厖厖厛厖厛厖厖垍厖厖厖厖厖厖厖厖厛厛厖厛厖垍厖厛厖厖厖厖厖厖厖厛厖厖厛垍厖厖厖垐厖垍厛垍厛厖厛厖厛厛厖厖厛垍垍厛厖厖垍厛厖厖垍厖厖垍厖厛厛厖厛厖厖垐厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厛垍厖厖厖垐厛厖厖厖垍厛厖垍厖厖厖垍厖垍厖厛厖厖厖厖垍厖厖厖厖厖厖厖厖垍厖厖厖厖垍厛厖垍厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厛垍厖厖厖厖垍厖厖厖厖垍厖厖厖厖垍垍厖垍厖厖厖垍厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖垍垍厖厖厖垍厛厖厛厖厖厖垍厖垍厖厖垐垐厖厖厖厖厖厖厖垍厖厖厖垐厖垍厖厖厖厖厖厛厖厖厛垍厖厛厖厛垐垍厖厖垐厖厖厖厛厛垍厖垐垐厛厖厖厖厛厛厖厛厖垐厖垍垍厖厖垍垍厖厖厖厖厖垍厖垍厖厖厖厖厖厖厖垍厖垍垍厖垍厖垍垍厖厖厖厖厛厛厖厖厖厖厖垍厖垐厖垐厛厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖垐厛厖厛厛厖厖厖厖厖厛厖厛厖厛厛厖厖厖厖垐厖厖厛厖厖厖厖厖厖厛厛垍厖厖垍厖厖厖厖厖厛厖厛厖厖厖厖厛垐垍厖厖厖厖垍厖厖厛厖厛厖厖厖厖厖厖厖厖厖垍垍厛垍厛厖厖厖厛垍厖垍垐厖厖垍垐厖厖垍厖厖厖厖厖厖厛垍厖厖厖厖厛厖厖厖厖厖厛垍厖厖厛厖厖厛厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厛厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厛厛厖厖厖厖厛厖厖厖厛厖厖厖厖厖厖厖垍垍厛厖厖厖厖厖厖垍厖厛厖厛厖厛垍厖垍垍厖厛厖厖厛厖厛垐厖厛厛厖厖垍厛垍厖厖厖厖垐垍垍厖厛垍厖垐厖厖厖厖厛厖厖厖厖厖厖垍厛厛厖厛厖厖厖厛厖垍厖垍厖厖厖厖垐垍厖厖厖厖厖厖厖厖厖厖厖厖垐厖厖厛厖垍厖厖厖厛厖厖厖厖厛垍厖厖厖厖厛垍厖厖厖厛厖厖厖厖厖厖垍垐厖厖厖垐厖厖厖厖厖垍厖厛厖垍厖垍垍厖厖厖厖厖厖垍垐垍厖厖厛厖垐厖厖垍垍厖厖厖厖厛厖厛厛厖厛厖厖垍厛厛厖垐厛厖厖垍厖厛厖厖厛厛厖厖厖厖厛垐垍厖厛厛厖厛厖垍厖厖厖厛厖厛厛厖厛垍厛厖垍厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖垍厖垍厛垍厛厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖垍厖厖厖厖厖厖厛厖厖厖厖厖厖厖厛厖垍厖厖厛垍厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛垍厖厖厖厖垐厛厖厖垍厖厖厖厖垐厖厛厖厛厛垐厖厖厖厖厖厛厖厖厖垍垍厖厖垍厛厖厖厖厖垍厖垍厖厛厖垍厛垍厖垍厖垍垍厖垐垐厖厖厖厛厖厖厖厛垍厖垐厛厖厖厛厖厖厖厖厖厖垍厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厛厖厖厖厖厖厖厛垍厖厖厖厖厖厖厖垍厖厛厖厖厖厛厖厖厖厖厖厖厛厖厖厖厖厖厖垍厛厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厛厖厖垍厖厖厖厖厖厛厖厛厖厛厛厖垐垍厛厛垍厖厛垍垐厖厖垐厖垍厖厖厖厛厖厛厖垍厖厛厖厖厛厖垐厖垍厛厖厖厛厖厖厖垍厖厖垍厖垍厛厖厖垍厖厖垍厖厖厖厖厛厖厖厖厖厖厛厖厖厛厛厖厛厖厖垐厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厛厖厛厖垐厖厖厖厖厖厖厖厖厖厖厖厛厖垍垍厖厖厖厖厖厖垐垍厖厖厖厖垍厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厛厖厖厛厖垍厖垍厖垐厖厖垍厖厛垍厖厖厖厖厖垍厖厖垍厖垍厖垍垍垍厖厖厖厖厖厛垍厖厖厖垍垍厖厖厖厛厖厛厖厖厛厖厖垍厖厖厖垐厖厖厖厛垍厛厖厖厖厖厖垍厖厖厖厖厖垍厖厖厖厖厖厖厛厛厖厖厖厖厖厛厖厖厛厛垍厖厖厖厖厛厖厖垍厖厛厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厛垍厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖垍厛厛厖厖厖厛厖垐厖厖厛厖垐厖垍厖垍垍厖垍厛垐厛厖厖厛厖厖厛厖厖垐厖垍垍厛厖厖厛厖厖厖垍厖厖厖厖垍厖厖厖厖垍厖厖厖厖厖厖厖厖垐垍厖垍厛厛厖厛厖厖厖厖厖厖厖垐厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖垍厖厖厖厛厛厖厖厛厖厛垍厖厖厛厖垍厖厛垍垍厖厖厛厖厖厖厖厖厖垐厖厛厖厖厖厖厖厖厖厖垍厖厖厖厛垍厖厖厖厛厖厛厖厖厛厖厖厛厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍垍厖厖厖厖垍厖厛厛厛垍厖厖厖厖厛垍厖垍厖厛厖垍厖厖厖厖厖垍厖厖厖厖垍厛厖厖厖厖厛厖厖垍垍垍厛垍厛厖厖厖垍垍厖厖厖垍厖厖厖厖厖厖厖厖厖垍厖厖厖厖垐厖厖厖厛厖厖厖垍垍厖厖厖厖厖垍垍垍厖厛厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖垍厖厛垐厖厖垍厖垍厖厖厖厛厖厖厖厛厖厖厛厛厛垍厛厖厛厖厖垍垍厖厖厖垍垍厛厖垍垍厛厖厖厖垍厖厛厛厖厖垍垍厛厖厖垐垍厛厖垍垍垍厖厛厖厖垍厛垐厖厛垍垍厛厖厖厖厖厖厖厖厖厖厖厛垍厖垍厛厖厖厖厖厛垍垍厖厛厖厖厖厛厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖垍厖厖垍垍厖厖厖垍垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍垍厖垍厖厖厖垍厖厖厖厖厖厖厖垍厛厖厖厖厛厖厖厛厛垍厖厖厛厖厖厖厖厖厖垍厖厖厖厖垍厖厛厖垐垍厖垐厛厛厖垍厖厖垐厖厖厖垍厖厖厛厖厖厖厖垍垐厖厖厛垍垐厖厖厖厖垍厛垍厖厖垐厖厖厖厖厛厖垍垍厖垍厖垍厖厛厖垐厖厖厛垐厖厖厖厖垍厖厖垍厛厖厖厖厖厖厖厖厛垍垍厖厖垐厖厖厖厛垍厖厖厖厖厖厖厖厛厛垍厖垍厛厖厛厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厛厖厖厖厖厛厖厖厖厛垍厖厖厖厖厖厛厖垐厖厖厖厛厛厖厛厛厛厖厖厛厛厖厛厛厖厖厖厛厛厖厖厖厛厛厖厖厖厖厖厛垐垍厖垍厖厖厛厛厖厖厖厖厖厖厖厖厖厖厛厖垍厖厖厖厖厖厖厖厖厖厖垍垍厖厖垍厛厛垍垐厖厖厖垍厛厛厖厖厖垍厖厖厖厖厖厛厖厖厛厛厛厛厖厖厖厖厖厖厖厖厖厖厖垐厖厖厛厖厖厖厖垐厖厖厖厖厖厖厖厖厖厖厖厖厖厛厛厖厖厖厖厛厖厖厖厛厖垍厖厖厖厛垍厛厛厖厖厖厖厖厖厛厖厛垐垍垐厛厖厖厖垐厛厖厖厖厛厖厖厖垐厖垍厖厖厖垍厖厖厖厖厖厖厖垍厖厖垍厖厖厖垍厛厖厖厖厖厖厖厛厖厖厖厖厖垐垐厖垍垍厛厛厖厖厖垍垍厖厖垍垍厛厖厖厖厖厖厛厖厖厛垍厖厖厖厖厖厖厖厖垍垍厖厖垍厛厛厖厖厖厖垍厖厖厖垍厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖垍垍厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛垍厖厖厖厖厛垍厖垍厖厖厖厛厖厖厖厖厖垍厖厖垍厖厖厛垍厖厖垍厖厖厖厖厖厖厖垍厛厖垍厛厖厛厖厖厖垍厖垍垐垐垍厖厖垍厖垍厖垍厛厛厖厛厛垍厖厛厖厖厖厖垐厖厖厖厖垍厖厖厛厖垍厖垍垍厖厖厖厖厖厖厖厖厖垍厖垐厛厛厖厛厛厖垍厖厖厖厖厛厖厖厛厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖垐厖厖厖垍厖厖厖厛厖厖垍厛厖垍厛厖厖垍厛厖垍厖垍垍厖垍厖厖垍厖厖厖厛厛厖垐垐厖厖厖厛厛厖垐垍垍厖厖厖厖垍厛厖垐厖垐垍厖厖垍垍厖厛厖厖厖厖垐垍厖厖垍垍厖垐厖厛厛厛厖厖厖垍垍厖厖厛厖垍厖垍厖厖厛厖厛厖厖厛厖厖厖厖厖厛垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛垍厖厖厖厖厖厖厖厖厖厛厖厖厖厖垍厛厖厖厖厖厖垍厖厖垍垍厖厖垍厖厖厖厖厖厖厛厖厖厛厖厖垍厛厖厖厛厖厖厖厖垍厖厖厖厖垍厖厖厛厖厖厖厖厛厖厖厛厛厖厖垍厖厖厛垐垍垍垍厖厖厖厖厛厛垍厛垍厖垍厖厖厛厖厛垍厛厖厖厖厖垍垍厖厖厖厛厖厛厖垐厛垍厖厛垍垍厖厛垍厖厖厖垍厖厛厖垍厖垍厛厖垍厖厖厛垍厖厖厛厛厖厖厛垍厖厛垍厛厖厛厖厖厖厛厖厖厖厖厖厖厖厖厛厛厖垍垐厖厖垍垍厖厛厖厖厖垍厖厖厖厖垍厖厛厖厖厖厖厖厛厖厖厛厖垍厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厛垍垍厖垍厖厖垐厖厖厖厖厖厖厖垍厖厖厖厛厖厖垍垍厛厖厖厖垐垍厖厖厖厛厖厛厖垍厖垐厛厖垍厖厛厖垐厖厖垐垐厖厖厖厖厖厖厖垍垐厖垐垍厖厖厖厛厖厖厖厖厖垍垍厖厖垐厖厖厖厖厖厖垐厖厛垍厛厖厖厖垍厖厖厖厖厖厖厛厛厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厛厖厖垍垍厖厖垍厖垐厖厛垍厖厖厖厖厖厛厖垍厖垍厖厖厖厛厖厖厖厖厖厖厖垍厖厛厛厖厖厖厖厖厖垍厛厖厖厖厖厖厖厖厖厖厖垐厖垍厛厛厛垐厖厖垐厛厖厖厖垍厖厖厖厛厖厖垍厛厖厖厛厖厖厖厖厖厖厖厖厛厖厖厖厖厖垍厖厖厖厖垐垍厖垍厖厖厛厖厖厖厖厖垍厖厖厛厖厖厖厖厛厛厖厖厖厛垍厛厖厖厖垍厖厖厖厖厖厛垍厖厛厖厖厖垐厛厖厖厖厖厖垍厖厖垍厖厖厖厛厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厛厖厖厖厛垍厖厖厖厖厛厖厛厖厖厖厛厖厖厖厖厖厖厛垍厛厛厖厖厖厖厖厖厖厖厖垍厖厖垍厖厖厖垍厖厖厖厖厖厖厖厖厛厖厖厛垐垍厖垍厖厖厖厖厛厖厖厖厖厖厖厖垍厖厖厖厖垐厖厛垍垍厖垍厖厛厛垍厛厖厛厖垍厖厖厛厖厖厖厖厖厖垍厖垍垍厖垐厛厖厖厖垍厛垍垍垍厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖垐厛厖垍厛厖垍厖厖厖厖厖厛厖厖厖厖厖厖厖厛厖厖厖厖厖厖厛厖厖厖厖厖厖垍厖厖厖垍厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖垍厖厖厖厖厛厛垍厛厖厖厛垍垐厛厛厖厖厛厛垍厖垍厖厖厖垍厖厖厖厖厛厛厖厖厖厛厛厖厖垐厛厖厖厖厖厖厖厖厖垍厖厖厛厖厖厖厖厖厖厖厖垐厖垍厖厖厖垐垐垐厖厖垍厖厖垍厖厛厖厖厖厖厖垍厖垍厖厖厖厛垍厖垍厖厖厖厖垍垍垍厖厛厖垐厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖垍厖厛厖厖厖厖厖厖厖厖厖厖垍厖厖厖厛厖厖厖厖厖厛垍厖厖厖厖厖厖厖厛厖厖厖垐厖厖厖厖厖厖厖厖厖厖厛厖垍厖厖厖厖垍厖厛厖厛厖厖厖垐厖厛垍厖垍厖厖厖厖厖厖垐厖厖厖厛厛厛厖厛厖厛垍垐厛厖厖厛垍厖厖厖厖厖厖厖垍厖厖垍垐垍垍厖厖垍厖厖厖厖厖厛厛厖垍厖垍垍厖厖厛厖厖厖厖厖厖厖垍厖垍厖厖垍厛厖厖厖厖厖厛厖厛厖厖厖厖垍厖厖厖厖垐厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍垍厖厖厖厖厛厛垍厖垍垍垍厖厖厖厖垍垍厖厖厛垍厖厖厖厖厖厖厛垐垐厖厖厖厖厛垍厛厛垐厖厖厖厖厖厛厖垍厖厖厖厖垍厖垐垐厖厖厖厖厛垍厖厖厖垍垍垍厖厖厖厖厖垍垍垐厖厖厖厖垍垐垍厛垍垍厖厛厖厖厖厖厖厖厖厖垍厖厖厖厖垐厖厖厛厛厛厖垍厖厖厛厖厖厛厖厖厖厛厛厖厖垍厛厖厖厖厖厛厖厖厖厖厖厖厛厖厖厖厛厖厖厖厖厖厖厖垐厖厖厖厖厖厖垍厖厖厛厛垍厖厖厖厖厖厖垐厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖垍厖厛厖厖厖厖垍厛厖厛厛垐厛厖垍厖垍垍厖厖垐厖厖厖厖厖厖厖厛垍厖厖垐垍厛垍垐垍厖垍厛厛厖厖垍厖厖厖厖厛垍厛厖厖厖厖垍厖厖厖厖厖厛厖厖垍垍厖厖厛厖厖厖垍垍厖厛厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厛垍厖厖厛厖厖厖厖厛厛厖厖厖厖厖厛厖厖厛厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖垐厖厖厖厖厛厖厖厖厖厖厖厖垐垍厖厛厖垐厖厖厖厖厛厛厛厖垍垍厖垍厖厖厖厖厖厖厖厖垍厖厛垍厖厖垐厖厖厛厖厛厖厖厖厖厛厛厖厖垍厖厖垍垍厖厖垍厖厛厖厖厖厖厖厖厛厖厛厖厖厖垍垍厖厛厛厖垍厖厖厖厛厖厖垍厖厖厖厛厖厖垍厖垍厖垍厖厖厖厛厖厛垍垍厖垐厖垍厖垍厖厖厛厛厖厖垍厖厖厖厛厖垍厖厖厖厖厖厖厛垍厖厖厖厖厖厖垍厖厖厖厖厛厖厖厖垍厛厛厖厖厖厖厖厖垍厛厖厛厖厖厖厖厛厖厖厛厖厛垍厖垍厖厖厖厛厖厖厖厖厖垍垍厖垍厖厛厖厖厖厖垍垍厛厖厖厛厖厖垍厛垍垍厖厖厖厖厛厖厖厖厖厖垍厖厖垍厛厖厛厖厖垍厖厖垍厖厖垐厖厖垍厛厖厖厛垐厛垐厛厛垍厛厖厖厖厖厖厖厖厖垍厖厖厖厖厖厛垍厖厛垍厖厖厖厖厛厛厖厖厖厖厖厖厖厖厛厛厖厛厖厖厖厖厖厖厖厖厖厖厛厖垍厖厖厖厛垍厖厖垍厖厖厖厖垍厖厖垍厖厖厖厖垍垍厛厖厛厖垍厖厖垍厖厖厖垍厖厖厛厛厛厖厖厖厖厖厛厛厛厖厛厖厖厛垍垍厖厛厖厛垍厛厖厖厛厖厖厖厖厖厛厖厛厖垐厖厛厛厛厖厛垍厖厖厖厖垍垍垐厛厖厛垍厖厖厛垍厖垍厖垍厛厖厖厖厖厖厖厖厖厛厖厛厖厖厖厖垍厛厖垍厖厖厖厛垍厖厖厛厖垍厖厖厖厖厖厖垍厖厖厖厛垍厖厖厖厖厖厖厖厖厛厖厛厖厖厛厖垍厖厖厖厖厛垍厖厖厖垐厖垍厖厖厖垍厖厖厖厖厖厖厖厖厖厖厛厖垍厖厖厖厛厛厖垍厖厖厛垍厖厖垐厛厖垍厖厖厖垐厖厖厖厖厖厛垍厛厖垍厛厖厖厛厖厖垍厖厖厖垍厖厖厖厛厛厛厖厖垍厛垍垍厖厖垍厖厖厛厖厖厖厖厖厖厖垍厖厖厖厖厛厖厛厖厖垍厖垍厖厛厖厖厛垍垍厖垍厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厛厖厛垍垍厖厖垐厖垍厖厖厖厛厖厖厖垍垍垍厖厖厖厛厖厖垍厖厖厖垍厖厖厖厛厖厖厛厖垍厖厖厛厖厖厖厖厖垍厖厖厖厖厛厖厛厖厛厖厛厖垍垍厖厖厛厖厖厖厖垍厖厖垍厖垍垐厖厖厖垍厖厖厖厛垐厖厛垐厖厖垍厖厖厖厖厖垍厖垍厛厖厖厖垍垍垍厖垍厛厖厖厛厖厖垍厖厛厛厛厖厖厖垍厖垍垍厖厖厖厖厖厖厛垐厖厖厛厖厖厖厖厛厖厖垍垐厖垐厖垍厖厖厖厛厛厖厖厖垐厖厛厖厖厖厖垐垐厖厖厖厖厖厖厖厛厖厖厖厖厛厖垍厖厖厖厛厖厖厖垍厛厖垍垍厖厖厖厖垍厖厖垍厖厖厖厖厖厖厛厖厖厖厛厖厖厛厖厖厛厖厖厛厖垍厖厖垍厛厛垍厖厖厛厖垐厖厖厛厖厖厛厛垍垍厖垍厖厖厛厖厖厖厛垐厖垍垐厖垐垍厖厖垍厖厖厖厖厖厖厛厖垐厖垍厖厖厛厛厖厖厖厖厖垍垍厖厖厖厖厛厖厖厖厖厖厛厖厖厖厛垍厖垍厖厖厖厖垐厖垐厖厖厖厖厛厖厖厖厖厖厖厖厖厛厖厛垍垐厖厛厖厖厖厖厛垐厖厛厖厖厛厛厖厖厖厖厖厛垍厛厖垍厖厖厖厖厖厖厖厖垍厖厖厖厛厖厖厖厖厛垍厖厖厖厛厖厖厖厖厖厖垍厛厖厖厖厖厖厛厛厖厖厛厖垐厖厖厖垐厛厛垍垐厖厖垍厖垍厖垍垍厖厖厖厖垐厛厛厖厛垐厖厛厛厖厖厖厛垍厖厛厖厖厖垍厖厛厖厖厖厛厖厛厛厖垍厖垍厖厖厖厖厖厖厖厛厖垍厖厖厛厖厖厛厛厖垍厖厖厖厖厛厖垍厖垍厖厖厖厖厖厖厖厛厖垍厛厖厖厖厖垐厖垍厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖垍厖厖垍厖垍厖厖厖厖厖厛厖厛厖垍厛垍厖厖厛厖厖厖厖垐厖厖厖垍厖厖垍厖厛厖厖厛厖厖厖厖厖厖厖厖厖厛厖垍厖厖厖厖厖垐厛垍厖厛厖厖厛厛厖厖厖厖厖厖厖厖垍垐厖厛厖厖厛厛垍垐厖厖厖垍厖垍厖厛厖厛垍厛垍厖厛垍厛厖厖垍厖厛厛厖厖厖垍垍厖厖垍厛厖厖厖厖厛厖垍垍厛垍厛垍厖厖厖厖厖厖厛厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厛厖厖厖厖厖厖厖厖厖厖厛垍厖厛垍厛垍厖厖垍厖厖厛厛厖厖厛厖垍厖厖厖厖厖厖厖厖厖厖厛厛厖厖厖厖厖厖厖厖厖厖厖垍厖厖厛垍厛厖厖厛厖厖厖厖厖厖厖厖厖厛垍垍垍垐厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厛垍厖垍垍厖垍厖厖厖厖厖垍厖厖厖垍垍厖厖垍厖厖厖厖垐厖厛厖厖厖厖厖垍厖厖厖垍厛厖厖厖厖厛厛厖垍厖厛垍厛厖垍厖厖厖厖垍厖厛厖垍垐厖厖厖垍厖厖厖厖垍厖厖厖厖垍厖厖厖垍厖垍厛厖厖厖厖厖厖厛厖厖厖垐厛垍厖厖垍厖厛厖厖厖厖垐垍厖厛厖厛厛厖厖厖厛厖厖厖厛厛厖垍厖厖厖厖厖厛厖厖厛厖厖厖垍厛厛厖厛厛厖厛厖垍厛厛厖厖厛厖厖厛厖厖垍厖厛厛厛厖厛厖垍厖厖垍厖厖垍厛厖厛厖厛垍厖厛厖厖厛厖垍厖厖厖厖厖厖垍厛垍垍厖厖厖垍厖厖厖厛厖厖厖垍厖厖厖厖厖厖厖厛厖厖厖厖垍厖厖厖厖厖厖厖垍厖厖厖厖厖垐厖厖厖厖厖厛厖垍厛垍厖厖厖厖厖厖垍厖厖厖厖厖厛垍厖厖厖厖厖厖厛厛垐厛厛厖垍厖厖厖厖厖厖厖厛厛垍厖厖厛厖厖厖厖厖厛厖厖垍垍厖厖厖厖厖厛垐厖垍厖厖厛厛厖厖厖厖厖厖厛厖厛垐厖厖厖厖厖厖厛厖厖厛厖厛厖厖厛垍厖厖垍厖厖厖厖厖厖厖厛厖厛厖厖厖厖厖厖厛厖厛厖厖厛厖厖厖厛厖厖厖厛垍垍厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖垍厖厖厛厛厖厖厖厖厖厛厖垍垍厛厖垍厖厖厛厛厖厖厖垍厛垍厖厛厛厖厖厖厖厖厖厛厛垍厖厖厛厖厛厖厖垍厖垍厖垍厖垍厛厛厖垍厖厖厖垍厖厖垍厖厖厖厖厖垍垐厖厖厖厖厖垍厖厛厖厖厖厖垐厖厛厖垍厖垍厖垍厖垍厖厖垍厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厛厖厖厖垍厖垍厖厖厖厖厖厛厖垍垍厖厖厛厖垍厖厖厛厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖垍厖垍厖垍厖厖厖厖厛厖厛厖厖厖垐厖厖厖厖厖厖厖厖厛厖厖垍厖厖厖厖垍厛厖厛厖垐厖厖厖厖厖厖垍厖厖厖厖垍厖厖厖厖厛厖厖厖厖垍厖垍厖厖厖厖厖厖垐厖厖厖厖厛厖厛厖厖厛垍厖厖垐厖厖厛厖厖垍厖垍厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖垐厖厖厖厖垍厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厛厖厛厖厖厖厖垐厖厖厖厖厖厖厖厖垍厖厖厖厛厖厖厖厖厖厖厖厖垍厖垍厖厛厛厖厖厖垍厖厖厖厖厛厖垐厖厖厖厖垍厖厖厖垍垍厖厖厖垐厖厖厖厖厛厖垍厖厖垍垍厖垍厖垍厖垍垍厖厖厖厛垍厖厖厖垍厛厛厖垍厖厛厖厖厖垍厖厖厖厖厖厖厖厖垍厛厛厖厛厖厖厛厖厖厖厛垍厖厛厖厖厖厖厖厖厖厛厖厖垍厖厖厖厛厖厖厖厖厖垍厖厖垍垍厖垍厛厖垍厖厖厖厖厛厖厖厖厖厖厖垍厖厖厛厖厖厛厖厖厖厖厖垍厖厖厖垍厖厖厛厖厖厖厖厖厖厛厖厖厖厖厖厖垍厖厖厖厖厖厛垍厖垍厖厖厖垍垍厖厖垍厖厖厖厖厖厖厖厖厖垍厖厖厖厖垍厖垍厖厖厖厖垍厖厖垍厛厖厛厖厖垍厖厖厖垍厖厖厖厖厖厛垍厖厛厛厖厛厖厖厛厖厖厖厛厖垍厖厖厛厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖垍厛厖厖厖厖厖厖厛厛厖厖厖垍厖厖厖厖厖厖垍厖厛厛厖厖厖厖厖厛厖厛厖厖厖厖厖厖厖厖厖厖厛厖厖厖垍厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厛厖厖厖厛厖垍厛厖垍厖厖厖厖垍厖厖厛厖厖厖垍厖垍厖厖垍厖厖厖厖厖垍厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖垐厖厖厛垍厖厖垐厖垍厖厖厖垍垍厖垍厖厖垍厛厖厖厖厖厖厖厖厖厖垍厖垍厖厛垍厖厛厖厖厖厖厖厛厖垍垍厛厖厖厖厖厖垍厖垍厖厖垍厖厖厖厛厖厖厖厖厖厖厖厖厖垍厖垍垍厖厖垍厖厛垍垍厖厖厖垍厖厖厖厖厖厖厖厖厖垍厖垍厖厖厖垍厖厖厛厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厛厖厖厖厛垍厖厛厖垐厖厖厛厖厖垍厖厖厖厖厛厖厖厛厖厖厖厛厖厖垍厖厖厖厖厖厖厖厖厛垍厖厖厖厖厖厖垍厖厖厛厖垍厖厖垐垍厖厖厛厛厖厖垍垍厖垍厖厖厖厛厛垍厖厖厖垍垍厖厖厖厖厖厖厖厖厖垍厖厖厛垐厛厖厖垐厛厛厖厖厛垍厖厖垍厖厛厖厖厖厖厖垐厖厛厛厖厖厖厖厖垐厖垍厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厛垐厖垍厖厛厖厖厖厖厖厖厖厛厛厛厛厖厖垍厖厖厖厖垍厖厖垍垐垍垐厖厖垍厛垍厖厖厛垍厖厛垐厖厖厖厛厛垍垐厖垐厖厖厛垍厖厛垍垍厖厖厛厖厖厖垐厖厖厖垍厖厖厛厖厖厖厖厖厖厖厖厖厖厛厖厖垐厖厖厛厖垍厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厛垍厛厖厛厖厖垍厖厛垍厖厖垍厖厖厛厖厖厖厖厛厖垍厖厖厖厖厖厖厛厛厖垍厖厖厖厖垍厖厖垍厛厖厖厖厖垍厖厖厖厖厖厛厖垍厖厖厖厖垍厖厖厖厖厖厖垍厖厖厛厖厖厖厛垍厖厖厛厖厖厖厖垍厖厖厖垐厖厖垍厛厖厖垍垍垍厖厖厛厛垍厛厛厖厖厛厛厛垍厖厖垍厖厖厖厖厖厖厖厛厛厛厛厖厖垐厛垍垍厖厖厖厖垍垍垍厖厖厖厖厖厖厖垍厖垍厖厖厖厖厖厛厛垍厖厖垍厖厖厛厖厖厛厖厖厖厖厖厖垍厖厖厖垐厛厖厖垍厖厖厖厖厖厖垍垍厖垍厖垍垍厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厛厖厛厖厖厖厖厖厛厖厖厖垍垍垍厖垍厖垍垍厖垍厛厛厖垍厖厛厖厛厛垍厛厖厖厖厛厖厖厛厖厖垍垍厛厖垍厖厛厖厖厖厖厖厖厖厖厛垍厖厖厖厖厖厛厖厖厖厖厖厛厖垍厖厖厖垍厖厖厖厖厖垍厖厛垐厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖垍厖垍厖垍垐厛垍厖垍垍厖厖垍垍厛厖厛厖厛厛厖垍厖厖厖厖厖厖厖厖厖厖垐厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厛厖垍厖厖厖厖厖厖厛垍厖垍垍厛厖垍厛厖厖厖厛厛垍厖垍厖厖厖厛垐厛厖厛垍厛厖垍厖厛厛垍垐垍厛垐厖厖厖厖垍厛厖厛厖垍厖厛垍厖垍厖厖厛厖厖厖垍垍厖厛厖垍厖垍垍厛垐厖厖厖厖垍厖垍厖厖垐厛垍厖厖厖厖厖垍厛厖厖厖厛厖厖厖厛厛垍厖厖厛厖厖厖垍厖厖厖厖垍厖垍垍厖厖厖厖厖垍厖厖厛厖厖厖厖厖厖厖厖厛厖厖厛厖厖厖厖厛厛厖厖厖厛厖厖厖厖厖厖厖厖厖厖厛厖垍厖厖厖厖厛厖厖厖垍厖厛厛垍厖厖厖厛厖厖厛厖厖厖厖垍厖厛垐厖垍厖厖厖厖厖厖厛厖厖厖厖厖厛厛厖厖垍厛厖厛厖厖厖厖厖厖厖厛垍厖厖厖厖厖厖垍垐厖垍厛厛厖厖垍厖厖垍厖厛厖厖厖厖厖垍厖厖厖厖厖厖垍厖厖垍厖垍厖厖厖厛垍厖厖厖厖厖厖厖厖厖厖垍厖厛厖垍厖厖厖厖厖厖垍厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厛厖厖厖厛厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖垍厖厛厖厖厖厖垍垍厖厖厖厖厖厖厖厖厖厖厖厖厛厖垍垐垐厖厖厖垍厖厖厛厖厖厛厖厖厛厛厖厖厖厖厖垍垍厛厖厖厖厖厖厖厖垍厖厛厖垍厖厖厛厖垍厖垍厛厖厖厖厛垍厖厖厖厖厖厛厖厖厖厖厖厖厖厛厖厛厖厖厖厖厖厖厖厖厖垐厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖垍厖垍厖厛厖厛厖厖厖垍厖厖厖厖厖垍厛厖垍厛厖厖厖厛厖厖厖厖厛厖厖垍垍厖厛厖厖厖厖厖厛厛厛垍厖厖厖厖厖厖垍厖厖厖厖厛厖厖厛厖厖厖厖厖厖厖厖垐厛厖厛厖厖厖垍厖厛厛厖厖厖厖垍厛厖垍厖厖厖厖垍厖垍厖厖厖厖垐垍厛厖厖厛厖厛厖厖厖厖厖厖垍厛厖厖厖垍厖厖厖厖厖垐厖垍厖垍厖厖厖厖垍厖厖厖厖厖厛厛厖厖厖厖厖厛厖垍厛垍厖厖垍厖厖厖厛厖厖厖厖厖垍垍厖厖厖厖厖厖厛厖厖垐厖垍厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厛厖垐厖厖厖厖厖厛厛厖厛厖厖厖厛厖厖厖厖厖厖厛厖垍厖厖垍厖厖垍厖厖厛厖厖厖厖厖厖垐厖垐垍厖厛厖厖厖垍厖厖厖垐厖厛厖厖厖厖厖厛厛垍厖厖厖厖厖厖厖厖厛厖厖厖垍厖厖厖厖厛厛厖厖厖厛厛厖垍厖厖厖厖厖垍厖厛厖厖厖厖厖厖垍厖厖厛厖厖厖厖厛厖厖厖厖厖垍厖厖厖厖厖厖厖垍厖厖垍厖厖厖厖垐垐厖厖垍厖垍厖厖厛厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厛厖厖厖垐厖厖厛厖垍厖厖厛厖厛垐厖厖厖厛厛厖厛厖厛厛垐垐厖厖垍厛垍厛厖厖厛厖厖厖厖厛厖厖垍厖垍垍厖垍厖厖厖厖厖厖厖垍厖厖垐垍厖厛厖厖厛厖厖厖厖厛厖厖厖厖厖厖厖厖厛厛垍厖厖厖厖厖厖垍厖厖厖垍厖垍厛厖垐垍厖厖厖厖厖垍厖厖厖厖厛厖厖垐厖厖厖厖厖厛厖厖厖厖厖厖厛厖厖厖垍垍厖厖厖厖厖厖厖厛垍厛厖厖厖厖厖厖厖厖厖厖垐厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍垐厖垍垍垍厖厖厛厖厛厖厖厖厖厖垍垍厛厖厖垍厛厖厖厛厖厛厛厖厖垍厖厛垍垐厖垍垐厛厖垐垍厖厖垍垍厖厖厖厖厖垍厛垐厖厖厖垍厛厖厛厖厖厛厖垐厛厖厛垍厛垐厖垍厖垍厖厖厛厖厖厖厖厖厖厖厖厛垍厖厖厛厛厛厛厖厛厖垍厛厖厛厛厖厛厖厖厖厖厖厖厖厛垍厖厖厖厖垐厛厖厖厖厖厖厖厖厖厛厖厖厛厖厖厖厖厖厖厖厛厛厖垍厖厖垐厛厖厖厖厖厖厖厛厖垍厖厖厖厖厖厖垍厖垐厖厖厖厖厖厖厛厖厖厛厖厛厖厖厖垍厛厖垍厖厖厛厖厛厖厖厖厖垍厖垍厖厖厖厖厛垍厖垍厖厛厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖垍厖厖厖垍厛厛厖垍厖垍垍厖厖垍厛厖厖厖厖厖厖厖厛垍厖厖厖厖厖厖厖厖垍厖厖厖厖垍厖厖厖厖厖厖厖垍垍厛厖厛厖厖厖厖厛厖厖厖垍厛垍厖厖垍厛厖厛厖厖厖厛厖厖垍厖厖厖厖厖垍厖厖厖厖厖垍厖厛厖厖垐厖厖厛厖厛厖厖厖厖厖厖厖厖厛垍厖厖厖厖厛厖厖厖厛厛厖厖厖厖厛厖厖厛厖垐垍厖厖厛厖厖厛厖垍垍厖厛厖厖厛垍厛厖厖垍厖厖厖厖厖厖厖厖垍厖厖厖厛垐厖厖厖厖厖厖厛厖垍厖厖厖厖垍厖厖厖厛厖厖厖厖厛厖垍垍厖厖厛厖厖厖厖厖厖厛厖厛垍厖厛厖厛厖厖厖垍厖厖厛厖垍厖厖垍厖垍厖厖厖垍厖垍厛厖垍垍垍厖厖厖厖厖厛厖厖厖垍厖厖垍厛厖厖垍厖厖垍厖厖厖厖厖厖厖厛垍厖厛厖厖厖厖厖厖垍垍垍厖厖厖厖厖厛垍厖厛厖垍厖厖厛厛厖厖厖厖厖厖厖垍厖垍垐厖垍厖厖厖厛厖厖厖垍垐厖厛厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛垍厖厖垍垍厖厛垍厖厖厖厖厖厖厖厖厛厖厖厖厛厖厖厖厛厖厖厛厖垐厛垐垍厖厛厖厖厖厖垍厖厖垍厖厖厖厖厖垍垐厖厖厖厛厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖垍厖厖厛厖厖厖厖垐厛厖厖厖厛垍厖厖厖厖垍垍厖厖厖垐厖厖厖厛厖厖垍厖垍垍厖厛厖厖厛垍垍厖厛厖厖厖厖垍厛厖厛厖厖厖垍垐厖垍厛垍厖厖垍垍垍厖厖厖厖厖厖厖垍厖厖厛厖垍厛厖垍厖厖厖厖厖垍厖厛厖厖厛厖厖垍垍厖垍厖厛厖厖厖厖厖厖厖厖垍垍厖厖厖厖厖厖厛厖垍垍厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厛垐厖厖厖厛垍厖厖厖厛厖垐厖厖厖厖厖厛厖厛厖厖厖厛厖厖厖厖厛厖垍厖厖厖厛垍垍垍厖厖厛厛垍厖厖厖厛厖厖厖厛厖厖厖垍厖厖垍厖厖厖垍厛厛垐厖厛垍厛厖垍厖厖垍厖垍厖厖厖厖厖垍厖厖厖厖垐厖厖厛厖垍厖厖厖厖厖厖厖垍厖厛厛厖厖厖厛厛厖垐厛垍厖垍厛垍厖厖厖厛厛垍厖垍厖厖厖厛垍厖厖厛垍厛厖厖厖厖垐厖厖厛厖厖厖厖厛厖厖厖厛厖厖厖厖厖厖厖厖厖厖厛厖厖垐厖厖垍厛厖厖厛厛垍厖厛厖垍垍厖垐厖厛厖厖厖厛垍厖厛厖厛垍厖厖厖垍垐厖厖厖厖厖厖厖厖垍垍厖厖厛厖厛厖厖厖垍垍垐垍厛厖垐厖厖厛厖垍厖厖厛垍厛厖厖垍厖厖厖垍厖厖厖厖厖厖厖厖厖厖垍厖垍厖厖厖厖厖厖厖垍厖厖厖厖垍厖厖厖厛厖垍厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厛厛厖厖垍厖垍垍厖厖垍垍厖厖厖厖厛厖厖厖厖厖厖厖厖厖垍厖厖厖厖厛厖厖厛厖厖厖厖厖厖垐厖厖厖厛厖厖厖厖厖厖厖厖厖厛厖厖厛厖厖厛厖厖厛厖厖厖厖厛厖厖厖厖厖厖厖垍垍厖厖厖厛厖垍厛厖垍厖厖垍厖厖厖垐厖厖垐厖垍厖厖厖厖厖厖厛厖厖厖厖垍厖垍垐垍垐厖厛厖厖厖厖厖垍厖厖垍垍厖厖厖厖厖厛厖厖厖厛厛厖厖厖厖厖厖厖垍厖垐厛厖厖厛厖厖厖垍垍厖厖厖厖厖厖厖厖垐厖垍厖厖垍厛垐厛垍厛厖厖厖厖垍厛厖厖厖垍厖厖厛垍厛厖厖厖厛厖垍厖厖厖厖厖厖垐垍垍厖厖厖厖垍厖厖厖厖垐厛厖厖垍厖厖厖厖厖厛垍厖垐厛厖厖厛厛厛厖垍厖厖厖厖厛厖厖垍厖厛垍厛厖厖厛垐厖厖厛厖厖厖厖厖厖厖厖垍厛厖厖厖厖垍厖厖厖厖厖厖厖垍垐厖垍垍垍厖厖厖厖厖厛厖厖厛厖厖厖厖厛垍垐厖厖厖厖垍厛厖厖厛厖厖厖厖厖厖厛厖厖厖厖厖厖垍厛厖厖厖厖厖厖垍厖垍厖厖厖厖厖厖厖垍厖厖厖垐厖垍厛垍厖垍垍厖厖厖厖厖垍厖厖厖厖厛厛垍厖厖厖厖厛厖厖厖厖厛垍厛厛厖厛垍厛厖厛厖厖垐厖厖厖厛垐厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖垍厖厖厖垍垐厖厖厖垍垍厖厖厖厖厖厖厖厖厖厛垍厛厖垍厛厖垐厖垍厖厖厖厖厛厛厖厖厖厖厖厖厖厖厖厛厖垍厖垍厖厖厖厖厛垍厖厖厛厖厛厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厛厖垍厖厛厖厖垍厖厖厛厖厖厖垐厖厖厖厖厛厖厖厛厖厖厖厖垍厖厖厖厖垍厖厖厛厖厖厖厖厖厛垍厖厛垍垍厖厛厖厖厖厛厖厖厖垍厖垍厖厖厖厖垍厖垍厖垍厖厖厖厖厖厛厖厖厖厛厖厖垐厛厖厖垍厖厖垍厖厖厖厖厖厖垍厛厖厛厖厖厖厖厖厖厖厖厖垍厖厖厖厖垍厖厛厖厛厖厖厖厖厖厖厖厖厖厖厖厖厛厖垍厖垍厖厖厛厛厖厖厖厛厖厖厛垍厖厖厛厖厖厛厛厖垍厖厖厖厖厖厖厖厖厖垐厖厖垐厖厖厛厖厛厖厛垍厖厖厖厖厖厛厖厛厖厖厛厖厖厛厖厖垍垍厖厖垍垍垍厖垍厖厖厖厖厖厖垐厖垍厖厖厖厖厖厖厖垍厛厖厖厛厖厖厖厛厛厖厖厖厛厖厛厖垍厛厖厖厖垍厖厖厖厖厖厖厛垍厖厛厖厛厖厛厖垍垍厛垐垍厖厖厖垍厛垍厖厖垍垍厖厖厖厖厖厖厖厖厖厖垍厛垍厖厖厖厖厖厖厖厖厛厖厛厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖垍垍厖厖垍垍厖厖厖垍厖垍厖厛垐厖厖垍厖垍厖垍厖厖厛厖厖厖厖厖垍厖厖厖厖厖垐厖厛厖厖厛垍厖厖厛厖厖厖厛厖厖厖厖厖厛垍厖厖厖厖厖厛厖厖厖厖垍垍厖厖厖厖厖垐厖厖厖厛厖厖厖垍厛垍垐垍厖厖厛厖厖厖厖厖厖厖垍厖厖厖垍厖厖厖厖厖厖厖厛厛垐厖厖厛厖垍厛厖垍厛厖厖垐厛垍厖厛垐厖厖厖厖厖厖厖垍厖厖厖厛厛厖厛厖厖厖厖厛厖厖垍厖厖厛厖厖厖厖厖厖垍厖厖厖厖厖厛厖厖厛厛厖厖厖厖厖厖厛厖厖垍垍厖厖厖厛垍厛厖厛垍厖厖厛垍厖厖厖厖厛厖厖厖厖厖垍厖厖厖垍厖厖垍厖厛厛厖垍厖垐垍厖厖厖厖厛厖垍厛垍厖厛垍厛厖厖厖厖厛厖垍厖厛厖垍厖厖厖厛厛厖厖厖厖垍厛厛厖厖厖厖厖垍垍厖厛厖厖厖厖厖厖厖厖厖垍厖厛垐厖厖厖厛厛厖厖厖垍厖厖厖厖垍厖厖厖厛厛厖厛厖厖厖厖厖垍厖厖厖垍厖厖厛厖垍厖垐厖垍垍厖厛厖厖厖厛厖厖厛厛厖厖厖厖厖厖厖垍厖厖厛厖垍厛垍厖厛厖厖厖厖厖厖厖厖厖厛厖厛厖厖厛厖厖厖厖厛厖厖垍厖厖厖厖垍厖厖厖厖厛垍垍垍垐厖厖厖厖厛厛垍厖厛厖厛厖厖垍厖厛厖厖厖厖垍厖厖垍厛厖厖厛垍垐厖厖厖厖厛厖厖厛厖垐垍厖厖厖厖厖垍厖厖厖厖厖厖垍厖厖厖厛厖厛厖厖厖垍垍厖厖厖厛厖厖厛厖厖厖厛厖厖厖厖厛厖厖厖厖垍厖厖厛厖厖厖厖厛垍厖厖垍厖厖厖厖厖厛垍厛厖厖厖厖厖厖厖厖厖垐厖厖厖厖厖厖垍厖厖厖厖垍垍厖垍厖垍厛厛厖垍厖厖厖厛厛垍厖厖厛厖厛厛厛垐厛厖厖垍厖垐垐厖垍厛厛厖厛垍厖厖厛厛垍厛垍厖厖垍厛厖垐厖厖厖厖厖厛厖厖厛厖厖厖厖垍厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛垍厖厖厖厛厖厖厖垍厖厖厖厛厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厛垍厖厖厛厛厛厖厖厖厖厖厛垍厖厖厖厛厖厖厖厖垐厖垍厖厖厖垍垐厛厖厖厖厖厖垍厖厖厛厛厖厖厖垍厛厖厖厖垍垍垍厖垍厖厖厖厛厛厖厛垍垐厖厛厖厖厖厖垐厖厖厛垐垐垍厛厛厖厛厖厛厖厖厛垐厖厛厛垍垍厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垐厖厛厛垐厖厖厖厖垍厖厖厛垐厖厛厖厛厖厛厛厖厖垍厖厛厛厖厖厖厖厛厖厖厖厖厖厖厖厛厖厛厖垍厖厖厛厖垍厛垐厖厖垍厖厖厖厖厖厛垍厖垍厖厖厖厖厖厛厖厖厖厖垍厛厖厖垍厖厛厖垐厖垍厖厖垍垍厛厛厖厛厖厛厛垍厖垍厖垍垍垍垍厛厖厛厛厖厖垍垍垐垍厖厖厖垍厖厛厖厖垍厛垍垍垍垍厛垐厖厖厖厖厛厛厖厖厖垍厖厖厖厖厖垐厖厖厖垍垍厖垍厖厖厖厖厖垐厖垍厖厖厖厖厛厖厖厖厖厛厛厖厖厖厛厖厖厛厖厖厖厖厖厖厖厖厖厖厖厛垍厖厛厖厛厖厖厖厛厛垍厖厖垍厖厖厛厛厖厖厖厛厖垍厖厖厖厖厖厖厖厖厖厖厛厖厖厖垐厖厖厖厖厖厖厖垍厖厖厖厛厖厖垍厖厖厖厖厖厖厛厖厖厛垍垍厖厖垍厖厖厖垐厖垍厖厖厛厖垍厖厖垍厖垍垐厛厖厛厖厖厛厖厖厖厖厖厖垍垐厖厖垍厖厛厛厖厖垍垍垍厖厖垍垐垍厖垍厛厖厖厖厖垍厖厖垍厖厖厖厖垐厖厖厖厛厖厛厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖垍厖厖厖厖厖厖厖厖垍厖厖厖厛厖厖厖厖厖厖垍厖厖厖垐厛厖厛厖厖厖厛厖厖厖厖垍厛厖厛垍厖厖厖垐厖厖厖厖厖厖厖厖厛厛厛厖厖厛厖厛垍厖厖厛厖厖厛厖垍厛垐厖厖厖垍厖垍垍垐垐厛厖厛厛厖垍厖厛厖厛厖垍厖厛厖厖厖垐厛厖垍垐厖厖垍厖厖垍厛厖厖厖厖厖厖厖厖厖厖厛厖厛厖垐垍垐厖厖厖厖厖厛厖垍厛厖厛厖厛厖垍厖厛厖垍厖厛厖厖厖厛厛厖厖厛厖厖厖厖厖厖厖厖厖厖厖垐垐垍厛垍厖厖厛厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厛厛厖厖垍厖垍厛厖垍厖垍垍厖厖厖厛垍厛厖厛厖厛厖垐厖厖厖厛厛厖垍厖厖厖垍厛厖垍厛厖厖厖厛垍厛厖厖厖厖厖厛厖厛垐垍厖厖厛厛厛厖厖厖垍垍厖厖厖垍厖厛厖厖厖厖厖厛厖厖厖厖厖厖厖厛垍厛厖垍厖厖垐厛厛厖厖厖厖厖厛垍厖厖厖厛厖垐厖厖厖厛垍厖厖厛厛厛垍厖垍厛厖厛厖垍厖厖垍垍厖厛厛厛厖厖厖厖厖垍垍厖垍厛厖厖厖垍厖厖厖厖厖厖厖厖厖厖厛厖厖厖垍厖垍厖厖厛厖厛厖厖厖厖厛厖厖厖厖厛厖厖垍厖垍垍厖厖厛厖厖厖厖厖厖垍厖厖厛厖垍厛厛垍垍厖厖厖厖垍厖厛厖厖厛厖厖厖厖厖厖厖厖厖垐垍垍厛厛厖垍垍垍厛厖厖厖垍厖厖厖厖厛厖厖厖厛垐厖垍厛厖垐厖厖厖厖垍厖厛垍厖厖厖厖厖厛厖厖厖厖厖垍厖厖厖垍垍厖厖垍厖厖厖厖厖垍厖垍厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厛厖厖厖垍垍厖厖垍厛垍厖厖厖垐厛垍厖厖垍垐厖厖厖垐厖厛厖垍厖厛厖厖垍厛厖厖垐垍厖厛厛厖垐厖厖厖垍厖厖厛厖厛厖厖垐厖垍厖垍垍垐厛厖厛厖厖厖厖厖垍垐厖厖厖厖厛厖厖厖厖垍厛垍厖厖厖厖厖厛垍厖厛垍厖厖垍垍垍厖厖厖厛厖厖垍厛厖厛厖厖厖厖厖垐厖厖厛厖厖厖厛厖垍垍厖厖厖厖厖厛厖厖厖厛厖厖厛厖垍厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厛厖厖厖垍垍厖厖厖垍厖厖垍厖厖垐厖垍厛厖厖厖厖厖厖垍厛厛厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厛厖垍厛厛厖厖垍厖厖厛厖厛垍厖厖厖厛厖厛垍厖垍厖厖垍厛厖厖垍厖垍垍垍垍厖厖厖厛垍厖厖厖厖厖厖厖垍厛厖厖厖厖厖垍垍厖厖垍厛厖厖厖垍厖垍厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛垐厖厖厖厖厖厖厖厖厖厖厖厖厛厛厖厖厖厛垐厖厛厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厛厖厛厛厖厖厖厖垍厖厖垍厖厖厖厖厛厖厖厖厖厛厖厖厖厛厖垍厖厖厖厖厖厖厛厖厖垐垐厖厛厖厖垍垍厖厖厖垐垐厖厛厖厖厖厖厖垍厛厖垍厖厖厛厖厖厖厖厖厖厖垍厖厖厖厖垍厖垐厛厛厖厖厖厛厖厛厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖垍厖厖厛厛厖厖垍厖厖厛厖垍厖厖厖厛垍厖厖厖垍厖厖厖厖厖垍厛垍厖厛厛厖厖厖厖厖厖厖厖厖厖厖垍厖厖垍厖厖厖厖垍厖厖垍厛厖厖厖垍厖厖厛厖厖垐厛厖厖厖垍厖厖垍厖厖厖厖厖厖厖厛厖厖垍垍垐垐厖垐厖厖厖厖厖厖垍厖厖厖厖厖垍垍垍厖厛厖垐厛厛垍垍厛垐厖垍厛垍垐厖厛垍厛垐厖厖厖厖垍垍厖厖厖垍厖厖厛垍垍厖厖厖垐厖厖厛厛厖厖垍厛厖厖厛厛厖厖垍垍厖厖厖厛厖厖垍厖厖厖厖厖厛垍垍垍垍厖厛厖厖厖厖厖厖垍垐厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厛垍厖厖厛厖厖厖垍厛厛厖厖厛厛厖垍厖厖厖垐垍厖垍厖垍厖垍厖垍厛厖厛厛厛垍厛厛垍厛厖厖厖垍厛垍垐厖垍垍垐厖厖厖垍厖厖厖厛厖厖厛厖垍厖厖厖厛厖厖厛垍厖厛厖厖厖厖厖厖厖厖垍厖垍垐厖厛厖垍厖厖厛垍垍厖垐垍厛厖厛厛垍厖厛垐厖厖厖厖厖厖厖垍垍厖厛厖厖厖厖厖垍厖厖厖垍厖厛厖厖垐厖垍厖厛厖厖厖垍垐垍厛垍厖厖厖垍垐厖垍厖垍厖厖厖厛垍厖厖垐厖垍厖垍厖厖厖厛厖厖厖垍厖厖厖厖厛厖厖垐厖厖垐厖厖厛厖垐厖垍厖厛厛垐厖厛厖厛厖厛厖垍厖厛厖厖垍厖厖厖厖厛垍厖厛厖厖垍厛厖厖厛垍厖厖厖厖垍厖厖厛垍厛厛厛厛厖厖厖厖厖厖垍垍垍厖厖厛厖垐厛厖厛厖厖垍厛厖厖垍厛厖垍厖垐厖厖厖垍垍垍厖厖厖厖厖厖厖厖厖垍厖厖厛厖厖垍厖厖厖垍垍垐厛厛厖厖垍厖垍厖厖厖厛厖厖厖厖厖厖垍厖垍厖厖厛厖厛厛厛厖厖垍厖厖厖厖厖厖厖厛厛厛厖厖厖厖厖厖厖垍厖垍垐厖厖厖垍厖垍厛厖厖厛厖厖厛厖厖厖厛垍厛厖厖厛垍垍垐厖厛厖垐厖垍垍厖厖厛厖厖厖垍厛垍厖厖垐厖垐厛垍厛厖垍厛厖厖厖垐厖厖垍厖厖厖厖厖厖垍厖厖厛垍垍厖厖垐厖垍厖垍厖厖厖厛厖厛厖垍厖厖垍厖厖垐厖厖厛垐厖厖厖厛厛厖厖垍厛垍厖厖厖厖垍垐厖厖厖厖垐厛厖厖厖厖厖厖垍垍厖厖厖厖厖厛厖厖厖厖厖垍厛厖厖厖厖厖垍垍厖垍垍厖厖厖厖厖厖厖厛厖厖厛厖厛厖厖厖厖垍厖厖厛垍厖厖厖垍厛垍厖厛垍厖垍厖垍垍厛厖厖厖厖垍厖厖厖厖厖厖垍垍厖厛垍厛厖垍厖厖厖垍厖厖厛厖厖厛厛厖垐垐厖垍厖厖厖厛厛厖厖厖垐厛厖垍厖垍厖垍厛厖厖厖厛厛厛厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖垍垍厖厖垐厖厖厖厖厛厖垍厖厖厖垍垍厖厛厖厛垍厖厖厖厖厛厛厖厖厖厖厖厖厛垍厖厖垍厖厖厖厛厖厖厖垍厖厛垍厖垍厖垍垍垍厖垐厛厖垍厖厖垍厖厛垐厖厛垍厛垍厛厛厖厛垍厖厖垐厖垐厖垍垍厖厖垍厖垍厖厖厛厖垍厖厖厖厖厖垍厖厖厖垐厖厖厛垐厖垐厖垍厛厖厖垍垍厖垍厖垍垍厖厖垍厖厖厖垍垍垐厖厛厖厖垍厖垍厖厖厖厖垍厖厖垐厖垍厖垍垍厖垍厖厖垍厖厖厖厛厖垍厛厖垐厖厖厖垍垍厖垍厖厖垍厛厖厖厖厖厖厖厛垐垍厖厖厖厛厖厖厖厖垐厖厖厖厖垍厛垍厖厖垍厖厖厛厖垐厖厖垍垐厖厛厛厛厖厖垍厖厖厖厖厖厖垍厖厖厖厖厖厖厛厖厖厖厖厖厛厖垐厖垍厖厖厖厖垍厖垍垍厛厛厖垍垍厖厖垐厖厖垍厛厖厖厖垍厖厖厖厛垐垍厛垍厖厖厖垍厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厛垍厖厛厖厖厖厖厖厖垍垍厖厛厛厛厖厖垐厖厛厖厖厖厖厖垍垐垍垍厖厖厛厖厛厖厛厖厖厖厖垍厖厖厛厖厖厖垍厛垍厖厖厖垍垍厖厖厖厛垍垍垍垍厖厖厖厖厛厖厖厖厖厛厖厛厖厖厛垍垍垐厖厛厖厖厖厖厖厖垍厖垍厖垐厛垍厖厖厛厖厖厖垐厖垐厛厛垍厖垍厖垍厖垍厖厖厖厛厛厖厛厖厖厖厖厖垐垍厖厖垍厖厖垍厖厖厖厖厖厛厖垍厖厖厖垍厖厖厖厖厛厛厖厖厖厖厛垍厛垍厖厖垐厖厛厖厛厖厖垐厛厖垐垍厖垍垐垐厖厖垍厛厖厖厖厖厖厛厛厖厖厖垍厛厖厖厛厖厛厖厖厖垍厖厖厖厖厖厛垍厖厖厖厖厖厖厖垍厖厖厖厖垍厖厖厛厖厖厖垍厖厖厖厛厖厖厖垐厖垍厖厖垍厖厖垍厖厖厖厖垍厖厖厖厖厖垍垍厖垍垍垍厖厖厖厖厛厛厛厖厖厖厖厖垍垍厖厛厛厖厖厖厖垍厖垐垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厛厖厖厖厛厖厖厖垍厖厖厖厖厖厖厛厖厖厛垐厖厖厖厛厖厖厖垍厖垍厖厖厛厖垍厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖垍厖厛厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖垍厖厖垍垍厛厖厖厖厛厖厖垐垍厖垍厖厖厖厖厛垍厖厛厖厖厖垍厖厛厖厖垍厖厖厖厖厛厖厖厖厖厖厛厛垍厖厛厛厛厛厖厖垍厖厖垍厛垐厖垍厛厖厛厛厖厖厖厖厖厖厖垍厖厖厖厖厛厖垍厖垐厖厖厖厖厖厖厖厖厖厖厛垐垍垍垍垍厖厛垍垐厖垍厖厖厖厖厖厛厛厖厖厖厖厖厖垐厖垍厖垍厖厖厖厖厖厖厖厛厖厛厖厖厖厛垍厖厖厖厛厖厖厖厛厛厖厖厖厖厖厖厖垍厖厖厖厖厖厛厖垍厖厖厖厖厖厖厖垍垍厖厖厛厖厖垍厛厖厖厛厛厖厖厖垐厖厖垍厖垍垍厛垐厖厖垍垐厛垍厖厖厖垍厖厖厖厖厖垐垍厛垍厖厛厖厖厖厛厖厛垍垐垍厖厖厖厖厖厛厖厖厛垍厖厛厛厖厖厖厖厖厛厖厛厛厖厖厖垐垍厖厖厛厖垐厖厖厖厖厖厛厖厖厛厖垍厛厖厖厖厖厛厖厛厖厖厖垍厖厖垍厖厖垍厖垍垍厖厖厖厖厖厖厛厖厖厖厖厖厖厛厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖垍厖厖厖垍厖厖厛厛厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厛厖垍厖厖垍厖厖厖厖垍厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厛厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖垍厛垍厖厖厖厖厖垍厛厖垍厖垍厛垐垍厖垍厖厖厖厖厖厛厖厛厖垍厖厖厖厖厖垍厖厖厖厖厖垍厖垍垍厖厛厖厖厖厖垍垍厖厖厖厖厛厖厖厖厖厖厖厖厖厖垍厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厛厖垍厛厖厖厖厖厖厖厖垐厖厖垍厖厖垍厛厖垍厖厖厛厖厛垍厖垍厖垍厖厖厖厛厖厖垍厖垍垍厛垍厖厛垍厖厖厖垍垍厖垍厖厖厖厖厛厖厖厛厖厖厖厖厖厖厖厖厖厖厖厛垍垐厖厖垐厛厖厖厖厖厛厖垍厛厖厖垍厛厖垍厖厖厖厛垍厖厖厖厖垐厖厖厖垐厖厖厖厛厖厛厖厖厖厖厖垍厖厖厖垍垍垍厖厖厖厖厖厖垐垍厛厛厛厖厖厖厖垍厖厖垍厖厖厖厖厖垍厖垍厖厖厖厖厖厖垍垍厖厛垍垐厖厖厖厖垍厖厖厛厖厖厖垍垐厖厛厖厖厖厛厖厖厖厖厖厖厖厖垍厖垍厖垍厖厖厖厖厖厖厖厖厖厖垐厖厖厖垍厖厖厖厖厖垍垍厖厛厖垍厖厖厖厖厖厖厖厛厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖垍厖厖厖厖厖厖厖厖厖厖厛垍垍垍厖垍厖厖厖厖厖厖厖厛厖厖厖厖厖厛厖厖厛厖厖厖厖厖厖厛厖厖厖厖垍厖厖厖厖厖厖厖厛垐厖垍垍厖厖厛厛厖厖厖垐垍厖厖厖厛垍厖厖厖垍厖厖厖厛垍厛厖厖垍垍厖厖垍厖厖厛厖厖厖厖厖厖厖厖厖厖厖厛厖垐厖厛厛垍厖厛厖厖厖厖厖厖厖垍厖垐厖厖厖厖厛厖厖厛厖厖厖厛厖厖厛厖厖厖厖垍厖厖厖垍厖厖厖厖厖厖厖厖厖垐垍厖厖厖厖厖厖厖厖厖厛厖垐厖厖厖厛厖厖厖垐厖厛厖垍厖厖厖厖厖厖厖厛厖厖垍厖垐厖垐厖厖厖厖厖厖厖厖厖厛厖厖厖厛厖厛垐厖厛厖厖厖垐垍厖厛厖垍厖厖厖厖厖厖厖厖厖厛垍厖垍厖厖厖厖厖厖厖厖垐厖厖厖厖厖厛厖厖厛垍厖厖厖垍厖垍厖厖厖厛厖垍厖厖厖厖厖垍厖厖垍垍垐厖厛厖厖厖垍厖垐厖垍厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖垐厛厛厛厖厖厖厛垍厛厛厛厖厖厖厖厖厖垍垍厖厖厖厖厖厛垍垍厖厖厖厛垐厖垍厛厖厛厛厖厖厖厖厖垍厛垍厖厖厖厖垍厖厖厖厖厖厖厛厖厛厖厖垍厖垍厖厛厖厖厛厖厖厖厖厖垍厖厖厖厖厖厖厖垍厖厖垍厖厖厖厖厖厖厖厖厛垍厖厖厛厖厖厖厖厖厛厖厖厖厖厖垍厛厖厖厖厖垐厖厖厖厛厖厖垍厖垍垍厖厖厖厖厖厖垍厖厖垍厖厖厖厖垐厖厖厖厖厖厛厖垍厖垐厖厖厖厖厖厛厖厖厖厖厖厖厖垐厖厖厖厖垍厖垍厖垍垍厖厖厛垍厖厖厖厖垍厖厖垍厖厖厖厛厖厖厖厛厛厖厖厖厖厖厖垍厛厖厖厖厖厛厖厖厖厛厖厖厖厖厖厛厖厖厛厖厖厛厖厖厖厛厖厖厖厖垍厛垍厖厖垐厖垐垍厖厖厖厖厛厖厖厖厖厖厖厖厖垐厖厖厛厖厖厛厖厛厖厖厛厖厛厖垐厖垍垍厖厖厖厛厖厛厖厖厖厖厖垍厖厖厛厖垍厛厛厖垐厖厖厖厖厖厛垐厖垍厛厛厖厛厛厛厖厖厖厛垐厖厖厖厖厖厖厖厖厖厛厖垍厖厛垐厖厖厖厖垐垍厖厖厖垍厖厖垍厖厖厖厖厖厖厖厖厖垍厖厖垍厛厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厛厖厖厖厖厖厛厖垍厖厖厖垍厖厛厛厖厖厖厖厛厖厛厖垍垐厖厖厛厖垍垍厖厖厖厖垍厛厖厛厛垐厖厛厛厛厖厖厖厛垐垍厖厖垐厖厖垍厖厖垐厖垍厖厛厖厖厖厖厖厖垍厖垍厖厛厖厖厖厖厛垍厖厛厖厖垍厛厛厖厖厖厖厖厖厖厖厖垍垍厖厖厖厛厛厖厛厖厖厖厖厖厖厖厛厖厖厖厖厛厖厖厛垐厖厖垐厖厖厖厖厖垐厖厖厖厛厖厖厖厛厖厖厖厖厖厖垍厖厛厖厖厖厖垍厖厖垍厖垍厖厖厛厛厖厖厖厖垍厖厖厖垐垍厖厖厛厖厖厖厖厖厖厖垍垐厖厖垍厖厖厖厛厖垍厖厖垍厖垍垍垐厖厖厖厖垍垍垍厛厖厖厖厛垐厖厖厖垍垐厖厖厖厖垍厛厖厛厖厖垍垍厛厖垍厖厖厛厖厖厖垐垍厖厖厖垍厛厖厖厖厖垍厖厖厖厖垐垍厖厛厖厖厖厖厛厖厛厛厖厖厖厖厖厖厖厖厖厛厛厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖垍垍厛厖厖厖厖厛厖厖厖厛厖厖垐厖厖厖厖垍厖厖厖厖厖垍厖垍厖厖厖厛垍厛厖厖垐垍厖厖厖厖厛厖厖厖垍厖厖厖厖垍垍厖厖厖厖厛厖厖垍厖厛垐厖厖厛厖厛厖垍厛垍厖厖厛厖厖厖厖厖厖垍厖厖厖垍垐厖厖厖厛厛垍厖厖厖厖垍厖垍厛垍厖厖厖厖厖厖厖厛厖厛厖厛垍厖厖厖厖垍厖厖厖厛垐厖厖厖垍厖垍厖垍厖垍垍厖厖厖厖厛厛厖厖厖垍厖厖厖厖厖厖厖厖垍垍厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖垍垐厖厖垍厖厖厖厖厛厖厖厖厖垍厖厖厛厛厖垍厛厛厛厛厖垍垍厖厖厛厛垍厛厖垍厖垍厖厖垍厖垍厖厖厖厖垍厛厖垍垍厖厖厖垍厛垍厖厛厖垐厛厖厛厖厖厖厖厖厖厛垐厖厖厛厖厛厛厖垍厖厖厖厛厖垐厛厖厛垍厖厖厖厖厖厛厖垍厖厖厖厖厖垍厖厖厖厛厖厖厛厖厖厖厖厛厛厖厖厖厖厛厖垍厖垍厖厖厖厖厖厖厖厖厖厛厖垍厖厖厖厖垍垍厛垍厖厖厛厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厛垍厖厖厖厖厖厖垍厖垍厖厖厖厖垐厖厛厛厖厖厖垍厛厖垍厛厖厖垐厛垍厖厛垍厖厖厖厛厖垍厖厖厖垐厛厛厖厖厖垐厛厖厖厖垍厛厖厖厛厖厖厖厛厖厖厖厖垍厖厖厛厖厖厖厖垍厖厖厖垍厖垍厖厖垍厖垍厖厛厖垍厖厖厖厖厖厛厖厛厛厖厖厛厖垍厖垍厖垍厖厛垍厖厖厖厖厖厖厛垍厖厖厖厛厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖垐厖厖垍厖厖厖厖厛厖厖垍厖厖厖垐厖厖厖厖垍厖厖厖垍厖厖厛垍厛厖厛垍厛厛厖垍垐厛厛厖厖厖厖厛垍厖厖厖垍厖厛厖厛厖厖厖厖厛厖垍垐厖厛厖厖厛厖厛厛厛厛厖厖厖垍厖厖厛厖厖厛垍厖厖垐厛厖厛垍厛厖厖厖垍厖垍厖厖垐厖厖厖厖垍厖厖厛垐厖厖厖垍垐厖厖厖厖垐垍厖垍厖厖厛垍垍垍厖厖垍厖厖厖厛厖厖厖厖厖厛厖厖厖厖垍垍厖厖厖垍厖厖厛厖厖厖厖垍厖厖厖垍厛厖垍厖厖厖厛垍厖垍垍厖厖厖垍厖厖垐厖厖厖厛厖厛厖厖垍厛垍厖厖厖垍厖厛垐厛垍垐垍垍厖垍厛厖厖厖厖厖垐垐厛垐垐厖垍厖垍厖厖厖厛垍厖厖垍厖厛垍厖垍垍厖厖厛厖垍厛厖厖垍厖厖垍厛垍厖厖厖厛厖厖垐厖厖垐厖厖厖厖厖厖厛厖厖厖厖厖厖厖厛厖厖厖垍厖厛厖厛垍厖厖垍厛厖厖厖厖厖厖厖厛厖厖垍厖厖厛厖厛厖厖厖厖厖厖垍厖垍厖厖厖垍厖厖厖厖厖厖垍厖厖厖厖厛厛厖厖厖厖厖厖垍厛厛厖厖厖厛厖厖厖厖厖垍厖厖厖垍厖厛垍厖厖垍垐厖厖垍厖厛垍厛厛厖厖厖厖厖厛厖厖厖厖厛垍垍厖垐厖厖厖垍厖厛垍厖垍厛厛厖厖厖厖厖垍厖垍厖厛厛厖厖厖垍垍厖厖厛厖厛厖厖厖厖厛垐厖厖厖垍厖厛厖厖垍厖厛厛厖厛厖厖厖厖垍厖厖厖垍厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厛厖厖厛厖厖厖厖垍厖厖厛厖厖厖厖厖厖厛垍厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍垍厖厖厛厛厖厖垍垍垍厖厖厖垍厖垍垍垍厖厖厖厖垍垍厖厛垍厖厖厖厖厛厖厖厛厖厖厖垐厖厖厛垐厖厖厖厛厖厖厖厖厖厛厖厖垍厛垐厖厖厖厛垍厖厖厖厖厖垍厖厖厖厛厖厖厛厖厛厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖垍厖厖厖垍厛厖厖垍垍厖厖垍厖厛厖厖厖厖厖厖厖厛厖厛厖厖厖厖厛厖垍厖厖厖厖厖厖垐厛厖厛厖厖厖厛厖厖垍厖厛厖厖垍垍厖垐垍垍厖厖厖厖厖垍厖厖厖厖垍厖厖垍厖厖厖厖厖厛厖厖厖厛厛厛垐厖厖厖厖厖厖厖垐垍厛厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厛厖厖厛厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖垍厛厖垍厖厖厖厖垍厖厖厖厖厛垍垍厖垍厛垍厖厖厖厖垍厛厖厖厛厖厖垍厖厛垍垍厖厖厖厖垍厛厖厛厖厖厖垍厖厖厛厖厖厖厛厖厖厖厖垐垐厖厖厖厖垍厖厖厖厖厖厖厖厛厖厖垍厛厛垍厖垐厖厖厖厖厖垍厛厛厖厖垐厖厖垍厛厖厖厖厖厖厖厖厖厖厖厖厖厛厖厛厖厖厛垐厖厛垍厛垍厛厛厖厖垍厖厖厛垐厖厛厛厛垍厖垐厖厖厖厖厛厖垍厖垍垐厖垐厖厖厛厛厖厖厖厛厛厛厛厖厛厖厛厖厛厖厖厖厖厛厛厖厖厖厖厛厛厖厖厛垍厖厖厖厖厖厛厖厖厛厖垍厖厖垍厖厖垍厖垐厖厖厖厛垍厖厖厖厖厛厖厖垍厛厖厖厖垍厖厖垍厖厖厖厛厖厖厖厛厖厖厖厖垍厖厖厖厖垍厖垐垍厖厖厖厖厖垍垍垐厖厖厖垍厛厛厖垐厖厖厖厖厖厖厖厖厛垍厖垍垐厖垍垐厖厖垍垍厖垍厛厛厖厛厖厖厖厖厖垍厖厖厛厖厖厖厛厖厛厖厛厖厖厛厛垍厖厖厖厛厖厖厛垍厖厖厖厖厖厖厖厖厖厛厖厖垐厖厛厖厖厖厖厖垍厖厖厖厖垍厖厖厖垍厖厖厛厖厖厖厖厖垍厖厖厖厛厖垍厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛垍厛厖厖厖厖垍厖厖厖厖厖厖厖厛厖厖垍厛厖厖垍厖厖垍厖厖厛厖厖厖垍厛厛厖厛垍垍厛垐垍垍垍厖厖厛厛厖厖厖厛厖厛厖厖厛厖厖厛厖厛垐厖厖厖厖厖厛厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖垍厖厖厖厛厖厖厖厖厖厖厖厖厖垍厖厛厖厖垍厖厖厖厖厖厖厖厖垍厖厖厖厛厖垍厖垍厖厖厖垍厖厖垍厖垍厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厛厛垍厖厖厖厖厖厖厖厖厛厖垍垐厛厖厖垍厛厖厖垍厖厛厖厖厖厛厖厖厖厖厖厖厖厖厖垍厖垍厖厖厖垐垍厖厖垍厖厖厖厖厖垍厛垐厖垍垍厖厖厛厛厛厖垍垍厖厖厖厖厖厖厛厖厖垍厖厛厛垍厖厖厖厖厖厖垍厖厖厖厛厖垍厛厖厖厖厖垍厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厛厖厖厖垍厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖垍厖厛厖厖厖厖厛垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厛厖厖厖厖厖厖厖厖厖厛垍垍厖厖厖垍厖厖厖厖垐厖厖厖厖厖垍垍厖厖厖厖厖垐厖厛厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厛垍厖厛厖厖厖厖厖厖厖垍厛垍垍厖垍垍厖厖厖厛厛厖厖厛厖厖厖厖厛厖垐厖厖厖厖厖厖垍厖厛厖垍厖厖厖厖厖厖厖厖厛厖垍厖厖厖厛厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖垍厖厖厖厖垐厖厖厛厖垍厛厖厖厖厖厖厖厖厖厛厛厖垍垍垍垍厖垍厖厖厖厖厖垍厖厖厛厖厖垐厖厖厖厛垍厛垍厖厖厖垍厖厛厖厛垍厖厖厛厛厛厛厛厖厖厖厛厖厖厛厛厖厖厖垍厛垍厖垍垍厖厖垍厖厖厛厛厖垍厖厖厖垍厛厖厖厖厖厖厖厖垍厖厖厛厖厖垍垐垐厖厛厛垍厖厖厖厖垍垍厖厖厖厖厛厛厖厖垍厖厖厖厖厛厖垍厛厖厖厖厖厖厛厖厛厛厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厛厖厛厖厖厖厖厖厖厖垍厖垍垍垍厖垍厛厛垐厖厖厛厖厛厖垍厖垍厖厖厖厖厖厛厛厖厖厖垐垍厖厖垍厖垍厖厖厖厖厖厖厖垐厖厖垍垍厖厖垍垍厖厛厛厖厛厖厖厖厖厛厖垍厖厛厖垐厖厖厖垍厖厖厖厖垐厛垐垍垍厖厖厛厖厛厖厛厖垍厖厖厖厖厖厖厛垍厛厖厛厖厖厖厖厖厖厖厖垍厛厛厖厖垍厖厖垍厛厖垍厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厛厖厖厖垍厖垍厖垍厖厖垐厖厖厖厛垍厖厖厖厖厖厖厖厖垍厖厖厖垍厖厖垍厛厖厖垐厖垍垍厖垍垐垐厛厖厖厖厛厛厖厖厖厖厛厛厖垍垍厖厖厖厖厖厛厖厖厛垍垍厖厖厖厖厖厖厛厛厖垐厛厖厖厖厖垍垍厖厖垍垍厖垍厖厖厖厖厛厖厖垍厖厛厖垍厛厖厖厖厖垐垍厖厖厖厛厖垍厖厖厖厖厖厖厖厖垍厖垍厖厛厖厖垍厖厖厖厖厖厖厖垐厖厖垍厖厖厖垍厖厖厖厖厖垍厖垍厛厖厖厛厛厛厖厖厖垍厖厖厛厖厛厛垍厖厖厖垐厖厖厖垍厖厖厖厖厛厖厖厖厖厖厖厖厖垍厖厖厛厖厖厖厖垐厖厖厖厖垍厖厖厖垍垍厖厖厖厖厖厛厖厖厛厖厖厖厖厖厖厖垍厖垐垍厖厖厖厖厛厛厖厖厖垍垍厖厖垍垍厖厖厖厖厖厛厖厖厖厖厖厖垍垍厖厖厛垍厛厖厛厖厖厖厖厖厖厖厖垍厖厖厖厛厛厖厖垍厖垍厖厖厛厖厖厖垐厛厖厛厖垐厖厖厖厖垐厖厖厖厛厖厖厖厖厖厛厖厖垍厖厖厖厖厖厖厖厖垍厖垍厖厛厛厖厖厖厛垍厖厖厖厖厖垍垍厛垐厖厖厖厖厖厖厖垍厖厖垍厛厛厛厖厖厖垍厖垍厖垍厖厛垍厛厖厖厛厖厖厖厖厛垍垍垍厖厖厖厖厖垍厖垍厖垐垍厖厖垐垐垍厖厖厛厖厖厖厛厖垍厖厖厖垍厖垍厖厛厖厖垍厛厖厛厖厛厖厖厖厖厖厖厖厖厛垍厛厖厖厖厖垍厛垐厖厖厖厖厛厖垍厖厖厖厖厛厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖垍厖厖厖厖厖垍厖垍垍厖厖厖厛厛垍厖厖厖垐厖厖厖厖厖厖厖厖厖厖厖厖厖垍厛厖厛厖厖厖垍垐厖厖厖垐厖厖厛厖厖垐厖厖厖厖厖厖厖厖垍厖厖厖厖厖垐厖厛厖厖垍厛厖厖厖厖厛厖厖垍厖厖厖垍厖垍厖厛厛厖厖厖厖厖厖厖垍厖厛厖厖垍厖厖厖厛厖厖厖厖厛厖厖厖厖垍厖厖垍厖厖厖厛厛厖厖厖厖厛厖厖厖厖厖厖厖厖厛垍厖厖厖厖厖厖厖厖厛厖厛厖厖厖厖厖垍厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖垍厛垍厖垍厖厖垍垍厛厖厖垍垍厖厖厖厖厖厖厖垐厖垍垍厖厛垍厛厛厖厛垐厖厖厖垍垍厖垍垍厛厖厖厛厖厖垍厖厖厖厛厖厛厖厛厖厛厖垍厛垍厖厛厖垐厖厖厖厖厖厖厖厖垍厖厖厖厖厛厖厖厛厖厖垍厖厖垍厖垍厖垍厛厛厖厖厖垍垍厖厖厖厖厛厛垍厛垐厖厛厛厖厖厖厖垍厖厖厖厖厖厖垍厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厛厖厖厛厖垐厖厖垍厖厖垐厖厖厖厖厖厛厛厖厖厖厛垍垍厖垍厖厖厖厖厖厛厖厛厛厖垍厛垍厖厖厖厖厖厖厖厖厖垐厖厖厖厖厛垍厖厖厖厖垐厖厛厖垍厖厖厛厛垍垍厖厖厖厖厛垍厖厖垍厛厖厖垍厖厖垍厖厖垐厖厖垐厛厖厖厖垍垍垐厖厖垍厖厖厖厖垍厖厖厛垍垐厖厖厖厖垍垍厖厖厖垍垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厛厖厖厖厖厖厖垍垍厖厖厖厖厛厖厖厖厖厛厖厖厖垍厖厛厖厖厖厖垐厖厖垍厖垐厖厖厖厖厖厖厖厖厛厛垐厖垍厖厖厖厛垍厛厖垐垐厖垍厖厖厖厛厖厛垍厖厖垍厛厖厛垍垐厖厖厛厖厖厖厖厖厖垍厛厛厖厛厛厖厖厖厛垐厖厛厖垍厛厛厖厖垍厖厖厖厖垍垍厖厛厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖垍厖厖厖厖垍厛厖厖厖厖厖厛厖厛垍厖厖厖厖厖厖厛厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖垍厛厖厖厖厖厖厖厖厖厖垍垍厛厖垍厛厖厖厛厖厖厖厖厖厖厖厖厖厖垐厖垍厖垍厖厛厖厖垐厖厖垍厖厖厖垍厖厖厖厖厖厖厖厛厛厖厛厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍垍厖垍厖厖厖厛厖厖厖厖厛厖厖垍垍厖厖厛厖垍厛厖厖厖厖厖厛厖厖垍厖厖厖垐厖厖厖厛厖厛厖厖厖厖厖厖厛厖厖厖厖厖厖垍垍厖厖厖厖垐厛厖厖厖厖厖厖垍厖厖垍厖厖厛厖垍厖厖厛厖厖厖厖厖厖厖厖厖厖垍厖厖厛厛厛厖厖垍垍垍垍厖厖厖厖垍垐厛垐厖厛厛厖厖厖垍厖厛厖厖厛厖厖厖厛厛厖厖厖垍垐厖厖厛垍垐厖厖厛厛厖厛厖厖厖厖厖厖厖厛厛垐厖厖垍厖厖厛垍厖厖厖厖垍厖厖厖厖厖垍厖厖厖厛垍厖厖厖厛厖厖厖垍厖厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厛厖垍厖厛厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖垍厖厛垍厖厖厛厖厖厖厖厛厖厖厖厖厖厖厖厛厖厖厛厖垍厖厖厖厖厖厖厖厖厛厖厖厖厛厖厖厖厖厖垐厖厖厛厛垍厛厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厛厛垍厖厛垍厖厖厖垍垍厖厖垍厖垍厖垍垐垍厖垐厖厖厖厖厖厖厛厖厛厖厖厖厖厖厖厖垍厖厖厖垍厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厛垍厖厖厖厖厖厖厖厖厖厖垍垐厖厖垍厖厖垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖垐厛厖厖厖厖厖厖厖厖厖厛厖厖厖厛厖厛厖厛厖厖厖厖厖厖厖厛垍厖厖厖厛厖厛厖厛厖厖厖厖垐垍垍垐厖厛厖厖厖厖厖厖厛厛厖厖厖厛厛厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖厖垍厛垍厖厛厖厖厖厖厖垍厖垐垍厖厖厖厖厛厖垍垍厖厖厖厖厖厛厖厖厖厖厖厛厖厖厖厛厖厖厖厖厖厛厖厖厖垍厛厖厖垍垍垍厖厖垐厖厖厖厖厖厖厖厛厖厖厖厖垍厖厖厖厖厖厛厖垍垍厖厖厖厖厖厖厖厖厖厖垍厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖垍厛垍厖垍厖厛厖厖厛厛垐垍厖厖厖厖厖厖厖厖厖厛厛垐厖厛厖厛厖厛厖厖厖厖厖厖厖厖厖厖厖厛厖厛垍厖厖厖厖厖垍厖厖厖垍厖厖厖厛厖厛垍厖垍厖垐厖厖厛垐垐垍厖厛厖厛厖垍厖厖厖厛垍厛厖厖厖厖厖厖厛厖厖垍厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖垍厖厖厛厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍垍厛厖厛厖垍厖厖厖厛垍厖厖厛厖厖厖厛垍厛厖厖厖厖厛垍厖厖厖厖厛厖垐厖厛厛厖厖厖垐垍厛垐厛垍厛厖厖垍厛厖厖厖厖垍垍垍厖厛厖厛厛厖厖厖垍厖厖垍厖厖厛垍厖厖厖垍垍厖厖垍厖厛厖垍厖厖厖厖垍垍厛厖厛厖厖垍厖厖厖厖厖厖厖厖厖厛垐厖垍厖垍厛厛厖厖厖厖厖垍厖厖厖垍厖厖厛厖厛厖厖厖厖厛厛垍厖厖厖厖厖厖垍厖垍垍垍厖厖厖厖垍垍厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖垍厖厖厖厖垍垍厖垍厖厖厛厖垍厛厖厖厛厖厛厖厖厖厖厖垍厖厖厖厖垍厖厖厛厖厖厖厖厖垍厖厖厖垍垍厖厛厛厖垍厖厖厖厖垐垍厖厖厛厛厛厖厛厖垍厖垍厖厖垍厖厖厖厖厖厛厖厖厖厖厖厖厖垍厖垍厖厖厛厖厖厖厖厖厖垍厛厖厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛垐厖厖厖厖厖厖厖厖厖厖厖厖厛厖厛厖厛厖厖厖厖厖厖厛厛厖厖厖厖厖厖厖厖厖厖厖厖厖厛厛厖厖厖垍厖厖垍厖厖厖垍垍厖厖厖厖厛厖厖厖厖厖厖厖厛垐垍厖厖厛厖厖垍厖垍厖厛厖厖厛厖厖厛厖垍垍厛厖厛厖厖厛厖厖厛厖厛厖厖厛厖厖厖厖厖垍厛厖厖厛厖垍垍垍厖厖厖厖垍厖垍厖厛厖厛垍厖垍厛厖厛厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖垐厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖垍厖厖厖厛厖厛垍厛厖厖垍厖厖厖厖厖厛垍垐厖厖厖厖厖厛厖厛垍垍垍垍厛垍垍垍厖垍厖厖厖垍垍垍厛厖垍厖厖厛垍厖厖厛厖厖垍厛厛厖厖厖厛厖厖厛垍垍厖厖厛厖厖厖厖厖厛厖厖厖厖厛厖厖厖垍厛厖厖厖厖厛厖厖厖厖厖厖垍厖厛厖厖厖厖厖厖厖垍厖厛厖厖厖厖厖厖厖厛厖厖厛厖垍厖厖厖厖厖厖垍厖厖厛垍厖厖厖厛厖厖厖垍垍厖厖厖厛厖垍厖厖厖厖厛厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍垍厖厖厖厛厖垍厛厛厖厖厖厖厖厖厛垍厛厖垍垐厖垍厖厖厖垍垍厖厖厛厖厖厖厖垍厖厖厖厖厖厖厖厖厖垍厖垍垍厛厛厖垐厖厖厖厖厖厖厖厖厛垍厖厖厛厛厛厖厖厖厖厖厖厛厖垍厖厛厖厛厖厛厖厖厖厖厖厖厖厖厖厖垍垍厖厖厖厖厖厛厖厖厖垍厖厛厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厛垐厖厖厖厛垍厖厖厖厖厖厖厛厖垍厖垍厖厖垍厖垍厖厖厖厖厛厖厛厛垐厛厖垍厖厖垍厖厖厖垍厖厖厖厖厖垍厖厖厖厖垍厖垍厖厛垐厛厖厛厖垐垍厖厖厛垍垍厖垐垍厖厖厛垐厖厖厖厖厖厖厖厖厛厖厖厛厖厖厖厛厖厖厖厖厛垍厛厖垍垍厖厖厖厖厖厖厖厖厖垍厖厖厖厖厛厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖垍厛厖厖厖厖厖厖厖厖厖厖厖厖厖厛厛厖垍垍垍厖厖垍厖厖厖厖厖厛厖厖厖厖厖垍厖厖垍厛厖厛厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖垐厖厖垍垍厖厖厖厖厖厖厖厖垍厖厖厛垍厛厖垍厖厖厛厖垐厖厖厖厖垍垍厛厖厖厖垍厖垐厛垍垍厖厛厛厖垍垍厖厖厖垍厖垍厛厖厖厖厖垍厖厖厖厖厛厖厖厛厛厖厖厖垍厖厖厛垍厖厖厖厖厖厖厖厖厖厖厖厖厖垍垍厛垍厖厖厖垍厖厖厖厛厖厖厖垍厖厖厖厛厖垍厖厖厖厖厛垐垍厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖厖垍厖垍垍厖厖厖厖厛厛垍垐厛垍厖垍厖厛厖厖厖垍厖垍厖厖厖厖厖厖厖厖厖厖厛厖厛厖垍垐厖厖垐厖厖厛厖厖厖垍厛厖厖厖垐厖厖厖厛厖厖厖厛垍厖厖厛厛厖厖厖厖厖厖厖厖厛厖垐厖垍厖厖厖厖垍厖厖垍厖厛厛厖厖厛厖厛厛垍厖厖垐厖垍厖垍厖厖厖厖厖厖厖厖厖厖厛厖厖厖厖垍厖厖厖厛厛垐厖厖垍厖厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖厖垍厖垍厖厖厖厖厖厛厖厖厖厖厖厛厖垐厖厖厖厖厖厖厖垐厖厖厛厖厛厖垍垍厛厖厖垐厖厖垐厛厖厖垐垍垍垍厛垍厖垐厖厖垍厖垍厛厖垍厖厛垐厖厛厖厖厖厖垍厖垍垍厖厖厖垍厖厖垍厛厛厖垍垐厛厖厖垍厖厖厛垐厖垐垍厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖垐厖厛厖厖厖厖厖厖厖厖厖厖垍厖厖厖厖厖厖垍厖厖厖垍厖厖厖厖厖厖厖厛厖厖厖厖垍厖厛厖厖厖厖厖厖厛厖厖厖垍厖厖厖垐厖厖厖厖垍垍厖厖垍厖厖厛厛垍垍厖厛厖厖垍垍厖厖厛厛厖厖厖垍厛厖垐厖厖厖厖厖厛厖厖厖垍厛厖厖厖厖厖厖厖垍厖垐厖垍厖厖垍厖厛厖厖厖厖厖厖厖厛厖垐厖厛垍厖厖厛厛厖垍厖厖厖厛厖厖厖厖厖厖厖厛厖厖厖厖厖厖垍厖厖厖厖厖厖厖垍厖厖厖厛厖厛厖厖厖厖厛厖厖厖厖厖厛垍厖厖厖厛厖厖厛厖厖厖厖厛厖厖厖厖厖厖厖厖厖厖厖厖垍厖厖垐厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厖厛垍垐厖厖厖厖厖厖厛厖垐厖厖厖厛垍厖厖垍厖厛垍厛垍厖厖厖垐厖厖厖厛垍厖厖厛厛厖厖垍垐垐厖厖厖厖厖厖垍厖厖厖垍厖厛垍厖厖厖垍厖厖厖厖垍厖厖厖厛厖厖厖厖厛垐垐厛厖厖厖厛厖厖厖垐厛厖厖厖厖厛厛厖厖垍厖厖厖垍厖厖厖垍厖铉钿钿萦溱邮胼油嶙推利皲谛评锅钺邮霉愁溱衅级嵊世汞谛萍冬メ邮拦⑤悠钩熩兔汞溩世宫曅乒捦霉煒捠蓝煉幤汲槖嬈汞晵埫宫晭埨冬晪吋畅煒巿吋畅煏巿伖畅煉巺~宫拫厏宫拡厏冬巿亄畅巿亄畅煒巿亀畅煏媴~w畅煏媴~w煉媴~w煉垍{t湌垇{t煄垍{w槑厏{t槑厏wt槑厏wq瑹構厏wq瑹晪厏wq瑹晪厏wq晪厏wq晪厈wq晥厈tm晪厏wm拫厈wm拡厏tm拡厈tm拡亄tm拡亄tm拡厈wm拡亄tm拡亄tm拡亄tm拡亀tm拡亄tm拡亄tm拝亄qm拡亄tm拡亄tj拡亄tm拝~wtm拡亀tm拡亄tm拡亀tm拡亀tm巿亄tj巿~wqm拡~wtj巺~wtj巺亄tm拡亀qm巿~wtm巿~wqj拝~wqj拝~wtm巺~wqj拝~wtj拝~wqj拝~wqj拡~wqj巿~wqj拝亀qm巿~wtm巿亀qm拝~wtj拡~wtj拝~{qm巿~wtm巺亀qj拝亀tm拝亀tm巿亀qm拝亀qm拡~{tm巺~wtm拡~wqm巺亀tj拝~wqm拡亀tj巺~wqm巺~wqj巿~wtm拝亀tj巿亀qj巿亀qm拝亀qj拡~wtj拡~wtj拝亀qm拡~wqm拝~wqm巺亀qj拡~wqj拝亀qj巿~wqj拡~wtj巺~wqm拡亀qj拡~wqm巿~wqj拝~{qm巿亀tm拡亀tm拝~{tm巺亀tj拝~wtm拝~wtm拝亀tm拡亀tj拡亄qm巿亀tj巿亄tm巺亄tm拡~{tm拡亄tm拡~{tm拝亄tm拝~wtj巿~{qm巿~wtj拝亄qm巿亀tm巺~wtm拡亀qm拝亀tj巺~{tm拝~{qj拡亀tj巿~wtm拡亄tm拡亄tm拡亄tm拝亀tj拡亀qj拡亀tm巺亀tm巺亀tj拡~wqm巿亀tm拡亄tj拡亀tm拡亄tj拡亄tj拡亀tm拡亄tm拝亀qj巿亀tj拡亀tm拝亄tm拡亄tm拝亄tm拡亄tm拡亄tm拡亄tm拡亄tj拡亄tm拡亄qm拡亄qm拡~wtm拝亄tm拡亄tm拡亄qm拡亀tm拡亄tm拡~wtm拡亀tm拡亀tm拡亀tm拡亀tm拡亀qm拡亄tm拡亀tm拡亀tm拡亀tm拡亀tm拡亄tm拡亄tj拡亄tm拝亄tm拡亀tm拡亀tm拡亄tj拡亄tm拡亀tm拝亄tm拡亄tm拡亀tm拡亀qm拡亀tj拝亄tm拡亄tm拡亀tq拡~wtm拡亄tm拡亄tm拡~{tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拝亀tm拡亄tm拡亀tm拡亀tm拡亄tm拡亄tj拡亄tm拡亄tm拡亀tm拡亀tm拡亄tm拝亀tj拡亀tm拡亄tm拡亄tm拡亀tm拡亄tm巿亄tj拡亀tm拡亀qm拡亀tm拡亀tm拡亄tm拡亄tm拡亄tm拡亄tj拡亄tm拡亄tm拡亀tm拡亀tm拡亄tm拡亄tm拡亄tm拡亀tm拡亄tm拡亄tm拡亄tm拡亄tm拡亀tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm巿亀tm拡亄tm拡亄tm拡亀tm拡亄tm拡亄qm拡亄tm拡亄tm拡亀tm拝~{tm拡亀tm拡亀tm拡亄tm拡亄tm拡亀tm拡亄tm拡亀tj拡亄qm巿亄tm拡亄tm拡亄qm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄wm拡亄tm拡亀tm拝亄tm拡亀tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亀tm拡亄tm拡亄tm拡亀tm拡亄tm拝亄tm巿亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亀tm拡亄tm拡亀tm拡亀tm拡亄tm拡厈qm拡亄tm拡亄tm拡亀qj拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm晥亄wm拡亄tm拡亄tm拡厈tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tj拡亄tm拡亀tm拡亀tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亀tm拡亀tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亀tm拡亄tm拡亄tm拡亄tm拡亄wm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡厈tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亀tm拡亄tm拡亄tm拡厈tm拡亄tm巿亄tm拡亄tm拡亄tm巿亄tm拡~wtm拡亄tm拡亄tm拡亄tm拡亀tm拡亀qj拡亄tm拡亄tj拡亄tj拡亄tm拡亄tm拡亄tm拡厈tm拡亄tm拡亀tm巿亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡厈wm拡亄tm拡亄tm拡亄tm拡亄tm拡亀tm拡亄tm拝亄tm拡亄tm拡亄tm巿亀tm拡亄tj拡亄tm拡亄tm拡亀tm拡亄tm巿亄tm拡亄tm拡亄tm拡亄tm拡亄tm巿亄tm巿亄tm拡亄tm拡亄tm拡亄tm拡亄qm拡亄tm拡亀tm拡亄tm巿亄tm拡亄tm拡亄tm拡亄tm拡亀tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄qm拡亀tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亀tm拡亀tm晥亄tm拡亄tm晥亄tm拡亄tm拡亄tm拡亄qm拡亀tm拡厈tm拡亄tm拡亄tm拝亄tm拡亄tm拡亄tm拡厈tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm晥亄tm晥~{tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亀tm拡亄tm拡亄qm拡亄tm拡亄tm拡亄tm拡亄tj拡亀tm拡亀tm拡亀tm拡亀tm拡亄tm拡亀tm拡亄tm拡亀tm拡亄tm拡亀tm拡亀tm拡亀tm拡亀qm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡~{tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm巿亄tm拡亄tm拡厈tm巿亄tm拡厈tm拡亄tm拡亄tm巿亄tm拡亄tm巿亄tm拡亄tm巿亄tm拡亄tj巿亄tm拡亄tm拡亀tm拡亄tm拡亄tm拡亄qm拡亄tm巿亀tm巿亄tj巿亄tm巿亀tm巿~{tm拡亀tm拡亀tm巿亄tm巿亀tm巿亄tm巿亄tm拡亄tm巿亄tm拡亄tm巿亄tm巿亀tm巿亄tm巿亄tm巿亄tm巿亄tm拝亄tm巿亄tm巿亄tm巿亄tm巿亄tm巿亀tm拡亄tm巿亀tm巿亄tm巿亄tm巺亄tj巿亄tm巿亄tj巿亀tm巿亄tm巿亀tm巿亄tm巿亀tm拡亄tm拡亀tj巺亄tm巺~wtm巺亄tm巿亄tm拡亄tm巿亄tm拡亄tm巿亄tm拡亀tm拡亄tm拡厈tm巿亄tm拝亄tm拡亄tm拡亄tm巺亄tm拡亄tm巿亄tm巿亄tm拡亄tm巿亄tm拡亀tm巿亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tj拡亄tm巿厈tm拡~{tj巿亀tm拡亄tm巿亄tm拡亀tm拡亄tm拡亀tm拡亄qm拡亀tj拡亀tm拡亀tm拡亄qm晥亄tm拝亄tm拡亄tm拡亄tm拝亄tm拡亄tm拡亄qm拡亄tm拡亄tm拡亄tm晥亄qm拝亄tm拡亄tm拡亄tm拡亀tm拡亄tm拡亄tm晥亄tm拡亄tm拡亄tm拡亄tj拡亄tm拡亄tm拡亄tm拡亄tm拡亀tm拡亄tm拡亄tm拡亄tm拡亀qm拡亄tm拡亄tj拡亀tm拡亄tm拡亄tm拡亀qj拡亄qm拡亄tm拡亄tm拡亀tm拡亀tm拡亄tm拡亄qm拡亄tm拡亄tm拡~wtm拡亄tm拡厈tm拡亄qm拡亄tm拡亄tm拡亄qm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡亄tm拡~{tm拡亄tm拡亄tm拡亄tm拡亀tm巿亀tm巿亀tm拡亄tm巺亄tm巿亀tm巿亄tm拡亀tm巿~{tm巿亄qm巿亄tm拡亄tj巿亄tm巿亄tm巿亀tm巿亄tm巺亀tm巿亀tm巺亄tm巺亄tm巿亄tm巿~wtm拡亄tm巿亄tm拡亀tm拡亄tm拡亀tm巺亄tm巿亀tj巿亄tm巿亄tm巿亄tm巿亄tm巿亄tm拡亄tm巿亄tm巿亀tm巿亄tm巿亀tm巿亀tm拡亀tm巿~{tm巿亄tm巿亀tm巿亄tm巿亀tm巿亄tm拡亀tm拡亀tm巺亄tm巿亄tm拝亄tm巿亄tj拡亀tm巿亀tm巿亄tm巿亄tm巿亀tm巿亄tm拡亄tm巿亄tm拡亄tj拡亄tm拡亄tm巿亀tm拝亄tm巿亄tm巿亄tm巺亄tm拡亄tm巿亄tm巿亄tm巿亄tm巿亄tm巿亀tm巿亄tm巿亄tm巿亄tm拡亄tm拡亀tm巿亄tm拡亀tm巿亄tm拡亄tj巿亀tm拡亀tm拡亀tj拝亄tj拡亄tm拡亄tm拡亄tm拡亀tm拡亀tm拝亄tm拡亀tm拡亀tm巿亄tj拡亄tm拡亄tm拡亀tm拡亀tm拡亄tm拡亀tm拡亄tm拡亄tm拡亄tm晥亄tm拡~{tm拝厈tj拡亀tm拡亄qm拡亀tm拡~{qm拡亄tm拡亄tm拡亄tm拡亄qj拡亄tm拡亀tm拡亀tm拡亄tj拡亄tm拡亀tm拝亀tm拡亄tm拝亄tm拝亀tm拡亄tm拡亀qm拡亄qm拝~wtm拡亄tm拡亄tm拡亄tm拡亀tm晥亄tm拝~{tm拡亄tm拝~{tm拡亄tm拡亄qm拡亀tm拡亄tm拝亄tm拡~{qm拡亀tm拡亄tm拡亀tm拝亀qm拡亀tm拡亄tm拝~{tm拡亄qm拡亀tm拝亀tm拡~{qm拡亄tm拡亄tm拡亄qm拡亀qm拝亄tm拡亀tm拡~{qm拡亄tm拡亀tm拡亄tm拝亄tj拡亄qm拡亀tm拡亄qm拝亀tm拝亄tm拡亄tj拡亄tm拡亀tm拡亀tj巿~{qm拡亄tm巿亄tm拡亄tm拝亀tm拡亄tm拡亄tm拝亄tm拡亄tm巿亀tm拡亄tm拡亄tm拡亀tm巿亄tm巿亀tm拡亄tm巿亄tm拡亄tm拡亄tm巿亄tm拡亀tm巿亄tm巺亄tm巿亄tm拡亄tm拡亀tm拡亄tm巿亀tj拡亄tm拡亄tm巿亀tm巿~wtj巿亄tj拡亄tm巿~{tj拡亀tm拡亀tj拡亀tm巿~{tm巿亄tm拡亄tm巺亄tm巿~wtm巿亄tm拡亄tm拡~wtm巿亀tm拡亄tm巺亄tm巿亄tm巿亄tm巿亄tm巿亀tm拡亄tm巿亄tm巿亄tm拝亄tm拝亀tm巺亄tm巺亀tm巿亄tm拡~{tj巿亄tm拝亄tj巿~{qm巿亄tm巺亀tj巿~{tm巿亀tm巺亀tm巿~{tm巿亀tm拡亄tm巿亀tm巿亄tm拡亀tm巿亀tm拝亄tj巿亀tm巿~{tj巺~{tm拡亀tm巺~{qm巿亄tm拡亄tj拡~wtm拡亀tm巺亄tj拝~{tm拡亄tm拡亄tm巿亄tm巺~{tm巿亄tm拡亄tm巿亄tm拝亄tm拡亄tm拡亀tm拡~{tm拝亀tm巿~wtm拝亄tm拡亀tm巺亄tj拡亀qm拝亀tj拝亀tj拡亀tj拝亀qm拡~wtj拡亄tj拡~wtm拝亀tm拝亀tj拝亄tm拡~wqm拡亄tj拡~{tm拝亀tj拝亄qj拡亀tm拡亄tj拝~{tm巿~{tm拝亀tm拝亄tj拡亀tm巺亄tj拡~{qm巺~wtm拡亄tm拡亄qm拡亀tj拡亄tm拡亄tm拝亄tm拝亀tm拡亄qm拝亄qm拡~{tm巿亀tm拡~wqj拝亀tj拡亀tm拡亀qj巺~wqm拡亄qm巿亄qm拡~{qm拡~wtm拡亄tm拡亄tj巿~wqm巺亀tj拝亄tm拡亀tj拡亀qm巺亀tm巿亄tj拝亀qm拝亀tm拝~wqj拝~{tm巿亄tm拡亀tm拡亀tm巺亄qm巿亄qm巿亄tm拝亄tm拡亀tm巿亄tm巿亄tm拝~{tm拡亄tm巺亄tm巿~wtm巺亄tm巿~wtm巺~{tm巺亄tm巺~wtm巺~wtm巺亀qm巺亀tj拡亀tm巺~wtm巺~wqm巿~wqm巿亀tm拡亄tj巺亀tj巺亀qm巿~wtm巿~{tm巺亀tm巺亀tj巿~wtj巺亄tj巺亀tj巿亄tj巿亄tm巿~{tm巺~wtm巿亀tj巺亀tm巺厈tm巿亀tm巿~{tm巿~wtm巿亀tm巺~{tm巿~{tm巿亄tm巺~{tm巿亀tm巿亀tm巿亀tm巺亀tm拝亀tm巺亀tm巺~wtm巺~wqj巿亄tm巿~{tm巺~wtm巿亀tj巺~{tj巿亀qm巺亀tj巺~{tj巿亄tm巺~wtm拝亀tm拝~wtj拝亀tj巺~wtj拝~wtm巺~wtj拡亄tm拡亀tj巺亀tm巿~wtm巺亀tm巿亀tj巺亄tm拝亄tm巺亀tm巺亀tm拡亀tm拝亀tm拝~{tm拝亄tm巺亀tm巺亄tm巿亀tm巺亄qm巺亀tj巺亀tj巿亀tm巺亀tm巺亄tm巿亀tm巿亄tj巺亀qm拝~wtj拝亀tm巺~wtm拝亀tm拡亀tj巺~{tm拡~wqj巿亀tj拝~{tm拡亀tm拝亀tm巿~wtm拝亄tm拝亀tm巺~wtm拝亀tm拝亀tj巿~wqm巺~{tm巿亄tm巿~wtm拝~{tm拡~{tm拡亀tm拝亀tm拝~{tm巿亄qm巿亄qm拡亄tm巺~wtm拡~{tm拝亀tm拝亀qm拡亄tm拡亀tj巺亄tm巺~wqj拝~wqm拡~wqm拡~{tm巿~wqm拡亀qj拡~{qm巺~wtj巺~wtj拝~wqm拝~wqj拝亀tj巺~wtm巺~wqm巺亄qj拡~{qm拝亀qm拡亀qm巿~wqm巺~wtm拝亄qm巺~{tm巺亄qm拝~{tm拡亄tm巿亄qm拝亄tm拡亄tm巺亀tm拝~wtm拝亄qm巺亄qm巿亀tm巺~{tm巿亄qm巺~{tm巺亄tm巺~wtm巺~wtj拝~wtj巺亀tm巺亀qj巿亀tm拝亄qm巺亄tj拡亀qj巺~wtm巺亀tj拝亀qj巿~wqm巺亀tj拡~wtm巿~wqm巺~wtj巺亄tj巺~wtj巺亀tj巺~wqj巺亀tm巺~wtm拝~wtj巺~wtm巿亀tm拡亀tm巺亄tm巺亄tm巺~{tj巿~{qm巺~{tm巺亄tm巿~wtm巺~{tm巺~{tm巺~wqm巺亄qm拝~wtm巺~wtm拝~{tj巺亀tm巿亀tm巿亀tm巺亀qm巿~wqm巿亄tm巺~wqm巺~wtj巺~wtm巺亀tm巺~{qm巺~wtj巿亄tm巺亀tj媴~wtj巺~wtj巺亄tm巺~wqj巺亀tj巿~wqm巺亀tj巺~wtm巺亄tm巺亀tm巺亄tj巿~{qm巺~wtm巺~wqm巺~wtj巺亄tm巺亀tm巺~wtm巺亄tm巺亄tm拝~wtm巺~{tm巺亀tm巿亀tm巺~wqj巺亄tj巺~{qm巺亀qj巺~wtj巿~wtj巺亀tm巺亀tm巺~wtj巿~{tm巺亀tj巺亀tm巺亀tj巿~wqj巺亀tm拝~wtj巿~wtm巿亄tj巺~wtj巺~wtm巿~wtj拝亀qj巺亀tm巿~{tj巺~{tm拝~wtm巿~wqm巺~wtm拡亄tm拡亀tj巺亀tm拝亀tj拝亀tm巺亀qm拡亄tm巺~{tm巿亄qm巺亄tm拝~wtm巿亄tm巺~wtm拝亀qm巺亀qj拝亀tm拝亀tj巺~wtj拡~{tm巺~wqj巺~wtm巿~wqm巺亄tj巺~{tm巺~wqj巺亀tj巺~wqj巿~wqj巺亄qm巺~wtm巺亀tj巿亀qm巺~wqm巺~wqj巺亀tj巿亀qj巺亀tm巺~wtm巿~wtm巺亄qm拡~{tm巿亄qm拝~{qj巺亄tj巺~{qm巺~wtm巺亄tm巿亀tj巺亀qm巿~wqm巿亀tm拡~{tj巺~wtm拝~wqj拝亀tj巺~wqj拝~wqj巺亀tm拝~wtm巺~wqj巺亀qm巺~wqj巺~wqj巺~wtj巺~wqj拡~{tj巺~wtm煒巺~wtj巺~wqj巺~wqm巺~wqj巺~{tj巺~wqj巿~wtm巿~{qj拝~{tj拝~wtm巺亄qj巺亀tj巺~{qj巿~{tm巺亀qm巺~{tm巺亄tm巺亄tm巺~wtm巿亀qj巺亀tm巺~wqj巺~wtj巺~wqm拝~{tm巿~{qj巺~wtj巿~wqj巿~wqj巺~wqj巺~wqj巺亀tj巺亀qj巺~wqj巺~wtj巿~wqj巺亀tj巺~wqm巺亀qj巺~wtj巺~wqj巺亀tj巺~wqj巺~wtm巺~wtj巺亀tj巺~wqj巺~wtm巺~wqj巺~wqm拡~wtm巺亄tm巺~{qj巺亀tj巺~wtj巿~wtm巺~{tm巺亀tm巺亀tm巺~wtm巺~wqm巺~wtm巿~wtj巺亄tm巺~wtj巿~wtm巺亀tj巺亀tm巺亀tj拝~wtj巺~wtj巺~{tj巺~wtj拝~wqj巺~wqj巺~wtm巺~wqj巺~wtm巺~wqm巺~wqj巺~wtm巺~wtj巺亄qm巺~wqm拝亀qm巺亄qm拡亀tm巺~wtj巺~{tj巺~wtm巺~wqm巺~wqj巺~{tm巺~wtm巺~wqj巿~wtj巺~{qm巺亀tj巺亄tm巺~wtm巺亄tm巺~wtm巺~wtm拡~wtm巺亀qm巿~wqm巿~wqj巺~wtj巺亀tm巺~wqm巿~wtj拝~wqj巺~wtm巺~wqj巺~wqj巺亀qm巺~wtj巺亀qm巺~wqj巺~wqj巺~wtj拝~wtj巺亄qj巺~wtj巿亀qm巺~{tj巺~wqj巿~wqm拡~{tm拝亀qj拝~wqj巺~wtm巺~{qm巺亀qj巺~wtj巺亀tm巺~wqj巺~{qm煒巺亀tm煒巺亀tj巺~wqj巺~wqj巺~{qj巺~wqj煖巺~wqj巺~wqj巺~wtj巺~wqm巺~wqj巺~wqj巺~wqj巺~wqj巺~wqj拝~{qj巺~wqj巺~wqj拝~wtj巺~wqj巿~wqj巺~wqj拝亀qj巿亀tj巺~wtm巺~wtm煒巺~wqm巺~wqm巺亀tj巺亀tm拝~wqm巿~wtj巺亀qm巺亀qm巺~{qm巺~{tm巿~{tm巺亄qm巺~wqm巺亀tm巺~wtm巺~wtm巺~wtm巺亀tj拝亀tm巿亀qm巺~wtj巿~wtj巺~wqj巿~wtj巺~wqj巺亀qj巺~wqj巺~wqj巺~wqm巺亀qm巺~wqm巺~wqj拝~wqj巺~wqm巺~wtj巺~wtm巺~wqj巺~wtj巺~wtj巺~wqm巺~wtj巺~wqm巺~wqj巺~wqj巺亀qj巺~{qm拝~wtm巺~wqj巺~wqm巺~wqj煒巺~{qm巺亄tm巺~wqj媴亀qj巺~wqj巺~wtm煒巺{wtj拝~{tm巺~wtj巺亀qj巺亀tj巺~wqj巺~wqj巺~{qj巺~wqj巺~wqj巺~wqm拝~wqj巺~wtj巺~{qj巺~wtm巺亀tm巺~wtm巺~{qm巺亀tj巺~wqm巺~wqj巺~wqj巺~wqj巺~wqj拝~wqj巺~wtj巺~wtj巺~wtj巺~wtm巺~wtj巿~wtj巺~wqj巺~wqj煒巺~wqm巿亀tm巿~wtm巺~wqj巺亀tj巺~wqj巺~wtm媴~wtj巺~{qj巺~wqj巺~wtm拝~wtj巺~wtj巺~wqj拝~wqj巺~wqm巺~wqj巺~wqj巺~wqm巺~wqm巺~wqj巺亀qj巺~wqj巺~{qj巺~wqj巺~wqm拡~wqj巺~wtj巺~wtj巺~{qj巺~wqj煒巿~wqj拝~wqj巺~wtj巺~wqj巺亀qm巺~wtj巺~wqj巺~wqm巺~wqj巺~wtj巺~wtj巺~wtj巺~wtj巺~wqj巺~wtm煒拝~wqj巺~wtm巺~{tj巺~wqm巺~wqj煖拝~{qj巺~wqj巺~wqm巺~wqj巺~wqj巿~wqj巺~wqj巺~wtm拝亀qj巺~wqj巺~wqj巺~wqj巺~wqj巺~wqj巺~wqj巺~wqj巺~{qj巺~wqj巺~wqj拝~wqj巺~wqj巺~wqm巺~wqj巺亀qj巺亀qj巺~wqm巺~wqj巺~wtj巺{{tj巺~wqm巺~wqj煒巺~wqm巺~wqj巺~wtm巺~wtm巺~wqj巺~{qj巺~wqj巺~wqj巺~wtj巺~wqj巺~wqj巺~wqm巺~wqj巺~wtj煒巺~wqm巺~{qj巺~wqj巺~wqj巺~wqm巺~wtj拝~wqj拝~wqj巺~wqj拝~wqj巺~wqj巺~wqj巺~wtj巺~wqj巺~wqj巺~wtj煒巺~wqj巺~wtj巺~wqj巺~wqj巺~wqj巺~wqm巺~wqj巺~wtj巺~wqj煒媴~wqj巺~wqm煒媴~wtm巺~wtj媴~wqj巺~wqm煖巺~wqj巺~{qm巺亀tm媴~wqm巺~wqj巺~wqj巺~wqj巺~wqj巺~wqj巺~wqj巺~wqm巺~wtj巺~wtj巺~{qj巺~wqj巺~wqj巺~wqj媴~wqj巺~wqj巿~wqj巺~wqj巺~wqj巺亀tj媴~wqj煒巺~wqj巺~wqj巺~wtj巺~wtm巺~wqj巺~wqm巺~wqm巺~wtj巺~wqj巺~{qj巺~wqm煒巺~wtj拝~wqj媴~wtm煒巺~{qj巺~wqm巺~wtm巺~wqj巺~wqm巺~wtm巺~wqj巺~wtj巺~wqj巺~wtj巿~wtm巺~{qj巺~wtj巺亀qj巺~wqj巺~wqj巺~wqj巺~wqj巺~wqj巺~wtj煒巺~wqj巺~wqj巺~wqj煒巺~wqj巺~wqj巺~wqj巺~wtj巺~wqm巺~wqj媴~{qj巺~wtm巺~wtj巺~wqj煒巺~{tm巺~wtj煒巺~wqj媴~wtj巺~wqj巺~{qm煒巺亀qj巺~wqm煒巺~wqm巺~wqj巺~wtm巺~wqj煒巺{wqj巺~wqj巺~wqj巺~wqm巺~wqj巺~wqj巺~wqj媴~wqj巺~wqj巺~wqj煒巺~wtj巺~wqj巺~wqj巺~wtj巺~wqj巺~{qj煒拝亀qj煒巺~wtj煏巺~wqj媴~wqj巺~wqj巺~wtj巺~wtj巺~wqj巺~wtj巺~wqm巺~wqj巺~wtj煒巺~wqj煏巺~wqm巺~wqj巺~wqj巺~{qm煒巺~{qm巺~wqj巺~wqm煒巺~wtj巺~wtj巺~wqj巺~wqj煒巺~wqj巺~wtj巺~wqm巺~wqj巺~wqj煒巺{wqj煒巺~wqj巺~wqm拝~wqj巺~wqj巺~wqj煒巺~wqj巺亀qj巺~wqj煖巺~wtj巺~wqj巺~wqm巺~wqj巺~wqm巺~wqj巺~wqj巺~wqj巺~wqj巺~wqj巺~wqj巺~wqj巺~wqj煒巺~wtj煏巺~wqj巺~wqm煒巺~wqj煏巺~wqj巺~wtm煒巺~wqm巺~wtj煒巺~wqm巺~wqm巺~wqm媴~{qj煒巺~wqj巺~wqj巺~wqj巺~{qj巺~wqj巺~wqj煒巺~wqj煏巺~wqj煒巺~wqj巺亀qj巺~{qj巺~wqj煒巺~wqj巺~wqj巺~wtj煒媴~wqj巺~wqj媴~wqm煒媴~wqj巺~wqj巺~wqj煒媴~wqj巺~wqj煏巺~wqj巺~wtm媴~wqj媴~wqj巺~wqj煒拝亀qj煒巺~wtj煒巺~wqj煏巺~wqj煒媴~wqj巺{wqj煒媴~wtj媴~wqj巺~wqj巺~wqj媴~wqj巺~wqj巺~wtj媴~wqj煒巺~wqj煒巺~wqj巺~wqj巺~wqj巺{{qj巺~wqj巺~wtj巺~wqj巺~wqj煒巺~wqj煒巺~wqj巺~wqj巺~wqj巺~wqj巺~tqj煏巺~wqj巺~wqj煒媴~wqj巺~wqj巺~wqj巺~wqm媴~wqj巺~wqj煒巺~wqj煒媴~wqj煒巺~wqj巺~wtj煒巺~wqj煒巺~{tj巺~wqj煏巺~wqm巺~wqj煒媴~wqm巺~wtj煏巺~wtj媴~wqm巺~wqj煏巺~wqj煒巺~wqj巺~wqj巺~wqm巺~wqj煏巺~{qj煒巺~wqj煒巺~wtj巺~wqj煒巺~wqj巺~wqj巺~wtj巺~wqj巺~wqj煒巺~wqj巺~wqj巺~wqj巺~wqj煒巺~wqj煒巺~wqj巺~wqj煒巺~wqj巺~wqj煒媴{wqj煒巺~wqj巺~wqj巺~wtj煒巺~wqj煒媴~wqm煒巺~{qm巺~wqj煏巺~wqj巺~wqj巺~wqj煒巺~wqj煒巺~wqm巺{wqj煒巺~wqj煒巺{wqj巺~wqj煒巺~wqj煒巺~wqj煒巺~wqj煒巺~wqj煒巺~wqj煏媴~wqj巺~wqj煏巺~tqj巺~wqj煒巺~wqj煏巺~wqj媴~wqj巺~wqj煒巺~wqj煏巺~wqm煒拝~wqj煏巺~wqj煒巺~wqj巺~wqj煏媴~wqj巺~wqj煒巺~wqj巺~wqj煏巺~wqj巺~wqj巺~wqj煒媴~wqj煒巺~wqm巺~wqm煒巺~wqj煒媴~wqj煒巺~wqm煏拝~wqj煏巺~wqj煏巺~wqj煒巺~wqj煖巺~wqm煏巺~wqj巺~wqj巺~wqm巺~wqj煒媴~wqj煒巺~wqj媴~wqj煏巺~wqj巺~wqj煏巺~wqm巺~wqj巺~wqj煒媴~wqj巺~wqj煖媴~wqj巺{wqm媴~wqm巺~wqj巺~wqj煒巺~wqj煏媴~wqj煏巺~wqj煒巺~wqj煏巺~wqj巺~wqj煏媴~wqj煏媴~wqj巺~wqj巺~wqj煒巺~wqj煒媴~wqj巺~wqj煒巺~wqj媴~wqm媴~wqm煏媴~wqj煒媴~wqj煏巺~wqm煏媴~wqm煏巺~wqj垍~wqj煒巺~wtj媴~wtj煒媴~wtm煒媴~wqm煏巺~wqj巺~wqj煏媴~wqj煏媴~wqm巺~wqj煒巺~wqm媴~wqm煒巺~wqj煏巺~wqq汞晵埻巛巛淄岂溱衅拦邮拦超⒆兔钩溣世冬樣萍冬曈始超曈乒畅捫乒畅捦霉煒捠蓝煉幤汲槖嬅汞晭埨宫拫吋畅煒拡吂煉巿伖湌媴~宫拡厏冬煏拫厈订煏巿亄畅煏媴~{煉媴亀煉媴~w湌垍~t槖垍{t槑垇{t晭厑wt構厑wt瑹構厏wq瑹晪厏wq拫厈wm拡亄wm拡亄tm拡亄tm拡亄tm拡亄tm拡亀tm拡亄tm拡~{tj拝~{tj巺~wtj巿~wqj巺~wqj巺~wqj巺~{qj巺~wqj巺~wqj巺~wqj巺~wqj巺~wmj巺~wqj巺~wqj巺~wqj巺~wqj巺~wmj媴~wqj媴~wqj煒媴{wqj厏tjg`ZSPF<62/,("  "92,%"PI?96/,,]SMF?<66g]SPFC?9j`ZPPF? +// +// This code is licensed to you under the terms of the GNU GPL, version 2 or, +// at your option, any later version. See the LICENSE.txt file for the text of +// the license. +//----------------------------------------------------------------------------- +// testbench for lf_edge_detect +`include "lf_edge_detect.v" + +`define FIN "tb_tmp/data.filtered.gold" +`define FOUT_MIN "tb_tmp/data.min" +`define FOUT_MAX "tb_tmp/data.max" +`define FOUT_STATE "tb_tmp/data.state" +`define FOUT_TOGGLE "tb_tmp/data.toggle" +`define FOUT_HIGH "tb_tmp/data.high" +`define FOUT_HIGHZ "tb_tmp/data.highz" +`define FOUT_LOWZ "tb_tmp/data.lowz" +`define FOUT_LOW "tb_tmp/data.low" + +module lf_edge_detect_tb; + + integer fin, fout_state, fout_toggle; + integer fout_high, fout_highz, fout_lowz, fout_low, fout_min, fout_max; + integer r; + + reg clk = 0; + reg [7:0] adc_d; + wire adc_clk; + wire data_rdy; + wire edge_state; + wire edge_toggle; + + wire [7:0] high_threshold; + wire [7:0] highz_threshold; + wire [7:0] lowz_threshold; + wire [7:0] low_threshold; + wire [7:0] max; + wire [7:0] min; + + initial + begin + clk = 0; + fin = $fopen(`FIN, "r"); + if (!fin) begin + $display("ERROR: can't open the data file"); + $finish; + end + fout_min = $fopen(`FOUT_MIN, "w+"); + fout_max = $fopen(`FOUT_MAX, "w+"); + fout_state = $fopen(`FOUT_STATE, "w+"); + fout_toggle = $fopen(`FOUT_TOGGLE, "w+"); + fout_high = $fopen(`FOUT_HIGH, "w+"); + fout_highz = $fopen(`FOUT_HIGHZ, "w+"); + fout_lowz = $fopen(`FOUT_LOWZ, "w+"); + fout_low = $fopen(`FOUT_LOW, "w+"); + if (!$feof(fin)) + adc_d = $fgetc(fin); // read the first value + end + + always + # 1 clk = !clk; + + // input + initial + begin + while (!$feof(fin)) begin + @(negedge clk) adc_d <= $fgetc(fin); + end + + if ($feof(fin)) + begin + # 3 $fclose(fin); + $fclose(fout_state); + $fclose(fout_toggle); + $fclose(fout_high); + $fclose(fout_highz); + $fclose(fout_lowz); + $fclose(fout_low); + $fclose(fout_min); + $fclose(fout_max); + $finish; + end + end + + initial + begin + // $monitor("%d\t S: %b, E: %b", $time, edge_state, edge_toggle); + end + + // output + always @(negedge clk) + if ($time > 2) begin + r = $fputc(min, fout_min); + r = $fputc(max, fout_max); + r = $fputc(edge_state, fout_state); + r = $fputc(edge_toggle, fout_toggle); + r = $fputc(high_threshold, fout_high); + r = $fputc(highz_threshold, fout_highz); + r = $fputc(lowz_threshold, fout_lowz); + r = $fputc(low_threshold, fout_low); + end + + // module to test + lf_edge_detect detect(clk, adc_d, 8'd127, + max, min, + high_threshold, highz_threshold, + lowz_threshold, low_threshold, + edge_state, edge_toggle); + +endmodule \ No newline at end of file diff --git a/fpga/tests/tb_lp20khz_1MSa_iir_filter.v b/fpga/tests/tb_lp20khz_1MSa_iir_filter.v new file mode 100644 index 000000000..ad0cfc6e6 --- /dev/null +++ b/fpga/tests/tb_lp20khz_1MSa_iir_filter.v @@ -0,0 +1,55 @@ +//----------------------------------------------------------------------------- +// Copyright (C) 2014 iZsh +// +// This code is licensed to you under the terms of the GNU GPL, version 2 or, +// at your option, any later version. See the LICENSE.txt file for the text of +// the license. +//----------------------------------------------------------------------------- +// testbench for lp20khz_1MSa_iir_filter +`include "lp20khz_1MSa_iir_filter.v" + +`define FIN "tb_tmp/data.in" +`define FOUT "tb_tmp/data.filtered" + +module lp20khz_1MSa_iir_filter_tb; + + integer fin, fout, r; + + reg clk; + reg [7:0] adc_d; + wire data_rdy; + wire [7:0] adc_filtered; + + initial + begin + clk = 0; + fin = $fopen(`FIN, "r"); + if (!fin) begin + $display("ERROR: can't open the data file"); + $finish; + end + fout = $fopen(`FOUT, "w+"); + if (!$feof(fin)) + adc_d = $fgetc(fin); // read the first value + end + + always + # 1 clk = !clk; + + always @(posedge clk) + if (data_rdy) begin + if ($time > 1) + r = $fputc(adc_filtered, fout); + if (!$feof(fin)) + adc_d <= $fgetc(fin); + else begin + $fclose(fin); + $fclose(fout); + $finish; + end + end + + // module to test + lp20khz_1MSa_iir_filter filter(clk, adc_d, data_rdy, adc_filtered); + +endmodule diff --git a/fpga/tests/tb_min_max_tracker.v b/fpga/tests/tb_min_max_tracker.v new file mode 100644 index 000000000..4cccc3f1d --- /dev/null +++ b/fpga/tests/tb_min_max_tracker.v @@ -0,0 +1,74 @@ +//----------------------------------------------------------------------------- +// Copyright (C) 2014 iZsh +// +// This code is licensed to you under the terms of the GNU GPL, version 2 or, +// at your option, any later version. See the LICENSE.txt file for the text of +// the license. +//----------------------------------------------------------------------------- +// testbench for min_max_tracker +`include "min_max_tracker.v" + +`define FIN "tb_tmp/data.filtered.gold" +`define FOUT_MIN "tb_tmp/data.min" +`define FOUT_MAX "tb_tmp/data.max" + +module min_max_tracker_tb; + + integer fin; + integer fout_min, fout_max; + integer r; + + reg clk; + reg [7:0] adc_d; + wire [7:0] min; + wire [7:0] max; + + initial + begin + clk = 0; + fin = $fopen(`FIN, "r"); + if (!fin) begin + $display("ERROR: can't open the data file"); + $finish; + end + fout_min = $fopen(`FOUT_MIN, "w+"); + fout_max = $fopen(`FOUT_MAX, "w+"); + if (!$feof(fin)) + adc_d = $fgetc(fin); // read the first value + end + + always + # 1 clk = !clk; + + // input + initial + begin + while (!$feof(fin)) begin + @(negedge clk) adc_d <= $fgetc(fin); + end + + if ($feof(fin)) + begin + # 3 $fclose(fin); + $fclose(fout_min); + $fclose(fout_max); + $finish; + end + end + + initial + begin + // $monitor("%d\t min: %x, max: %x", $time, min, max); + end + + // output + always @(negedge clk) + if ($time > 2) begin + r = $fputc(min, fout_min); + r = $fputc(max, fout_max); + end + + // module to test + min_max_tracker tracker(clk, adc_d, 8'd127, min, max); + +endmodule \ No newline at end of file diff --git a/fpga/xst.scr b/fpga/xst.scr deleted file mode 100644 index 406bbeee7..000000000 --- a/fpga/xst.scr +++ /dev/null @@ -1 +0,0 @@ -run -ifn fpga.v -ifmt Verilog -ofn fpga.ngc -ofmt NGC -p xc2s30-5-vq100 -opt_mode Speed -opt_level 1 -ent fpga diff --git a/fpga/xst_hf.scr b/fpga/xst_hf.scr new file mode 100644 index 000000000..dd2fdc859 --- /dev/null +++ b/fpga/xst_hf.scr @@ -0,0 +1 @@ +run -ifn fpga_hf.v -ifmt Verilog -ofn fpga_hf.ngc -ofmt NGC -p xc2s30-5-vq100 -top fpga_hf -opt_mode area -opt_level 2 -resource_sharing yes -fsm_style bram -fsm_encoding compact diff --git a/fpga/xst_lf.scr b/fpga/xst_lf.scr new file mode 100644 index 000000000..2d6c7e951 --- /dev/null +++ b/fpga/xst_lf.scr @@ -0,0 +1 @@ +run -ifn fpga_lf.v -ifmt Verilog -ofn fpga_lf.ngc -ofmt NGC -p xc2s30-5-vq100 -top fpga_lf -opt_mode area -opt_level 2 -resource_sharing yes -fsm_style bram -fsm_encoding compact diff --git a/images/Hirose-connector.png b/images/Hirose-connector.png deleted file mode 100644 index 4c1690374..000000000 Binary files a/images/Hirose-connector.png and /dev/null differ diff --git a/images/prox3-straight.jpg b/images/prox3-straight.jpg deleted file mode 100644 index 10668b778..000000000 Binary files a/images/prox3-straight.jpg and /dev/null differ diff --git a/images/proxmark3-parts-2.jpg b/images/proxmark3-parts-2.jpg deleted file mode 100644 index c56d0df04..000000000 Binary files a/images/proxmark3-parts-2.jpg and /dev/null differ diff --git a/include/proxmark3.h b/include/proxmark3.h index e54da312e..8c9417da5 100644 --- a/include/proxmark3.h +++ b/include/proxmark3.h @@ -60,6 +60,10 @@ #define SPI_FPGA_MODE 0 #define SPI_LCD_MODE 1 +#define FPGA_BITSTREAM_ERR 0 +#define FPGA_BITSTREAM_LF 1 +#define FPGA_BITSTREAM_HF 2 + #define TRUE 1 #define FALSE 0 @@ -89,7 +93,7 @@ struct version_information { char versionversion; /* Must be 1 */ char present; /* 1 if the version information could be created at compile time, otherwise 0 and the remaining fields (except for magic) are empty */ char clean; /* 1: Tree was clean, no local changes. 0: Tree was unclean. 2: Couldn't be determined */ - char svnversion[9]; /* String with the SVN revision */ + char gitversion[50]; /* String with the git revision */ char buildtime[30]; /* string with the build time */ } __attribute__((packed)); diff --git a/include/usb_cmd.h b/include/usb_cmd.h index 9c25555df..b4e298043 100644 --- a/include/usb_cmd.h +++ b/include/usb_cmd.h @@ -96,6 +96,7 @@ typedef struct { #define CMD_ISO_15693_COMMAND_DONE 0x0314 #define CMD_ISO_15693_FIND_AFI 0x0315 #define CMD_ISO_15693_DEBUG 0x0316 +#define CMD_LF_SNOOP_RAW_ADC_SAMPLES 0x0317 // For Hitag2 transponders #define CMD_SNOOP_HITAG 0x0370 @@ -116,6 +117,8 @@ typedef struct { #define CMD_SNOOP_ICLASS 0x0392 #define CMD_SIMULATE_TAG_ICLASS 0x0393 #define CMD_READER_ICLASS 0x0394 +#define CMD_READER_ICLASS_REPLAY 0x0395 +#define CMD_ICLASS_ISO14443A_WRITE 0x0397 // For measurements of the antenna tuning #define CMD_MEASURE_ANTENNA_TUNING 0x0400 @@ -161,6 +164,8 @@ typedef struct { #define FLAG_NR_AR_ATTACK 0x08 +//Iclass reader flags +#define FLAG_ICLASS_READER_ONLY_ONCE 0x01 // CMD_DEVICE_INFO response packet has flags in arg[0], flag definitions: /* Whether a bootloader that understands the common_area is present */ diff --git a/tools/mkversion.pl b/tools/mkversion.pl index 6f2eff69b..19616441a 100644 --- a/tools/mkversion.pl +++ b/tools/mkversion.pl @@ -3,58 +3,30 @@ # Normally a couple of lines of bash would be enough (see openpcd project, original firmware by Harald Welte and Milosch Meriac) # but this will, at least in theory, also work on Windows with our current compile environment. # -- Henryk Pl枚tz 2009-09-28 +# Modified april 2014 because of the move to github. +# --- Martin Holst Swende -my $main_dir = shift; -# Clear environment locale so that svn will not use localized strings +# Clear environment locale so that git will not use localized strings $ENV{'LC_ALL'} = "C"; $ENV{'LANG'} = "C"; -my $svnversion = 0; +my $gitversion = `git describe --dirty`; +my $gitbranch = `git rev-parse --abbrev-ref HEAD`; my $clean = 2; my @compiletime = gmtime(); -# Strategy one: call svn info and extract last changed revision, call svn status and look for ^M -if(open(SVNINFO, "svn info $main_dir|")) { - while() { - if (/^Last Changed Rev: (.*)/) { - $svnversion = $1; - ## last; # Do not abort here, since SVN tends to complain about a Broken pipe - } - } - close(SVNINFO); +my $fullgitinfo = $gitbranch . '/' . $gitversion; - if(open(SVNSTATUS, "svn status $main_dir|")) { - $clean = 1; - while() { - if(/^M/) { - $clean = 0; - ## last; - } - } - close(SVNINFO); - } +$fullgitinfo =~ s/(\s)//g; -} else { - # Strategy two: look for .svn/entries. The third line should be "dir", the fourth line should contain - # the currently checked out revision, the eleventh line should contain the last changed revision. - # revision. - if(open(ENTRIES, "$main_dir/.svn/entries")) { - my $i = 1; - while() { - last if($i == 3 and !/^dir/); - if($i == 11 and /^([0-9]*)/) { - $svnversion = $1; - } - $i++; - } - } -} +# Crop so it fits within 50 characters +$fullgitinfo =~ s/.{50}\K.*//s; $compiletime[4] += 1; $compiletime[5] += 1900; my $ctime = sprintf("%6\$04i-%5\$02i-%4\$02i %3\$02i:%2\$02i:%1\$02i", @compiletime); -$svnversion=~ s/(^\s+|\s+$)//g; + print <