Mar
31

Adobe onAIR Tour Madrid – Parte 2 (Tarde)

O Ricardo Castelhano ficou com os dedos cansados e pediu substituição na tarefa de blogger. Portanto, aqui vai o resumo do que se vai passando durante a tarde.

[13:45] Adobe AIR API Overview (Daniel Dura)

O Daniel Dura está a demonstrar as funcionalidades da API do Adobe Air. Acabou de mostrar o quão simples é criar uma janela normal do sistema operativo (NativeWindow), e definir as suas propriedades. Por exemplo, alterar o chrome.

Explicou que existem vários tipos de NativeWindowType:

  • Normal – janela normal do sistema operativo
  • Lightweight – ideal para usar por exemplo em popups.
  • Utility – ideal para usar por exemplo em paneis dockable, e janelas para complementar a janela “Normal”

Está neste momento a demonstrar a api de File I/O, que obviamente permite a leitura e escrita de dados no disco local. Podemos escrever as nossas próprias janelas de diálogo para interagir com o disco, ou usar as do sistema operativo.

Explicou que existem duas formas de interagir com ficheiros: sincrona e assincrona. Para quem não sabe, a síncrona irá interromper a aplicação enquanto um ficheiro carrega. A assíncrona permite que a aplicação continue a correr como normalmente, e quando o ficheiro termina de carregar é lançado um evento a avisar que o ficheiro está disponível.

Acabou agora de explicar que é possível chamar a janela de dialogo do sistema operativo para “browse” de ficheiros de três diferentes formas:

  • browseForDirectory
  • browseForSave
  • browseForOpen

Está neste momento a mostrar que ao abrir um ficheiro é possível ir buscar praticamente todo o tipo de informação do ficheiro, como por exemplo, a imagem do ícone.

Chegou o momento de demonstrar como fazer ligações SQL a partir do Adobe Air. É realmente muito simples – muito semelhante ao que se faz em PHP.

[Nota: presentes no evento a representar a Adobe, vi o Ryan Stewart, Lee Brimelow, Daniel Dura, Mike Chambers, Enrique Duvos, Serge Jespers, Chris Brichford, Andre Charland, a Sumi Lim e o nosso Paulo Coelho. Também me cruzei com o Carlos Rovira e outros nomes que não me recordo agora]

Estamos agora na API de Drag/Drop e de acesso ao Clipboard. Esta é de longe uma das funcionalidades mais interessantes, visto que não é particularmente fácil criar um sistema de drag&drop multi-plataforma. Está a mostrar uma aplicação que permite arrastar uma “imagem” da aplicação para fora da mesma para outras aplicações no sistema operativo. O Luís da Flag explicou-me que o suporte multi-plataforma é conseguido graças ao facto de que todos os sistemas operativos possuem um clipboard, e foi através disso que foi implementado o suporte de drag&drop.

Chegou a altura de ver o suporte de icones. As aplicações Air recebem ícones no formato PNG, e é possível definir ícones para quase tudo (tray icon, application icon, etc) e em runtime.

O Daniel Dura está neste momento a mostrar como se faz para monitorizar se a aplicação está ligada ou não à Internet. É realmente fácil: basta instanciar um URLMonitor, e adicionar os respectivos eventListeners para escutar as alterações ao estado da ligação.

Outras funcionalidades genéricas são por exemplo: gravar localmente dados encriptados; notificações de dock; e notificações de idle. No blog do Daniel Dura existem/existirão variados exemplos de como usar quase todas as funcionalidades da API do Adobe Air.

[14:30] Data Intensive Enterprise AIR Applications (Enrique Duvos)

Começa a sessão do Enrique Duvos. Em Espanõl… Vai ser um bocado complicado acompanhar esta, mas vamos ver o que se consegue fazer…

O Enrique começa por mostrar o Census feito pelo James Ward, uma aplicação para comparar em termos de performance e largura de banda as diferentes tecnologias/métodos de comunicação com o servidor. Dá obviamente destaque à performance do Flash Remoting, que é de longe a mais eficiente de todas.

Explica que o Flex pode ligar a praticamente qualquer backend, e começa a explicar as vantagens do LCDS – LiveCycle Data Services. Tais como poder “empurrar” dados para os clientes (sim, o servidor toma iniciativa), sincronizar dados entre todos os terminais, etc.

