Ir para conteúdo
Fórum Script Brasil

anabon

Membros
  • Total de itens

    56
  • Registro em

  • Última visita

Tudo que anabon postou

  1. Bom dia Caros, Primeiro quero pedir desculpas caso este poste esteja no lugar errado, primeira vez postando linguagem web aqui. Então ... preciso desenvolver um playlist onde o usuário escolha o gênero que deseja e este play percorra a pasta tocando as músicas em sequencia até o ultimo áudio da pasta ou até que o usuário interrompa esta execução. O que consegui até agora foi um play onde ele executa uma sequencia automática, porém as músicas executadas são todas setadas no HTML, queria uma maneira de fazer um "WHILE" ou algo parecido para que ele leia e execute até que termine. Desde já agradeço imensamente que puder me ajudar!!!! Segue abaixo o que consegui até agora!!! Estou usando HTML, JS e CSS ... Obs: este loop pode ser em js ou php <!DOCTYPE html> <html> <head> <title></title> <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="css/estilo.css"> </head> <body> <div class="example"> <audio id="audio" preload="auto" tabindex="0" controls="" type="audio/mpeg"> <source type="audio/mp3" src="Music/01.mp3"> Sorry, your browser does not support HTML5 audio. </audio> <ul id="playlist"> <li class="active"><a href="Music/02.mp3">Ravel Bolero</a></li> <li><a href="Music/03.mp3">Moonlight Sonata - Beethoven</a></li> <li><a href="Music/04.mp3">Canon in D Pachabel</a></li> <li><a href="Music/05.zip">patrikbkarl chamber symph</a></li> </ul> <script type="text/javascript"> var audio; var playlist; var tracks; var current; init(); function init(){ current = 0; audio = $('audio'); playlist = $('#playlist'); tracks = playlist.find('li a'); len = tracks.length - 1; audio[0].volume = .10; audio[0].play(); playlist.find('a').click(function(e){ e.preventDefault(); link = $(this); current = link.parent().index(); run(link, audio[0]); }); audio[0].addEventListener('ended',function(e){ current++; if(current == len){ current = 0; link = playlist.find('a')[0]; }else{ link = playlist.find('a')[current]; } run($(link),audio[0]); }); } function run(link, player){ player.src = link.attr('href'); par = link.parent(); par.addClass('active').siblings().removeClass('active'); audio[0].load(); audio[0].play(); } </script> </body> </body> </body> </html>
  2. anabon

    ACBr SAT

    Boa tarde, Obrigada Jhonas por me responder, realmente estou com dificuldade nesse laços de repetição, corrigi o codigo em parte deu certo, Esse while not com o filter do data set utilizo em varias partes e sempre me deu o resultado que busco. Porém nesta parte do codigo ele só me retorna o ultimo registro . Ex: x- salada X - Bacon ele me retorna X_ Bacon X-Bacon Já tentei utilizar um clientdataset.firts antes do EOF, porém não obtive resultado .... Agradeço imensamente que puder me ajudar Obrigada.. COdigo que estou utilizando: Loops := 1; For A := 0 to loops do // Ajuste aqui para vender mais itens begin with Det.Add do begin nItem := A; Frmfinalizar_Venda.ClientDataSet2.Open; Frmfinalizar_Venda.ClientDataSet2.Filter := '[n_pedido] = ' + QuotedStr(FrmVenda_Balcao.lblpedido.Caption); Frmfinalizar_Venda. ClientDataSet2.Filtered := True; // ativa o filtro Frmfinalizar_Venda.ClientDataSet2.First; while not Frmfinalizar_Venda.ClientDataSet2.Eof do BEGIN Prod.cProd := Frmfinalizar_Venda.ClientDataSet2.FieldByName('COD_PRODUTO').AsString; Prod.cEAN := '6291041500213'; Prod.xProd := Frmfinalizar_Venda.ClientDataSet2.FieldByName('PRODUTO').AsString; Frmfinalizar_Venda.ClientDataSet2.Next; END; Frmfinalizar_Venda.ClientDataSet3.Open; Frmfinalizar_Venda.ClientDataSet3.Filter := '[cod_produto] = ' + QuotedStr(Frmfinalizar_Venda.ClientDataSet2.FieldByName('cod_produto').AsString); Frmfinalizar_Venda.ClientDataSet3.Filtered := True; // ativa o filtro while not Frmfinalizar_Venda.ClientDataSet3.Eof do begin prod.NCM := Frmfinalizar_Venda.ClientDataSet3.FieldByName('NCM').AsString; Prod.CFOP := Frmfinalizar_Venda.ClientDataSet3.FieldByName('cfop').AsString; Prod.uCom := Frmfinalizar_Venda.ClientDataSet3.FieldByName('unidade_medida').AsString; Frmfinalizar_Venda.ClientDataSet3.Next; end; while not Frmfinalizar_Venda.ClientDataSet2.Eof do BEGIN Prod.qCom := Frmfinalizar_Venda.ClientDataSet2.FieldByName('QUANTIDADE').AsInteger; Prod.vUnCom := Frmfinalizar_Venda.ClientDataSet2.FieldByName('VALOR_UN').AsFloat; Prod.indRegra := irTruncamento; Prod.vDesc := StrToCurr(Frmfinalizar_Venda.txtdesconto.text); Frmfinalizar_Venda.ClientDataSet2.Next; END;
  3. anabon

    ACBr SAT

    Boa noite, Consegui em partes com o seguinte código: For A := 0 to loops do // Ajuste aqui para vender mais itens Loops := Loops + A; begin with Det.Add do begin nItem := A + (A * 0); WHILE NOT Frmfinalizar_Venda.ClientDataSet2.Eof DO BEGIN Prod.cProd := Frmfinalizar_Venda.ClientDataSet2.FieldByName('COD_PRODUTO').AsString; Prod.cEAN := '6291041500213'; Prod.xProd := Frmfinalizar_Venda.ClientDataSet2.FieldByName('PRODUTO').AsString; Frmfinalizar_Venda.ClientDataSet3.Open; Frmfinalizar_Venda.ClientDataSet3.Filter := '[cod_produto] = ' + QuotedStr(Frmfinalizar_Venda.ClientDataSet2.FieldByName('cod_produto').AsString); Frmfinalizar_Venda.ClientDataSet3.Filtered := True; // ativa o filtro while not Frmfinalizar_Venda.ClientDataSet3.Eof do begin prod.NCM := Frmfinalizar_Venda.ClientDataSet3.FieldByName('NCM').AsString; Prod.CFOP := Frmfinalizar_Venda.ClientDataSet3.FieldByName('cfop').AsString; Prod.uCom := Frmfinalizar_Venda.ClientDataSet3.FieldByName('unidade_medida').AsString; Frmfinalizar_Venda.ClientDataSet3.Next; end; Mas ele só me traz o ultimo item ... por exemplo: X - Salada 15,00 X - Bacon 20,00 --------------------------------------------------------------------- Ele só emite o X-Bacon .... Mas uma vez agradeço muito quem puder me ajudar
  4. anabon

    ACBr SAT

    Boa noite Jhonas, Obrigada pela atenção. Já usei o black point ... dessa maneira como esta ele sai apenas um item, o que quero é Emitir mais que um ... Tentei da seguinte maneira Loops := 0; For A := 0 to loops do // Ajuste aqui para vender mais itens Loops := Loops + A; begin with Det.Add do begin nItem := A + (A * 3); WHILE NOT Frmfinalizar_Venda.ClientDataSet2.Eof DO BEGIN Prod.cProd := Frmfinalizar_Venda.ClientDataSet2.FieldByName('COD_PRODUTO').AsString; Prod.cEAN := '6291041500213'; Prod.xProd := Frmfinalizar_Venda.ClientDataSet2.FieldByName('PRODUTO').AsString; Frmfinalizar_Venda.ClientDataSet3.Open; Frmfinalizar_Venda.ClientDataSet3.Filter := '[cod_produto] = ' + QuotedStr(Frmfinalizar_Venda.ClientDataSet2.FieldByName('cod_produto').AsString); Frmfinalizar_Venda.ClientDataSet3.Filtered := True; // ativa o filtro while not Frmfinalizar_Venda.ClientDataSet3.Eof do begin prod.NCM := Frmfinalizar_Venda.ClientDataSet3.FieldByName('NCM').AsString; Prod.CFOP := Frmfinalizar_Venda.ClientDataSet3.FieldByName('cfop').AsString; Prod.uCom := Frmfinalizar_Venda.ClientDataSet3.FieldByName('unidade_medida').AsString; Frmfinalizar_Venda.ClientDataSet3.Next; end; Mas o retorno que tenho no xml é o seguinte: </dest> <det nItem="4"> <prod> <cProd>3</cProd> <cEAN>6291041500213</cEAN> <xProd>X BACON</xProd> <NCM>19022000</NCM> <CFOP>5405</CFOP> <uCom>UN</uCom> <qCom>1.0000</qCom> <vUnCom>20.00</vUnCom> <indRegra>A</indRegra> <obsFiscoDet xCampoDet="campo"> <xTextoDet>texto</xTextoDet> </obsFiscoDet> </prod> <imposto> <vItem12741>2.40</vItem12741> <ICMS> <ICMSSN102> <Orig>0</Orig> <CSOSN>102</CSOSN> </ICMSSN102> </ICMS> <PIS> <PISSN> <CST>49</CST> </PISSN> </PIS> <COFINS> <COFINSSN> <CST>49</CST> </COFINSSN> </COFINS> </imposto> <infAdProd>Informacoes adicionais</infAdProd> </det> <total> <vCFeLei12741>1.23</vCFeLei12741> </total> <pgto> <MP> <cMP>01</cMP> <vMP>50.00</vMP> </MP> </pgto> </infCFe> </CFe> ) 27/02/18 00:32:41:600 - Gravando XML Venda enviado: C:\tdbfastfood\Win32\Debug\Enviado\29299698000170\CFe\2018\02\27\AD20180227003241-663874-env.xml 27/02/18 00:32:42:328 - NumeroSessao: 663874 - Resposta:663874|06010|1019|Numeração dos itens não é sequencial crescente|| 27/02/18 00:32:42:331 - EACBrSATErro - Nenhum CFe carregado na memória Desde já agradeço muito que puder me ajudar...
  5. anabon

    ACBr SAT

    Boa noite pessoal, Mais um vez peço a ajuda de vocês.... Estou adaptando o SAT em meu sistema, utilizando DELPHI + ACBr SAT tudo lindo maravilhoso, até tentar emitir mais de um item. Na parte mais simples do código não sei o que fazer .... já tentei de tudo ... quando não pega somente o ultimo item, da erro de somatória de item ... aparece na tag nitem uma contagem tipo 34. Desde já peço desculpas se for muito iniciante a solução, mas realmente estou batendo a cabeça... Uso Delphi RAD 10.2, banco firebirb. Segue abaixo parte do codigo que acredito que esteja o erro. Desde já agradeço imensamente quem puder me ajudar Loops := max(Trunc(FrmConfig_SAT.seItensVenda.Value / 3)-1, 0); ClientDataSet2.Open; ClientDataSet2.Filter := '[n_pedido] = ' + QuotedStr(FrmVenda_Balcao.lblpedido.Caption); ClientDataSet2.Filtered := True; // ativa o filtro For A := 0 to loops do // Ajuste aqui para vender mais itens begin with Det.Add do begin nItem := 1 + (A * 3); WHILE NOT ClientDataSet2.Eof DO BEGIN Prod.cProd := ClientDataSet2.FieldByName('COD_PRODUTO').AsString; Prod.cEAN := '6291041500213'; Prod.xProd := ClientDataSet2.FieldByName('PRODUTO').AsString; ClientDataSet3.Open; ClientDataSet3.Filter := '[cod_produto] = ' + QuotedStr(ClientDataSet2.FieldByName('cod_produto').AsString); ClientDataSet3.Filtered := True; // ativa o filtro while not ClientDataSet3.Eof do
  6. anabon

    Delphi/Android

    Boa tarde Jhonatas Obrigada pela pronta vontade em responder, mas não estou usando o servidor iis, criei um servidor datasnap Rest 1 -New - outrs - DatasnapReset application - stalone alone application 2- VCL application 3- Escolho a porta 4 - opções escolhidas( Servs Methos Class, Saple WEB Fils, Mobile Conectores) 5 - TDataModule (para conectar o banco firebird utilizo (FDConection, FDQuery, FDMemtable1, FDPhysFBDriverLink)) * Assim que crio o servidor/ único código que coloquei function TServerMethods1.ListarCliente(Cod: String): TFDJsonDatasets; begin FDQuery1.Close; FDQuery1.SQL.Clear; FDQuery1.SQL.Add('select *from cadastro'); FDQuery1.Open(); Result := TFDJsonDatasets.create(); TFDJSONDataSetsWriter.ListAdd(Result, FDQuery1); end; *** Para criar o app cliente ****** 1 - News - outrs - DatasnapReset Client Modulo 2 - Remote Server 3 - Datasnap Alone Server 4 - Hostname - Ip minha maquina 5 -coloco a mesma porta do servidor Já no mobiel utilizo (FDMemTable, FDStanStorageBinLink) codigo em apena um button procedure TForm1.SB_REFRESHClick(Sender: TObject); var RetCliente : TFDJsonDataSets; ItemAdd : TListViewItem; begin ShowMessage('OLÁ MUNDO'); if ClientRest = nil then ClientRest := TServerMethods1Client.Create(ClientModule1.DSRestConnection1); RetCliente := ClientRest.ListarCliente (''); Assert (TFDJSONDatasetsReader.GetListCount(RetCliente) = 1); FDMemTable.Close; FDMemTable.AppendData(TFDJSONDataSetsReader.GetListValue(RetCliente, 0)); FDMemTable.First; ListView1.Items.Clear; while not FDMemTable.Eof do begin ItemAdd := ListView1.Items.Add; ItemAdd.Text := FDMemTable.FieldByname ('nome').AsString; ItemAdd.Detail := FDMemTable.FieldByname('cod').Asstring; FDMemTable.Next; End; FDMemTable.Close; end; Grata quem puder me ajudar Ana Bon
  7. Bom dia Galera Estou fazendo um sistema delphi - android de teste ... Acompanhei um tutorial e criei um servidor datasnapREST e conectei o banco firebird nele, criei uma nova aplicação desta x android e na hora de conectar o app ao servidor ... ele me da o erro. HTTP/ 1.1 500 INTERNAL SERVER ERROR Já pesquisei diversas vez na internet mas não consigo solucionar este erro .... Se aguem poder me ajudar, desde já agradeço Grata Ana Bon
  8. Boa tarde amigo.... Obrigada pela resposta, é só uma determinada pasta, o componente TOpenDialog também não funcionou, pois a rede é externa, acontece a mesma coisa do codigo que postei acima. Grata
  9. Boa tarde pessoal, Mais uma vez necessito do auxilio de vocês. Estou desenvolvendo um pequeno sistema de sincronização em delphi 10.2, tudo lindo e maravilhoso se estou em rede local. Porém o caso é que preciso localizar um diretório em uma rede externa. EX: estou no ip: 191.x.xx.xxx e a pasta está no ip :164.x.xx.xxx, para abrir o diretorio utilizo o seguinte codigo: if SelectDirectory('Selecione uma pasta', 'xxx.x.xx.xxx' , selDir) then txtorigem.Text := selDir; onde os "x" representam o IP da maquina a qual tenho que acessar o diretorio. Quando abro o diretorio e vou em rede não me aparece nada.Alguém teria uma ideia de como sanar esta questão... Desde de já agradeço quem puder me ajudar Grata
  10. Gratidão amigo resolvido.... Liberei o arquivo . sac que eu precisava copia e verifiquei se o programa estava aberto por um exe principal ... Muito obrigada!!!!!!! O Adm pode finalizar..
  11. Obrigada, mais uma vez .... deu certinho ... menos para um determinado arquivo .... no inicio do código verifico se o arquivo principal esta sendo utilizado para isso uso if NOT FileOpen('C:\viennas\PARS.SAC',fmOpenReadWrite) = 0 then porém mesmo com ele fechado quando a copia se inicializa a mensagem que recebo do windows é que ele esta aberto pelo meu exe (do delphi). Já tentei diversas formar de fechar o mesmo, e até da um free e refresh no form, mas de nada me adianto segue em anexo a menssagem recebida pelo windows... Mas uma vez desde já agradeço!!!!
  12. Muito obrigada Leo_Cj, deu certo...... Agora tenho outras duas duvidas.... 1) alguns dos arquivos que estou copiando tem attrib, coloquei uma linha chamando um arquivo .bat que tira o attrib para copia (attrib -a *.*), mas de nada adiantou, tem alguma forma de verificar e tirar estes atrrib antes da copia? 2) Quando a copia começa o windows avisa que preciso de permissão para copiar os arquivos e também que estes arquivos já existem, existe uma maneira em que eu possa transformar isso para mais automático sem a interação do usuário? Desde já agradeço imensamente
  13. Olá boa tarde galera .... Estou trabalhando em um pequeno projeto de sincronização no delphi rad 10.2, para copiar os arquivos estou utilizando o comando PChar, porém tenho três extensões diferente que desejo copiar, mas meu código copia apenas um... não sei mais o que fazer para sanar esta questão. Se alguém puder ajudar, desde já agradeço. Segue abaixo o código que estou utilizando para fazer as copias... FillChar(Dados,SizeOf(Dados), 0); with Dados do begin wFunc := FO_COPY; pFrom := PChar('C:\PASTA_ORIGEM\*.CON'); pFrom := PChar('C:\PASTA_ORIGEM\*.SAC'); pFrom := PChar('C:\PASTA_ORIGEM\*.VIX'); pTo := PChar(Edit1.Text); fFlags:= FOF_ALLOWUNDO; mmoAlterados.Text; END; end; SHFileOperation(Dados); mmoAlterados.Clear;
  14. Boa noite pessoal, Em pesquisa na internet sobre meu dilema que já se leva dois dias, observei varias soluções a qual nenhuma se encaixou em meu dilema. Estou fazendo um pequena sistema em PHP com mysql onde é possível o cadastro do produto com foto. Porem as informações todas estão sendo salvas no banco, menos o nome da foto. Peço a ajuda de vocês pois já revirei e não encontro o erro. Conexão com o banco: <?php // Conexão com o banco de dados $conn = @mysql_connect("localhost", "root", "root") or die ("Problemas na conexão."); $db = @mysql_select_db("gerenciador", $conn) or die ("Problemas na conexão"); ?> <form action="" method="post" enctype="multipart/form-data" name="cadastro" > Descrição:<br /> <input type="text" name="descricao" size="100" /><br /><br /> R$ Valor:<br /> <input type="text" name="valor" size="100"/><br /><br /> Categoria:<br /> <input type="text" name="categoria"size="100" /><br /><br /> Foto de exibição:<br /> <input type="file" name="foto" size="100" /><br /><br /> <input type="submit" name="cadastrar" value="Cadastrar" /> <?php // Se o usuário clicou no botão cadastrar efetua as ações if (isset($_POST['cadastrar'])){ // Recupera os dados dos campos $descricao = $_POST['descricao']; $valor = $_POST['valor']; $categoria = $_POST ['categoria']; $foto = $_FILES["foto"]; $nome_imagem = ""; $error = array(); if(isset($_FILES['foto'])){ $foto = $_FILES['foto']; } // Se a foto estiver sido selecionada if (!empty($_FILES['foto'])) { // Largura máxima em pixels $largura = 150; // Altura máxima em pixels $altura = 180; // Tamanho máximo do arquivo em bytes $tamanho = 1000; // Verifica se o arquivo é uma imagem if(!preg_match("/^image\/(pjpeg|jpeg|png|gif|bmp)$/", $foto["type"])){ $error[1] = "Isso não é uma imagem."; } // Pega as dimensões da imagem $dimensoes = getimagesize($foto["tmp_name"]); // Verifica se a largura da imagem é maior que a largura permitida if($dimensoes[0] > $largura) { $error[2] = "A largura da imagem não deve ultrapassar ".$largura." pixels"; } // Verifica se a altura da imagem é maior que a altura permitida if($dimensoes[1] > $altura) { $error[3] = "Altura da imagem não deve ultrapassar ".$altura." pixels"; } // Verifica se o tamanho da imagem é maior que o tamanho permitido if($foto["size"] > $tamanho) { $error[4] = "A imagem deve ter no máximo ".$tamanho." bytes"; } // Se não houver nenhum erro if (count($error) == 0) { // Pega extensão da imagem preg_match("/.(gif|bmp|png|jpg|jpeg){1}$/i", $foto["name"], $ext); // Gera um nome único para a imagem $nome_imagem = md5(uniqid(time())) . "." . $ext[1]; // Caminho de onde ficará a imagem $caminho_imagem = ".../gerenciador galaxy/Fotos/" . $nome_imagem; $nome_imagem = $nome_imagem; // Faz o upload da imagem para seu respectivo caminho move_uploaded_file($foto["tmp_name"], $caminho_imagem); } if (count($error) != 0) { foreach ($error as $erro) { echo $erro . "<br />"; } } } $result = mysql_query ("INSERT INTO produtos(descricao, valor, categoria, foto)VALUE('$descricao', '$valor', '$categoria', '$nome_imagem')")or die("Erro no query ".mysql_error()); } ?> Desde já agradeço que puder me ajudar!!!!
  15. Boa tarde pessoal, Venho pedir ajuda pois já não sei onde mais procurar ou oque fazer, tudo que acho (inclusive aqui no forum) não funciona para mim . É o seguinte, estou criando um site PHP com banco SQL SERVER, quando uso a conexão OBDC, ele conecta normalmente, o problema é que li e tenho observado que este tipo de conexão é um tanto quanto lenta. Sendo assim resolvi mudar a função de: <? $con = odbc_connect("DRIVER={SQL Server}; SERVER=servidor; DATABASE=bancodedados;", "usuario","senha"); ?> Para <? $con = mssql_connect("servidor", "usuario", "senha"); mssql_select_db("bancodedados",$con); ?> Porém ai que começa meu dilema ele não conecta de jeito algum.... Estou utilizando o servidor local EasyPHP 12.1, o erro apresentado é: Já tentei colocar a dll ntwdblib.dll na pasta PHP do EASY, já coloquei ela na pasta bin do APACHE, já procurei a linha de compatibilidade no ini do PHP (essa não existe no meu ini), Já tentei conectar testando a conexão com o codigo: mssql_connect("servidor", "user", "senha") or die("Não foi possível a conexão com o servidor"); mssql_select_db("banco") or die("Não foi possível selecionar o banco de dados"); mssql_close(); print "Conexão OK";?> Já não sei mais o que fazer, testar ou onde procurar o meu erro, agradeço desde já quem puder me ajudar, abaixo segue codigo completo. <?php $host = "x"; //Servidor $user = "sa"; //Usuario do banco de dados $senha = "x"; //senha do banco de dados $db = "banco"; //banco de dados $nome_site = "site"; //Nome do site $email = "xxxx@xxxx.com.br"; //E-mail do administrador $site = "http://www.site.com.br"; //Seu site n se esuqece de bota o http:// $con = mssql_connect($host,$user,$senha); mssql_select_db($db,$con); ?>
  16. Boa tarde amigo!!! Obrigada sim deu certo, agora baseado nisso que já tenho, queria poder redimencionar (dando tamanhos patrão para todas) e fazer uma galeria com dois botões proxima e anterior. Tem como? apenas com código ? Desde já agradeço
  17. Bom dia Pessoal, Sou novata em PHP e sei muito pouca coisa, e o que sei até agora é resultado de estudos e pesquisas na net! O que preciso fazer é buscar uma imagem em um banco mssql, está imagem foi salva lá através de um sistema DELPHI em binário, já tentei varios códigos, mas nenhum me trouxe algum resultado. Abaixo segue o que tenho usado até agora. Desde já agradeço quem poder me ajudar As imagens no banco estão sendo salvas assim: 0x424D6EA7020000000000360000002800000018010000CF000000010018000000000038A7020000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF Tipo do campo é igual a imagem. Conexão com o banco <?php $con = odbc_connect("DRIVER={SQL Server}; SERVER=Servidor; DATABASE=Nome_banco;", "Usuario","Senha_Banco"); ?> Select <?PHP $SQL = "SELECT * FROM Banco.dbo.Fotos_Produtos"; $res = odbc_exec($con, $SQL); while($RFP = odbc_fetch_array($res)) { echo $RFP['Foto'].''; } ?
  18. Bom dia Pessoal, Sou novata em PHP e sei muito pouca coisa, e o que sei até agora é resultado de estudos e pesquisas na net! O que preciso fazer é buscar uma imagem em um banco mssql, está imagem foi salva lá através de um sistema DELPHI em binário, já tentei varios códigos, mas nenhum me trouce algum resultado. Abaixo segue o que tenho usado até agora. Desde já agradeço quem poder me ajudar As imagens no banco estão sendo salvas assim: 0x424D6EA7020000000000360000002800000018010000CF000000010018000000000038A7020000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFDFFFFFDFFFFFDFFFFFDFFFFFDFFFFFDFFFFFCFEFEFDFDFDFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFEFEFEFFFFFFFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFEFEFEFFFFFFFFFFFFFDFDFDFCFCFCFDFDFDFFFFFFFFFFFFFCFCFCFEFEFEFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFDFDFDFDFDFDF8FAFAFAFCFCFCFEFEFDFFFFFCFEFEFCFEFEFDFFFFFDFFFFFAFAFAFCFCFCFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAFDFDFDFFFFFFFFFFFFFFFFFFFEFEFEFCFCFCFBFBFBFDFDFDFEFEFEFEFEFEFEFEFEFDFDFDFEFEFEFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFCFCFCFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFDFDFDFAFAFAFAFAFAFDFDFDFFFFFFFFFDFDFEFCFCFDFBFBFEFCFCFFFDFDFFFEFEFFFEFEFFFEFEFFFFFFFFFFFFFBF9F9F6F4F4F4F2F2F6F4F4F9F7F7FCFAFAFFFFFFFFFFFFFFFFFFFFFEFEFEFCFCFDFBFBFFFDFDFFFFFFFDFDFDFDFDFDFCFCFCFCFCFCFCFCFCFCFCFCFBFBFBFBFBFBFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFFFEFEFFFDFDFFFDFDFEFCFCFDFBFBFCFAFAFCFAFAFCFAFAFEFCFCFEFCFCFFFDFDFFFEFEFFFDFDFEFCFCFDFBFBFCFAFAFFFEFFFFFEFFFFFDFEFFFAFBF9F4F5EFEAEBE3DEDFDBD6D7CDC8C9C2BDBEB2ADAEA7A2A3A6A1A2B0ABACBEB9BAC9C4C5D6D1D2DFDADBEEE9EAFEF9FAFFFEFFFFFEFFFFFCFDFFFCFDFAFAFAFAFAFAFAFAFAFBFBFBFCFCFCFCFCFCFBFBFBFAFAFAFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFCFCFCFBFBFBFAFAFAF9F9F9F8F8F8F8F8F8FFFEFEFFFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFEFCFCFFFDFDFFFEFEFEFCFCF6F4F4E9E7E7DEDCDCBEB9BAB2ADAE9F9A9B8C87887B76776E696A645F605E595A645F606661626A6566736E6F7F7A7B8E898A9B9697A39E9FA39E9FADA8A9C3BEBFDCD7D8EEE9EAF6F1F2FDF8F9FFFEFFFBFBFBFBFBFBFBFBFBFCFCFCFDFDFDFEFEFEFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F9F9FAFAFAFBFBFBFDFDFDFEFEFEFEFEFEFFFFFFFEFEFEFFFAFBFFFEFFFFFEFFFFFEFFFFFDFEF9F4F5EFEAEBE8E3E4E2DDDED7D2D3C6C1C2B3AEAFA09B9C8B8687777273696465554F504F494A494344484243504A4B5E58596D6768767071898384928C8DA19B9CAEA8A9B6B0B1B7B1B2B4AEAFB1ABACB1ABACABA5A6ABA5A6B4AEAFC0BABBD0CACBE6E0E1F9F3F4FFFFFFFFFFFFFFFFFFFDFDFDFBFBFBFBFBFBFDFDFDFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFBFBF8F8F8F6F6F6ECE7E8E6E1E2D9D4D5C7C2C3AFAAAB969192817C7D757071605A5B5E5859595354565051554F505751525A54555D5758756D6E7C7475888081958D8EA1999AAAA2A3B2AAABB5ADAEB9B1B2B9B1B2BAB2B3BBB3B4BCB4B5BDB5B6BEB6B7BFB7B8C2BABBB9B1B2B2AAABB3ABACB3ABACB5ADAEC0B8B9CDC5C6E9E9E9F1F1F1FAFAFAFEFEFEFCFCFCFAFAFAF9F9F9FAFAFAFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F2F2ECECECE1E1E1D1D1D1BEBEBEABABAB9B9B9B9292927C7778716C6D5F5A5B4E494A454041443F404944454D48495D5758666061736D6E7D7778857F808E8889999394A29C9DACA4A5B1A9AAB7AFB0BAB2B3BBB3B4BBB3B4BCB4B5BDB5B6BAB2B3B9B1B2B8B0B1B8B0B1B9B1B2BBB3B4BDB5B6BFB7B8B4ACADB1A9AAB3ABACB9B1B2B5ADAEABA3A4A8A0A1ADA5A6C1C1C1D3D3D3EBEBEBFCFCFCFFFFFFFFFFFFFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFEFEFEFCFCFCFAFAFAFAFAFAFDFDFDFFFFFFFFFFFFFDFDFDFDFDFDFEFEFEFFFFFFFEFEFEFCFCFCFCFCFCFEFEFEFFFFFFFFFDFDFCFAFAFFFFFFFFFFFFFDFBFBFEFCFCFFFFFFFCFAFAFEF9FAFFFDFEFFFEFFFFFEFFFFFDFEFFFBFCFFFBFCFFFCFDFFFDFEF7F1F2E8E2E3DCD6D7D2CCCDC5BFC0B4AEAFA8A2A38C84847B7373635B5B534B4B4D4545504848524A4A544C4C5E5552645B586E656279706D857C799289869D9491A59C99A49D9AA8A19EAEA5A2B2A9A6B6AAA8B8ACAABBAFADBFB2B0B4ACACB3ABABB2AAAAB4AAAAB5ABABB6AAAAB4A8A8B2A6A6B4ABA8B4ABA8B4ABA8B5ACA9B6ADAAB8AFACBAB1AEBBB2AFB7AEABB1A8A5B3AAA7B4ADAAB4ADAAB6B1AEB8B3B0B3AEABB2A8A8ACA4A4B8B0B1D4CECFF2EDEEFFFDFFFFFEFFFFFEFFFEFCFCFEFCFCFDFDFDFDFDFDFEFEFEFCFEFEFCFEFEFBFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFEFEFEFEFEFEFFFFFFFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFEFCFCFFFDFDFFFEFEFEFCFCFFFFFFFFFFFFFFFFFFFFFEFFFFFAFBF7F2F3EDE8E9E0DBDCD0CBCCBFBABBB4AFB08B8586827C7D746E6F6761625E5859585253554F50534D4E534B4B585050625A5A6E66667B7373857D7D8B83838D85859C9390A29996AAA19EB1A8A5B5ACA9B6ADAAB6ADAAB6ADAAB5AEABB6AFACB6AFACB5ACA9B2A9A6B0A7A4B2A6A4B3A7A5B0A8A8B0A8A8B1A9A9B6ACACBBB1B1BFB5B5C2B6B6C3B7B7C0B4B2C0B4B2C0B4B2C0B4B2C0B4B2C0B4B2C0B4B2C0B4B2B3A7A5B3A7A5B3A7A5B7AEABBCB3B0B3ACA9AFA8A5B7B0ADB3A9A9B9AFAFB6AEAEB0AAABBCB7B8DBD6D8F4F1F3FDFCFEFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFCFEFEFDFFFFFDFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFEFEFEFEFEFEFDFDFDFDFDFDFAFAFAFCFCFCFEFEFEFFFFFFFFFFFFFEFEFEFEFEFEFDFDFDFBFBFBFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFFFDFDFFFFFFFFFFFFFFFEFEFEFCFCFFFEFFFFFAFBFCF7F8F6F1F2EAE5E6DCD7D8CEC9CAC1BCBDA39D9E9A94958D87887F797A716B6C635D5E5650514D47484D4748534D4E5C5657645E5F6C6667756F70807A7B8882839B9393A09898A69E9EAAA2A2ABA3A3ACA4A4ADA5A5AFA7A7B9B0ADB7AEABB3AAA7B1A8A5B0A7A4B1A8A5B2A9A6B2A9A6A9A4A1AAA5A2ABA6A3ADA6A3ADA6A3B0A7A4B2A9A6B3AAA7B3AEADB5ADADB6AEAEB6AEAEB6ACACAFA5A5A99D9DA397979C8D8B9B8C8A998A889586849182808D7E7C8A7B798879777768668A7B79B5A8A6C6B9B7B4A8A6BBAFADC6BAB8B1A8A5B5A9A7B6AAAAB4AAAAB0A8A8ADA7A8B5AFB0C8C3C5D9D4D6F6F1F2FBF9F9FFFFFFFFFFFFFDFDFDFBFBFBFCFEFEFDFFFFFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFCFCFDFBFBFEFCFCFFFDFDFFFEFEFFFEFEFFFEFFFFFDFEFFFCFDFFFDFEFFFCFDFAF5F6ECE7E8E1DCDDCFCAC9BFBAB9A8A3A28F8A89787372645F5E544F4E4944434A42424F4747554D4D5B5353635B5B6D65657870708179798B8383948C8C9F9797A79F9FAAA2A2ACA4A4AEA6A6B0A8A8AFA5A5B2A8A8B5ABABB5ABABB4AAAAB2A8A8B1A7A7B0A6A6B1A7A7AEA4A4AAA0A0A99F9FADA3A3B1A7A7B4AAAAB5ABABB4AFACB5B0ADB4AFACB4ADAAB0A9A6ADA4A1A9A09DA79E9B9A9390948B88887F7C7B726F726664695D5B6356545E514F6B56546B56546B56546B56546C57556D58566F5A586F5A587B6865614E4B7564619A89869988859E8F8CBCADAACCBDBAC1B2B0B8ABA9B7A9AABBAFAFB8AEAEAEA6A7ABA5A6B1ABACCEC9CAE0DBDCF4F2F2FFFFFFFFFFFFFDFDFDFBFBFBFCFCFCFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFEFEFEFCFCFCFBFBFBFAFAFAFBFBFBFBFBFBFFFFFFFDFDFDFCFCFCFBFBFBFBFBFBFDFDFDFFFFFFFFFFFFFFFEFEFDFBFBFCFAFAFFFDFDFFFFFFFFFFFFF9F7F7F1EFEFE7E2E3D9D4D5C4BFC0B1ACADA19C9D918C8D817C7D7772735E5958585352514C4B504B4A585352615C5B6863626C67668981818E8686968E8E9C94949F9797A39B9BA8A0A0ABA3A3ABA3A3ACA4A4AEA6A6AEA6A6AEA6A6ACA4A4ABA3A3ABA3A3ADA3A3ADA3A3AEA4A4B0A6A6B4AAAAB6ACACB7ADADB6ACACBDB3B3BCB2B2BBB1B1B9AFAFB5ABABADA3A3A298989B9191958E8B908784877E7B7F76738074728478768B7E7C8F82808F82809083819487859F908EAB9C9AB9A7A6C3B1B0C8B6B5DAC1BFD7BEBCD2B9B7CDB4B2CAB1AFC8AFADC7AEACC8AFADD8C1BFC2ABA98C7573735E5C8974728C77758F7C79AF9C99C2B0AFC6B4B3C2B3B1B6A8A9B2A6A6B6ACACB6ABADAEA6A7ACA7A8BCB7B8D6D1D2EDEBEBFDFBFBFFFFFFFFFFFFFCFCFCFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAF6F6F6F1ECEDE8E3E4DBD6D7CEC9CABFBABBABA6A7938E8F837E7F6761625E5859534D4E4E4849504A4B5852535E5859625C5D77706D7E777487807D938C89A09996A49D9AA29B98A29B98ADA4A1ABA29FABA29FACA3A0AFA6A3AFA6A3ADA4A1AAA19EA9A09DA89F9CA89F9CAAA19EADA4A1AFA6A3AFA6A3AEA5A2B9ADADB6AAAAB3A7A7B3A7A7B3A7A7B2A6A6AFA3A3ACA0A0A3989A9F9496998E909287898A7F8183787A7C7173786D6F6D605E736664807371978886B1A2A0CEBCBBE3D1D0EEDCDBFDEAE7FEE9E7FDE8E6FCE7E5FBE4E2F5DEDCEFD6D4EAD1CFD5B6B3D2B3B0CEAFACCAABA8C7A8A5C6A7A4C6A7A4C7A8A5D5B8B4F9DEDAE0C5C19F8480886F6B8C736F806A6579635E9F8C89B09D9AC1AFAEC7B5B4C3B3B4BCAEAFB9ADADB9ACAEAFA9AAAEA8A9B2ADAEC3BEBFDBD9D9F3F1F1FFFFFFFFFFFFFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDF9F9F9FBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCF9F9F9FCFCFCF5F5F5EBEBEBDFDFDFD1D1D1BEBEBEAAAAAA9C9C9C7671726E696A635E5F595455534E4F514C4D514C4D514C4D675F606D6566787071847C7D8F8788968E8F9B93949D9596AAA19EB0A7A4B0A7A4B1A8A5B4ABA8AEA5A2A49B98A39A97B6AAA8B2A6A4AEA2A0ADA19FADA19FADA19FAA9E9CA79B99B5ACA9B7AEABB9B0ADB9B0ADB7AEABB4ABA8B1A8A5AEA5A2A59999A59999A498989D9191918585827676766A6A6F6363605557685D5F776C6E8A7F81A09597B6ABADC8BDBFD2C7C9EEDAD9F3DFDEFBE7E6FFEDECFFECEBFAE2E2ECD4D4E3CBCBCCB0AFC5A9A8BA9E9DB19392A78988A08180997A799576759E7B789D7A779D7A779C79769C79769D7A779D7A779D7A778A6B689B7C79BE9F9CBA9D998F726E8166628E736F896E6A7F6866897472A5928FC3AFAECBB9B8BFAFB0B6A8A9B9ABACB6B0B1B1ABACABA5A6AAA5A6B6B1B2CBC9C9E6E4E4F8F6F6FCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFFFFFFFFFFFFFCFCFCF3F3F3E6E6E6D5D5D5C6C6C6BCBCBC9898988B8B8B7979796B6B6B6060605656564B4B4B4343434D4849555051615C5D6C6768767172827D7E8E898A9691929D9596A29A9BA9A1A2ADA5A6ADA5A6ACA4A5ACA4A5ACA4A5A9A09DACA3A0A89F9CA49B98A69D9AA39A979E9592A29996ADA19FB2A6A4B8ACAABAAEACB8ACAAB4A8A6B2A6A4B1A5A3A39A97A39A97A09794978E8B8A817E7F7673786F6C766D6A776B6B7D7171847878897D7D8E8282988C8CA69A9AB0A4A4D0C5C7DCD1D3EDE2E4F9EEF0FBF0F2F6EBEDEDE2E4E8DDDFE3CBCBDAC2C2CDB5B5C1A7A7B39999A58B8B9B7F7F9478788D6E6D8B6C6B8A6B6A8C6A6A8E6C6C936F6F94707094707097716F9872709973719A74729A747298727096706E956F6D94737081605D906F6CA586839F807D997C78997C788E716D7D6664806967846F6D937F7EAD9B9AC1B2B0C4B4B5BAACADADA7A8B5AFB0B8B2B3AFAAABA5A0A1ABA6A7C0BEBED7D5D5FCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFDFDFDFDFDFDFEFEFEFFFFFFFEFEFEFDFDFDFDFDFDFDFDFDFEFEFEFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFDFDFDFFFFFFFFFFFFFDFCFEFEFDFFFFFEFFFFFEFFFFFEFFFEFDFFFDFCFEFDFCFEFFFFFFFEFEFEFCFCFCFDFDFDFEFEFEFEFEFEFEFEFEFDFDFDFFFEFFFFFDFEFFFCFDFEF9FAF7F2F3EBE6E7DCD7D8D2CDCEBFBAB9B1ACAB9C979685807F706B6A5D58574D4847433E3D4B4343514949595151625A5A6C6464797171877F7F9189899994919D9895A29D9AA7A29FA9A4A1A8A3A0A5A09DA39E9BA9A4A1A9A4A1A6A19EA29D9A9D98959D9895A19C99A5A09DAAA19EAAA19EACA3A0B1A8A5B2A9A6AAA19EA9A09DB1A8A5ACA3A0A89F9CA1989599908D9188858C838089807D887F7C78716E6D66635F585558514E605956746D6A8D86839E9794D7C6C3E1D0CDF1E0DDFFEFECFFF6F3FFF6F3FFF0EDFCEBE8FBDFDEF2D6D5E2C6C5CEB2B1B99D9CA68A89997D7C9276758E6C6C8D6B6B8B69698A68688A68688C6A6A8E6C6C906E6E8D6E6D8D6E6D8D6E6D8D6E6D8D6E6D8D6E6D8D6E6D8D6E6D926F6C926F6C926F6C93706D93706D93706D93706D93706D97747193706D94716EA07D7AAF8C89B4918EAA87849F7C799C7B789475728C6F6B7F66627F6964988580B8A8A2C5B5AFBDAFB0BBAFAFB8ACACB4AAAAB6AEAEB6B1B0ADA9A8A39F9ECDC7C8EBE5E6FFFCFDFFFBFCFBF9F9FFFFFFFFFFFFFBFBFBFEFCFCFEFCFCFCFCFCFEFEFEFFFFFFFDFFFFFDFFFFFCFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFBFBFBFBFBFBFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEF8F8F8FAFAFAFDFDFDFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFFFEFFFFFEFFFDFCFEFCFBFDFCFBFDFCFBFDFDFCFEFDFCFEFDFDFDFDFDFDFDFDFDFFFFFFFFFFFFFEFEFEFAFAFAF7F7F7D9D4D5CCC7C8B7B2B39F9A9B8883847570716560615D5859534E4D524D4C534E4D575251605B5A6D68677B7675847F7E8F8787938B8B9991919D9595A09898A29A9AA69E9EAAA2A2ACA5A2ACA5A2ABA4A1AAA3A0A8A19EA69F9CA39C99A29B98A29B98A39C99A69F9CABA4A1AFA8A5B1AAA7B0A9A6AEA7A4AEA2A0B0A4A2A89C9AA39795A195938C807E7A6E6C7F7371685C5A6256545D514F6054526E6260837775978B89A39795BBAFADC4B8B6D4C8C6E5D9D7F3E7E5FAEEECFDF1EFFDF1EFF9E4E2EFDAD8DEC9C7CAB5B3B8A3A1AA9593A18C8A9D88869074738E72718A6E6D866A698367668165648064638064638C6A6A8C6A6A8C6A6A8C6A6A8C6A6A8D6B6B8D6B6B8E6C6C8D6E6D8D6E6D8D6E6D8D6E6D8D6E6D8D6E6D8D6E6D8D6E6D926F6C926F6C926F6C926F6C93706D93706D93706D93706D96737094716E916E6B916E6B987572A3807DAE8B88B69390A5827F9A7976987976977A76876E6A826C67927E79A3908BC1B3B4C3B5B6BFB3B3B7ADADB2AAAAB1ACABB2ADACB0ACABABA5A6C4BEBFE6E0E1FDF8F9FFFEFFFFFDFDFCFAFAFCFAFAFFFFFFFFFDFDFDFBFBFCFCFCFEFEFEFDFFFFFBFDFDF9FBFBFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFEFEFBFBFBFCFCFCFEFEFEFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFFFFFFFFFFFFFEFEFEFBFBFBFBFBFBFDFDFDFEFEFEFFFFFFFBF8FAFBF8FAFDFAFCFFFDFFFFFEFFFFFEFFFFFDFFFCF9FBF1EFEFEBE9E9E0DEDED1CFCFBFBDBDABA9A99997978D8B8B6A6465605A5B534D4E4A44454A4445524C4D5D5758645E5F746C6C7B7373857D7D8D8585938B8B999191A19999A79F9FAAA0A0AAA0A0AAA0A0A99F9FA79D9DA69C9CA59B9BA59B9BA79E9BA59C99A39A97A29996A49B98A89F9CAEA5A2B1A8A5AFA6A3AEA5A2ACA3A0A89F9CA299969B928F938A878E8582857876877A787F72707467656F6260695C5A6457556659577D706E8E817FAB9E9CCDC0BEE9DCDAF9ECEAFEF1EFFDF0EEF3E1E0F4E2E1F5E3E2EFDDDCE0CECDCCBAB9B7A5A4AB9998977B7A917574896D6C8165647E62617F6362836766866A69866A69866A69856968866A69876B6A886C6B8A6E6D8B6F6E8B69698C6A6A8D6B6B8D6B6B8E6C6C8D6B6B8D6B6B8C6A6A8D6E6D8D6E6D8D6E6D8D6E6D8D6E6D8D6E6D8D6E6D8D6E6D926F6C926F6C926F6C926F6C93706D93706D93706D93706D93706D96737096737093706D8F6C6994716EA17E7BAD8A87B99391B18B89A683809A79768F706D8C6F6B896E6A8269659F8D8EAF9FA0C0B0B1C2B4B5BBAFAFB4AAAAB3ABABB5ADADABA3A4B0A8A9BFB9BAD8D2D3EDE8E9F9F4F5FFFDFEFFFFFFFFFCFDFEFCFCFEFCFCFFFDFDFFFFFFFFFFFFFCFEFEF9FBFBFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF Tipo do campo é igual a imagem. Conexão com o banco <?php $con = odbc_connect("DRIVER={SQL Server}; SERVER=Servidor; DATABASE=Nome_banco;", "Usuario","Senha_Banco"); ?> Select <?PHP $SQL = "SELECT * FROM Banco.dbo.Fotos_Produtos"; $res = odbc_exec($con, $SQL); while($RFP = odbc_fetch_array($res)) { echo $RFP['Foto'].''; } ? Para campos do tipo texto o resultado é nomal, agora para a imagem ele aparece assim:
  19. Boa noite caros, Estou montando um PDV-ECF com os códigos fornecidos pela BEMATECH, para impressão do cupom fiscal utilizo o emulador também da Bematech, o cupom esta abrindo normalmente, porém ao inserir os itens ele me retorna a mensagem “PARÂMETRO INVÁLIDO”, esta mensagem aparece apenas e execução, não aparece nenhum outro erro e os itens não são impresso nos cupom. Estou utilizando os seguintes códigos: //**********************ABRE CUPOM*********************************** iRetorno := Bematech_FI_AbreCupom(TXTCPF_CLIENTE.Text); FRMPDV_FISCAL.Analisa_iRetorno(); FRMCONFIG_ECF.Retorno_Impressora (); //************** incluir item ******************************** // Verifica o Tipo da Quantidade: // 'I' para Inteira ou 'F' para Fracionária If FRMCONFIG_ECF.RadioButton1.Checked = True Then Begin sTipoQtde := 'I' End; If FRMCONFIG_ECF.RadioButton2.Checked = True Then Begin sTipoQtde := 'F' End; // Verifica o Tipo de Decimal: // 2 para duas casas ou 3 para três casas If FRMCONFIG_ECF.RadioButton3.Checked = True Then Begin iDecimal := 2 End; If FRMCONFIG_ECF.RadioButton4.Checked = True Then Begin iDecimal := 3 End; // Verifica o Tipo de Desconto: // '%' para percentual ou '$' para valor If FRMCONFIG_ECF.RadioButton5.Checked = True Then Begin sTipoDesconto := '%' End; If FRMCONFIG_ECF.RadioButton6.Checked = True Then Begin sTipoDesconto := '$' End; { iRetorno := Bematech_FI_VendeItem( Pchar('123ABC'), Pchar('Impressora Fiscal'), Pchar('1700'), Pchar('I'), Pchar('0001'), 2, Pchar('85000'), Pchar('%'), Pchar('1000') ); } iRetorno := Bematech_FI_VendeItem( TXTCOD_BARRA.Text, txtdescricao.Text, TXTALICOTA.Text, sTipoQtde, TXTQUANTIDADE.Text, iDecimal, TXTVALOR_UNITARIO.Text, sTipoDesconto, TXTDESCONTO.Text );Analisa_iRetorno();FRMCONFIG_ECF.Retorno_Impressora(); A FUNÇÃO: function Bematech_FI_VendeItem( Codigo: String; Descricao: String; Aliquota: String; TipoQuantidade: String; Quantidade: String; CasasDecimais: Integer; ValorUnitario: String; TipoDesconto: String; Desconto: String): Integer; StdCall; External 'BEMAFI32.DLL'; Já tentei debugar porém sem sucesso, estou presa a este problema a quase dois dias Utilizo delphi 7... Desde já agradeço que puder me ajudar
  20. olá amigos bom dia.... gostaria muito da ajuda de vocês estousando sql server 2005 e delphi 2006 esse código abaixo ta dentro de uma query e ta dando o erro :
  21. anabon

    Fechamento de caixa

    Por favor ... ninguém pode me ajudar? pelo menos de como eu posso somar a venda do dia .... se ajudar estou salvando as vendas assim: como faço para selecionar a data e atualizar o total dia só daquela data? Desde já agradeço quem puder me ajudar
  22. OLÁ, BOA TARDE.... ESTOU COM UMA DUVIDA.. EU QUERIA FAZER UMA TELA DE ABERTURA E OUTRA DE FECHAMENTO DE CAIXA... TENHO 2 TABELAS EM ACESS 2003 ONDE TEM OS CAMPOS: NO VB6 eu fazia com o codigo : no form de abertura eu só salvava os dados, no form de fechamento eu exibia o total da venda do dia: depois fecha o caixa On Error Resume Next Não sei se esse é o modo correto de se fazer, mas nunca me deixou na mão ... enfim... 1° Se esse for o modo correto de fazer como fazer tdo isso em delphi? 2° Se não for como fazer? Agradeceria se alguém tivece um exemplo claro para eu estudar, ou alguém q pudesse me explicar como fazer... desde já agradeço forte abraço!!!!!
  23. Amigos problema resolvido, obrigada O problema é que eu estava tentando somar um campo onde antes de entrar o valor a quem possa ajudar apenas acrescentei antes da soma txtsub_total.text := '0,00' obrigada!!!! Amigos problema resolvido, obrigada O problema é que eu estava tentando somar um campo onde antes de entrar o valor a quem possa ajudar apenas acrescentei antes da soma txtsub_total.text := '0,00' obrigada!!!!
  24. Olá pessoal boa tarde .... Estou com dificuldade enorme com o dgrid é o seguinte: É o seguinte estou contruindo uma tela de venda, para isso estou usando um dbgrid para exibir os dados sa venda para somar a quantidade x o valor unitario, to usando: para dar o total da venda estou usando: mas o problema é que nesse ultimo já tentei de tudo mas da o seguinte erro: Econvert error with messag ''' is not a valid floating point value'.Process stopped tradução: Erro Econvert com Mensags'' 'não é um valor de ponto flutuante válido ". Processo parado Já mudei no banco do tipo CURRENCY para texto e nada já tentei: não sei mais oque tenta... agradeço que puder me ajuda
×
×
  • Criar Novo...