Explica que existe uma solução open-source suportada pela Adobe que possui parte das funcionalidades do LCDS, o BlazeDS. Está a demonstrar uma aplicação “fictícia” que permite que todos os clientes possam ver em real time os dados da bolsa. Sempre que é actualizado o valor de uma acção no servidor, todos os clientes recebem esses dados.

Mostra a versão Air da aplicação, de forma a demonstrar que é possível ter múltiplos clientes tanto web como desktop a consumir mensagens.

[Nota: O Ricardo Castelhano também está a bloggar sobre o evento em real time. ]

O Enrique está agora a demonstrar aplicações que se sincronizam assim que a ligação volta a ficar disponível. Isto é, se tivermos a trabalhar, e a ligação cair, quando a ligação é reposta o data management permite sincronizar os dados sem que se percam. Ou por exemplo, podemos construir uma aplicação que pode correr tanto offline como online usando os mesmos dados. Quando está offline, os dados são gravados localmente. Quando a ligação é reposta, são sincronizados com o servidor (com gestão de conflitos incluída). Chama-se a isto “Offline synchronization using LCDS Data Management”.

Termina a sessão do Enrique. Não consegui acompanhar tudo, mas ficou aqui o principal…

(Ricardo Castelhano here…o PC do João Saleiro está com stresses…falta-lhe o RedBull ! Vamos aguardar para o PC arrefecer um pouco, e o João já voltará ao “live posting”)

[João Saleiro: back to live blogging. Aparentemente o portátil estava excessivamente quente... Uff!!]

A sessão do Chris Brichford já vai quase no fim, e já não consigo perceber bem o que se está a fazer. Basicamente, o tema é:
[15:05] HTML / JavaScript desktop applications on Adobe AIR. (Chris Brichford)


Learn how add desktop functionality to an HTML application running on Adobe AIR on the desktop. Learn about using the drag and drop API, the file system API, and other Adobe AIR APIs from HTML.O Chris está neste momento a mostrar como é possível fazer ligações a um servidor SQL a partir de HTML/Javascript usando a API do Adobe Air.

Começa a sessão seguinte.

[15:35] Using JavaScript Frameworks in AIR Applications (Andre Charland)

O Andre apresenta-se, e apresenta a empresa dele: Nitobi. Explica que trabalham sobretudo com AJAX, e que é uma empresa relativamente pequena. Apesar disso trabalham com empresas com a BMW, Nintendo (e outras que não me lembro do nome, já passou o slide).

Porquê usar AJAX com Air?

  • Reutilização de código
  • Reutilização de skills
  • HTML é realmente bom em algumas coisas
  • Manter alguns padrões de UI
  • O Javascript continua a crescer

As frameworks AJAX compatíveis com AIR:

  • Spry
  • jQuery
  • mochikit
  • nitobi
  • mootools
  • extjs
  • yahoo ui library
  • dojo

São demonstrados alguns exemplos de aplicações AIR feitas com AJAX. Está agora a mostrar um exemplo de um “FishEye Menu” feito em AJAX a correr dentro do AIR. Concorrência ao meu (versão em Flash). A fluídez do menu pareceu-me um bocado “choppy”, mas talvez seja do computador do Andre.

Explica que os clientes muitas vezes exprimem preocupações relativamente à necessidade de se ter que descarregar e instalar um runtime para se instalar uma aplicação, mas que o install badge do Adobe Air vem resolver todos esses problemas, bastando ao utilizador fazer um clique, e o resto é gerido pelo Air.

O Andre falou de algumas experiências pessoais/profissionais com o AJAX e o Adobe Air.

Termina a sessão.
[16:30] AIR Conditioning (Lee Brimelow)


Nesta sessão vão mostradas as funcionalidades da API do Adobe Air usando Flash. É uma sessão direccionada sobretudo aos Flash Designers. A primeira API a apresentar será a Windowing API.

São mais uma vez apresentados os Window Types do Air, Normal, Utility e LightWeight. O Lee explica que a Lightweight window não cria janela nenhuma: somos nós que a temos que desenhar. Relativamente ao “chrome”, existem:

  • System chrome;
  • Custom (opaque);
  • Custom (transparent);

É mostrado o código para criar uma NativeWindow. É extremamente fácil e intuitivo. A classe NativeWindow possui métodos e propriedades como:

  • activate()
  • alwaysInFront=true;
  • close()
  • maximize()
  • minimize()
  • orderInBackOf(otherWin);
  • orderInFrontOf(otherWin);

O Lee explica agora como adicionar essa Window ao nosso Stage. Basta simplesmente definir as propriedades da janela (largura, altura, alinhamento, etc) fazer um addChild ao Stage. Simplicíssimo!

São agora apresentados os eventos:

  • activate
  • deactivate
  • closing
  • close
  • moving
  • move
  • resizing
  • resize
  • display_state_changing
  • display_state_change

O Lee explica que numa aplicação Flash tradicional que corra em Full Screen não é possível ler dados do teclado por motivos de segurança. Com Air é possível contornar isso, visto tratar-se de uma aplicação desktop que o utilizador tem que instalar explicitamente.

Está agora a apresentar uma mini-aplicação que permite criar janelas dinamicamente para mostrar as diferenças entre os tipos de janelas.

Começa a explicar os Native Menu Types que são possíveis de criar no Air:

  • Application menus
  • Window Menus
  • Context Menus
  • Dock and System tray menus
  • Popup menus

O Lee explica que há certos OSes podem não suportar menus. Para verificar isso, pode ser usado uma estrutura condicional if (NativeApplication.supportsMenu).

Entramos outra vez na API de File I/O. Como já se falou muito na File I/O API, o Lee está a passar por cima disso muito rapidamente. É novamente explicado que a API pode ser síncrona e assícrona (ver acima). A API possui ainda algo extremamente útil, um conjunto de métodos que devolve as directorias de sistema independentemente do sistema operativo.

O Lee está agora a falar em Encripted Storage, que permite gravar no local Filesystem dados encriptados, como passwords, e outra informação sensível.

O Lee explica agora como se cria uma base de dados local, como se faz uma ligação e como se acede aos dados.

Surge então a parte de “OS Interaction”. Existe uma propriedade no Air que permite activar o “Launch on Login”, que permite que uma aplicação corra automaticamente quando um utilizador faz login no Windows. É possível também gerir as associações dos ficheiros do sistema operativos.

Outra coisa interessante, é escutar eventos que indicam se o utilizador está ou não a usar a aplicação, nomeadamente detectando se um utilizador está idle ou não. É também possível detectar se o utilizador está a fechar a aplicação, para, por exemplo, gravarmos dados antes que esta feche.

Voltamos à parte da ligação à internet, que permite gerir ligações ocasionalmente ligadas, permitindo detectar tanto o HTTP Status como o estado de uma ligação por sockets.

O Air permite ainda colocar duas aplicações a comunicar entre elas, através do LocalConnection. Para identificar as aplicações é usado o appID.

O Lee diz que é já possível descompilar código Actionscript de aplicações para o Flash 9. Está a mostrar o AOL Music – Top 100 vídeos, uma aplicação AIR muito gira e que uso várias vezes. Pergunto-me o que irá ele fazer… descompilar a aplicação? Ok, e foi mesmo isso. Simplesmente abriu o SWF, e o Sothink SWF Decompiler mostra tudo: imagens, morphs, código, etc. O código não é 100% descompilado, mas sim 95%. Há algumas coisas que não são possíveis recuperar.

Chega a hora da imperial! :P




Mar
31

Adobe onAIR Tour Madrid – Parte 1 (Manhã)

Oraite, o RIAPT está no Adobe onAIR Tour, e a comitiva não se fez rogada…e somos logo 15 (!!)…ah pois é!

Bem, vamos ao que interessa.

As portas abriram as 9h15 e as 10h sem grandes demoras o Enrique Duvós começou a sua palestra sobre o que é o AIR, quais as potencialidades, novidades e o que podemos vir a esperar das novas edições…o João Fernandes já falou numa delas, o AIR para Linux :)

As aplicações AIR que o Enrique mostrou foram muito interessantes, desde o “Google Analytics Reporting” do belga Nicos à aplicação da Disney (esta última com uma “sensação” visual extremamente interessante, pois perdeu-se o “quadrado” das aplicações).

[10:30] Building your first Adobe AIR application with Adobe Flex (Mike Chambers)

Desenvolver AIR com o Flex Builder … começamos por definir as propriedades da nossa aplicação no ficheiro XML: versão, keynotes, aspecto da janela, se a aplicação se mantêm invisível até estar totalmente operacional (o Mike aconselhou esta opção para uma melhor “User Experience”.

E temos a nossa primeiro aplicação AIR do dia – “Hello World”.

Após horas em desenvolvimento, como se distribui a aplicação?

O Mike continua a apresentação a explicar como funciona o AIR Installer, o modo “View Source”, os certificados de segurança (atenção que se o certificado for criado pelo próprio developer, o runtime installer não conseguirá detectar quem é o author e aparecerá “Unkown“) – ou se conhece quem é o autor ou se confia nas “Leis de Murphy” !

Em suma, o Mike menciona “se já és um Flex Developer, então também és um AIR Developer” – do que esperam para começar?

[11:10] Building your first AIR application with HTML and JavaScript (Kevin Hoyt)

Para se fugir um bocado ao Mundo da Flash Platform, o Kevin vem apresentar como se desenvolve uma aplicação AIR com HTML e JavaScript.

Ao se desenvolver em HTML/JavaScript, utiliza-se o browser para se testar se o programa tem bugs ou não…aqui há um problema, não há browser para se testar!!

O Kevin diz que o processo de se criar o installer, instalar, testar, desinstalar, criar o installer, instalar, testar, desinstalar….até se ter o produto final, “it’s not funny at all“.

A extensão para o Dreamweaver permite se testar directamente no AIR sem se correr esse processo todo.

O “Code Hint” para as instruções AIR do JavaScript também é muito interessante:

A apresentação do Kevin continua pela extensão Aptana para o Eclipse. Também muito interessante, pois permite os “users” de Eclipse se manterem no mesmo ambiente de trabalho !

[11:40] Break

[11:55] Leveraging HTML and JavaScript within Adobe AIR (Kevin Hoyt)

Nesta segunda parte o Kevin lança um bom desafio … misturar HTML/JavaScript com Flash/Flex dentro da mesma aplicação AIR.

- através da classe ExternalInterface é possível através do ActionScript executar métodos de JavaScript;

- através do API do AIR para JavaScript, podemos aceder a todos os métodos que estejam dentro do Flash Player

O Kevin irá disponibilizar os slides e mais alguns exemplos no blog pessoal – aqui.

[12:35] Deploying and Updating AIR Applications (Serge Jespers)

“Step1: – Packaging”
“Step2: – Custom made installer’s badge”
“Step3: – Keep it updated”

O Serge está a demonstrar como se podem criar “badges” originais para os “installers” do AIR, e não é que abriu o Photoshop?

Para o “Keep it updated” é que é necessário um pouco de código, mas nada de especial!

Boa apresentação do Serge, com bom humor a terminar a parte da manhã.

[13:00] Lunch

 

 

 




Mar
31

Adobe AIR para Linux

A Adobe acabou de disponibilizar no Labs a primeira versão do AIR runtime para Linux.

Esta é a primeira versão alpha do produto e ainda não dispõe de todas as funcionalidades da versão 1.0.

Abaixo seguem a lista de funcionalidades ainda não disponiveis nesta primeira versão pública.

  • Notificações em runtime/ update em background
  • Intalação pelo Badge
  • Associação de tipos de ficheiros
  • Suporte de icon de System tray icon e menus
  • Aceleração por Hardware
  • Inicialização da aplicação pelo browser
  • Suporte para IPv6
  • Aceleradores de Keyboard
  • Screen API (Suporte para multi-monitores)
  • DRM, Armazenamento local encriptado e Certificados
  • A/V Hardware API
  • Impressão
  • Execução da aplicação no arranque
  • PDF e SWF dentro de HTML

Poderão também encontrar a última versão do Flex Builder para Linux aqui.




Mar
28

Componente LINQ do C# em PHP – PHPLinq

O C# 3.5 contem um componente que permite efectuar pesquisas dentro de várias estruturas de dados, o LINQ.

Um PHP/.NET Developer decidiu criar um package para PHP de modo a reproduzir a simplicidade que com o LINQ se efectuam queries – PHPLinq.

No site do Maarten Balliauw encontram alguns exemplos,

// Create data source
$names = array(”John”, “Peter”, “Joe”, “Patrick”, “Donald”, “Eric”);
// Query
$result = from(’$name’)->in($names)
->where(’$name => strlen($name) < 5′)
->select(’$name’);

 (source: Maarten Balliauw)
e aqui poderão descarregar o package e começar já a evitar os ciclos nos algoritmos de queries.




Mar
26

Menu ao estilo do MacOS

Ontem durante uma das minhas aulas surgiu a necessidade de se desenvolver um menu ao estilo do MacOS. Apesar de não ter perdido muito tempo a aperfeiçoá-lo, o resultado final ficou engraçado, pelo que partilho o código fonte convosco. Antes de mais, o resultado final:

Experimentem a clicar nos ícones. O menu pode ser usado tanto no Flash CS3 como no Flex.

Para usarem o menu nos vossos projectos, basta que:

  1. Coloquem na pasta do vosso projecto o ficheiro MacMenu.as;
  2. Coloquem no stage os ícones que pretendem que façam parte do menu. Tenham o cuidado de centrar as imagens no ponto 0,0 por causa do zoom;
  3. Façam o seguinte código:
var listaDeIcones:Array=[m1, m2, m3, m4, m5, m6];

var menu:MacMenu = new MacMenu(listaDeIcones);

addChild(menu); // Por causa do enterFrame. Preferia evitar esta solução, mas por agora...

Onde m1, m2, m3, etc, são o nome das instâncias dos vossos ícones.

O menu possui três parâmetros de configuração:

  • ratio: define a distância de reacção ao rato. Quanto menor o número, mais próximo precisa o rato de estar para que os ícones reajam. Exemplo: menu.ratio= 130;
  • escala_maxima: define o zoom máximo que os ícones terão. Exemplo: menu.escala_maxima=1.2;
  • escala_minima: define o zoom mínimo que os ícones terão. Exemplo: menu.escala_minima=0.5;

Decidi separar o código de reacção aos cliques retirando-o da classe MacMenu, isto porque podem querer criar as vossas próprias reacções aos cliques. Se no entanto quiserem usar as do exemplo acima (no clique, o ícone fica com um brilho e começa aos saltos), precisarão da classe GlowReactor e da pasta caurina:

  1. Copiar para o vosso projecto a pasta caurina;
  2. Copiar para o vosso projecto o ficheiro GlowReactor.as;
  3. Fazer o seguinte código:
new GlowReactor(listaDeIcones);

Algumas das práticas usadas no exemplo são discutíveis, mas recordem-se que foi feito em meia hora com fins educativos. Ainda assim, espero que vos agrade e seja útil.

O código fonte pode ser descarregado daqui.

advair Yasmin Lee Combivent inhaler phendimetrazine diet pills 758. cozaar side effects; Hydrocodone Bitartrate

doxycycline side effects?

buy anabolic steroids Spiriva letrozole, georgia accutane lawyers! Pepcid georgia accutane lawyers! side effects of prednisolone Lamivudine drugs and alcohol diovan hct Ephedrine In Mexico buy steroids
asacol side effects
Didrex No Prescription Needed Alcohol addiction recovery buy testosterone 788. dallas sleep dentist Voltaren Diclofenac sleep dentistry san francisco "cefuroxime" Side Effects Of Steroids sleep inn dogs and aspirin British Dragon Steroids floxin sleep medications Dangers Of Vicodin buy vicodin in mexico american academy of sleep medicine

Alcohol Withdrawl

sleep learning Alcohol fact sheet natural testosterone supplements 379. Suprax yellow bullet ephedra review? avandia, Olanzapine subutex buy codeine Dutasteride carvedilol buy fioricet Lactase oxycontin withdrawal affects of alcohol Ultram Er lamictal withdrawal dogs and aspirin Phendimetrazine No Prescription history of alcohol! "oxycontin abuse" Buy British Dragon Steroids orlistat side effects alcohol detox program Bontril Sr metformin hcl drug and alcohol abuse Augmentin imitrex vasotec Baclofen Side Effects Combivent inhaler phendimetrazine diet pills 758. cozaar side effects; Buy Phendimetrazine doxycycline side effects? "lysodren" Buy Ritalin Online letrozole, georgia accutane lawyers! Oxycontin Addiction georgia accutane lawyers! side effects of prednisolone Zyprexa Side Effects drugs and alcohol ultram er Celebrex Dosage

buy steroids

miles to go before i sleep Lovastatin Alcohol addiction recovery buy testosterone 788. teens and alcohol 2008 Hyundai Sonata sleep dentistry san francisco "cefuroxime" Alcohol 1.9.5 Crack sleep inn dogs and aspirin Crestor Side Effects floxin diclofenac voltaren intestine, Darvocet buy vicodin in mexico american academy of sleep medicine Periactin sleep learning ponstel!

Sleep Apnea Alternative To Cpap

yellow bullet ephedra review? metformin; Tretinoin Cream
subutex
zelnorm recall Pravachol carvedilol buy fioricet Toddler Wont Sleep oxycontin withdrawal affects of alcohol Nexium Rebate lamictal withdrawal dogs and aspirin Zyrtec history of alcohol! "oxycontin abuse" Lexapro Antidepressant orlistat side effects alcohol detox program Alcohol Abuse Effects metformin hcl drug and alcohol abuse Topamax Weight Loss imitrex alcohol calories Alcohol 120 Download Combivent inhaler phendimetrazine diet pills 758. cozaar side effects; Topamax And Weight Loss doxycycline side effects? "lysodren" Buprenorphine letrozole, georgia accutane lawyers! Coreg Cr georgia accutane lawyers! side effects of prednisolone Micardis drugs and alcohol

ultram er

Side Effects Of Celebrex buy steroids
miles to go before i sleep
Diclofenac Sodium Alcohol addiction recovery buy testosterone 788. dallas sleep dentist Fioricet Addiction sleep dentistry san francisco "cefuroxime" Sleep Country sleep inn dogs and aspirin Hydroxyzine Hcl floxin sleep medications Natural Testosterone buy vicodin in mexico american academy of sleep medicine

Cause Of Low Testosterone

sleep learning Alcohol fact sheet natural testosterone supplements 379. Facts About Alcohol yellow bullet ephedra review? avandia, Allegra De Vita subutex buy codeine Colorado Botox carvedilol buy fioricet Generic Percocet oxycontin withdrawal side effects of topamax Diovan Hct Side Effects lamictal withdrawal dogs and aspirin Zyvox history of alcohol! "oxycontin abuse" Rivotril orlistat side effects alcohol detox program Diovan Hct metformin hcl drug and alcohol abuse Alcohol Prohibition imitrex alcohol calories Alcohol Facts Combivent inhaler phendimetrazine diet pills 758. cozaar side effects; Ephedra P57 doxycycline side effects? "lysodren" Cheapest Sildenafil Citrate letrozole, georgia accutane law suits, Everclear Alcohol georgia accutane lawyers! generic oxycontin Cefadroxil drugs and alcohol ultram er Snorting Hydrocodone buy steroids asacol side effects Arimidex
Alcohol addiction recovery buy testosterone 788.
dallas sleep dentist Aygestin sleep dentistry san francisco "cefuroxime" Blood Alcohol Content sleep inn dogs and aspirin Synthroid floxin diclofenac voltaren intestine, Xenical Scam buy vicodin in mexico american academy of sleep medicine Stages Of Copd sleep learning ponstel! Sleep Sound Machine yellow bullet ephedra review?
avandia,
Eternal Sonata subutex zelnorm recall Cardizem carvedilol order vicodin Symptoms Of Sleep Apnea oxycontin withdrawal affects of alcohol Mobic lamictal withdrawal dogs and aspirin Ephedra Products history of alcohol! "oxycontin abuse" Fioricet Overnight orlistat side effects alcohol detox program Kingdom Hearts Birth By Sleep metformin hcl drug and alcohol abuse Percocet 512 imitrex alcohol calories Fetal Alcohol Syndrom Combivent inhaler phendimetrazine diet pills 758. cozaar side effects; Alcohol Drink Recipes doxycycline side effects? "lysodren" Sleep Fuck letrozole, georgia accutane law suits, Zoloft Side Effects
georgia accutane lawyers!
bd steroids; Alcohol Awareness drugs and alcohol diovan hct Cant Sleep

buy steroids

miles to go before i sleep Levoxyl
Alcohol addiction recovery buy testosterone 788.
dallas sleep dentist Anafranil sleep dentistry san francisco "cefuroxime" Mexican Steroids sleep inn dogs and aspirin Arimidex Side Effects floxin diclofenac voltaren intestine, Sleep Ez buy vicodin in mexico american academy of sleep medicine Easy Way To Buy Hydrocodone Online sleep learning ponstel! Sleep Walking yellow bullet ephedra review? avandia, Computer Sleep subutex buy codeine Doxycycline Hyclate carvedilol buy fioricet Atenolol Side Effects oxycontin withdrawal affects of alcohol Boulder Botox lamictal withdrawal dogs and aspirin Buy Ephedra history of alcohol! "oxycontin abuse" Buy Steroids orlistat side effects alcohol detox program Flomax Side Effects metformin hcl drug and alcohol abuse Lipitor imitrex vasotec Normal Testosterone Levels Combivent inhaler phendimetrazine diet pills 758. amitriptyline side effects Lortab Without Prescription doxycycline side effects? "lysodren" Hydroxyzine Pam letrozole, georgia accutane lawyers! Lotensin georgia accutane lawyers! side effects of prednisolone Fetal Alcohol Syndrome drugs and alcohol ultram er Effects Of Steroids buy steroids asacol side effects Xenical Alcohol addiction recovery buy testosterone 788. teens and alcohol Fosamax For Children sleep dentistry san francisco "cefuroxime"
Georgia Oxycontin Lawyers sleep inn lactase Effexor And Alcohol floxin diclofenac voltaren intestine, Symptoms Vicodin Addiction buy vicodin in mexico american academy of sleep medicine Effects Of Alcohol On The Brain sleep learning

ponstel!

Dilantin Overdose yellow bullet ephedra review? metformin; Didrex Online subutex buy codeine Ezetimibe carvedilol buy fioricet Quetiapine oxycontin withdrawal affects of alcohol Low Testosterone Levels lamictal withdrawal dogs and aspirin Bupropion Sr history of alcohol! "oxycontin abuse" Sleep Inn Hotels orlistat side effects alcohol detox program Generic Prilosec metformin hcl drug and alcohol abuse Effexor Xr Side Effects imitrex alcohol calories Yasmin Birth Control Combivent inhaler phendimetrazine diet pills 758. cozaar side effects; Glipizide doxycycline side effects? "lysodren" Copd Stages letrozole, georgia accutane lawyers! Metoprolol Tartrate georgia accutane lawyers! side effects of prednisolone Isopropyl Alcohol Msds drugs and alcohol ultram er Glucotrol buy steroids asacol side effects Side Effects Of Zelnorm
Alcohol addiction recovery buy testosterone 788.
dallas sleep dentist Acid Folic Women sleep dentistry san francisco "cefuroxime" Botox Side Effects sleep inn dogs and aspirin Flomax floxin diclofenac voltaren intestine, Heparin buy vicodin in mexico american academy of sleep medicine Botox Chicago sleep learning ponstel! Natural Sleep Aid yellow bullet ephedra review?
avandia,
Phendimetrazine Diet Pills subutex zelnorm recall Risperidone carvedilol buy fioricet Lantus Solostar oxycontin withdrawal side effects of topamax Fort Worth Sleep Dentistry lamictal withdrawal dogs and aspirin Griseofulvin history of alcohol! alcohol problems? Alcohol Poisoning orlistat side effects alcohol detox program Motrin metformin hcl drug and alcohol abuse Sleep Remedies imitrex alcohol calories Ciprofloxacin Combivent inhaler phendimetrazine diet pills 758. cozaar side effects; Advair doxycycline side effects? "lysodren" Plavix Side Effects letrozole, georgia accutane lawyers! Low Testosterone Symptoms georgia accutane lawyers! generic oxycontin Yasmin Taylor drugs and alcohol
top