Commit 56a05f68 authored by Xin Pan's avatar Xin Pan
Browse files

Add text summarization model to tensorflow/models.

parent a591478c
package(default_visibility = [":internal"])
licenses(["notice"]) # Apache 2.0
exports_files(["LICENSE"])
package_group(
name = "internal",
packages = [
"//textsum/...",
],
)
py_library(
name = "seq2seq_attention_model",
srcs = ["seq2seq_attention_model.py"],
deps = [
":seq2seq_lib",
],
)
py_library(
name = "seq2seq_lib",
srcs = ["seq2seq_lib.py"],
)
py_binary(
name = "seq2seq_attention",
srcs = ["seq2seq_attention.py"],
deps = [
":batch_reader",
":data",
":seq2seq_attention_decode",
":seq2seq_attention_model",
],
)
py_library(
name = "batch_reader",
srcs = ["batch_reader.py"],
deps = [
":data",
":seq2seq_attention_model",
],
)
py_library(
name = "beam_search",
srcs = ["beam_search.py"],
)
py_library(
name = "seq2seq_attention_decode",
srcs = ["seq2seq_attention_decode.py"],
deps = [
":beam_search",
":data",
],
)
py_library(
name = "data",
srcs = ["data.py"],
)
Sequence-to-Sequence with Attention Model for Text Summarization.
Authors:
Xin Pan (xpan@google.com, github:panyx0718), Peter Liu (peterjliu@google.com)
<b>Introduction</b>
The core model is the traditional seqeuence-to-sequence model with attention.
It is customized (mostly inputs/outputs) for the text summarization task. The
model has been trained on Gigaword dataset and achieved state-of-the-art
results (as of June 2016).
The results described below are based on model trained on multi-gpu and
multi-machine settings. It has been simplified to run on only one machine
for open source purpose.
<b>DataSet</b>
We used the Gigaword dataset described in
https://arxiv.org/pdf/1602.06023.pdf
We cannot provide the dataset due to the license. See ExampleGen in data.py
about the data format. data/data contains a toy example. Also see data/vocab
for example vocabulary format. In <b>How To Run</b> below, users can use toy
data and vocab provided in the data/ directory to run the training by replacing
the data directory flag.
<b>Experiment Result</b>
8000 examples from testset are sampled to generate summaries and rouge score is
calculated for the generated summaries. Here is the best rouge score on
Gigaword dataset:
ROUGE-1 Average_R: 0.38272 (95%-conf.int. 0.37774 - 0.38755)
ROUGE-1 Average_P: 0.50154 (95%-conf.int. 0.49509 - 0.50780)
ROUGE-1 Average_F: 0.42568 (95%-conf.int. 0.42016 - 0.43099)
ROUGE-2 Average_R: 0.20576 (95%-conf.int. 0.20060 - 0.21112)
ROUGE-2 Average_P: 0.27565 (95%-conf.int. 0.26851 - 0.28257)
ROUGE-2 Average_F: 0.23126 (95%-conf.int. 0.22539 - 0.23708)
<b>Configuration:</b>
Following is the configuration for the best trained model on Gigaword:
batch_size: 64
bidirectional encoding layer: 4
article length: first 2 sentences, total words within 120.
summary length: total words within 30.
word embedding size: 128
LSTM hidden units: 256
Sampled softmax: 4096
vocabulary size: Most frequent 200k words from dataset's article and summaries.
<b>How To Run</b>
Pre-requesite:
Install TensorFlow and Bazel.
```shell
# cd to your workspace
# clone the code to your workspace and create empty WORKSPACE file.
# move the data to your workspace. If don't have full dataset yet, copy
# the toy data from the data/ directory from code directory and rename
# the files.
ls -R
.:
data textsum WORKSPACE
./data:
vocab test-0 training-0 training-1 validation-0 ...(omitted)
./textsum:
batch_reader.py beam_search.py BUILD README.md seq2seq_attention_model.py data
data.py seq2seq_attention_decode.py seq2seq_attention.py seq2seq_lib.py
./textsum/data:
data vocab
bazel build -c opt --config=cuda textsum/...
# Run the training.
bazel-bin/textsum/seq2seq_attention \
--mode=train \
--article_key=article \
--abstract_key=abstract \
--data_path=data/training-* \
--vocab_path=data/vocab \
--log_root=textsum/log_root \
--train_dir=textsum/log_root/train
# Run the eval. Try to avoid running on the same matchine as training.
bazel-bin/textsum/seq2seq_attention \
--mode=eval \
--article_key=article \
--abstract_key=abstract \
--data_path=data/validation-* \
--vocab_path=data/vocab \
--log_root=textsum/log_root \
--eval_dir=textsum/log_root/eval
# Run the decode. Run it when the most is mostly converged.
bazel-bin/textsum/seq2seq_attention \
--mode=decode \
--article_key=article \
--abstract_key=abstract \
--data_path=data/test-* \
--vocab_path=data/vocab \
--log_root=textsum/log_root \
--decode_dir=textsum/log_root/decode \
--beam_size=8
```
<b>Examples:</b>
The following are some text summarization examples, including experiments
using dataset other than Gigaword.
article: novell inc. chief executive officer eric schmidt has been named chairman of the internet search-engine company google .
human: novell ceo named google chairman
machine: novell chief executive named to head internet company
======================================
article: gulf newspapers voiced skepticism thursday over whether newly re - elected us president bill clinton could help revive the troubled middle east peace process but saw a glimmer of hope .
human: gulf skeptical about whether clinton will revive peace process
machine: gulf press skeptical over clinton 's prospects for peace process
======================================
article: the european court of justice ( ecj ) recently ruled in lock v british gas trading ltd that eu law requires a worker 's statutory holiday pay to take commission payments into account - it should not be based solely on basic salary . the case is not over yet , but its outcome could potentially be costly for employers with workers who are entitled to commission . mr lock , an energy salesman for british gas , was paid a basic salary and sales commission on a monthly basis . his sales commission made up around 60 % of his remuneration package . when he took two weeks ' annual leave in december 2012 , he was paid his basic salary and also received commission from previous sales that fell due during that period . lock obviously did not generate new sales while he was on holiday , which meant that in the following period he suffered a reduced income through lack of commission . he brought an employment tribunal claim asserting that this amounted to a breach of the working time regulations 1998 .....deleted rest for readability...
abstract: will british gas ecj ruling fuel holiday pay hike ?
decode: eu law requires worker 's statutory holiday pay
======================================
article: the junior all whites have been eliminated from the fifa u - 20 world cup in colombia with results on the final day of pool play confirming their exit . sitting on two points , new zealand needed results in one of the final two groups to go their way to join the last 16 as one of the four best third place teams . but while spain helped the kiwis ' cause with a 5 - 1 thrashing of australia , a 3 - 0 win for ecuador over costa rica saw the south americans climb to second in group c with costa rica 's three points also good enough to progress in third place . that left the junior all whites hopes hanging on the group d encounter between croatia and honduras finishing in a draw . a stalemate - and a place in the knockout stages for new zealand - appeared on the cards until midfielder marvin ceballos netted an 81st minute winner that sent guatemala through to the second round and left the junior all whites packing their bags . new zealand finishes the 24 - nation tournament in 17th place , having claimed their first ever points at this level in just their second appearance at the finals .
abstract: junior all whites exit world cup
decoded: junior all whites eliminated from u- 20 world cup
# Copyright 2016 The TensorFlow Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================
"""Batch reader to seq2seq attention model, with bucketing support."""
from collections import namedtuple
import Queue
from random import shuffle
from threading import Thread
import time
import numpy as np
import tensorflow as tf
import data
ModelInput = namedtuple('ModelInput',
'enc_input dec_input target enc_len dec_len '
'origin_article origin_abstract')
BUCKET_CACHE_BATCH = 100
QUEUE_NUM_BATCH = 100
class Batcher(object):
"""Batch reader with shuffling and bucketing support."""
def __init__(self, data_path, vocab, hps,
article_key, abstract_key, max_article_sentences,
max_abstract_sentences, bucketing=True, truncate_input=False):
"""Batcher constructor.
Args:
data_path: tf.Example filepattern.
vocab: Vocabulary.
hps: Seq2SeqAttention model hyperparameters.
article_key: article feature key in tf.Example.
abstract_key: abstract feature key in tf.Example.
max_article_sentences: Max number of sentences used from article.
max_abstract_sentences: Max number of sentences used from abstract.
bucketing: Whether bucket articles of similar length into the same batch.
truncate_input: Whether to truncate input that is too long. Alternative is
to discard such examples.
"""
self._data_path = data_path
self._vocab = vocab
self._hps = hps
self._article_key = article_key
self._abstract_key = abstract_key
self._max_article_sentences = max_article_sentences
self._max_abstract_sentences = max_abstract_sentences
self._bucketing = bucketing
self._truncate_input = truncate_input
self._input_queue = Queue.Queue(QUEUE_NUM_BATCH * self._hps.batch_size)
self._bucket_input_queue = Queue.Queue(QUEUE_NUM_BATCH)
self._input_threads = []
for _ in xrange(16):
self._input_threads.append(Thread(target=self._FillInputQueue))
self._input_threads[-1].daemon = True
self._input_threads[-1].start()
self._bucketing_threads = []
for _ in xrange(4):
self._bucketing_threads.append(Thread(target=self._FillBucketInputQueue))
self._bucketing_threads[-1].daemon = True
self._bucketing_threads[-1].start()
self._watch_thread = Thread(target=self._WatchThreads)
self._watch_thread.daemon = True
self._watch_thread.start()
def NextBatch(self):
"""Returns a batch of inputs for seq2seq attention model.
Returns:
enc_batch: A batch of encoder inputs [batch_size, hps.enc_timestamps].
dec_batch: A batch of decoder inputs [batch_size, hps.dec_timestamps].
target_batch: A batch of targets [batch_size, hps.dec_timestamps].
enc_input_len: encoder input lengths of the batch.
dec_input_len: decoder input lengths of the batch.
loss_weights: weights for loss function, 1 if not padded, 0 if padded.
origin_articles: original article words.
origin_abstracts: original abstract words.
"""
enc_batch = np.zeros(
(self._hps.batch_size, self._hps.enc_timesteps), dtype=np.int32)
enc_input_lens = np.zeros(
(self._hps.batch_size), dtype=np.int32)
dec_batch = np.zeros(
(self._hps.batch_size, self._hps.dec_timesteps), dtype=np.int32)
dec_output_lens = np.zeros(
(self._hps.batch_size), dtype=np.int32)
target_batch = np.zeros(
(self._hps.batch_size, self._hps.dec_timesteps), dtype=np.int32)
loss_weights = np.zeros(
(self._hps.batch_size, self._hps.dec_timesteps), dtype=np.float32)
origin_articles = ['None'] * self._hps.batch_size
origin_abstracts = ['None'] * self._hps.batch_size
buckets = self._bucket_input_queue.get()
for i in xrange(self._hps.batch_size):
(enc_inputs, dec_inputs, targets, enc_input_len, dec_output_len,
article, abstract) = buckets[i]
origin_articles[i] = article
origin_abstracts[i] = abstract
enc_input_lens[i] = enc_input_len
dec_output_lens[i] = dec_output_len
enc_batch[i, :] = enc_inputs[:]
dec_batch[i, :] = dec_inputs[:]
target_batch[i, :] = targets[:]
for j in xrange(dec_output_len):
loss_weights[i][j] = 1
return (enc_batch, dec_batch, target_batch, enc_input_lens, dec_output_lens,
loss_weights, origin_articles, origin_abstracts)
def _FillInputQueue(self):
"""Fill input queue with ModelInput."""
start_id = self._vocab.WordToId(data.SENTENCE_START)
end_id = self._vocab.WordToId(data.SENTENCE_END)
pad_id = self._vocab.WordToId(data.PAD_TOKEN)
input_gen = self._TextGenerator(data.ExampleGen(self._data_path))
while True:
(article, abstract) = input_gen.next()
article_sentences = [sent.strip() for sent in
data.ToSentences(article, include_token=False)]
abstract_sentences = [sent.strip() for sent in
data.ToSentences(abstract, include_token=False)]
enc_inputs = []
# Use the <s> as the <GO> symbol for decoder inputs.
dec_inputs = [start_id]
# Convert first N sentences to word IDs, stripping existing <s> and </s>.
for i in xrange(min(self._max_article_sentences,
len(article_sentences))):
enc_inputs += data.GetWordIds(article_sentences[i], self._vocab)
for i in xrange(min(self._max_abstract_sentences,
len(abstract_sentences))):
dec_inputs += data.GetWordIds(abstract_sentences[i], self._vocab)
# Filter out too-short input
if (len(enc_inputs) < self._hps.min_input_len or
len(dec_inputs) < self._hps.min_input_len):
tf.logging.warning('Drop an example - too short.\nenc:%d\ndec:%d',
len(enc_inputs), len(dec_inputs))
continue
# If we're not truncating input, throw out too-long input
if not self._truncate_input:
if (len(enc_inputs) > self._hps.enc_timesteps or
len(dec_inputs) > self._hps.dec_timesteps):
tf.logging.warning('Drop an example - too long.\nenc:%d\ndec:%d',
len(enc_inputs), len(dec_inputs))
continue
# If we are truncating input, do so if necessary
else:
if len(enc_inputs) > self._hps.enc_timesteps:
enc_inputs = enc_inputs[:self._hps.enc_timesteps]
if len(dec_inputs) > self._hps.dec_timesteps:
dec_inputs = dec_inputs[:self._hps.dec_timesteps]
# targets is dec_inputs without <s> at beginning, plus </s> at end
targets = dec_inputs[1:]
targets.append(end_id)
# Now len(enc_inputs) should be <= enc_timesteps, and
# len(targets) = len(dec_inputs) should be <= dec_timesteps
enc_input_len = len(enc_inputs)
dec_output_len = len(targets)
# Pad if necessary
while len(enc_inputs) < self._hps.enc_timesteps:
enc_inputs.append(pad_id)
while len(dec_inputs) < self._hps.dec_timesteps:
dec_inputs.append(end_id)
while len(targets) < self._hps.dec_timesteps:
targets.append(end_id)
element = ModelInput(enc_inputs, dec_inputs, targets, enc_input_len,
dec_output_len, ' '.join(article_sentences),
' '.join(abstract_sentences))
self._input_queue.put(element)
def _FillBucketInputQueue(self):
"""Fill bucketed batches into the bucket_input_queue."""
while True:
inputs = []
for _ in xrange(self._hps.batch_size * BUCKET_CACHE_BATCH):
inputs.append(self._input_queue.get())
if self._bucketing:
inputs = sorted(inputs, key=lambda inp: inp.enc_len)
batches = []
for i in xrange(0, len(inputs), self._hps.batch_size):
batches.append(inputs[i:i+self._hps.batch_size])
shuffle(batches)
for b in batches:
self._bucket_input_queue.put(b)
def _WatchThreads(self):
"""Watch the daemon input threads and restart if dead."""
while True:
time.sleep(60)
input_threads = []
for t in self._input_threads:
if t.is_alive():
input_threads.append(t)
else:
tf.logging.error('Found input thread dead.')
new_t = Thread(target=self._FillInputQueue)
input_threads.append(new_t)
input_threads[-1].daemon = True
input_threads[-1].start()
self._input_threads = input_threads
bucketing_threads = []
for t in self._bucketing_threads:
if t.is_alive():
bucketing_threads.append(t)
else:
tf.logging.error('Found bucketing thread dead.')
new_t = Thread(target=self._FillBucketInputQueue)
bucketing_threads.append(new_t)
bucketing_threads[-1].daemon = True
bucketing_threads[-1].start()
self._bucketing_threads = bucketing_threads
def _TextGenerator(self, example_gen):
"""Generates article and abstract text from tf.Example."""
while True:
e = example_gen.next()
try:
article_text = self._GetExFeatureText(e, self._article_key)
abstract_text = self._GetExFeatureText(e, self._abstract_key)
except ValueError:
tf.logging.error('Failed to get article or abstract from example')
continue
yield (article_text, abstract_text)
def _GetExFeatureText(self, ex, key):
"""Extract text for a feature from td.Example.
Args:
ex: tf.Example.
key: key of the feature to be extracted.
Returns:
feature: a feature text extracted.
"""
return ex.features.feature[key].bytes_list.value[0]
# Copyright 2016 The TensorFlow Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================
"""Beam search module.
Beam search takes the top K results from the model, predicts the K results for
each of the previous K result, getting K*K results. Pick the top K results from
K*K results, and start over again until certain number of results are fully
decoded.
"""
import tensorflow as tf
FLAGS = tf.flags.FLAGS
tf.flags.DEFINE_bool('normalize_by_length', True, 'Whether normalize')
class Hypothesis(object):
"""Defines a hypothesis during beam search."""
def __init__(self, tokens, log_prob, state):
"""Hypothesis constructor.
Args:
tokens: start tokens for decoding.
log_prob: log prob of the start tokens, usually 1.
state: decoder initial states.
"""
self.tokens = tokens
self.log_prob = log_prob
self.state = state
def Extend(self, token, log_prob, new_state):
"""Extend the hypothesis with result from latest step.
Args:
token: latest token from decoding.
log_prob: log prob of the latest decoded tokens.
new_state: decoder output state. Fed to the decoder for next step.
Returns:
New Hypothesis with the results from latest step.
"""
return Hypothesis(self.tokens + [token], self.log_prob + log_prob,
new_state)
@property
def latest_token(self):
return self.tokens[-1]
def __str__(self):
return ('Hypothesis(log prob = %.4f, tokens = %s)' % (self.log_prob,
self.tokens))
class BeamSearch(object):
"""Beam search."""
def __init__(self, model, beam_size, start_token, end_token, max_steps):
"""Creates BeamSearch object.
Args:
model: Seq2SeqAttentionModel.
beam_size: int.
start_token: int, id of the token to start decoding with
end_token: int, id of the token that completes an hypothesis
max_steps: int, upper limit on the size of the hypothesis
"""
self._model = model
self._beam_size = beam_size
self._start_token = start_token
self._end_token = end_token
self._max_steps = max_steps
def BeamSearch(self, sess, enc_inputs, enc_seqlen):
"""Performs beam search for decoding.
Args:
sess: tf.Session, session
enc_inputs: ndarray of shape (enc_length, 1), the document ids to encode
enc_seqlen: ndarray of shape (1), the length of the sequnce
Returns:
hyps: list of Hypothesis, the best hypotheses found by beam search,
ordered by score
"""
# Run the encoder and extract the outputs and final state.
enc_top_states, dec_in_state = self._model.encode_top_state(
sess, enc_inputs, enc_seqlen)
# Replicate the initial states K times for the first step.
hyps = [Hypothesis([self._start_token], 0.0, dec_in_state)
] * self._beam_size
results = []
steps = 0
while steps < self._max_steps and len(results) < self._beam_size:
latest_tokens = [h.latest_token for h in hyps]
states = [h.state for h in hyps]
topk_ids, topk_log_probs, new_states = self._model.decode_topk(
sess, latest_tokens, enc_top_states, states)
# Extend each hypothesis.
all_hyps = []
# The first step takes the best K results from first hyps. Following
# steps take the best K results from K*K hyps.
num_beam_source = 1 if steps == 0 else len(hyps)
for i in xrange(num_beam_source):
h, ns = hyps[i], new_states[i]
for j in xrange(self._beam_size*2):
all_hyps.append(h.Extend(topk_ids[i, j], topk_log_probs[i, j], ns))
# Filter and collect any hypotheses that have the end token.
hyps = []
for h in self._BestHyps(all_hyps):
if h.latest_token == self._end_token:
# Pull the hypothesis off the beam if the end token is reached.
results.append(h)
else:
# Otherwise continue to the extend the hypothesis.
hyps.append(h)
if len(hyps) == self._beam_size or len(results) == self._beam_size:
break
steps += 1
if steps == self._max_steps:
results.extend(hyps)
return self._BestHyps(results)
def _BestHyps(self, hyps):
"""Sort the hyps based on log probs and length.
Args:
hyps: A list of hypothesis.
Returns:
hyps: A list of sorted hypothesis in reverse log_prob order.
"""
# This length normalization is only effective for the final results.
if FLAGS.normalize_by_length:
return sorted(hyps, key=lambda h: h.log_prob/len(h.tokens), reverse=True)
else:
return sorted(hyps, key=lambda h: h.log_prob, reverse=True)
# Copyright 2016 The TensorFlow Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================
"""Data batchers for data described in ..//data_prep/README.md."""
import glob
import random
import struct
import sys
from tensorflow.core.example import example_pb2
# Special tokens
PARAGRAPH_START = '<p>'
PARAGRAPH_END = '</p>'
SENTENCE_START = '<s>'
SENTENCE_END = '</s>'
UNKNOWN_TOKEN = '<UNK>'
PAD_TOKEN = '<PAD>'
DOCUMENT_START = '<d>'
DOCUMENT_END = '</d>'
class Vocab(object):
"""Vocabulary class for mapping words and ids."""
def __init__(self, vocab_file, max_size):
self._word_to_id = {}
self._id_to_word = {}
self._count = 0
with open(vocab_file, 'r') as vocab_f:
for line in vocab_f:
pieces = line.split()
if len(pieces) != 2:
sys.stderr.write('Bad line: %s\n' % line)
continue
if pieces[0] in self._word_to_id:
raise ValueError('Duplicated word: %s.' % pieces[0])
self._word_to_id[pieces[0]] = self._count
self._id_to_word[self._count] = pieces[0]
self._count += 1
if self._count > max_size:
raise ValueError('Too many words: >%d.' % max_size)
def WordToId(self, word):
if word not in self._word_to_id:
return self._word_to_id[UNKNOWN_TOKEN]
return self._word_to_id[word]
def IdToWord(self, word_id):
if word_id not in self._id_to_word:
raise ValueError('id not found in vocab: %d.' % word_id)
return self._id_to_word[word_id]
def NumIds(self):
return self._count
def ExampleGen(recordio_path, num_epochs=None):
"""Generates tf.Examples from path of recordio files.
Args:
recordio_path: CNS path to tf.Example recordio
num_epochs: Number of times to go through the data. None means infinite.
Yields:
Deserialized tf.Example.
If there are multiple files specified, they accessed in a random order.
"""
epoch = 0
while True:
if num_epochs is not None and epoch >= num_epochs:
break
filelist = glob.glob(recordio_path)
assert filelist, 'Empty filelist.'
random.shuffle(filelist)
for f in filelist:
reader = open(f, 'rb')
while True:
len_bytes = reader.read(8)
if not len_bytes: break
str_len = struct.unpack('q', len_bytes)[0]
example_str = struct.unpack('%ds' % str_len, reader.read(str_len))[0]
yield example_pb2.Example.FromString(example_str)
epoch += 1
def Pad(ids, pad_id, length):
"""Pad or trim list to len length.
Args:
ids: list of ints to pad
pad_id: what to pad with
length: length to pad or trim to
Returns:
ids trimmed or padded with pad_id
"""
assert pad_id is not None
assert length is not None
if len(ids) < length:
a = [pad_id] * (length - len(ids))
return ids + a
else:
return ids[:length]
def GetWordIds(text, vocab, pad_len=None, pad_id=None):
"""Get ids corresponding to words in text.
Assumes tokens separated by space.
Args:
text: a string
vocab: TextVocabularyFile object
pad_len: int, length to pad to
pad_id: int, word id for pad symbol
Returns:
A list of ints representing word ids.
"""
ids = []
for w in text.split():
i = vocab.WordToId(w)
if i >= 0:
ids.append(i)
else:
ids.append(vocab.WordToId(UNKNOWN_TOKEN))
if pad_len is not None:
return Pad(ids, pad_id, pad_len)
return ids
def Ids2Words(ids_list, vocab):
"""Get words from ids.
Args:
ids_list: list of int32
vocab: TextVocabulary object
Returns:
List of words corresponding to ids.
"""
assert isinstance(ids_list, list), '%s is not a list' % ids_list
return [vocab.IdToWord(i) for i in ids_list]
def SnippetGen(text, start_tok, end_tok, inclusive=True):
"""Generates consecutive snippets between start and end tokens.
Args:
text: a string
start_tok: a string denoting the start of snippets
end_tok: a string denoting the end of snippets
inclusive: Whether include the tokens in the returned snippets.
Yields:
String snippets
"""
cur = 0
while True:
try:
start_p = text.index(start_tok, cur)
end_p = text.index(end_tok, start_p + 1)
cur = end_p + len(end_tok)
if inclusive:
yield text[start_p:cur]
else:
yield text[start_p+len(start_tok):end_p]
except ValueError as e:
raise StopIteration('no more snippets in text: %s' % e)
def GetExFeatureText(ex, key):
return ex.features.feature[key].bytes_list.value[0]
def ToSentences(paragraph, include_token=True):
"""Takes tokens of a paragraph and returns list of sentences.
Args:
paragraph: string, text of paragraph
include_token: Whether include the sentence separation tokens result.
Returns:
List of sentence strings.
"""
s_gen = SnippetGen(paragraph, SENTENCE_START, SENTENCE_END, include_token)
return [s for s in s_gen]
the 135597564
, 121400181
. 98868076
to 58429764
of 56269484
in 49820911
a 49701084
and 49378364
's 23787251
'' 23227828
`` 23116499
that 21577263
for 20998230
said 20858620
on 19106851
## 16627320
is 15661835
was 14607055
with 14265376
he 13755120
it 13588190
<UNK> 12263923
at 12221539
as 11657129
by 11105584
</d> 11090708
<d> 11090708
from 10275933
his 9090323
be 8939486
have 8930288
has 8880930
but 8213981
an 8035012
fourmile 60
zwart 60
post-baby 60
diasporas 60
herzeg-bosna 60
younkers 60
rolfing 60
cyclades 60
lovas 60
super-cheap 60
johnsonglobe.com 60
incarnates 60
candis 60
luzira 60
toyota\/lola\/bridgestone 60
caohc 60
flatbeds 60
pairat 60
stubborness 60
mogaka 60
march-past 60
alaba 60
extravehicular 60
conolly 60
shelford 60
snowblowers 60
excoriation 60
langoliers 60
ayios 60
rsm\/rw## 60
ultralow 60
kassire 60
kirikkale 60
rutaca 60
hardys 60
latigo 60
aggressive-growth 60
shankland 60
tetrault 60
ntf 60
british-u.s. 60
rbk 60
hannagan 60
pro-french 60
macero 60
bahrenburg 60
recanvass 60
hayrunisa 60
educap 60
tuoh 60
x-#-#-#-# 60
cravenly 60
jent 60
britain-farm-animals-disease 60
white-power 60
pongsidhirak 60
fbc-ohiostate 60
euro-arab 60
prds 60
sinkinson 60
baugher 60
fpd 60
sakombi 60
holyhead 60
virusscan 60
niboro 60
cliffsnotes 60
inhibitory 60
nontariff 60
huaraz 60
qera 60
icomos 60
off-handed 60
lumbee 60
kututwa 60
besra 60
ownit 60
out-of-area 60
petrozuata 60
wielinga 60
roecker 60
jeanneret 60
ryukyus 60
chocked 60
syda 60
rearers 60
especialistas 60
stoeltje 60
tag-along 60
pendulums 60
land-hungry 60
male-pattern 60
ogbulafor 60
jemil 60
singlehanded 60
bogaert 60
brawnier 60
picardie 60
patsalides 60
zvimba 60
talamoni 60
aristos 60
reductionist 60
sung-han 60
ebby 60
tcambanisglobe.com 60
well-populated 60
boguinskaia 60
golfen 60
fossmo 60
leches 60
madtv 60
mirzapur 60
dromey 60
makowski 60
bearzot 60
fifth-day 60
togoimi 60
ethopia 60
espoo-based 60
cuppa 60
cristin 60
lambrechts 60
eurosystem 60
november-january 60
home-security 60
vengerov 60
major-market 60
obviates 60
horster 60
three-and-half 60
sinyong 60
cizek 60
issyk-kul 60
granatino 60
ketones 60
jenista 60
mvovo 60
shuttlecocks 60
behounek 60
nonscholarship 60
mutaz 60
hermandad 60
engelmayer 60
mussallam 60
lutein 60
drag-queen 60
independent-film 60
u.s.-asia 60
jiantang 60
pinkins 60
uplifts 60
lifsher 60
gree 60
suit-clad 60
donavan 60
stracke 60
hard-to-read 60
merco 60
clanks 60
asvat 60
kloof 60
marsland 60
caipirinhas 60
army-style 60
benhuri 60
mokotedi 60
toader 60
hanarotelecom 60
guodong 60
cottone 60
dominicis 60
osuntokun 60
planetall 60
ik-rjm 60
serhan 60
delimiting 60
chiaro 60
optimizes 60
kopay 60
adakhan 60
cretz 60
liberato 60
kandie 60
abdur-raheem 60
vodichkova 60
schawlow 60
kulivan 60
tagtop 60
stefanini 60
wcec 60
kabocha 60
okresek 60
martin-in-the-fields 60
lawn-mowing 60
cpds 60
raso 60
ciubuc 60
match-winners 60
eye-pleasing 60
elorriaga 60
marusa 60
ford@globe.com 60
dreger 60
#x#k 60
wsm 60
hocutt 60
macconnell 60
out-of-service 60
deep-fat 60
body-builder 60
streamline.com 60
piatas 60
scolavino 60
technobabble 60
war-ridden 60
much-used 60
colisee 60
itty 60
bhw 60
undersubscribed 60
cargraphics 60
tourist-related 60
fada 60
sibomana 60
shuger 60
megawatt-hours 60
webpad 60
visine 60
rewriteable 60
madore 60
fasanos 60
weinhauer 60
anti-mormon 60
loudmouths 60
broadness 60
quixtar 60
fancy-schmancy 60
gangways 60
aversive 60
clingendael 60
jonathans 60
n#k 60
schwald 60
puxi 60
abrahamic 60
casebook 60
clear-the-air 60
islamised 60
messeria 60
vacation-home 60
pro-tutsi 60
kishkovsky 60
portee 60
awardee 60
batsh 60
latika 60
bristol-meyers 60
collum 60
aprils 60
telephia 60
cloud-shrouded 60
child-abusing 60
hott 60
bacteriophages 60
ghosananda 60
x-original-to 60
aubuchon 60
maldon 60
owei 60
stumper 60
ghanaian-born 60
cincinnatti 60
spelich 60
guoxing 60
regulation-time 60
scotiamcleod 60
tesana 60
seung-youn 60
wen-ko 60
stadt 60
schroeders 60
norin 60
nung 60
bank\/schroder 60
relased 60
ea-lm 60
rubey 60
cfi 60
kavaja 60
bourgault 60
behrakis 60
suraphong 60
homesteader 60
wbur-fm 60
whee 60
afghan-kidnappings 60
rybin 60
near-starvation 60
crippa 60
sanlitun 60
pro-monarchist 60
mortalities 60
anticoagulants 60
unsual 60
kaha 60
kamte 60
harakah 60
scarfe 60
kenoy 60
sendov 60
depasquale 60
maddaloni 60
jointly-funded 60
nokwe 60
liff 60
kickstarter 60
khakpour 60
cribiore 60
husbanded 60
pedauye 60
perrella 60
far-post 60
boruchowitz 60
interational 60
close-to-home 60
sophoan 60
luqa 60
legislator-elect 60
forgy 60
leutar 60
uosukainen 60
mirisch 60
havin 60
scorekeeping 60
englishness 60
philippines-landslide 60
economides 60
etonian 60
randburg 60
aew 60
maillet 60
abogado 60
well-aware 60
stunners 60
laras 60
#-tatiana 60
cicciaro 60
ski-in 60
##-billion-u.s. 60
keteyian 60
first-in-the-south 60
full-rate 60
palepoi 60
self-deluded 60
hiv-infection 60
rios-martinez 60
turbojet 60
yike 60
radmacher 60
stir-crazy 60
bucuane 60
unidentifed 60
richardo 60
zygi 60
spritely 60
vaynerchuk 60
meniere 60
special-ed 60
teenybopper 60
jmckim@globe.com 60
xade 60
danish-owned 60
ikuko 60
#-chris 60
kayapo 60
zeckendorf 60
steamrollers 60
giroir 60
jaidev 60
eraserhead 60
japanese-chinese 60
reprocesses 60
muros 60
must-buy 60
corsiglia 60
yanqui 60
basanez 60
unplayed 60
mimika 60
electric-only 60
scerbatihs 60
hitzig 60
zero-interest-rate 60
populares 60
iphigenia 60
nutricia 60
sape 60
kopec 60
iencsi 60
alvan 60
ho-nyoun 60
mob-style 60
frivolities 60
post-ups 60
percentiles 60
coote 60
sodowsky 60
caglar 60
sahaviriya 60
leggat 60
xueju 60
compagnia 60
zomax 60
inter-school 60
hugeness 60
sleaziness 60
langenhan 60
business-news 60
armenteros 60
cup-clinching 60
yelavich 60
chao-ching 60
salvadori 60
ameronline 60
sex-starved 60
alifereti 60
trosch 60
recombined 60
dwek 60
emission-control 60
pozdniakov 60
shalaan 60
uzelac 60
imzouren 60
obolensk 60
moshen 60
commodified 60
aleady 60
barakaldo 60
tumwesigye 60
greiff 60
walp 60
r-palm 60
julkipli 60
managerless 60
yabucoa 60
zandl 60
self-doubting 60
kherman@statesman.com 60
amol 60
erck 60
nitc 60
hutcheon 60
hornbills 60
all-win 60
heavy-weighted 60
publick 60
b&h 60
kirchler 60
cornella-el 60
seefeldt 60
sasse 60
http://www.nra.org 60
ball-striker 60
fip 60
concentra 60
graywolf 60
debbouze 60
snowfields 60
rabushka 60
well-trimmed 60
sofri 60
jungle-shrouded 60
beynon 60
kotil 60
snarly 60
##-cent-per-gallon 60
then-boss 60
wakeling 60
haft-e-tir 60
majoros 60
guglielminpietro 60
hasnawi 60
plachkov 60
cabarrus 60
consumer-advocacy 60
xinhuanet 60
karakul 60
eight-iron 60
rallis 60
lighthizer 60
vugar 60
eighth-generation 60
unitd 60
x-anthony 60
mwonzora 60
prestart 60
nadkarni 60
phyapon 60
tshuva 60
kakuryu 60
ist###-### 60
golf-ryder 60
delivered-to 60
excelle 60
###.#-yard 60
less-visible 60
elopement 60
khenthong 60
controllability 60
venzuela 60
soutine 60
pongpen 60
xhelili 60
four-homer 60
his-name 60
dunnigan 60
austalia 60
djalma 60
uher 60
yaman 60
kipng 60
debt-related 60
volgyes 60
liposome 60
diamoutene 60
spragg 60
sumahadi 60
lebov 60
blackly 60
mutineering 60
overstocking 60
ryynaenen 60
beraja 60
hoklo 60
uniphoenix 60
cumbal 60
redmayne 60
sesana 60
inu 60
daresay 60
salvinia 60
egoistic 60
nellies 60
deep-frozen 60
labor-relations 60
weegen 60
sino-kenyan 60
cup-winner 60
gimlet-eyed 60
lendus 60
rwisereka 60
hugh-jones 60
shenzhen-listed 60
sunmonu 60
zmago 60
latonya 60
tv\/ji 60
troshin 60
analista 60
hysteric 60
lindsay-hogg 60
marmaro 60
purvey 60
kilovolt 60
val-kill 60
partership 60
prostrating 60
bhairahawa 60
foc 60
lyonpo 60
yeardley 60
detalles 60
camas 60
web-search 60
kosminsky 60
defund 60
cowman 60
al-kebir 60
kasher 60
kapolei 60
fiords 60
brentjens 60
teen-pregnancy 60
qawi 60
orquesta 60
genotyping 60
nonato 60
nssa 60
twyford 60
yuling 60
pearcy 60
sisic 60
defraying 60
eisteddfod 60
benson-pope 60
barflies 60
one-arm 60
unitech 60
wheats 60
mid-town 60
non-tour 60
fiord 60
jnr. 60
bge 60
mixmaster 60
glanton 60
oner 60
tax-return 60
embolisms 60
willse 60
ribon 60
turbodiesel 60
higher-performing 60
cotswold 60
early-summer 60
romasko 60
rulfo 60
moad 60
paradyne 60
##-sided 60
galili 60
nabatean 60
haarlemmermeer 60
reanimated 60
supo 60
varujan 60
demystifies 60
gilgamesh 60
bangabhaban 60
ekin 60
ctl 60
bmv 60
ipolito 60
ovsyannikov 60
archaeologically 60
x-michael 60
hko 60
stollen 60
veloute 60
sung-young 60
hydroplaned 60
coogee 60
tammert 60
stambouli 60
makama 60
kilted 60
tuqan 60
dutch-german 60
mids 60
two-to-four 60
gavan 60
doorstops 60
pazira 60
halifa 60
melwood 60
techonology 60
montecatini 60
throat-clearing 60
avakian 60
hirschbiegel 60
anticonvulsant 60
disadvantaging 60
sieger 60
sealink 60
-##.### 60
rabelo 60
web-mail 60
maulud 60
inchworm 60
tabtabai 60
relata 60
ktt 60
dae-hyun 60
witchdoctor 60
astres 60
yannett 60
fixed-dose 60
cadle 60
tianfu 60
necesitamos 60
slemrod 60
tamil-speaking 60
rsm\/br## 60
preisdent 60
eitzmann 60
akuffo 60
blefary 60
cyclophosphamide 60
aprilla 60
share-the-wealth 60
yagmurdereli 60
maumere 60
embarek 60
monday-thursday 60
ostiglia 60
seree 60
smokefree 60
nerio 60
lactase 60
harbour-felax 60
belue 60
al-jaz 60
tamisuke 60
twahir 60
setian 60
dmp 60
kowske 60
supermercados 60
decalogue 60
outpolls 60
pinballed 60
hezbullah 60
daluwatte 60
nintendogs 60
mediocrities 60
cercelletta 60
lulzim 60
youngstars 60
mavrou 60
gorgonio 60
manie 60
occassionally 60
chikelu 60
mcgettigan 60
sinduhije 60
produjo 60
charvat 60
once-communist 60
good-tasting 60
palexpo 60
izak 60
comedy\/drama 60
brusqueness 60
anky 60
#rd-#th 60
ergasias 60
jaxon 60
miletti 60
wangui 60
heb 60
exurb 60
chalices 60
sentimentalists 60
###-turbine 60
vermeers 60
wipeouts 60
rolff 60
deguardia 60
grosbard 60
zegra 60
kunder 60
street-racing 60
bullington 60
wunderteam 60
non-disabled 60
leese 60
weishan 60
ten-time 60
lactobacillus 60
funkadelic 60
zhengyu 60
state-subsidised 60
existen 60
nakivubo 60
dorinda 60
popularly-elected 60
wmf 60
zrenjanin 60
al-momen 60
cesspools 60
yacub 60
zhuoru 60
zouk 60
tarnower 60
sweet-potato 60
lashonda 60
fcdu 60
tantalus 60
nordling 60
heidrun 60
swigged 60
tramontano 60
spa\/fas 60
invicta 60
fenzl 60
al-najar 60
vinyl-coated 60
stategy 60
enewetak 60
frost-free 60
dstanford 60
elwin 60
kainer 60
yugi 60
cl### 60
petitclerc 60
margriet 60
afterworld 60
sirbu 60
non-tradeable 60
co-signing 60
isiro 60
jelacic 60
tonghai 60
narisetti 60
whisperings 60
pembangunan 60
clatters 60
kalashnikova 60
health-flu-europe 60
cross-license 60
sarees 60
minal 60
retirement-age 60
nitrogen-based 60
sun-yup 60
naief 60
#,###-day 60
rovs 60
konia 60
parasitology 60
riz 60
hankyu 60
ebulliently 60
franzblau 60
apuuli 60
muan 60
ghoulishly 60
six-gun 60
recondite 60
dukker 60
zemmouri 60
yumei 60
http://www.centcom.mil 60
one-night-only 60
kovanda 60
akhundzadeh 60
worcester\/eng 60
missiroli 60
zhenyuan 60
quarterpipe 60
salix 60
petrouchka 60
mini-treaty 60
epicure 60
maintainance 60
day-nighter 60
ghengis 60
pro-hitler 60
hurleys 60
editorialize 60
henle 60
sonson 60
meals-ready-to-eat 60
pratts 60
pisetsky 60
thonglao 60
testings 60
narcisa 60
eight-night 60
noster 60
technology-stock 60
dsquared 60
nain 60
bbn# 60
explosively-formed 60
b.l. 60
zucchero 60
dulay 60
mid-spring 60
ionides 60
prochazkova 60
twinsburg 60
jhollis 60
pre-####s 60
bouyabes 60
safe-conduct 60
drug-resistance 60
payphones 60
yongwei 60
labor-law 60
tualatin 60
ehf 60
hirooka 60
mortgage-bond 60
gaztelu 60
mitidja 60
kondratiev 60
christain 60
http://www.alcoa.com 60
hand-raised 60
shaner 60
medeski 60
scansoft 60
multi-millionaires 60
reder 60
htin 60
paillettes 60
intershop 60
carfagna 60
beyazit 60
annakin 60
scaglione 60
esdi 60
mikie 60
inferiors 60
student-on-student 60
regionalize 60
luff 60
demitasse 60
cal-bred 60
calzado 60
agita 60
balin 60
highest-end 60
sinyani 60
all-industries 60
reuses 60
lagrimas 60
herberts 60
koves 60
sub-surface 60
al-anzi 60
longer-running 60
gallimore 60
pluralities 60
benedetta 60
jiddah-based 60
tomaselli 60
kallestad 60
souheil 60
kanso 60
privett 60
koronka 60
nonmonetary 60
rangsan 60
esztergom 60
zettler 60
land-management 60
indie-film 60
learysptimes.com 60
demokratikong 60
vishakhapatnam 60
rutba 60
pluss 60
africare 60
#.##-acre 60
shabib 60
florins 60
jujiya 60
compaign 60
demant 60
josiane 60
d'andre 60
skagerrak 60
azapo 60
http://www.ladieseuropeantour.com 60
whisperers 60
studdert 60
overindulgent 60
qabazard 60
norcross-based 60
ex-gurkha 60
x-seattle 60
hejiang 60
mcglaughlin 60
preciously 60
geetha 60
gardezi 60
ikuta 60
attaullah 60
hensler 60
tree-shaped 60
subarctic 60
starman 60
hussar 60
verburg 60
tupurkovski 60
jeelani 60
avidan 60
sancha 60
poliakoff 60
room-sized 60
instable 60
pejsek 60
el-falali 60
chachoengsao 60
chinese-produced 60
al-kinani 60
knuth 60
bunner 60
shinholster 60
sabiston 60
dvdirect 60
douroux 60
zebley 60
salicylic 60
etian 60
co-organised 60
osmanagic 60
khotang 60
doswell 60
zfa 60
proscribing 60
bbn-dodgernotes 60
domzale 60
chinguetti 60
joseph-beth 60
stirrer 60
deviatovski 60
wright-designed 60
spin-doctoring 60
un-sudan 60
contratos 60
decimalization 60
murugesu 60
cleeman 60
unbolted 60
delphin 60
twitter.com/gregauman 60
depravation 60
goen 60
meckel 60
kerr\/john 60
nariaki 60
co-ranked 60
double-gold 60
_______ 60
binet 60
perpere 60
mahbuhbullah 60
gendun 60
zilla 60
godowsky 60
lycett 60
ceramist 60
damia 60
oradell 60
karimi-rad 60
kreisler 60
hard-hatted 60
wahpeton 60
christianne 60
vesselin 60
kivumbi 60
life-supporting 60
writing-directing 60
valances 60
chlorinate 60
na-young 60
nuclear-bomb 60
decomissioning 60
payam 60
tuleh 60
innova 60
chih-hao 60
dejohn 60
democratic-farmer-labor 60
lbs. 60
small-school 60
nur-pashi 60
bollaert 60
crookedly 60
talloires 60
kringen 60
dopfer 60
#-#-year 60
defeatists 60
madiot 60
full-member 60
vyachorka 60
haixi 60
sydenham 60
#-emilie 60
acuvue 60
telser 60
cumpston 60
sokhina 60
bancolombia 60
crisis-prone 60
gmhc 60
pbf 60
nisi 60
revolutionizes 60
azzahar 60
money-draining 60
double-bogeying 60
gauvreau 60
chabris 60
leg-break 60
tecbud 60
ginnifer 60
osoria 60
nigeria-unrest 60
turjanzadeh 60
self-affirmation 60
minuto 60
private-property 60
wambui 60
bodao 60
gwalia 60
vladimirs 60
natural-foods 60
prolapsed 60
vdis 60
cullerton 60
egawa 60
aspl 60
windu 60
recession-fighting 60
riss 60
on-land 60
ngap 60
perjure 60
cochaired 60
mpumelelo 60
fixed-wireless 60
poots 60
luneville 60
hands-only 60
bacashihua 60
chancing 60
mazrouei 60
nabiyev 60
mideast-summit 60
baler 60
genii 60
bleustein 60
unmixed 60
phrenology 60
iica 60
shevaun 60
orch 60
zaramba 60
china-latin 60
ujc 60
heeler 60
sparseness 60
percudani 60
islam#uk 60
rbos 60
gb-lak 60
cobbled-together 60
half-owner 60
d'entremont 60
ation 60
translucence 60
luxgen 60
ahhs 60
posibles 60
kulyab 60
stalement 60
anti-car 60
o'crowley 60
austria-crime-incest 60
zuazo 60
sugarbaker 60
rougemont 60
brugmann 60
seidensticker 60
rambla 60
pensonic 60
gimbal 60
naugahyde 60
longneck 60
bumpings 60
puffball 60
selolwane 60
anti-climatic 60
crucibles 60
penetta 60
fatehpur 60
baixada 60
ukrop 60
udoto 60
yulieski 60
chidren 60
karwan 60
zonca 60
rapid-ascent 60
sayle 60
actuator 60
multireligious 60
gotchas 60
torossian 60
bonici 60
fellmeth 60
smatterings 60
glycerol 60
batigol 60
adamany 60
longball 60
duck-and-cover 60
boxford 60
flounce 60
seabeds 60
shui-tsai 60
sreerema 60
wentzville 60
mckeel 60
ecla 60
cheol 60
tosta 60
stayaways 60
qazigund 60
zolkin 60
lyuboslav 60
ka-## 60
bellaart 60
marcovicci 60
dream-come-true 60
winnemucca 60
delbarton 60
filmtec 60
no-drive 60
election-reform 60
escoto 60
###,###-capacity 60
supertyphoon 60
wakaazuma 60
unsurmountable 60
empcar 60
members-in-waiting 60
virola 60
g\/h 60
manch 60
ducker 60
kornilov 60
metsa-botnia 60
moistening 60
coequal 60
acga 60
rupesh 60
wilkinsburg 60
brashest 60
khoramshahi 60
inverter 60
co-offensive 60
oscar-night 60
etymological 60
tranter 60
eckenrode 60
sireta 60
smtp 60
dadey 60
rehak 60
gooneratne 60
jurie 60
amte 60
troyens 60
nametag 60
lops 60
petach 60
soliev 60
#,###-peso 60
re-sentenced 60
berdiyev 60
phang-nga 60
ptuj 60
navickas 60
glassmakers 60
single-ticket 60
holderman 60
stratcom 60
bhartiya 60
portentously 60
horlock 60
##\/#-year-old 60
hertog 60
krissoff 60
pinschers 60
coverlets 60
galaxie 60
barmaids 60
harmetz 60
communist-bloc 60
cavallier 60
relizane 60
stauring 60
kousa 60
#,###-car 60
thobela 60
disavowals 60
bistrong 60
relevent 60
vibert 60
return-path 60
lamagna 60
atthe 60
satrio 60
leebove 60
sallai 60
health-oriented 60
isra 60
bidvest 60
gasperoni 60
crispo 60
gortat 60
garavani 60
torgau 60
ikeyama 60
kocian 60
zhihe 60
catapano 60
taxmen 60
quittner 60
israelson 60
troi 60
toevs 60
germany\/milram 60
odintsov 60
chango 60
latag 60
balcytis 60
antolini 60
xingyi 60
nienaber 60
shiso 60
boskov 60
resource-hungry 60
rouland 60
mpe 60
hindu-christian 60
dodt 60
koenigstein 60
once-rich 60
generator-powered 60
bidemi 60
khi 60
kniazkov 60
taborsky 60
lehya 60
zylstra 60
schosberg 60
emergency-management 60
panne 60
closedown 60
freemason 60
higginbottom 60
erogenous 60
plaatjes 60
solyndra 60
commerciality 60
gorky-# 60
i-opener 60
#.##-carat 60
alispahic 60
porzio 60
cummerbunds 60
gaku 60
borght 60
valicevic 60
icier 60
otwell 60
alighieri 60
milsteins 60
machi 60
one-stop-shop 60
herperger 60
hypergrowth 60
chaffey 60
henare 60
peterbilt 60
sieben 60
escarre 60
cross-disciplinary 60
tahj 60
homestands 60
ellenson 60
perons 60
vanoy 60
hafed 60
mingshan 60
in-migration 60
ivancic 60
dramani 60
asia-middle 60
magoffin 60
hertzfeld 60
####\/### 60
larena 60
njue 60
hela 60
nigerian-registered 60
chraidi 60
saint-jean-de-maurienne 60
onsale 60
taneski 60
blagoj 60
pcij 60
bomb-thrower 60
tai-shan 60
fertel 60
trasvina 60
shtml 60
sakaiminato 60
kilar 60
sifang 60
snorkeled 60
gentian 60
dito 60
transbourse 60
machinga 60
growth-enhancing 60
reclogging 60
#-roque 60
cmf 60
putaway 60
klinge 60
pitching-rich 59
alights 59
#-mariano 59
shatz 59
koskoff 59
sesssion 59
dowthitt 59
kriens 59
revering 59
nanhu 59
menduh 59
issers 59
gabali 59
aristolochia 59
magrino 59
sb# 59
piledriver 59
skywalks 59
czapiewski 59
centerstage 59
blandest 59
prescriptives 59
heartlessly 59
vitalia 59
anchorages 59
http://www.nrlc.org 59
pittston 59
high-payroll 59
makahs 59
shobokshi 59
bandwagons 59
krivenik 59
gamey 59
year-plus 59
##-billion-yen 59
antwun 59
haniel 59
longer-lived 59
saheli 59
minutewomen 59
gray-and-white 59
afran 59
dysphonia 59
anau 59
flemmons 59
kabushenga 59
anti-france 59
simecek 59
greenwalt 59
wavelet 59
zarai 59
schweickart 59
iicd 59
trupin 59
nuez 59
tobiass 59
outofthebox 59
o'scannlain 59
haqq 59
wrcf##a 59
holberton 59
germplasm 59
halide 59
wine-colored 59
authories 59
harpal 59
high-emission 59
kombu 59
cde 59
horakova 59
kinderhook 59
ocksman 59
ayd 59
ubdina 59
subhan 59
moistness 59
kampmeier 59
turyk-wawrynowicz 59
kawachi 59
northerns 59
mangga 59
adv##-cox 59
bukvich 59
budhi 59
d-word 59
phap 59
glimmerings 59
recondition 59
stuhlbarg 59
obfuscated 59
collingswood 59
thiew 59
varberg 59
california-grown 59
akbank 59
#.#-feet 59
esmie 59
amanya 59
re-filed 59
bonani 59
bednarz 59
economatica 59
tuf 59
water-recycling 59
athanasia 59
jennekvist 59
huidong 59
issues-oriented 59
woong-bae 59
kochis 59
air-dried 59
brunken 59
http://www.enron.com 59
handgrenades 59
deaf-mutes 59
esops 59
darulaman 59
chanachai 59
aponavicius 59
upper-hand 59
baszczynski 59
culley 59
ncaer 59
calcagni 59
bolarinwa 59
brumos 59
velha 59
lathem 59
sadoff 59
volumen 59
pm-elect 59
town-house 59
backpacked 59
##-yarders 59
borrelia 59
agostinelli 59
rundles 59
sentir 59
asjylyn 59
chimalapas 59
tetherow 59
kinan 59
tegan 59
gjenero 59
dl-hla 59
estigarribia 59
once-moribund 59
biersack 59
khitan 59
koury 59
cricket-ind-aus 59
http://blogs.timesunion.com/mcguire 59
muzahim 59
woul 59
sck 59
dongzhimen 59
fanciulla 59
arianne 59
koszics 59
meadwestvaco 59
staveley 59
timb 59
levs 59
super-spy 59
yaish 59
araz 59
tabman 59
basanti 59
peace-enforcement 59
cesaria 59
neopolitan 59
mispronunciations 59
counter-cyclical 59
disarmement 59
chavhanga 59
gayler 59
mercedez-benz 59
recollects 59
rundall 59
chen-chung 59
malusa 59
gereida 59
decha 59
lemberger 59
bakoyiannis 59
gogi 59
grinda 59
jimson 59
bradberry 59
mervat 59
bvg 59
jingzhong 59
endel 59
allers 59
zuoyun 59
loevinger 59
zntb 59
mirnawan 59
igniter 59
x-shaped 59
carlsson-paige 59
cobia 59
veillette 59
weed-killer 59
larbaa 59
prn 59
victorinox 59
household-name 59
##-dnp 59
xiangning 59
minasian 59
frappe 59
ozone-friendly 59
smita 59
non-biological 59
syllabuses 59
twe 59
northwick 59
ivashkevich 59
un-proposed 59
muharrem 59
calorie-free 59
kolwezi 59
barbados-born 59
eu-serbia 59
lish 59
polyak 59
http://www.nifc.gov/ 59
kenro 59
iran-unrest 59
cothran 59
basak 59
beezer 59
three-strike 59
wilkomirski 59
coovadia 59
serreqi 59
bythe 59
noncompetition 59
post-columbine 59
minnix 59
mickell 59
spyro 59
boire 59
topcu 59
boureij 59
fengyang 59
suntrajarn 59
etre 59
tarsy 59
decors 59
yerger 59
non-internet 59
stuntz 59
lazer 59
cahaba 59
sabtu 59
mut 59
fadden 59
eckstine 59
wawrzyniak 59
hip-swiveling 59
plateaux 59
shih-fang 59
varah 59
schwertner 59
malfi 59
scheeren 59
rousselot 59
bircher 59
goldsberry 59
charteau 59
sullenness 59
omoro 59
alipov 59
tax-cutter 59
gayer 59
cortinovis 59
kettleman 59
remodeler 59
hard-punching 59
magomedali 59
telesleuth 59
smajlovic 59
nkem 59
sea-green 59
morobe 59
nodia 59
biss 59
dawan 59
abolfazl 59
alberton 59
faial 59
picardi 59
muchall 59
no-change 59
enfranchisement 59
kijevo 59
salpigidis 59
imjingak 59
anfrel 59
mubarek 59
chudy 59
broadway-notes 59
near-miraculous 59
lefse 59
cacace 59
coffield 59
out-of-hand 59
nuhanovic 59
chelule 59
jumagulov 59
elasticized 59
non-existing 59
sperl 59
junri 59
manders 59
substructure 59
cahaya 59
segamat 59
kharas 59
dds 59
snitched 59
monforts 59
marantha 59
green-blue 59
sukawaty 59
troutt 59
asics-cga 59
part-ownership 59
oline 59
leanna 59
merl 59
rockhopper 59
shakiba 59
parlez-vous 59
costilla 59
industry.net 59
logvinenko 59
kaforey 59
finnish-born 59
error-plagued 59
rodnina 59
steel-mesh 59
thrushes 59
nesvig 59
arcapita 59
wellstream 59
naushad 59
enad 59
marxist-leninists 59
optimising 59
jl-bg 59
pecina 59
calamine 59
brinner 59
keion 59
hatra 59
sobota 59
fifita 59
akayeva 59
#-million-acre 59
##-marcelo 59
curto 59
battallion 59
socko 59
parviainen 59
all-southeastern 59
ekland 59
chinotimba 59
escamillo 59
wartelle 59
barely-there 59
bookbuilding 59
brightly-lit 59
kopeck 59
pno 59
pelvises 59
scuffs 59
terminix 59
snow\/cloudy 59
perraud 59
introversion 59
thielemans 59
ayalew 59
sardo 59
debunkers 59
snow-topped 59
inuktitut 59
straberg 59
keech 59
voter-id 59
leoncavallo 59
harmes 59
clay.robison@chron.com 59
sujeeva 59
image-maker 59
leet 59
wister 59
four-tournament 59
two-games-to-none 59
consuela 59
prokhorova 59
okin 59
cholakis 59
policharki 59
golf-ball 59
bischof 59
languorously 59
bracanov 59
joellen 59
coryo 59
party-hopping 59
hangchow 59
th# 59
loetschberg 59
yuxia 59
anthrax-related 59
radio-ready 59
fethiye 59
shak 59
current-generation 59
grotowski 59
pakorn 59
garonne 59
mknobler@ajc.com 59
buryak 59
green-minded 59
barril 59
yamaki 59
macheyo 59
work\/life 59
fessler 59
rheingau 59
wahdan 59
hugel 59
conoley 59
hellcat 59
poydras 59
kazoos 59
gollogly 59
discoursing 59
pungue 59
twilson 59
aivars 59
torrelavega 59
assadollah 59
ornskoldsvik 59
syaifudin 59
doshisha 59
difazio 59
portioned 59
esap 59
pop\/contemporary 59
#the 59
belluscio 59
afficionados 59
shargin 59
caulks 59
barnesville 59
al-mahmud 59
topalli 59
avowal 59
skil 59
jeschke 59
pieke 59
p&j 59
matillano 59
soft-loan 59
soon-to-be-former 59
pittle 59
transposing 59
parmelee 59
fessel 59
obudu 59
island-republic 59
coutry 59
golpe 59
vakhayev 59
vllaznia 59
karzai-appointed 59
invs 59
post-abortion 59
chianwala 59
ennoble 59
neradko 59
pujobroto 59
chikowi 59
ansah 59
litang 59
palaghiaccio 59
euroepan 59
y-net 59
cnpp 59
steroid-distribution 59
maulawi 59
grandison 59
kamungozi 59
tonneau 59
torchings 59
four-candidate 59
pallium 59
kljajevic 59
#.##-liter 59
buy-to-let 59
fanzhi 59
sunanda 59
taymour 59
remanufactured 59
schopenhauer 59
anti-syrians 59
anti-affirmative-action 59
petrochemia 59
kptc 59
lobohombo 59
mongomo 59
janss 59
sabharwal 59
landholding 59
##-per-month 59
aftertax 59
sardjoe 59
placings\/standings 59
garrec 59
johnson-freese 59
yablonsky 59
stojkov 59
wenzao 59
water-conservation 59
lawner 59
front-loader 59
anaheim-based 59
doulos 59
dimapur 59
vashchuk 59
yorked 59
mewar 59
five-pointer 59
warrell 59
ndiwa 59
shrage 59
poblanos 59
black-run 59
auslese 59
banducci 59
carless 59
suhardjono 59
extroverts 59
bavarian-style 59
calorie-laden 59
sportbild 59
robo-signers 59
bucchi 59
bourne\/victor 59
oesterle 59
renda 59
mortgage-market 59
hasibul 59
bohren 59
human-computer 59
half-moons 59
al-kadhimi 59
reguera 59
achike 59
schnee 59
atje 59
esp\/eus 59
lamplight 59
solimoes 59
loua 59
elkan 59
vitamin-enriched 59
deskovic 59
burgmans 59
miaa 59
ascorbic 59
spain\/festina 59
#-##-### 59
agro-industries 59
negociaciones 59
skirt-chasing 59
gph##bb 59
minister-counselor 59
penhall 59
hat-in-hand 59
autograph-seeking 59
temodar 59
othmani 59
calida 59
panichgul 59
blameworthy 59
burkitt 59
foppert 59
optionsxpress 59
r-salem 59
onassio 59
teruyuki 59
calstart 59
fitzcarraldo 59
tetrazzini 59
bohme 59
carinii 59
devilliers 59
artemyev 59
bozkurt 59
pacificor 59
komisar 59
weijun 59
zehri 59
challe 59
kingi 59
zurcher 59
svansicklersptimes.com 59
ziso 59
personal-foul 59
myanmar-language 59
italian-french 59
yung-ping 59
sadbhawana 59
waywardness 59
lockard 59
monib 59
controlee 59
maroga 59
public-listed 59
embrey 59
ched 59
five-power 59
saynudin 59
qasemi 59
nuzum 59
microdrive 59
re-investigation 59
conflicto 59
dasanayake 59
xynthia 59
wormholes 59
baoming 59
rappleyea 59
ecotech 59
pre-oscars 59
minx 59
yator 59
jobbed 59
peccadillos 59
societa 59
sadriya 59
wackness 59
a.b 59
dychtwald 59
libancell 59
two-hundred 59
egs 59
contrada 59
interferring 59
shajiao 59
zeidane 59
tengger 59
srinagar-muzaffarabad 59
kurosaki 59
yidong 59
nchito 59
abdille 59
tid 59
raw-vid###### 59
ski-world 59
blockings 59
gedeck 59
localhost 59
dooky 59
khafagy 59
coppock 59
non-gay 59
simec 59
#,###-yuan 59
dementias 59
galatioto 59
titter 59
nagyvary 59
ayahuasca 59
gordon-conwell 59
alberto-culver 59
houtan 59
waspish 59
unimaginatively 59
dead-serious 59
controvery 59
ingels 59
maxton 59
forefingers 59
ibata 59
ticknor 59
lazne 59
gidel 59
blache 59
schormann 59
drop-by 59
nationalbank 59
shuanghe 59
freetel 59
###-###-#-###-#### 59
averitt 59
anti-earthquake 59
macefield 59
trali 59
witbooi 59
patru 59
unhappiest 59
pervomaysk 59
realy 59
applera 59
est\/a#r 59
utada 59
oil-trading 59
al-sammarai 59
muria 59
trapasso 59
diefenderfer 59
movie-quality 59
maslova 59
gedz 59
bright-yellow 59
al-fahal 59
razziq 59
corbelli 59
decanted 59
black-and-silver 59
cubanos 59
towelettes 59
http://www.weforum.org 59
iia 59
sirba 59
cads 59
kapetanos 59
disses 59
ltc 59
debbasch 59
ft.com 59
graito 59
staletovich 59
debreu 59
merisant 59
near-collisions 59
lokuge 59
software-maker 59
stephanus 59
duba 59
novik 59
mayombo 59
salvato 59
mets-yankees 59
oskars 59
titmice 59
nikolovski 59
deanda 59
restrictionist 59
khadduri 59
onterrio 59
thodey 59
perroud 59
foping 59
agboville 59
isin 59
wednesday-thursday 59
ohmori 59
jong-chan 59
acocella 59
buggery 59
houphouet 59
sanofi-pasteur 59
xxxxxxxxend 59
ohel 59
suburbanized 59
tekeda 59
well-proportioned 59
counter-punch 59
selyem 59
dawlat 59
egas 59
three-punch 59
fouke 59
gas-to-liquids 59
edan 59
hollopeter 59
hintsa 59
addenbrooke 59
mountaga 59
zogu 59
bxe# 59
bushinsky 59
martinage 59
kaufer 59
pingeon 59
mazahir 59
shao-haei 59
briner 59
nemea 59
york-headquartered 59
anytown 59
kleptocratic 59
non-supervisory 59
aix-les-bains 59
conocer 59
heit 59
reinhilt 59
clear-cuts 59
atong 59
haefner 59
al-taweel 59
sholokhov 59
nezavisne 59
kamoga 59
monsalve 59
zanussi 59
kaller 59
fidal 59
moloi 59
neck-to-ankle 59
shirvani 59
non-saudis 59
kharg 59
c-murder 59
fingernail-sized 59
gjomle 59
piccioli 59
theater-in-the-round 59
honnold 59
shingirai 59
vending-machine 59
mini-applications 59
krusty 59
e-services 59
adressing 59
taht 59
zacharatos 59
coupler 59
aparri 59
edenton 59
dicke 59
one-###th 59
flamme 59
gladiolas 59
mcnee 59
carnero 59
www.caiso.com 59
grabar-kitarovic 59
felsen 59
memes 59
reinjected 59
edwar 59
favier 59
yokomine 59
slamed 59
poll-watchers 59
azizulhasni 59
gracin 59
tank-automotive 59
halvari 59
gloversville 59
aleksejs 59
louisianan 59
clerkships 59
sharapov 59
ill-chosen 59
clerestory 59
nasa-funded 59
minella 59
karnaugh 59
phoned-in 59
taibe 59
schondelmeyer 59
d'arby 59
u.s-china 59
one-hitters 59
chephren 59
caru 59
bachleda 59
nategh-nuri 59
gaitley 59
kiecolt-glaser 59
watmore 59
orangeman 59
arch-villain 59
http://www.amd.com 59
powderject 59
toker 59
stubbled 59
ohnishi 59
requesters 59
helicoptering 59
tahoes 59
morong 59
rahmonov 59
ledanois 59
borodulina 59
springmann 59
keynotes 59
saith 59
pallidotomy 59
lusso 59
shabaa 59
byrdak 59
vance-owen 59
ibertsberger 59
massih 59
artyukhov 59
lip-synch 59
benziman 59
schaer 59
yormark 59
zuanazzi 59
dejohnette 59
maternally 59
gyurkovics 59
haleiwa 59
unprecented 59
totus 59
dshir 59
yeakel 59
lavecchia 59
turbo-generators 59
sanoma 59
simiyu 59
hmnzs 59
sabagh 59
decoratifs 59
lehder 59
suryo 59
samaraneftegaz 59
kingfishers 59
quasi-socialist 59
jurnee 59
fischbein 59
maotai 59
turgot 59
karimirad 59
osnes 59
margarian 59
krul 59
raho 59
bibring 59
shaktoolik 59
wendler 59
baim 59
hellwig 59
sugarcane-based 59
al-shaar 59
suomi 59
guittard 59
amirov 59
chafer 59
reconnoitering 59
re-forming 59
thweatt 59
tax-writers 59
oladapo 59
sidelocks 59
bedaux 59
aravind 59
fruit-growing 59
koror 59
light-year 59
adat 59
utm 59
keenans 59
grecia 59
palestinian-jordanian 59
pro-choicers 59
liuhua 59
sujit 59
milchan 59
weather-philippines-typhoon 59
additonal 59
leukemias 59
http://www.continental.com 59
parrothead 59
afghanistan-unrest-taliban 59
re-submitted 59
cup-champion 59
jitloff 59
gungoren 59
al-shall 59
photochemical 59
grandee 59
chi-chao 59
cash-raising 59
nanri 59
pro-prosecution 59
maicosuel 59
plourde 59
tarell 59
laquidara 59
harkonen 59
microdermabrasion 59
shootarounds 59
cryopreservation 59
cockfield 59
yb\/jh 59
phromphan 59
maxa 59
flatliners 59
extranjera 59
calaio 59
tjh-rjm 59
post-performance 59
apriantono 59
rawn 59
humadi 59
lupsha 59
bikita 59
road-rail 59
mantes-la-jolie 59
jianyang 59
shaweesh 59
migliaro 59
larrikin 59
muju 59
delahunty 59
no\/okla 59
gracen 59
penalty-filled 59
kitui 59
ernsting-krienke 59
retela 59
ntust 59
cordel 59
verkhovsky 59
hatha 59
meat-eater 59
musker 59
less-publicized 59
cityu 59
tla 59
fancying 59
pankin 59
simasiku 59
spinaway 59
hedija 59
mersenne 59
dunshee 59
dalipi 59
ducale 59
bruene 59
army-owned 59
greatorex 59
karsiyaka 59
martinu 59
shamala 59
brimfield 59
atlantics 59
utuado 59
conneally 59
hye-youn 59
sharpstown 59
signore 59
atlanta-journal 59
negoesco 59
plotnikov 59
linscott 59
despereaux 59
ligang 59
survivals 59
okolski 59
fang-yue 59
distrigaz 59
borana 59
conable 59
sorest 59
rompers 59
batubara 59
kencell 59
ibi 59
tin-plated 59
shlain 59
soybean-based 59
tallberg 59
fibras 59
selda 59
inter-dependence 59
chunkier 59
college-jewish 59
chiune 59
bredahl 59
half-starved 59
dymchenko 59
suspectedly 59
dimitrakos 59
jf-## 59
dury 59
mcgivney 59
cakl 59
###-storey 59
kishor 59
vionnet 59
torlen 59
cciced 59
car-bombs 59
momsen 59
coach-class 59
badmouthed 59
liebermans 59
smain 59
sun-loving 59
squeaky-voiced 59
three-pack 59
primex 59
remixer 59
well-articulated 59
run-first 59
secret-agent 59
wismar 59
pendulous 59
agro-technicians 59
supercedes 59
concepto 59
back-to-the-land 59
shamoon 59
isnt 59
vergina 59
kolesar 59
delpierre 59
volchkov 59
baixa 59
pentacostal 59
mpca 59
rwindi 59
technimetrics 59
beijing-hangzhou 59
dapa 59
divisionism 59
burcham 59
bean-counters 59
serravalle 59
agni-ii 59
texana 59
two-masted 59
yumen 59
man-of-war 59
well-nourished 59
ktvu 59
brialy 59
vlashi 59
palanggoon 59
essi 59
dreamlife 59
culbreath 59
gosingan 59
tejinder 59
million-to-one 59
ferozabad 59
movsisyan 59
birdie-eagle 59
taeb 59
biomolecules 59
cynara 59
mogas 59
halbrook 59
finstrom 59
upmc 59
activist-journalist 59
state-guided 59
scitrek 59
newyork 59
rosenbauer 59
braker 59
bds 59
chain-smokes 59
divyang 59
cinemania 59
norwegian-based 59
bowlegged 59
tosoh 59
isbin 59
stamatis 59
###zx 59
stroem-erichsen 59
re-organized 59
moughniyah 59
mulpuru 59
naeringsliv 59
zitko 59
caudillos 59
t-systems 59
al-shayea 59
awesomeness 59
cityvote 59
desanctis 59
luckenbill 59
www.tsa.gov 59
quatrano 59
tetuan 59
seven-million-dollar 59
bienville 59
abou-treika 59
akutagawa 59
lasn 59
ouseph 59
brand-conscious 59
ultra-cool 59
supporting-acting 59
vivar 59
afanasyeva 59
raes 59
faliron 59
soru 59
jobski 59
dodonnell@nycap.rr.com 59
scadden 59
arditi 59
doornekamp 59
nexabit 59
livetv 59
duplin 59
endurance-booster 59
radionuclides 59
volmar 59
gittings 59
coile 59
overtown 59
lesi 59
agarwalla 59
brooksley 59
trifonov 59
bizera 59
sino-chilean 59
ip-based 59
condren 59
half-size 59
kwu 59
kangol 59
arlys 59
binstock 59
libyan-backed 59
rayed 59
alimentary 59
grained 59
atoki 59
negations 59
oasen 59
arab-mediated 59
mozena 59
serioux 59
bjervig 59
hot-spring 59
gruet 59
#-inch-deep 59
linker 59
glycine 59
chimere 59
hamoked 59
smyrek 59
monkish 59
peraliya 59
gorospe 59
eight-month-long 59
galwey 59
mastitis 59
goupil 59
megaresort 59
nutraceuticals 59
ransford 59
subterfuges 59
pronostica 59
reinspection 59
ho-yeol 59
apperson 59
thanomsak 59
jadideh 59
wevill 59
cepelova 59
aera 59
kuehbacher 59
ntumba 59
iphitos 59
yanis 59
isolda 59
o'shanter 59
scheuring 59
black-listed 59
tan-colored 59
kayhian 59
pro-german 59
stiletto-heeled 59
mastan 59
dhamar 59
creisson 59
tarasenko 59
getahun 59
pordenone 59
hentunen 59
underlayment 59
al-muslimeen 59
gardy 59
leukocyte 59
thermography 59
matchpoint 59
hongyi 59
obertan 59
primeeast 59
castellvi 59
isitolo 59
pro-competition 59
laryngeal 59
xianghe 59
eurozone-imf 59
nigeria-oil-unrest-kidnap 59
nader-camejo 59
kyrastas 59
seltsovsky 59
spain\/astana 59
beran 59
foudre 59
gaudier 59
france\/cofidis 59
interenergoservice 59
gaar 59
amberleigh 59
shoora 59
stehr 59
dehoyos 59
wait-listed 59
meuleman 59
kennerly 59
yue\/niu 59
ananiev 59
komrskova 59
jmh 59
xianfeng 59
xg### 59
rane 59
iturriaga 59
bely 59
sekondi 59
gentex 59
aleisha 59
clenched-fist 59
baraybar 59
angolite 59
camp-out 59
quandry 59
phymatrix 59
sidecars 59
henoch 59
subandi 59
baldin 59
macia 59
oynes 59
pre-registered 59
lanne 59
garitano 59
debarked 59
duval-scott 59
malambo 59
hernreich 59
sankofa 59
pracharaj 59
busies 59
cly 59
rassul 59
keobounphanh 59
per-year 59
covenas 59
on-wine 59
nederlandse 59
nontitle 59
goave 59
fuchsova 59
monroes 59
nadzmi 59
joerres 59
bogere 59
shanhua 59
szalay 59
duf 59
gate-crashers 59
chidamabaram 59
kirchpaytv 59
ruweished 59
andjelko 59
ostrager 59
atp-monte 59
bridgers 59
p#c 59
damba 59
daisey 59
non-insurance 59
frappuccinos 59
missile-equipped 59
cunneyworth 59
kostiantyn 59
zubr 59
kimmi 59
gatorland 59
waxen 59
sonke 59
gramm-rudman 59
rabon 59
cumani 59
hirshson 59
harouna 59
multi-user 59
mccleave 59
nemerov 59
ejegayehu 59
rivenbark 59
less-privileged 59
rotundo 59
duangchalerm 59
speechmaker 59
ching-piao 59
underachieve 59
bakala 59
suweidi 59
adriaenssens 59
autobytel 59
willimon 59
clean-out 59
mazdas 59
mochida 59
volkogonov 59
jasen 59
waple 59
podlodowski 59
cardia 59
traffick 59
carpentaria 59
harrad 59
foradil 59
zaveryukha 59
rueda-denvers 59
esperan 59
davis-monthan 59
over-aggressive 59
huracan-tres 59
redaction 59
begles 59
kupusovic 59
goskomstat 59
cents-per-share 59
slopped 59
#-paolo 59
#-paola 59
shafiullah 59
gold-digger 59
rawle 59
garnishment 59
aguta 59
chartchai 59
debevec 59
first-wave 59
haidt 59
neider 59
bsheets 59
sheja'eya 59
omofuma 59
jk-hla 59
jila 59
fomca 59
kozel 59
phuntsog 59
soc-intlnotes 59
neils 59
jebril 59
xiaojie 59
enrica 59
zhare 59
sainvil 59
fsh 59
fsg 59
dbu 59
bocalandro 59
terror-stricken 59
nine-plus 59
health-guestworkout 59
adie 59
sissinghurst 59
subglacial 59
praefcke 59
over-the-head 59
zerlentes 59
geosystems 59
mescheriakova 59
apolloni 59
batat 59
shortest-serving 59
red-dirt 59
naziunalista 59
pellucida 59
near-deserted 59
olanzapine 59
once-beautiful 59
woon-kwong 59
fixit 59
reekers 59
surgically-repaired 59
hatipoglu 59
mannichl 59
latessa 59
naturists 59
berquist 59
veldakova 59
detabali 59
sleep-related 59
asean-us 59
hiscock 59
much-reviled 59
air-ground 59
once-taboo 59
romilly 59
bossem-levy 59
health-sars-taiwan 59
dymock 59
lynge 59
piranesi 59
consistencies 59
nelson-bond 59
shusaku 59
vax 59
rhythmical 59
all-premier 59
jorquera 59
shikhar 59
camel-colored 59
philomene 59
vancomycin-resistant 59
einaugler 59
mutrif 59
martitegi 59
neustar 59
ganzuri 59
eufaula 59
quichua 59
thundercloud 59
ex-christian 59
havisham 59
curcic 59
talledega 59
sung-man 59
tr\/vls 59
malgieri 59
college-entrance 59
bourkoff 59
gambol 59
swick 59
calvinism 59
ghettoization 59
anti-rollover 59
kamark 59
forded 59
repurpose 59
gupte 59
athans 59
polhemus 59
keshia 59
ramachandra 59
kl-gm 59
guolla 59
brazil-plane 59
porato 59
poms 59
post-trauma 59
ubud 59
semi-circular 59
blowhole 59
inflation-related 59
flori 59
barhoumi 59
barolos 59
madritsch 59
kulis 59
weerts 59
sardis 59
saravanan 59
kfda 59
grapefruit-sized 59
mucke 59
saifudin 59
time-slot 59
xinli 59
downwinders 59
rotcheva 59
hemdan 59
brasses 59
cowpox 59
mushota 59
bounder 59
ex-lax 59
tibs 59
narcocorrido 59
siok 59
final-lap 59
holczer 59
kresse 59
ibtisam 59
emy 59
al-kurd 59
outside-the-beltway 59
legitimises 59
llamo 59
incendiaries 59
topoff 59
asloum 59
sabelli 59
turkey-based 59
krupnikovic 59
lezion 59
outswinging 59
pesach 59
mercury-free 59
baerbel 59
pranav 59
khokhlova\/sergei 59
primecap 59
lukko 59
bttb 59
semprun 59
zohur 59
fbc-usc 59
ulrica 59
round-ups 59
maastrict 59
charbroiled 59
son-in 59
segat 59
transfield 59
government-rescued 59
tryggve 59
odling-smee 59
canelas 59
swd 59
bapu 59
xcp 59
keulder 59
haipe 59
al-hedoud 59
efthymiou 59
yalman 59
ratsirahonana 59
too-strong 59
polonaise 59
aramburuzabala 59
najafabad 59
plaited 59
jailbait 59
itagui 59
co-rookie 59
thonier 59
iason 59
low-probability 59
ligocka 59
tetzlaff 59
glassblowers 59
everard 59
ettienne 59
granlund 59
bever 59
carematrix 59
votevets.org 59
ghinwa 59
amoussouga 59
brigade-size 59
manats 59
mrazova 59
kupelo 59
dekay 59
vanzekin 59
calixte 59
paktin 59
givry 59
chocolatey 59
poverty-eradication 59
scandal-prone 59
el#l 59
good-for-nothing 59
sailosi 59
tuguegarao 59
struk 59
vancura 59
jean-mary 59
reemployed 59
durling 59
xinhua-run 59
chadd 59
over-expansion 59
miyamura 59
diani 59
blinov 59
stick-swinging 59
sparxxx 59
blagoi 59
flohr 59
casselman 59
magnifico 59
temerlin 59
kirm 59
bambu 59
gohlke 59
maniglia 59
kamphuis 59
moodily 59
kilak 59
anti-church 59
leat 59
serap 59
danish-based 59
bagless 59
bluford 59
tsygurov 59
tahmasebi 59
egomania 59
u.n.-demarcated 59
dm-pyg 59
crianza 59
ghafari 59
mottus 58
djamil 58
razor-close 58
setola 58
cortulua 58
turvy 58
gechev 58
gessel 58
ayamas 58
eberl 58
leys 58
beating-heart 58
khadjiev 58
vbac 58
steber 58
o'liney 58
chizuko 58
transgressor 58
balcavage 58
non-voters 58
goligoski 58
uddi 58
philadelphia-born 58
schlomo 58
gamila 58
herranz 58
d-ram 58
aerating 58
heathwood 58
jazz-pop 58
swindlehurst 58
dabagh 58
sportfive 58
jitter 58
peelle 58
geste 58
tuitele 58
limited-liability 58
h### 58
heilmann 58
onyancha 58
holobyte 58
ppt 58
icelike 58
boru 58
ayala-cornejo 58
singer-bassist 58
seifullah 58
sonrisa 58
bogacheva 58
dassey 58
x-muttiah 58
immigrant-friendly 58
post-all-star 58
physically-unable-to-perform 58
albergo 58
causado 58
triple-triples 58
kalhammer 58
branquinho 58
whang 58
cogbill 58
rossier 58
pitztal 58
breadline 58
dollar-pegged 58
ruffing 58
mchinji 58
upperhands 58
stanely 58
banpro 58
stereophonic 58
spaz 58
dumeisi 58
soissons 58
evaluative 58
vashti 58
transouth 58
alinea 58
just-retired 58
##-norandrosterone 58
ethanol-based 58
blauensteiner 58
mwaba 58
chep 58
intercutting 58
equal-pay 58
valencia-based 58
chambeshi 58
absorptive 58
bramson 58
hallo 58
diatoms 58
al-nassiri 58
leviton 58
tachi 58
miscount 58
anthuenis 58
brockington 58
giuffrida 58
screenvision 58
limandri 58
kaliopate 58
weather-stripping 58
pauwels 58
tangaroa 58
melanogaster 58
bewilderingly 58
boasso 58
deputise 58
chinese-north 58
uriri 58
shibutani 58
ranya 58
aramin 58
antonacci 58
arab-kurdish 58
sazanovich 58
massachusetts-amherst 58
etti 58
tandil 58
electrotechnical 58
riqueza 58
chudasama 58
leksand 58
two-pointer 58
mariangela 58
keye 58
nikolaev 58
sl# 58
jamat-ud-dawa 58
liener 58
ashford.com 58
parknshop 58
quapaw 58
two-pack-a-day 58
aderhold 58
buring 58
unrolls 58
two-iron 58
r-miss. 58
fazilah 58
okam 58
kabuli 58
regia 58
sekula 58
re-deployed 58
v.v. 58
sporleder 58
vigiano 58
cahal 58
sinsuat 58
shortenings 58
detargeting 58
sportspeople 58
ta-## 58
immunosuppression 58
kongying 58
repack 58
huster 58
us-university 58
eco-tourists 58
slip-sliding 58
wucker 58
greece-finance-economy 58
shvetsov 58
sn-mpm 58
john-patrick 58
enought 58
verbard 58
sconce 58
electro-mechanics 58
budhia 58
zuckerbrod 58
kadriu 58
biavaschi 58
pentathletes 58
nimani 58
dezso 58
cottesloe 58
grosh 58
croupiers 58
vuillermin 58
lipcsei 58
reveiz 58
kolesnik 58
neeb 58
mccullagh 58
stand-still 58
animistic 58
llave 58
oh-so 58
savannahs 58
obledo 58
ston 58
ziyuan 58
safety-first 58
multiple-listing 58
nadzeya 58
earth-observing 58
lacquers 58
fazl-ur 58
bribers 58
pass-catcher 58
lasek 58
cyprus-un-talks 58
byzantines 58
composer-in-residence 58
princeling 58
bataga 58
as-yet-undetermined 58
sumarno 58
wuchuan 58
gatty 58
gobdon 58
farsi-speaking 58
onewest 58
kleeman 58
mbt 58
andre-joseph 58
haggett 58
umd 58
goggle-eyed 58
then-popular 58
garity 58
ufundi 58
changsheng 58
hercegovacka 58
gasparini 58
ruyan 58
tanerau 58
assault-rifle 58
vohs 58
dimmesdale 58
gun-for-hire 58
lokomotive 58
greiss 58
afsar 58
hersley 58
kruma 58
multiforme 58
olkhovsky 58
meridiana 58
pannella 58
reduced-rate 58
leebaw 58
webman 58
kacha 58
oil-like 58
niello 58
brierton 58
ciliberto 58
aercap 58
larin 58
caze 58
congo-fighting 58
ak-chin 58
saengchai 58
reichsmarks 58
mutability 58
redistributive 58
muons 58
proyas 58
agajanian 58
city-by-city 58
nageikina 58
dallam 58
pb&j 58
juacevedo 58
pharmacologists 58
non-moslems 58
mukri 58
javasoft 58
pre-op 58
krezelok 58
third-and-short 58
wahhabist 58
farve 58
bluejays 58
sergius 58
dorouma 58
neukirchen 58
undulated 58
serlenga 58
unsan 58
al-nueimi 58
blood-testing 58
plait 58
wilhide 58
four-floor 58
u.s.-flag 58
mushier 58
catto 58
napster-like 58
nightstands 58
salvar 58
vorontsova 58
criticos 58
grantmakers 58
slader 58
gholam-reza 58
magnifique 58
volen 58
chishui 58
sunalliance 58
indoor\/outdoor 58
heidgen 58
lule 58
belot 58
cheng-yuan 58
cyrene 58
manganelli 58
undershooting 58
lorenzo-vera 58
turadzhonzoda 58
santilli 58
kucher 58
jo-krg 58
mr\/dw 58
dosen 58
margi 58
half-cooked 58
heslin 58
vidoje 58
lepley 58
commandante 58
pattersons 58
corsaire 58
famosa 58
yojimbo 58
bromma 58
transmutation 58
cost-to-income 58
feinted 58
mop-topped 58
moxibustion 58
yongyi 58
heterogeneity 58
curti 58
bolte 58
tripplett 58
paun 58
bio-pharmaceutical 58
cherubini 58
hyun-woo 58
stroem 58
wanvig 58
friuli-venezia 58
schornack 58
caucasia 58
prosecuters 58
sagmeister 58
defore 58
fakhoury 58
ozen 58
lightning-bolt 58
funks 58
pusillanimous 58
ticky-tack 58
lenfest 58
overmedicated 58
sung-tae 58
fotherby 58
al-gabali 58
muhajiroun 58
##.#-billion-pound 58
cridlin 58
low-dollar 58
slappy 58
under-recognized 58
consumer-finance 58
joma 58
fabyan 58
vredenburg 58
rushville 58
kingsmen 58
feng-ying 58
jung-hoon 58
aldape 58
wednesday-night 58
janja 58
monsod 58
maimings 58
kwaito 58
al-baghli 58
st.-denis 58
agro-food 58
afsa 58
syncytial 58
crf 58
brogliatti 58
melcior 58
congestions 58
themself 58
meiners 58
granick 58
mamonyane 58
krayer 58
brm 58
sex-selective 58
daina 58
jjh\/db 58
carella 58
re-took 58
ilmor 58
chedjou 58
waites 58
#-max 58
merriex 58
president-general 58
water-main 58
psa\/bloomberg 58
camerounians 58
savatheda 58
counter-measure 58
i.t. 58
kaid 58
porkpie 58
cinchona 58
makhosini 58
audemars 58
messa 58
unlamented 58
niedak-ashkenazi 58
butyrka 58
musicales 58
uvm 58
bayh-dole 58
schleyer-halle 58
unzipping 58
#,###-game 58
freemarkets 58
requa 58
opondo 58
post-and-beam 58
kmarts 58
hejda 58
peilin 58
neisser 58
re-using 58
takeisha 58
newstalkzb 58
pengilly 58
chinese-african 58
flippancy 58
coorsh 58
apta 58
willcocks 58
emlen 58
citiseconline 58
rulemakers 58
distintas 58
qadderdan 58
dpk 58
vortexes 58
mae-ggl 58
hodur 58
karavellas 58
timidria 58
haina 58
nare 58
overcast\/sleet 58
eurest 58
####-###### 58
kakhi 58
senafe 58
zetti 58
ciencia 58
boya 58
weadock 58
pestriaev 58
dhahi 58
hui-mei 58
el-arabi 58
kotto 58
sundstroem 58
hamui 58
provos 58
senio 58
bochner 58
edyta 58
minamoto 58
scorings 58
gesner 58
adiyaman 58
wassail 58
fishhook 58
krivda 58
testifed 58
momanyi 58
cafarelli 58
re-christened 58
naaman 58
chien-chih 58
trailside 58
wenhao 58
deplaning 58
legree 58
anti-personal 58
yemelyanov 58
test-market 58
ikramullah 58
plateauing 58
batad 58
peu 58
samling 58
glaudini 58
filippidis 58
zhifu 58
anti-divorce 58
scrooges 58
lashari 58
ideologists 58
sagapolutele 58
niobium 58
chows 58
benfer 58
hhh 58
two-footer 58
non-acceptance 58
md\/ji 58
auchi 58
veanne 58
brick-red 58
varga-balazs 58
peskiric 58
restitutions 58
interjection 58
in-place 58
cavagnaro 58
lewinksy 58
saudi-brokered 58
rotax 58
kawagoe 58
wlosowicz 58
puleo 58
hoth 58
disch-falk 58
seiple 58
nitrogenous 58
urubamba 58
particularily 58
hagop 58
bachirou 58
cpc-led 58
arbor-based 58
valeant 58
gunhild 58
markswoman 58
queyranne 58
phoumsavanh 58
kirschstein 58
sharjah-based 58
harriton 58
baktiari 58
confernce 58
premade 58
sleet\/overcast 58
denbeaux 58
tyibilika 58
teya 58
squalene 58
guzy 58
ampad 58
nua 58
oundjian 58
yankees-mets 58
clyfford 58
bootes 58
degeratu 58
heshmatollah 58
self-diagnosis 58
gulyanamitta 58
belgium-politics 58
zukor 58
jyujiya 58
inadmissibility 58
security-wise 58
spiliotes 58
zambelli 58
axford 58
closed-in 58
laender 58
anti-flooding 58
icca 58
so-what 58
pharmacogenomics 58
prefecture-level 58
declines# 58
briffa 58
plexicushion 58
royal-blue 58
add-ins 58
sfp 58
wide-awake 58
mahoud 58
#motion 58
riwhite 58
frappes 58
recoletos 58
accountholders 58
most-affected 58
yalie 58
sugarmann 58
ahmadov 58
ictu 58
conservative-minded 58
finigan 58
blackard 58
labant 58
vierra 58
zizka 58
figuras 58
esquimalt 58
pottuvil 58
khassawneh 58
alben 58
peru-hostages 58
rebozos 58
konchalovsky 58
kesayeva 58
koyo 58
flukey 58
over-bought 58
dollar-supportive 58
pushtuns 58
distribuidora 58
lalji 58
thiermann 58
advance-fee 58
woodberry 58
waleska 58
oysterman 58
ssali 58
fievet 58
pro-and 58
metaxas 58
cairngorms 58
cohabited 58
doyev 58
johnsrud 58
rayani 58
salvatori 58
bowdlerized 58
epidaurus 58
tilahun 58
counter-guerrilla 58
maulani 58
chalai 58
good-for-you 58
soon-to-retire 58
forkballs 58
resettlers 58
ultimatetv 58
oblinger 58
ritto 58
fiberweb 58
dungey 58
pinholes 58
#-diego 58
kikhia 58
tugluk 58
progressivity 58
asakawa 58
kolawole 58
regpay 58
syktyvkar 58
anti-copying 58
luda 58
tv-like 58
weisbach 58
multicanal 58
export-fueled 58
lucherini 58
bossio 58
numeiri 58
swagel 58
family-like 58
lodar 58
finalises 58
larwood 58
u.n.-proposed 58
self-designated 58
record-hard 58
syncing 58
winebrenner 58
provosts 58
naisbitt 58
chetcuti 58
wentland 58
capetillo 58
andreyeva 58
skvortsova 58
role-players 58
artek 58
choling 58
##,###-sq-m 58
resized 58
hartack 58
wilens 58
sentimentalism 58
serifovic 58
cancio 58
hausch 58
earlene 58
mengwa 58
yokado 58
pisarcik 58
loredana 58
naqi 58
most-asked 58
chicha 58
skammelsrud 58
supinit 58
wanseele 58
fragrance-free 58
leffe 58
http://www.firstunion.com 58
nuder 58
rouf 58
zigomanis 58
mp-# 58
guma 58
market-access 58
square-kilometre 58
urbanists 58
tortes 58
franking 58
vorenberg 58
schwieterman 58
bawazir 58
crankcase 58
derogatis 58
karakasevic 58
entropia 58
barlonyo 58
hannibal-lagrange 58
artnews 58
adventurists 58
money-changer 58
housecoat 58
nordictrack 58
wilfert 58
mccain-obama 58
musselwhite 58
bangzhu 58
meyerbeer 58
tegucigalpa-san 58
al-saqqa 58
quercus 58
louay 58
yenga 58
rajauri 58
cigarroa 58
kimiyasu 58
nicotine-free 58
zelinsky 58
diagon 58
permach 58
symmetrix 58
firnas 58
flower-decked 58
istar 58
quintupling 58
breyers 58
armyworm 58
abdoulie 58
care-related 58
aldar 58
beauteous 58
yardages 58
non-greek 58
cutthroats 58
flessel-colovic 58
mago 58
margets 58
barela 58
flight-to-quality 58
most-coveted 58
zubar 58
ruzowitzky 58
petru-alexandru 58
al-hajji 58
scots-irish 58
chabang 58
bouafle 58
xxxxxxxend 58
mintoo 58
lolab 58
largely-christian 58
flim-flam 58
wen-ying 58
greensomes 58
practioners 58
ya\/ml 58
chanters 58
karapetian 58
in-seat 58
shirko 58
bistrot 58
esmaeel 58
insanitary 58
cheka 58
issue-driven 58
gok 58
auclair 58
veira 58
craftsman-style 58
honorifics 58
martek 58
ebri 58
ferdie 58
seshaiah 58
sunkin 58
caldrons 58
cabals 58
foredeck 58
tight-head 58
sung-nam 58
demerara 58
jucker 58
thumb-size 58
sciame 58
eriksen\/mette 58
ricketson 58
domesticating 58
khagendra 58
abla 58
rescorla 58
kanta 58
stylez 58
ruwenzori 58
kilfoyle 58
steinmann 58
tabakh 58
inquisitorial 58
heldman 58
vus#### 58
whole-language 58
kimberlee 58
harnecker 58
dary 58
azimkar 58
reneau 58
in-the-round 58
vucetic 58
metrowerks 58
togiola 58
motor-racing 58
themistocleous 58
rugut 58
bectu 58
www.orbitz.com 58
pagos 58
akeem 58
anouncement 58
flat-line 58
sindical 58
bc-mexico 58
three-building 58
chambal 58
bhoj 58
asra 58
p.p. 58
overexploitation 58
time-keeping 58
bearse 58
robp 58
marakesh 58
avena 58
highwayman 58
barnaba 58
co-coaches 58
rfranklin 58
self-abuse 58
farra 58
below-strength 58
bolek 58
devkota 58
farney 58
junck 58
lefranc 58
lindale 58
likhachev 58
flywheels 58
cnca 58
samin 58
samie 58
glasberg 58
blue-suited 58
kazarlyga 58
vacanti 58
purwoprandjono 58
##-billion-baht 58
bahaeddin 58
pw#### 58
world-shaking 58
balbina 58
darwyn 58
aleskerov 58
primp 58
chue 58
o'cealleagh 58
scotrail 58
figeroux 58
thanawat 58
iihs 58
hendardji 58
boldyrev 58
mihoko 58
sibani 58
diapering 58
animal-feed 58
lintel 58
infobahn 58
kuribayashi 58
bretons 58
bevmark 58
risk-sensitive 58
flanner 58
groenvold 58
kaspersky 58
salt-free 58
cankaya 58
zna 58
rabson 58
outvote 58
hanada 58
tourist-filled 58
adobes 58
athamna 58
nato-brokered 58
priding 58
ngetich 58
benac 58
eelco 58
teza 58
keahon 58
emeryville-based 58
isentress 58
munford 58
critchfield 58
chinandega 58
carax 58
posers 58
tehreek-i-jafria 58
tbarnhart@ajc.com 58
picolinate 58
cobwebbed 58
conventionality 58
byelections 58
macallister 58
papoose 58
##-microgram 58
sled-dog 58
myostatin 58
albaladejo 58
ndirangu 58
honderich 58
sceptically 58
garro 58
vereeniging 58
h-shaped 58
lillington 58
diddams 58
coffy 58
doorjamb 58
militia-style 58
magluta 58
mazzariol 58
stanford-trained 58
agriculturalists 58
spit-and-polish 58
servility 58
padmore 58
satmars 58
seren 58
subsitute 58
serwotka 58
kuokuang 58
tavlaridis 58
congressman-elect 58
two-euro 58
series-levelling 58
cricket-ashes-aus-eng 58
digital-only 58
provencher 58
muslim-jewish 58
resizing 58
hula-hoop 58
fuegos 58
fair-housing 58
waitakere 58
bouldin 58
chilanga 58
suceeded 58
sundeen 58
six-phase 58
disassociation 58
shteyngart 58
crystalize 58
shihan 58
protocal 58
long-march 58
fazal-ur 58
jackknife 58
mcnairy 58
ealey 58
drivon 58
pleasure-seeking 58
sciolino 58
shore-up 58
then-banned 58
german-swiss 58
polymorphism 58
three-foot-high 58
anti-speculation 58
stoudmann 58
koreas-talks 58
ivanek 58
kanyenda 58
holyfield-lennox 58
naceri 58
anti-globalist 58
jeg 58
folden 58
talpur 58
r.f. 58
##,###-barrel-a-day 58
binshu 58
doerfler 58
juanmi 58
organdy 58
kostal 58
chola 58
presgrave 58
cosgrave 58
zhevnov 58
recapitalizations 58
us-philippines 58
half-a-percentage 58
mayenne 58
pozole 58
jva 58
higher-up 58
erra 58
btrc 58
taxachusetts 58
lyor 58
advocate-general 58
toko 58
blowzy 58
kantaras 58
consiste 58
indama 58
xiaoxiang 58
jamelli 58
esquipulas 58
cd-based 58
maxillofacial 58
bernabei 58
meshell 58
parlin 58
now-imprisoned 58
ummc 58
posterboard 58
degradable 58
annasue 58
anjouanese 58
gallivan 58
usc-notre 58
sappho 58
creameries 58
turbocharge 58
soslan 58
thurairaja 58
singapore-china 58
antiperspirant 58
abominably 58
puiu 58
newfoundlanders 58
kaylene 58
plaine 58
howorth 58
non-save 58
dijana 58
ronaldson 58
aivar 58
hudong 58
##-student 58
pravastatin 58
delima 58
six-continent 58
union-imposed 58
kaz\/cof 58
sandy-colored 58
longliners 58
janic 58
amerithrax 58
blurriness 58
aleki 58
rokkasho-mura 58
sogang 58
methow 58
rosalee 58
rapiscan 58
nepali-language 58
eastgate 58
timis 58
record-indoor 58
adelaida 58
ethno-sectarian 58
pay-for-view 58
dahdouh 58
desisto 58
huldai 58
brunswijk 58
hundertwasser 58
chiew 58
pyrotechnical 58
snatchings 58
jabri 58
kleeblatt 58
turkish-registered 58
ghodhbane 58
masunungure 58
mousepad 58
ascott 58
lapoint 58
quarter-page 58
belfiore 58
se-r 58
martinville 58
salchow-triple 58
minored 58
ahe 58
counter-complaint 58
mbula 58
khadi 58
wolfli 58
faggots 58
vigouroux 58
chaifetz 58
giugliano 58
defoliated 58
vashee 58
maumee 58
jutge 58
loudi 58
powderly 58
razini 58
self-seeking 58
best-written 58
arkaah 58
patroon 58
motormen 58
pedagogic 58
soendral 58
pharynx 58
qudratullah 58
proces 58
alcohol-monitoring 58
corange 58
a.t.m. 58
rasshan 58
sabbar 58
malmberg 58
sverrisson 58
tiler 58
sabag 58
http://www.state.gov/ 58
feichter 58
#-george 58
wheelis 58
cleric-run 58
roskot 58
adjetey-nelson 58
propios 58
quickies 58
nzimbi 58
gazprombank 58
woofer 58
trita 58
weigman 58
congealing 58
solidarite 58
narcoleptic 58
pulai 58
bewag 58
computadora 58
sppf 58
soundcheck 58
zaituc 58
adurogboye 58
orogen 58
demeanors 58
neumayr 58
mso 58
ntou 58
westtown 58
re-directed 58
avalanche-journal 58
ishmail 58
pearsmhnytimes.com 58
posthaste 58
needle-nose 58
self-assessments 58
lewisite 58
kuwaiti-based 58
kostevych 58
dogonadze 58
korasuv 58
hampl 58
concealed-weapon 58
shragai 58
kappos 58
anti-casino 58
sleith@ajc.com 58
karyo 58
kopi 58
sub-themes 58
knock-kneed 58
stendardo 58
anthuan 58
rekapac 58
nasaa 58
chinese-manufactured 58
isioma 58
greenwillow 58
strad 58
piontkowski 58
nine-stroke 58
avm 58
parishoners 58
delfim 58
pasquini 58
wigmore 58
dieuze 58
scag 58
berzengi 58
cazzulani 58
balmont 58
marriotts 58
cete 58
phertzberg 58
wapenaar 58
hodara 58
curcumin 58
canoni 58
abdulmajid 58
maroon# 58
anti-vaccine 58
mini-city 58
bioland 58
lanced 58
hepatology 58
balakong 58
eneco 58
subuh 58
wolfenstein 58
henchy 58
tumukunde 58
argentina-vote 58
soft-dollar 58
merit-making 58
qanoni 58
czech-built 58
al-khayat 58
heidsieck 58
deinstitutionalization 58
mail-fraud 58
calakmul 58
chiasso 58
faveur 58
ranarith 58
satara 58
cash-management 58
ayittey 58
buschbaum 58
compatibles 58
olatunji 58
hourglass-shaped 58
abousamra 58
serafino 58
rassemblement 58
cohen-tannoudji 58
artspace 58
schwartlander 58
yeltsova 58
kiu 58
zoubeir 58
asias 58
orv 58
yaring 58
sheppards 58
two-course 58
cadrez 58
charima 58
canana 58
geodon 58
deplasco 58
fully-armed 58
brontes 58
kbp 58
stehn 58
#-iker 58
baff 58
perlas 58
madhes 58
preis 58
harward 58
koloane 58
deshayes 58
falomo 58
saturno 58
corrupters 58
planetariums 58
bifengxia 58
flum 58
propound 58
hemanshu 58
imacec 58
feyernoord 58
ulta 58
atli 58
re-hire 58
interclan 58
gitonga 58
aand 58
icmr 58
jarar 58
skank 58
thrane 58
trousseau 58
spent-fuel 58
chilaquiles 58
bump-drafting 58
iao 58
vanhala 58
dj\/ak## 58
proselytization 58
dongdu 58
rave-up 58
uzebekistan 58
ntagerura 58
pengkalan 58
anti-fascism 58
domingue 58
lamport 58
kaillie 58
fernet 58
bekaert 58
project-based 58
mauriac 58
abrogates 58
basketball-wise 58
gansey 58
emailing 58
jiulong 58
mechale 58
vignerons 58
federative 58
emmo 58
panino 58
easterain 58
aceto 58
manresa 58
own-goals 58
lamongan 58
morinaga 58
fourth-season 58
duvergel 58
ruzindana 58
yu-ih 58
varnishing 58
non-televised 58
ederer 58
grosboell 58
sakanyi 58
wrn 58
costless 58
laxalt 58
lb-# 58
halse 58
upper-tier 58
sheinkin 58
shadwell 58
katselas 58
www.aol.com 58
yankey 58
mytouch 58
enyimba\/ngr 58
brokedown 58
jen-hung 58
kisutu 58
kuniyoshi 58
dahiyah 58
amrhein 58
up-country 58
rolo 58
smartmedia 58
watch-helsinki 58
khawazakhela 58
ocws 58
yacoubian 58
wandlike 58
tratan 58
temane 58
tainan-based 58
micropal 58
korrodi 58
ms-as 58
ahdyar 58
southerton 58
kakiuchi 58
state-of-origin 58
breault 58
filled-in 58
kawase 58
bysshe 58
pericard 58
sakwiba 58
qingyang 58
pedantry 58
kamangar 58
unlawfulness 58
gdc 58
astuteness 58
vca 58
highly-qualified 58
pressurised 58
fliegende 58
ambush-style 58
sweatman 58
bembry 58
rabelais 58
hellion 58
jaune 58
pade 58
cylon 58
nnt 58
cod-style 58
manoeuvering 58
lubero 58
knocker 58
npower 58
oeystein 58
stellone 58
badou 58
berlinecke 58
shengrong 58
non-sporting 58
anti-moslem 58
http://www.defenselink.mil/ 58
macgillivary 58
pigheaded 58
grogin 58
pluta 58
madasamy 58
lozzano 58
bong-kil 58
christmas-tree 58
metroid 58
kudisch 58
runups 58
kinsolving 58
zety 58
guitarist-singer 58
vinayagamoorthi 58
movilnet 58
ppa-containing 58
seyval 58
feliks 58
shiite-populated 58
harymurti 58
tingo 58
grassless 58
cheap-looking 58
zhengming 58
jastrow 58
nrcs 58
shirkers 58
bc-af-fin 58
batac 58
finocchiaro 58
polyrhythms 58
weale 58
fang-yu 58
ispa 58
condensers 58
synergie 58
rottman 58
test-bed 58
afroyim 58
anti-arms 58
amathila 58
billion\/## 58
todman 58
rabies-free 58
gilbreath 58
ultra-conservatives 58
out-of-context 58
flook 58
pongpanich 58
skulked 58
a###xwb 58
semiskilled 58
synoptics 58
home-ported 58
ih 58
bornand 58
keshubhai 58
adianto 58
asen 58
d-hillsborough 58
commercial-grade 58
diery 58
tzoganis 58
al-nounou 58
tedd 58
map-making 58
blockbusting 58
be-in 58
trouble-torn 58
skipp 58
whitsunday 58
hutterites 58
ttc 58
occam 58
witters 58
winterreise 58
al-hasani 58
cities-abc 58
kurtag 58
kahoolawe 58
radiofrequency 58
elfers 58
razor-edged 58
profanity-filled 58
nedzad 58
elsworth 58
sashays 58
redbone 58
arkhipova 58
geck 58
fouras 58
erdf 58
sivori 58
point-based 58
apennines 58
raffanello 58
foot-fault 58
emirsyah 58
safian 58
poppy-producing 58
bagong 58
roehrig 58
stutes 58
michelet 58
anter 58
campionati 58
semmelweis 58
dos-based 58
sadosky 58
st-# 58
franker 58
brende 58
mihajlov 58
eshetu 58
barile 58
roey 58
bijaya 58
matcha 58
hounslow 58
sischy 58
anxi 58
topdog\/underdog 58
predisposing 58
tightenings 58
colantuono 58
duflo 58
tervuren 58
slebos 58
krein 58
malu-malu 58
nkorea-nuclear-weapons-us 58
d'hondt 58
marce 58
movieline 58
bles 58
hyeon 58
casner 58
dry-aged 58
clomping 58
jd\/pi## 58
giganotosaurus 58
five-six 58
iita 58
then-teammate 58
badola 58
ahrendts 58
christoforakos 58
al-daradji 58
hathorn 58
computer-operated 58
soviet-american 58
mousetraps 58
turetsky 58
farc-held 58
medzamor 58
herpoel 58
scissor-kick 58
wodie 58
quirine 58
shrivelled 58
flameproof 58
less-talented 58
sacharow 58
thin-bladed 58
cavour 58
allaga 58
dornbush 58
#-pounder 58
schuermann 58
mafia-related 58
bellingen 58
crichlow 58
dividend-rich 58
lorsch 58
anglada 58
non-actors 58
anti-surface 58
deepcut 58
lazarev 58
thumb-sucking 58
bi-polar 58
madrid-barajas 58
thile 58
barn-burner 58
calibrations 58
stimulus-fueled 58
unplanted 58
keyboardists 58
ecuador-vote 58
armuelles 58
chittick 58
taavi 58
mondesire 58
smederevska 58
ding-dong 58
promphan 58
lovsan 58
loveseat 58
fullscale 58
nazzaro 58
mulvenon 58
hillegass 58
vanderford 58
goodlad 58
carphedon 58
court-at-law 58
pseudo.com 58
sollers 58
putterman 58
finnegans 58
durakovic 58
hamayon 58
duct-tape 58
bardic 58
scaled-up 58
still-robust 58
wilchcombe 58
wathiq 58
hiltachk 58
krylatskoye 58
boose 58
data-intensive 58
danielides 58
transsexuality 58
claw-foot 58
none-out 58
elucidating 58
tomasch 58
brignol 58
jeyarajah 58
dangor 58
caic 58
goaland 58
mellis 58
somali-based 58
sidetracking 58
sushmita 58
mid-stride 58
domestically-traded 58
redox 58
shoba 58
house-arrest 58
coppens 58
at-tuffah 58
nijssen 58
hely 58
rouged 58
lounger 58
a.r.c. 58
dubovsky 58
non-payments 58
enviga 58
frenz 58
#-boris 58
misprision 58
go-along 58
riccadonna 58
machine-gunner 58
vellore 58
tackie 58
constitutionalists 58
tongliao 58
paderina 58
nan-cheng 58
cattan 58
us-immigration 58
sparq 58
mashingaidze 58
togawa 58
houseflies 58
semenzato 58
moton 58
atlanta-bound 58
summerer 58
marmottan 58
quartier 58
el-motassadeq 58
more-profitable 58
boada 57
malim 57
voit 57
tichtchenko 57
qgpc 57
sakassou 57
hamadou 57
geeked 57
anagrams 57
politicizes 57
chainarong 57
fourth-youngest 57
schulweis 57
unsafeguarded 57
urmila 57
mobile-telephone 57
grigson 57
abdul-samad 57
el-youssef 57
suffuse 57
castellane 57
line-outs 57
manohara 57
christiansborg 57
standley 57
gasoline\/electric 57
munton 57
aaib 57
postcommunist 57
buckcherry 57
teletext 57
juancho 57
steep-sided 57
micro-enterprise 57
medicals 57
cloudlike 57
griet 57
jintropin 57
funsho 57
schaus 57
chenoweth-hage 57
club-mate 57
israel-vote 57
gokavi 57
toufic 57
scalloping 57
lfc 57
chatwal 57
movie-mad 57
american-european 57
butchie 57
televisual 57
chainrai 57
mambasa 57
quaye 57
dilg 57
http://www.nobel.no 57
jabotinsky 57
nilly 57
lakela 57
frostily 57
australia-bushfires 57
maumalanga 57
coleccion 57
##-carry 57
weisser 57
morago 57
kpatinde 57
korun 57
kc-pq 57
nextlink 57
tbilissi 57
azua 57
#m## 57
obersalzberg 57
sea-skimming 57
nizuc 57
sacombank 57
nitrate-based 57
f.h. 57
farj 57
lagunov 57
millipede 57
#-cd 57
musclebound 57
bloche 57
dissuades 57
tae-dong 57
arms-related 57
suk-tae 57
conceptualizing 57
pokaski 57
often-contentious 57
seleccion 57
dialogo 57
grevenmacher 57
alledged 57
maziarz 57
ecompanies 57
slow-building 57
greczyn 57
packham 57
lamego 57
saddlebag 57
strokosch 57
eutaw 57
shophouses 57
xxiv 57
nickel-cadmium 57
shuning 57
http://www.homedepot.com 57
sunfin 57
atg 57
windmilling 57
zostavax 57
then-majority 57
revenant 57
daish 57
cvijanovic 57
butoh 57
marianist 57
visoth 57
eidul 57
isaura 57
aleynikov 57
shalita 57
benegas 57
mine-strewn 57
litif 57
qallab 57
percolation 57
magnesite 57
sung-jin 57
cook-offs 57
ronayne 57
carias 57
calendula 57
elmaghraby 57
fafner 57
scibelli 57
huhhot 57
sidex 57
bank-issued 57
perfecta 57
vitrines 57
ho-chunk 57
alstyne 57
sydkraft 57
football-wise 57
silverite 57
pagliaro 57
overdubbed 57
mighani 57
finger-snapping 57
liron 57
multi-trillion 57
ortuno 57
drop-kick 57
mussavi 57
brasilia-based 57
meteoroid 57
oxygen-deprived 57
rentech 57
puzzle-solving 57
pro-ravalomanana 57
thmey 57
zalben 57
liko 57
qardaha 57
muayad 57
lottner 57
conceptualist 57
laychak 57
badini 57
jazzmen 57
macaco 57
nexstar 57
especies 57
warbirds 57
avelar 57
ulcerated 57
murshidabad 57
marife 57
grillers 57
marakwet 57
sanroma 57
college-preparatory 57
bartholomay 57
dpp-initiated 57
duskin 57
anesthetizing 57
belgrade-controlled 57
estragon 57
novolipetsk 57
caton-jones 57
offman 57
jetways 57
am\/ji 57
hatemonger 57
zeo 57
dial-around 57
hunzike 57
wicha 57
cupiagua 57
mewelde 57
webmethods 57
dacca 57
agrast 57
indonesia-weather-floods 57
sumaya 57
magliore 57
seljan 57
dead-eyed 57
rezidor 57
rubberneck 57
substantia 57
azzurro 57
first-responder 57
peruses 57
janusaitis 57
summiting 57
mantas 57
posthumus 57
sufjan 57
often-delayed 57
resiana 57
rrustem 57
pulled-together 57
milmo 57
compa 57
prezant 57
lucke 57
prosthetist 57
se# 57
luisita 57
molinelli 57
earthrights 57
osayemi 57
market-beating 57
sincor 57
rexburg 57
miku 57
anti-disease 57
already-crowded 57
santry 57
friesian 57
tg-pyg 57
nce 57
cottoned 57
vaugrenard 57
candleholders 57
mudi 57
hawksworth 57
jinglian 57
schuon 57
dehesa 57
puyo 57
biosensor 57
periodnone 57
non-deductible 57
eid-ul 57
palestrina 57
mitic 57
segars 57
entrapping 57
###w 57
vls\/nvw 57
peachpit 57
small-plane 57
norsworthy 57
lello 57
wair 57
latinpass 57
souquet 57
reveles 57
soapboxes 57
tholut 57
pompton 57
fmd-free 57
something-or-other 57
nayoko 57
forum-asia 57
interferometer 57
hortensia 57
tifosi 57
u.s.-provided 57
brasfield 57
http://www.people-press.org 57
mojokerto 57
stankalla 57
gallien 57
valda 57
speciosa 57
lightly-regarded 57
bublitz 57
chongryong 57
bit-part 57
sharabati 57
drottningholm 57
eum 57
pongrat 57
tesa 57
multicast 57
+##,### 57
mushed 57
ravello 57
eye-fi 57
calandra 57
shujah 57
rural\/metro 57
djeric 57
##,###-points 57
houtart 57
idigov 57
russian-supported 57
caa# 57
tionne 57
gabai 57
dosek 57
sadyk 57
calzati 57
hip-hugger 57
iue-cwa 57
ksf 57
hpa-an 57
finamex 57
berden 57
ameco 57
non-jordanians 57
toxford 57
mulembwe 57
rovos 57
extrication 57
cutchogue 57
bang-andersen 57
lucchetti 57
uninstalling 57
excises 57
azaouagh 57
decompressing 57
northwesterners 57
wielkopolski 57
tahlequah 57
optimark 57
gheen 57
eurlings 57
unclimbed 57
esti 57
niyonzima 57
pro-rata 57
giannoulas 57
kodjoe 57
ulanqab 57
tiliwaldi 57
baldock 57
#-meters 57
ghorak 57
bovey 57
sameur 57
chien-kuo 57
colten 57
vincenti 57
square-kilometers 57
garamvoelgyi 57
zippel 57
then-commander 57
##.#-nautical 57
unpowered 57
hanly 57
parten 57
liederman 57
velayat 57
willo 57
coonelly 57
kitov 57
swiss-educated 57
outraise 57
sinta 57
#-felix 57
virts 57
yome 57
saury 57
gretz 57
isoun 57
mpigi 57
nstp 57
modzeleski 57
samran 57
wazed 57
reappraising 57
regola 57
exor 57
france-telecom 57
iresearch 57
soz 57
n.b.a. 57
jenai 57
liukko 57
wenpu 57
cervenko 57
halfa 57
yefremova 57
biaggio 57
mimmo 57
iraq-unrest-us-toll 57
quart-size 57
favalora 57
hockey-mad 57
doppelgangers 57
ghalibaf 57
marijnissen 57
open-face 57
sytem 57
fredricksen 57
shafayat 57
safeen 57
programe 57
kuroichi 57
burqa-style 57
xuesen 57
dissembled 57
uptagrafft 57
canadiense 57
sung-wook 57
paravant 57
kada 57
short-stay 57
pinedo 57
balwinder 57
tibon 57
prig 57
ducent 57
kc-###s 57
ersberg 57
family-type 57
lardin 57
dicussed 57
kaim 57
webnews 57
kavak 57
debut-making 57
hewitson 57
moeletsi 57
tapit 57
updegrove 57
soft-sided 57
hudepohl 57
reflectivity 57
tigerland 57
#.##-per-share 57
halandri 57
plote 57
temporaries 57
gren 57
merlet 57
odera 57
lingao 57
sleazier 57
dialectics 57
doubletalk 57
al-siddiq 57
tifatul 57
sanabis 57
sc### 57
vanore 57
alair 57
mae-eap 57
spookiness 57
hyson 57
nounou 57
nasreddine 57
rose-marie 57
completamente 57
non-starters 57
beguin 57
bell-bottomed 57
handloom 57
abu-zeid 57
tolstaya 57
transwestern 57
maraven 57
neoforma 57
galster 57
viraat 57
engqvist 57
sadiya 57
idiot-proof 57
france-politics-jobs-youth 57
larini 57
yuzawa 57
utilitarianism 57
antosh 57
belize-flagged 57
kasetsiri 57
kekauoha 57
kaleida 57
deviously 57
boucheron 57
hanen 57
crose 57
pawson 57
sudikoff 57
allayar 57
industry-# 57
perrott 57
unframed 57
kirpan 57
dimasa 57
popma 57
mutianyu 57
aygun 57
iannelli 57
d-dayton 57
brand-named 57
persian-speaking 57
garforth 57
sucess 57
disposer 57
rosangela 57
pscs 57
hanway 57
cambon 57
presas 57
j&b 57
checkmated 57
bonnardeaux 57
guzzetti 57
digel 57
mweemba 57
party-sponsored 57
uncommanded 57
high-touch 57
draughon 57
shanzai 57
khakimov 57
japonicus 57
unigate 57
##-anastasia 57
nabatiye 57
penalties_none 57
five-song 57
lightning-strike 57
thumbnail-sized 57
gutteres 57
swardson 57
kls 57
still-simmering 57
burges 57
am\/sbg 57
golf-epga-esp 57
short-termism 57
lifefx 57
gtm 57
huntley-brinkley 57
saidat 57
sequencer 57
seperatist 57
ki-chi 57
spoksman 57
human-driven 57
laue 57
vancleave 57
sjoblom 57
barbacoa 57
statman 57
shaneen 57
antique-filled 57
mhh-krg 57
remond 57
bijli 57
carby 57
greece-style 57
misapplying 57
dorsen 57
buk 57
schwarzenbauer 57
raiz 57
banin 57
daryn 57
artemisinin-based 57
kbohls@statesman.com 57
persahabatan 57
wormy 57
samsung\/radioshack 57
baxter-johnson 57
re-tried 57
aetats 57
head-turner 57
degganssptimes.com 57
thirty-thousand 57
imperiousness 57
kesha 57
tenace 57
ferguson-mckenzie 57
jaovisidha 57
agassa 57
barriga 57
air-strike 57
home-opener 57
turbi 57
umali 57
kralik 57
pump-and-dump 57
bassat 57
keasler 57
tank-killing 57
misdirecting 57
ex-fighter 57
mngomeni 57
rejigged 57
novska 57
backstabbers 57
spa\/qst 57
re-tally 57
intermune 57
lifa 57
urbanczyk 57
sarabeth 57
coke-bottle 57
battle-readiness 57
kawkab 57
kerdyk 57
wenceslaus 57
mind-expanding 57
boutroue 57
tanona 57
salivation 57
tricolore 57
out-gunned 57
jacobowitz 57
bacot 57
participar 57
alprazolam 57
polho 57
funnyordie.com 57
panarin 57
blanchfield 57
yolane 57
qualia 57
robertses 57
ovp 57
peissel 57
dratshev 57
ieremia-stansbury 57
korchnoi 57
pvs-lk 57
jan.-sep 57
schlickeisen 57
courier-post 57
high-cholesterol 57
etich 57
guolin 57
giesen 57
industy 57
cucherat 57
villate 57
evelin 57
kelly-goss 57
u.s.-korea 57
kivutha 57
overdramatized 57
nemzet 57
cassata 57
darle 57
cur 57
actor-politician 57
dingbat 57
gerspach 57
better-established 57
restos 57
tristesse 57
ausmin 57
computer-like 57
thongsing 57
ramberg 57
hjort 57
over-estimated 57
bioremediation 57
stress-reduction 57
televisi 57
chelny 57
sundazed 57
radio-cassette 57
opening-week 57
reghecampf 57
highest-performing 57
zamanbek 57
prefigures 57
red-and-white-striped 57
metters 57
travessa 57
pengiran 57
copernic 57
government-granted 57
qoryoley 57
kur 57
martincova 57
aldis 57
remissainthe 57
favor-hamilton 57
by-# 57
oooooooooooooooooooo 57
fieldsman 57
aa-plus 57
farmsteads 57
marrack 57
fambrough 57
ongarato 57
spayd 57
corsetry 57
inuvik 57
salwen 57
power-grabbing 57
wornick 57
kalkstein 57
papermakers 57
thwaite 57
mineira 57
newbigging 57
uberstine 57
roxx 57
ehrlichiosis 57
al-noor 57
chernogorneft 57
mercally 57
villamayor 57
texpool 57
eye-watering 57
white-brick 57
koco 57
transportations 57
i-zone 57
kouadio 57
websense 57
clinton-like 57
kievsky 57
pietton 57
athirson 57
oxygen-generating 57
youre 57
supertramp 57
ergic 57
kasambala 57
attention-grabber 57
j-shaped 57
qedwa 57
http://www.ipcc.ch 57
bossman 57
last-rock 57
pentair 57
bingle 57
ap# 57
signally 57
cundieff 57
maflahi 57
ciger 57
gerlinde 57
ndambuki 57
ottakar 57
braunskill 57
recopa 57
journaling 57
rmit 57
ernk 57
non-congress 57
dayle 57
q-cells 57
hetian 57
boons 57
non-deliverable 57
woolston 57
cristoph 57
r\/# 57
manglano 57
erdinc 57
gajon 57
knickknack 57
rohmat 57
wen-yuan 57
harleman 57
guesso 57
stamenson 57
australia-united 57
nitromethane 57
eastn 57
anonyme 57
stadelmann 57
siefer 57
pripps 57
cross-checks 57
salzburger 57
oceaneering 57
ball-point 57
mandeep 57
fratesi 57
beyrer 57
sad-faced 57
krasnomovets 57
rouhani 57
eruh 57
long-battered 57
toles 57
parrotfish 57
tuffree 57
brasseur 57
shenkarow 57
half-a-mile 57
gyroball 57
dombi 57
anzar 57
tajan 57
easiness 57
burgett 57
hoskyns 57
kembla 57
orena 57
hatam 57
pinko 57
detroit-hamtramck 57
suborned 57
kavetas 57
nielsen\/net 57
srg 57
u.s.-patrolled 57
schuelke 57
hayim 57
drobiazko\/povilas 57
bhumidhar 57
akan 57
bungler 57
heterosexually 57
shija 57
dazhen 57
teikyo 57
techno-thriller 57
bezrukov 57
hobgoblin 57
gattis 57
famous-brand 57
seamico 57
boobytrapped 57
downrange 57
fuel-starved 57
mcaulay 57
robustelli 57
brinegar 57
rohrbaugh 57
ismar 57
bonfils 57
ponomareva 57
goorjian 57
kashmola 57
on-rushing 57
tuesday-sunday 57
still-sluggish 57
regular-cab 57
obermayer 57
kpakol 57
basketball\/pros 57
#-virginia 57
hunding 57
dangol 57
pendleton-based 57
neftegaz 57
nakaniwa 57
betham 57
lagniappe 57
mbambo 57
indle 57
sakorn 57
pro-khartoum 57
conjectural 57
lunda-sul 57
chiu-chin 57
bancassurance 57
limbu 57
inital 57
anisotropy 57
pilbeam 57
yazawa 57
arzak 57
opacic 57
karasu 57
http://www.cbs.com 57
mingaladon 57
joensuu 57
weidenbaum 57
ugwu 57
anugerah 57
immunologically 57
espuelas 57
izgi 57
fredie 57
cariplo 57
coyotepec 57
cuyos 57
nolle 57
yb\/sbg 57
eigil 57
maximilien 57
barberie 57
yeongam 57
harperbusiness 57
nonlawyers 57
mekachera 57
mahlon 57
veruca 57
firmo 57
lamell 57
sileo 57
jabarani 57
imkb 57
maiffret 57
odalovic 57
gingivitis 57
nagasawa 57
francistown 57
kocherlakota 57
life-saver 57
seegers 57
sbcs 57
markazi 57
kharbash 57
fokker-### 57
wide-release 57
bajilan 57
yaral 57
maione 57
tokiwa 57
qld 57
governable 57
parry-jones 57
two-unit 57
mcclay 57
mcclam 57
inner-tube 57
obanda 57
confederado 57
eravur 57
ribbs 57
mcclennen 57
mulund 57
bordallo 57
cutely 57
diferencias 57
black-tailed 57
ride-alongs 57
mosson 57
notarial 57
rovereto 57
skosana 57
holohan 57
thamilchelvan 57
business-management 57
rerecorded 57
seomin 57
roewe 57
gaffs 57
whirr 57
geppetto 57
chukwueke 57
bc-na-fea-gen 57
rock-oriented 57
mirandes 57
telkiyski 57
kalindi 57
non-minority 57
well-greased 57
nemsadze 57
southshore 57
ddungu 57
lanin 57
lubuk 57
zhongqiang 57
volesky 57
gontard 57
kopylov 57
siestas 57
honduras-politics-coup 57
davitian 57
financial-industry 57
kantono 57
pumpkin-colored 57
reconverted 57
fixer-uppers 57
euro##-euro## 57
epinal 57
highchairs 57
browses 57
js\/jd## 57
mg\/l 57
six-decade-old 57
chimeric 57
bowdler 57
shannyn 57
snick 57
female-oriented 57
cambridgeside 57
giacomini 57
polityka 57
marzouki 57
vullo 57
fist-pump 57
vm###-### 57
al-aoofi 57
klecker 57
inhumanly 57
white-on-black 57
macneil-lehrer 57
conkling 57
al-kharbit 57
pcrm 57
best-song 57
levines 57
adventuress 57
castagnetti 57
mgn 57
chumbawamba 57
discontinuous 57
ojima 57
karlos 57
ihar 57
mid-# 57
toe-loop 57
asantehene 57
ruso 57
camago-malampaya 57
sweet-talked 57
baitadi 57
kaleidoscopes 57
ntabakuze 57
senado 57
ill-received 57
vaccum 57
guigang 57
voula 57
katou 57
montcoal 57
harilal 57
wetted 57
ruman 57
agni-i 57
rahbani 57
schaffhouse 57
geyserville 57
elda 57
##-book 57
yinhui 57
leaseplan 57
midstage 57
elnora 57
depende 57
second-in 57
mrp 57
iturralde 57
engelberger 57
youde 57
regivaldo 57
schaper 57
totted 57
elhassan 57
#,###-patient 57
slivinski 57
manically 57
sampang 57
bratu 57
multi-goal 57
arab-summit 57
visted 57
azour 57
##-sebastian 57
mabasa 57
lambayeque 57
anuradha 57
kw\/hours 57
fire-suppression 57
biliary 57
yasujiro 57
crusat 57
ncds 57
zager 57
schmitt-roschmann 57
familiar-looking 57
airiness 57
moamba 57
vocci 57
godchildren 57
caleigh 57
brokenborough 57
cervo 57
recieving 57
non-recourse 57
classic-car 57
doy 57
yong-seok 57
scramjets 57
terrorismo 57
westernised 57
technical-support 57
buckaroos 57
caydee 57
pmdc 57
v#s 57
dalhart 57
vibrance 57
wayang 57
roundish 57
ignarro 57
sansoni 57
schobert 57
#.####-mark 57
ncsl 57
bhight 57
shapey 57
royan 57
lemper 57
shannon.buggs@chron.com 57
anadyr 57
ch-##d 57
jhala 57
baumgart 57
caponi 57
souverain 57
push-off 57
vidosevic 57
verwiel 57
strougal 57
non-network 57
eco-terrorists 57
washkansky 57
matherne 57
bt-## 57
dragica 57
namuyamba 57
petroleum-related 57
as### 57
mcgahern 57
morganti 57
american-record 57
randfontein 57
iraq-al-qaida 57
cubillan 57
bayberry 57
mythbusters 57
dollar-cost-averaging 57
multitasker 57
aicraft 57
opole 57
ru\/sw 57
spirea 57
encoder 57
chanko 57
pyshkin 57
structuralism 57
vijayakumar 57
easygroup 57
goncalino 57
deadeye 57
milieus 57
leomitis 57
start-stop 57
strohm 57
stevensville 57
anklam 57
huanghe 57
bushisms 57
sugimori 57
tightly-knit 57
apono 57
one-yuan 57
pheonix 57
freeze-for-freeze 57
cagily 57
vivants 57
cotman 57
sirf 57
stemme 57
baldassi 57
kongsi 57
tele-medicine 57
mackanin 57
build-a-bear 57
greeson 57
indomobil 57
britain-politics-labour 57
redenomination 57
sell-outs 57
grullon 57
noorda 57
sawasdi 57
ccamlr 57
dbrs 57
mallouh 57
age-verification 57
strength-sapping 57
b-#bs 57
prestigous 57
##-miroslav 57
uzcategui 57
laquila 57
rs\/#### 57
gasoline-guzzling 57
galesi 57
hemley 57
simha 57
kokura 57
nyang 57
catenaccio 57
sigo 57
hiwada 57
huscroft 57
bench-pressed 57
rock-hurling 57
administrates 57
al-hawali 57
time-scale 57
gokcek 57
budgett 57
dyatchin 57
rege 57
ouargla 57
ginns 57
papathanassiou 57
lucrezia 57
isroilova 57
juillet 57
r-fairfax 57
civilian-populated 57
xiaoyun 57
mcramerglobe.com 57
psuv 57
creasey 57
telleldin 57
oltman 57
post-football 57
periodontist 57
us-school 57
impsa 57
kahana 57
lunch-bucket 57
zahalka 57
party-going 57
lc-gm 57
orumieh 57
ndongou 57
ludek 57
renowed 57
junyao 57
most-admired 57
cricket-aus-ind 57
outpitch 57
atherosclerotic 57
salamao 57
capilla 57
all-expense 57
alganov 57
vaslav 57
al-qaissi 57
stoklos 57
hortman 57
ultra-small 57
ncea 57
fermenters 57
belik 57
barsuk 57
cycad 57
fgarcia 57
high-carbon 57
riska 57
pathogenicity 57
crenson 57
vinyls 57
tercentenary 57
sledded 57
tleiss 57
etat 57
googleplex 57
messin 57
sr# 57
patkar 57
sinaloan 57
djoumessi 57
fritzky 57
kanaana 57
pcv 57
avt 57
puzzlers 57
swellings 57
hillshire 57
sentani 57
livery-cab 57
martensson 57
unroadworthy 57
jinwei 57
longyang 57
groenfeld 57
derbent 57
nihilists 57
maurizi 57
turnhalle 57
mixologists 57
frostiness 57
selph 57
prodigene 57
tewodros 57
mosquito-transmitted 57
portch 57
arbib 57
attarian 57
effendy 57
kason 57
advances# 57
jerges 57
rockhouse 57
andani 57
eight-city 57
furio 57
yaswant 57
monona 57
epiphanny 57
six-kilometre 57
shaleil 57
protropin 57
zients 57
windhorst 57
abana 57
alleghenies 57
intra-state 57
lalwani 57
unstinted 57
warford 57
flordia 57
galax 57
mcgiffert 57
cadereyta 57
zeck 57
railamerica 57
http://www.ford.com/ 57
ronetta 57
foodmakers 57
yongyudh 57
half-serious 57
coal-to-liquid 57
day-use 57
acclimatizing 57
charkhi 57
phalaborwa 57
muthaiga 57
bldp 57
obnoxiousness 57
esperar 57
resistances 57
top-producing 57
atochem 57
intiman 57
dog-show 57
hard-edge 57
wolfhound 57
vincent-st 57
campiness 57
leibniz 57
religare 57
tankful 57
kertih 57
lodal 57
mbita 57
forestalls 57
imbecilic 57
watch\/americas 57
fondiaria 57
sanyi 57
mikhailo 57
palumbi 57
germain\/fra 57
mg-### 57
hunthausen 57
snappily 57
shakhnazarov 57
jakabos 57
champassak 57
chia-chun 57
bassoonist 57
kasambara 57
paradies 57
arcore 57
newquist 57
mocny 57
kostelka 57
dolina 57
mcelrathbey 57
province-based 57
addum 57
spritzer 57
schoenholtz 57
abbotts 57
gay-related 57
suseno 57
wreh 57
al-forat 57
outdraw 57
keleher 57
iraqen#### 57
afrim 57
souaidia 57
cardi 57
inkjets 57
gas-sipping 57
scalf 57
puddled 57
kadidal 57
raymonde 57
ear-shattering 57
bishi 57
zamano 57
sabeh 57
prinsen 57
us-violence 57
millhauser 57
million\/euros 57
texmaco 57
alltime 57
cheik 57
comando 57
amaitis 57
erskin 57
mastersingers 57
bursaries 57
wimbley 57
veni 57
dolgorsvren 57
sirait 57
rinero 57
mander 57
natiq 57
parilla 57
mewling 57
anangwe 57
omnifone 57
shandler 57
now-ubiquitous 57
kadokawa 57
seven-kilometer 57
a.k.a 57
satterthwaite 57
luusua 57
pila 57
farabee 57
often-heard 57
tembec 57
fleabag 57
dozen-plus 57
trichopoulos 57
antrobus 57
antlfinger 57
zuendel 57
zeevi-farkash 57
thumbelina 57
restrictionists 57
vraalsen 57
radwaniya 57
bergan 57
spectating 57
strike-slip 57
setchell 57
new-era 57
coutries 57
shaoqiang 57
fact-checked 57
fariborz 57
###-billion-pound 57
biblioteca 57
isoa 57
slimeball 57
genaux 57
letha 57
fma 57
trouble-maker 57
sonali 57
anumnu 57
aavishkar 57
r-pasadena 57
wel 57
trailways 57
kalpoes 57
marcelhino 57
erythematosus 57
yayha 57
shenhar 57
raheel 57
yasnaya 57
sung-kuk 57
corvalan 57
houston-galveston 57
touchier 57
u.p. 57
re-live 57
barrington-coupe 57
jarosz 57
highest-flying 57
underuse 57
olmecs 57
climent 57
slabbert 57
commericial 57
shalgi 57
peattie 57
well-staffed 57
cypriot-flagged 57
fraccari 57
rafel 57
ribo 57
vamped 57
taffel 57
lucheng 57
pugnaciously 57
strambach 57
cgtp 57
tapulous 57
rockiest 57
bienstock 57
higher-interest 57
rusted-out 57
sopped 57
third-from-bottom 57
pacholczyk 57
krasovska 57
romulan 57
sang-moon 57
undammed 57
ncacc 57
brookhart 57
valbon 57
greenes 57
kitchell 57
zurick 57
insufficiencies 57
mohamedou 57
daric 57
multicamera 57
sunao 57
y## 57
plumelec 57
ntshangase 57
atwi 57
yiotis 57
baoquan 57
muehlebach 57
vradenburg 57
deliberateness 57
ridgelea 57
superlotto 57
game-long 57
hard-to-sell 57
pjm\/gj## 57
frot-coutaz 57
miram 57
oil-on-canvas 57
laming 57
stodginess 57
rikrok 57
president-in-uniform 57
obbo 57
american-grown 57
#-matt 57
charnvirakul 57
baldomero 57
langfeld 57
throat-slashing 57
hegemonist 57
molchanov 57
tarkan 57
grimaud 57
treelike 57
yi-chiao 57
caston 57
shallman 57
kandeh 57
##-jarkko 57
boy-king 57
germani 57
sindian 57
off-the-book 57
v&s 57
kishaba 57
fertonani 57
schear 57
drainpipes 57
holness 57
pwilson 57
dfler 57
ako 57
bonannos 57
moonwalked 57
buzim 57
trapdoors 57
skeeters 57
camshafts 57
onair 57
psncr 57
calton 57
nyambuya 57
speedman 57
altarpieces 57
fat-laden 57
office-based 57
end-time 57
navigenics 57
anser 57
knup 57
kyung-ja 57
patrimonio 57
erda 57
timecards 57
quencher 57
non-deployed 57
anggoro 57
bajas 57
iju 57
kaggwa 57
miller-jenkins 57
visicalc 57
magdalo 57
johannsen 57
tassinari 57
cat-like 57
spectacled 57
blauner 57
stickwork 57
explosives-sniffing 57
stavenhagen 57
bocskai 57
#-anna-lena 57
brebner 57
moehringer 57
tamweel 57
gold-leafed 57
drevna 57
reidyglobe.com 57
mennes 57
ripia 57
noongar 57
re-appear 57
mangosteen 57
queremos 57
aarchs 57
foon 57
cooz 57
jahurul 57
sn####a 57
demiralp 57
smooched 57
cols 57
chapati 57
resailed 57
evensong 57
luzhin 57
##-plus-year 57
presento 57
non-exempt 57
wahyono 57
servier 57
malayev 57
neuro 57
temerko 57
beddoes 57
marquard 57
cremonini 57
carnivalesque 57
petrac 57
tri-colored 57
debbie-ann 57
beaute 57
previously-announced 57
dugovich 57
thibaudet 57
outboards 57
benhur 57
kubelik 57
schellenberger 57
in-kook 57
papan 57
bdnf 57
haleva 57
precor 57
tightly-contested 57
hge 57
asrar 57
piriz 57
taitz 57
taita 57
medog 57
bonners 57
caucausus 57
uncustomary 57
balsamo 57
##-card 57
good-vs 57
international-class 57
strominger 57
interleukin 57
funeral-home 57
savall 57
easynet 57
konculj 57
fengdu 57
enio 57
cyber-criminals 57
soms 57
wasikowska 57
semporna 57
#to 57
damschroder 57
medstar 57
bastin 57
tno 57
munier 57
rav-# 57
ribalta 57
elmes 57
flicked-on 57
cricket-wc####-pak 57
rehabilitator 57
medora 57
kaddura 57
yannopoulos 57
sericulture 57
closed-captioning 57
rigler 57
pre-injury 57
jandek 57
chiri-yurt 57
#-midnight 57
khorshid 57
witkoff 57
festen 57
aboutreika 57
jourdon 57
hospitalisations 57
salonius 57
subnational 57
bonadio 57
tv-viewing 57
lessee 57
fikir 57
watani 57
newtok 57
kintz 57
in-network 57
repacholi 57
subert 57
moralize 57
truck-loads 57
rocktober 57
recently-held 57
steubing 57
myfi 57
harned 57
alleles 57
nesi 57
referential 57
manufacturing-based 57
rzb 57
sun-worshipping 57
caiu 57
chi-keung 57
majdalawi 57
lackner 57
arrangment 57
o'mahoney 57
intermarriages 57
zantzinger 57
margairaz 57
patzelt 57
chania 57
gribakin 57
##-star 57
haruko 57
lagunas 57
tch 57
ex-social 57
qorabi 57
debt-for-nature 57
plam 57
beady-eyed 57
oscillators 57
blood-related 57
qualm 57
consumer-based 57
leweck 57
high-revving 57
l'heureux 57
meramec 57
fsa-eap 57
lhernandez 57
carports 57
air-worthiness 57
bolswessanen 57
uberti 57
aver 57
#-million-member 57
singleminded 57
hurreh 57
moslem-oriented 56
benediktsson 56
aeolian 56
gogitidze 56
intrepids 56
zebedayo 56
shakhtyor 56
gioiella 56
llegue 56
draggy 56
tkaczuk 56
balongan 56
abullah 56
mn-imj 56
abdula 56
villepinte 56
concrete-filled 56
overcash 56
astara 56
moskvich 56
semi-autonomy 56
investment-linked 56
self-tanner 56
nurmukhammed 56
nilesh 56
pitch-and-putt 56
haetzni 56
corn-soya 56
http://www.redcross.org 56
predominantly-muslim 56
zigging 56
ryegrass 56
soft-cover 56
faibish 56
reinsured 56
mideast-israel 56
koshlyakov 56
big-hitters 56
stalcup 56
amland 56
mega-hits 56
mid-stretch 56
sauna-like 56
antihypertensive 56
muskat 56
ecd 56
chornovyl 56
shih-ming 56
inerrant 56
xiuqi 56
pseudo-scientific 56
langberg 56
bungoma 56
zainol 56
telecomunications 56
escogido 56
okkalapa 56
chun-sheng 56
saefuddin 56
rinus 56
dcp 56
military-based 56
petkovski 56
serbian-led 56
bernardsville 56
farkhar 56
phosphors 56
dutreil 56
wragg 56
hunza 56
khulani 56
brahima 56
zakiur 56
nooni 56
alef 56
governmnent 56
haiti-vote 56
roro 56
waterfowls 56
schoeller 56
unsalable 56
mcdonnel 56
conflict-prevention 56
mantz 56
majelis 56
exultantly 56
pigeon-toed 56
neiers 56
tzemel 56
nghimtina 56
sindhis 56
lippa 56
sg-# 56
al-yemen 56
oughton 56
wash-out 56
pd-imj 56
destinee 56
canfor 56
seyni 56
bp-gm 56
jakkrit 56
###:##:## 56
rapace 56
habie 56
ex-slave 56
tyisha 56
frou-frou 56
groeschel 56
pmb 56
wyrsch 56
idahoans 56
tiantan 56
##-million-us 56
kootenay 56
assasinated 56
teruhisa 56
kirundo 56
joensen 56
wedding-cake 56
underfinancing 56
shapewear 56
clinton-haters 56
tetzchner 56
arja 56
duchesnay 56
fuxi 56
radow 56
theatre-goers 56
sign-carrying 56
horstman 56
castrati 56
heat-generating 56
golfsmith 56
pendareva 56
loubscher 56
fumento 56
winiarski 56
xianrong 56
zanchi 56
alibi-ya 56
f-bomb 56
stonehouse 56
zumbo 56
sange 56
gamidov 56
exanta 56
take-or-pay 56
mapunda 56
propuesta 56
three-meter-high 56
zafaryab 56
haloed 56
sliven 56
lepton 56
alcohol-fuelled 56
operationalized 56
fairless 56
foot-tapping 56
pntl 56
choos 56
danisco 56
khazaal 56
macknin 56
kera 56
non-believer 56
export-dominated 56
chowdry 56
tecnost 56
monceau 56
jmarmstrongdenverpost.com 56
chunsheng 56
ccac 56
oakenfold 56
ktda 56
record-length 56
toco 56
golog 56
pastorale 56
zuberi 56
million-euro## 56
trustor 56
delsener 56
zx 56
college-student 56
ultra-right-wing 56
runout 56
abloom 56
holovak 56
scafidi 56
associaton 56
german-brokered 56
cents-a-share 56
dhanawibawa 56
performance-driven 56
surburb 56
orso 56
duodenal 56
yellow-and-red 56
koehl 56
boonton 56
exective 56
###-footer 56
musasa 56
http://www.nbc.com 56
pig-raising 56
telo 56
cassells 56
sacko 56
monshipour 56
desk-bound 56
soft-top 56
tunings 56
tomasa 56
lekhanya 56
breathalyser 56
hmeid 56
ventolin 56
goldsby 56
coba 56
singkil 56
advertisment 56
barfoed 56
d'ermilio 56
esala 56
#,#-dioxane 56
zohreh 56
kasatka 56
horita 56
spado 56
itvs 56
chia-yuh 56
nandy 56
vercauteren 56
guedj 56
chimene 56
masaba 56
century-oriented 56
novavax 56
burn-in 56
snu 56
moscou 56
gurrola 56
long-feuding 56
grails 56
jsk 56
bachmans 56
deguchi 56
wanchalerm 56
under-performed 56
paisa 56
smap 56
deramus 56
dysphoria 56
pardede 56
lunstead 56
houweling 56
solar-heated 56
lalic 56
banchetta 56
tursday 56
tree-dwelling 56
rightmire 56
tradicion 56
tae-yong 56
sayrescoxnews.com 56
paku 56
mubang 56
moseyed 56
carbon-reduction 56
philippine-born 56
event-planning 56
long-fought 56
shamsudin 56
geninho 56
coatless 56
hardy-garcia 56
and-white 56
kuchov 56
shoebox-sized 56
penalty-killers 56
value-added-tax 56
dispenza 56
ben-yehuda 56
yellow-and-green 56
babaloo 56
goyas 56
then-partner 56
moulty 56
sachio 56
over-the-horizon 56
btp 56
###t 56
calagna 56
avions 56
copepods 56
french-ruled 56
philomel 56
osmo 56
iconix 56
thomastown 56
schoerghofer 56
witchdoctors 56
ryoung 56
wire-fraud 56
tynesha 56
freas 56
cpw 56
unc-wilmington 56
water-born 56
eket 56
loudhailer 56
filipp 56
killick 56
klimenko 56
karppinen 56
kuwait-politics 56
stollsteimer 56
trussell 56
arbesfeld 56
alfama 56
caithness 56
monetti 56
arkle 56
zhoima 56
choue 56
vulgamore 56
rakowitz 56
provencio 56
beswick 56
re-financing 56
innocentive 56
lahoti 56
bertholle 56
eui 56
jostens 56
indecisively 56
gamov 56
kalis 56
toughest-ever 56
mi-jin 56
interwar 56
zari 56
woodroffe 56
baixing 56
isabekov 56
importations 56
hedvig 56
name-your-price 56
vuai 56
carkner 56
jmf\/ml 56
rotarian 56
cerra 56
four-over-par 56
visitantes 56
stautner 56
tiu 56
inside-baseball 56
chakravarthi 56
klokot 56
misstates 56
enap 56
weld-cellucci 56
tahara 56
bolender 56
suettinger 56
karadassiou 56
isak-muivah 56
governates 56
buonomo 56
asia-focused 56
statesville 56
calgon 56
yonemura 56
fazlic 56
sohlberg 56
bogale 56
all-arounder 56
rou 56
swint 56
kendall-smith 56
jamaar 56
gurfinkel 56
kargar 56
re-invented 56
sarda 56
witharanage 56
non-college 56
lohas 56
foremothers 56
vent-free 56
narcotic-drug-related 56
yashar 56
compounce 56
botto 56
geddie 56
marchman 56
ouest-france 56
drees 56
business-services 56
pre-selection 56
vaher 56
jocko 56
saint-quentin 56
amerenue 56
lindenmuth 56
ulus 56
mbala 56
husic 56
yl###-### 56
follicular 56
most-loved 56
ncafp 56
cgx 56
peaden 56
pingeot 56
fusen 56
phaiboon 56
pre-marked 56
heilbroner 56
longyi 56
nr\/dj## 56
nashwan 56
kathuria 56
##-wayne 56
way-station 56
visitor-friendly 56
generative 56
unprejudiced 56
wolfberry 56
cashwell 56
two-building 56
madryn 56
akwesasne 56
community-college 56
lieff 56
coalhouse 56
suncare 56
passamaquoddy 56
kanstantsin 56
amep 56
news-making 56
rahe 56
campione 56
neiwand 56
munabao 56
potti 56
machicura 56
wwor 56
vermeersch 56
schmoekel 56
chiffonade 56
fashola 56
seec 56
centre-backs 56
kremlinologists 56
akuressa 56
neuropsychiatry 56
s-##c 56
mutaa 56
sociobiology 56
ultra-premium 56
twirler 56
xiaojin 56
free-jazz 56
audrina 56
nelon 56
seconds\/### 56
inquisitions 56
level-four 56
vertigo-inducing 56
mugambage 56
bondue 56
yuk\/leung 56
edelnor 56
wascher 56
side-footing 56
giresun 56
enfoque 56
torro 56
rrps 56
kirsh 56
crimefighter 56
importa 56
longer-acting 56
thakurgaon 56
sufferance 56
cricket-wc####-aus 56
fluconazole 56
waltzer 56
stz\/ea## 56
gbm 56
##-stephen 56
urey 56
medine 56
pelloux 56
arkans 56
bizzare 56
siegbahn 56
carnelian 56
rueing 56
pantomiming 56
duckweed 56
hofmeyr 56
nastas 56
pennymac 56
peairs 56
str-ti-jbm 56
suharjono 56
barcenas 56
spit-shined 56
coch 56
aldebert 56
chups 56
eckl 56
czaja 56
redken 56
duffie 56
jordanaires 56
impudently 56
zingaro 56
undistorted 56
toolik 56
kammerhoff 56
decriminalisation 56
clayoquot 56
leblon 56
pakistan-missile 56
gertrudis 56
snooker-gbr 56
al-jarba 56
tumwine 56
morinigo 56
bacre 56
##,###,###.# 56
staleness 56
##hours 56
amni 56
linenthal 56
kleinsasser 56
bepza 56
saransk 56
khermanstatesman.com 56
rockwellian 56
nieuw 56
solomonyan 56
mangahas 56
sewering 56
mozartean 56
##-square-kilometre 56
bhu 56
lampasas 56
coagulate 56
dinaburg 56
dairy-free 56
one-bath 56
djibrill 56
fischer-boel 56
four-button 56
lemon-flavored 56
bipeds 56
horneber 56
mini-movies 56
toplin 56
silang 56
barberton 56
boukensa 56
fernado 56
lamberty 56
gratings 56
marban 56
ilala 56
l'avenir 56
nizhni 56
onepass 56
d&b 56
ilogho 56
bowral 56
lhr### 56
cabaniss 56
camera-friendly 56
langerman 56
plattekill 56
todesca 56
cantorial 56
import-dependent 56
overspenders 56
elsen 56
novorossisk 56
hansabank 56
taip 56
everding 56
kilinc 56
allieu 56
kippy 56
kasputis 56
rrp 56
darling-hammond 56
bitkom 56
holtzhausen 56
kin-chung 56
sinosat-# 56
b'gosh 56
afroz 56
solomou 56
proegler 56
on-sang 56
motorcyles 56
easyknit 56
cross-pollinating 56
ambeyi 56
lavaggi 56
confessors 56
aviion 56
###-######## 56
iraq-unrest-qaeda 56
janowitz 56
ofari 56
tato 56
reputacion 56
gading 56
univac 56
iniative 56
al-amal 56
sahdan 56
culloty 56
mariella 56
boigny 56
partyka 56
juda 56
vierma 56
majorette 56
news-stands 56
ashti 56
sarria 56
donadze 56
huaqiang 56
dej 56
deddy 56
sobaru 56
self-invention 56
murley 56
neurotically 56
smolar 56
piccarreta 56
#og 56
flowerbeds 56
bc-ap 56
inseparably 56
prezioso 56
ropeik 56
pumpido 56
hypothesizes 56
wuz 56
roulade 56
http://www.genoa-g#.it/eng/index.html 56
eu-mideast 56
paddleboard 56
bone-white 56
derschau 56
burika 56
boarding-school 56
senitt 56
re-equipping 56
mulvoy 56
retinues 56
bresse 56
greentown 56
www.insidesocal.com/tv/ 56
sinaia 56
raupp 56
nspo 56
overtopping 56
shindell 56
bahk 56
jeremain 56
kurta 56
margarite 56
ebbesen 56
kise 56
coooperation 56
brochtrup 56
kenya-climate 56
music-themed 56
rahimpour 56
samory 56
business-wise 56
abadie 56
shur 56
euro-skepticism 56
#,###-kilometers 56
mystery-shrouded 56
bulker 56
ovh 56
near-vertical 56
khash 56
espriella 56
unef 56
torbor 56
digene 56
dishonoured 56
ingvard 56
andis 56
o'donley 56
data-serving 56
lakhubhai 56
leccion 56
common-man 56
pre-test 56
diht 56
aegina 56
youngtown 56
talkathon 56
ajirawit 56
stonerside 56
oly-####-advisory 56
non-baseball 56
lusail 56
giacoletti 56
womans 56
chelsom 56
lancing 56
nagyz 56
striatum 56
nahel 56
coinages 56
kleins 56
mulherin 56
estebanez 56
andolina 56
on-coming 56
hazels 56
automotives 56
borai 56
beiteddine 56
su-lin 56
al-siyassa 56
lequi 56
mcmorran 56
pitcher-friendly 56
nitch 56
rauer 56
d'arrigo 56
haziness 56
draft-night 56
maokola-majogo 56
cuppers 56
steinhoff 56
gushiken 56
moppet 56
potebenko 56
fishtailed 56
amedo 56
arbois 56
pasturing 56
harba 56
authorties 56
igber 56
afghan-international 56
myanmar-protest-monks 56
fresh-air 56
iigep 56
wolke 56
shock-jock 56
smilin 56
guguletu 56
deregister 56
coorperation 56
eckstrom 56
guelperin 56
lobed 56
vartanian 56
sponged 56
upledger 56
kalat 56
brocato 56
wuertz 56
longchamps 56
hambastegi 56
wunderkinder 56
longans 56
she-devil 56
frueh 56
ambridge 56
lessner 56
kiddos 56
kuypers 56
daair 56
bg-acw 56
club-swinging 56
szulik 56
quizas 56
maxxi 56
projectionists 56
vujin 56
flyertalk.com 56
gurin 56
prolinea 56
vivra 56
jurijs 56
us-hollywood 56
mirretti 56
wildt 56
###percent 56
sylvers 56
hoerster 56
p-### 56
mdluli 56
slipup 56
zaozhuang 56
kazakhstani 56
furtwaengler 56
muffat 56
busic 56
viamonte 56
montsame 56
tuszynski 56
mickiewicz 56
varathep 56
freak-show 56
tampakan 56
afterburner 56
early-#### 56
kerchove 56
rasanen 56
simonas 56
high-sounding 56
kibbutzniks 56
us-colombian 56
antiqued 56
heatherington 56
amdo 56
side-scan 56
birlik 56
spigarelli 56
non-nordic 56
impact-resistant 56
umran 56
chalke 56
nassari 56
freiman 56
jaar 56
soylent 56
sinjhuang 56
four-hectare 56
continuing-education 56
mimo 56
down-ticket 56
fiercely-contested 56
levantine 56
shamie 56
g\/t\/f 56
autoridad 56
prizing 56
baywalk 56
mocatta 56
tea-to-steel 56
pregunte 56
irascibility 56
towles 56
china-romania 56
hamengkubuwono 56
padire 56
aldam 56
coinsurance 56
auret 56
ignas 56
disco-era 56
minette 56
nurse-midwives 56
smolian 56
jaffery 56
hochschorner 56
rcastro 56
fnla 56
iyanla 56
plant-derived 56
krupp-hoesch 56
night-blooming 56
food-grade 56
fuenmayor 56
glaciation 56
handmaidens 56
kosnatcheva 56
dll###-### 56
mulyo 56
ct## 56
qfc 56
higher-yield 56
deyana 56
underdiagnosed 56
wojtala 56
christmas-season 56
coitus 56
estey 56
ashenfelter 56
hapal 56
tawatchai 56
cambron 56
kasereka 56
periwinkles 56
craciun 56
clabo 56
glashow 56
danwei 56
luwero 56
blythedale 56
kadyr 56
young-me 56
flash-floods 56
spla\/m 56
cross@globe.com 56
pues 56
hounddog 56
bulimics 56
mingming 56
insa 56
videocam 56
paoua 56
http://www.xerox.com 56
car-jackings 56
marzban 56
cattolica 56
katri 56
kanada 56
dacula 56
faurel 56
zaytun 56
autonomy-minded 56
shauri 56
defrayed 56
sanhe 56
howison 56
edurne 56
states. 56
issue-by-issue 56
microturbines 56
macijauskas 56
iberville 56
yizhar 56
cocodrie 56
wats 56
ustc 56
walta 56
ethereally 56
cookstown 56
dissociating 56
once-safe 56
vishwanathan 56
wince-inducing 56
zire 56
arpa 56
al-shurta 56
luneta 56
aldermaston 56
http://www.rnc.org 56
hosono 56
qiqiu\/zhao 56
jacinthe 56
http://www.amrcorp.com 56
derbyshires 56
weiyang 56
houze 56
pirata 56
bugiri 56
lafakis 56
vika 56
dismas 56
cardio-thoracic 56
thrashings 56
reagle 56
us-attacks-guantanamo 56
hwwa 56
undergirded 56
portale 56
scandalizing 56
brezovica 56
zebadua 56
drizin 56
reya 56
tubewells 56
skink 56
babushka 56
pre-judging 56
schutzman 56
wroclawski 56
zaca 56
daviz 56
moree 56
diamantis 56
former-soviet 56
islam-based 56
ennes 56
alysia 56
soloveitchik 56
negar 56
damselflies 56
tried-and-tested 56
hebard 56
slipstream-chipotle 56
meraklis 56
so-call 56
samarn 56
pink-hued 56
hieronim 56
konadu 56
fradulent 56
manchild 56
skube-column 56
bouder 56
permitir 56
seawolves 56
pouladi 56
coronell 56
folino 56
juravich 56
aquacultural 56
dono 56
strongest-ever 56
sub-four-minute 56
shu-hung 56
hakkar 56
kotex 56
relink 56
multiethnicity 56
regio 56
pomar 56
azzopardi 56
kelmon 56
tihany 56
shisun 56
water-repellent 56
bumgardner 56
clark\/donna 56
revenge-minded 56
grcs 56
mcphie 56
small-molecule 56
zorica 56
chavit 56
baselga 56
sirima 56
zegas 56
talis 56
iner 56
racette 56
azema 56
fuhe 56
caramagna 56
strenghtened 56
lavage 56
giannichedda 56
gurbuz 56
degiorgio 56
kilolitres 56
escolero 56
antespend 56
swash 56
unoaked 56
gimondi 56
dirt-road 56
daguin 56
imputation 56
orientalist 56
neigh 56
inconstant 56
penaherrera 56
shambhala 56
ravishingly 56
ikrema 56
mythologizing 56
gwee 56
lousiest 56
zirkin 56
cross-regional 56
campagne 56
dumarsais 56
mansilla 56
quintus 56
jurikova 56
stickered 56
ysern 56
djebbour 56
law-firm 56
quark-gluon 56
forbush 56
non-responsive 56
play-it-safe 56
moisture-laden 56
comradely 56
orito 56
fbl-fra-lcup 56
paucke 56
muji 56
fertilizer-based 56
early-to-bed 56
woodcrest 56
danto 56
onne 56
peri-urban 56
kayiranga 56
jianbo 56
correspondant 56
vankor 56
lambing 56
mephedrone 56
icglr 56
non-lawyers 56
open-handed 56
musetta 56
khanty-mansiisk 56
carouser 56
srebnick 56
unkown 56
frankland 56
by-catch 56
aeromedical 56
middle-tier 56
knust 56
natsagiin 56
gressly 56
long-coveted 56
golf-epga-por 56
thanat 56
ivermectin 56
garbelotto 56
medin 56
lamoreaux 56
ciwujia 56
iacoboni 56
lipin 56
gundegmaa 56
nkhoma 56
itek 56
cebekhulu 56
serigne 56
tsumura 56
radio-show 56
mirman 56
kelder 56
desvonde 56
elongation 56
shot-for-shot 56
loofah 56
sterno 56
hrabal 56
kumon 56
erinle 56
workmate 56
zuendt 56
computer-software 56
dervishi 56
muhieddin 56
sasono 56
second-week 56
sliti 56
winterrowd 56
ex-test 56
entomological 56
kooiman 56
akhmedova 56
stepanovic 56
kriste 56
alfond 56
qed 56
fullone 56
gold-encrusted 56
fireballer 56
backbenches 56
anti-minority 56
parakh 56
on-street 56
majolica 56
responde 56
geraldton 56
polyot 56
taleqani 56
hand-knitted 56
paleozoic 56
a-ram 56
oil-tainted 56
matuidi 56
sanest 56
middle-schooler 56
wrightsman 56
gerdano 56
nozadze 56
imm 56
sholar 56
plea-bargained 56
http://www.usccb.org 56
shikata 56
##-kevin 56
tejgaon 56
two-and-a-half-month 56
much-younger 56
vaill 56
krach 56
audah 56
bullis 56
maharajahs 56
unadilla 56
uzbekistani 56
airconditioners 56
egolf 56
longheld 56
oriflame 56
sportcoat 56
cuttaree 56
cressend 56
exculpate 56
re-shuffle 56
sinosure 56
kartono 56
supergrass 56
walley 56
nouzaret 56
well-adapted 56
chupacabra 56
schoenbaum 56
user-friendliness 56
shorabak 56
zaiqing 56
sluga 56
oegroseno 56
cloer 56
waterlily 56
nisreen 56
junor 56
cha-ching 56
rocknes 56
kejuan 56
hofmannsthal 56
goldhirsh 56
h.i.v. 56
herschbach 56
rajakarunanayake 56
pottenger 56
humanplasma 56
bentler 56
opi 56
troglitazone 56
borgas 56
ayatskov 56
princetonian 56
wingard 56
kashmir-based 56
chaiet 56
excretions 56
eydie 56
marthastewart.com 56
glassine 56
henkes 56
shikuku 56
ngarlejy 56
meversley 56
kunsthistorisches 56
pro-stadium 56
carrel 56
weilerstein 56
jamiruddin 56
flashiness 56
#.##-trillion 56
dubee 56
knickerbockers 56
hedong 56
yung-lai 56
done-that 56
weisler 56
protectmarriage.com 56
assitance 56
kadewe 56
near-war 56
wigstock 56
resonator 56
neu-ulm 56
taimali 56
organ-transplant 56
compositing 56
fantagraphics 56
scharioth 56
redleaf 56
htil 56
mideast-gaza 56
manasieva 56
gwang-soo 56
yannotti 56
unclassifiable 56
nagarajan 56
banisar 56
devroy 56
nangka 56
house-sized 56
mefraj 56
lake-side 56
peachcare 56
kagah 56
apostrophes 56
frame-ups 56
hainaut 56
noiseless 56
chiado 56
salesgirl 56
borovic 56
kaouch 56
kirkaldy 56
non-automotive 56
prokopek 56
three-event 56
aseanapol 56
elfatih 56
al-osboa 56
santy 56
gerrick 56
untallied 56
bushings 56
turn-over 56
five-length 56
afanasyevsky 56
meiselas 56
yugoslav-made 56
##-quart 56
pegu 56
riverwoods 56
take-back 56
remote-detonated 56
oil-reliant 56
jd\/nr## 56
erinvale 56
brookhiser 56
ghirardi-rubbi 56
medsger 56
mesilla 56
maysa 56
carter-finley 56
biver 56
surkh 56
toy-related 56
pring 56
jjh-eap 56
n-#### 56
sciarrino 56
moba 56
falcioni 56
furia 56
franz-christoph 56
liguera 56
herreshoff 56
bjelkevik 56
idoko 56
helander 56
bby 56
matrika 56
milas 56
kosak 56
forteo 56
non-kenyan 56
fretes 56
cienaga 56
q###s 56
chia-yen 56
worrywart 56
professional-grade 56
estudillo 56
deficit-fighting 56
mazzulla 56
bie-shyun 56
brick-sized 56
robeco 56
goskowicz 56
d'hiver 56
dewes 56
toppo 56
sacb 56
golden-capped 56
boudreau-gagnon 56
deflectors 56
sauzee 56
ketz 56
footbal 56
menaka 56
jerred 56
tugendhat 56
sutee 56
semi-secret 56
cftr 56
schabarum 56
shirani 56
odon 56
cosey 56
http://www.aflcio.org 56
doorbuster 56
dimmock 56
cref 56
krusee 56
gruwell 56
propellors 56
brodovitch 56
poutine 56
dunhua 56
lese-majeste 56
epicurious.com 56
late-april 56
niha 56
lifescan 56
mellette 56
guangxiang 56
shawali 56
sagia 56
eu-eurozone-economy-growth 56
suzerainty 56
wheatgrass 56
adir 56
man-bok 56
customizer 56
accordionists 56
perspicacity 56
walusimbi 56
valenciano 56
developping 56
matellan 56
propiedades 56
topa 56
mirken 56
calvins 56
townfolk 56
self-motivation 56
##-nicole 56
tear-streaked 56
lin\/wang 56
shibboleths 56
ueslei 56
kleier 56
unionville 56
mohtarma 56
esmeijer 56
soloed 56
sandschneider 56
super-long 56
payal 56
victim-impact 56
carrs 56
bufalino 56
pavlovski 56
demayo 56
http://www.nmb.gov 56
chen-yuan 56
wine-and-cheese 56
perepelova 56
saddiqi 56
unsafely 56
d'amiano 56
henochowicz 56
lesperoglou 56
vandewater 56
sportsweek 56
fankhouser 56
jayer 56
karres 56
economise 56
masopust 56
dessie 56
poona 56
assouw 56
rebated 56
saimone 56
ethno-religious 56
albany-area 56
peiyao 56
highly-efficient 56
njie 56
vernand 56
bore-hole 56
lundine 56
foxcroft 56
svoik 56
delyagin 56
bodas 56
non-qualified 56
ditrapano 56
al-gizouli 56
giorgianni 56
talab 56
caribbean-weather 56
cross-bred 56
conair 56
http://www.njusao.org/break.html 56
garlock 56
karmakar 56
the#### 56
cheek-to-cheek 56
jawiya 56
goldsbury 56
pelajaran 56
shults 56
kalala 56
zaetta 56
daubert 56
risd 56
brunhoff 56
ciment 56
blunden 56
call-to-arms 56
khirbet 56
seliverstova 56
vadhana 56
peochar 56
re-development 56
eight-sided 56
magam 56
veran 56
tax-dodgers 56
luana 56
cattle-rustling 56
raia 56
pb-jp 56
non-labor 56
mid-##st 56
russian-occupied 56
http://www.freddiemac.com 56
nowgam 56
hiroyoshi 56
shenlong 56
rafidiyeh 56
njoki 56
odoriferous 56
goldoni 56
iws 56
mabou 56
ozio 56
chiuri 56
first-of-its 56
ciders 56
by-now 56
second-winningest 56
arix 56
gsd 56
pro-yugoslav 56
ertugruloglu 56
nissay 56
guaita 56
jefferys 56
##-straight 56
spielbergian 56
complexly 56
phumaphi 56
baronet 56
brulliard 56
herrara 56
conwood 56
contin 56
eastent 56
iwashita 56
proforma 56
guiyu 56
wenn 56
time-cnn 56
re-regulate 56
myaungmya 56
grapplers 56
chimura 56
ganchev 56
twerp 56
yukking 56
pflaumer 56
deloatch 56
al-jabali 56
paech 56
delimited 56
panola 56
clottemans 56
neigbors 56
gruzen 56
chile-quake 56
milkmaid 56
ooooo 56
ravenscroft 56
darbar 56
whitely 56
tumpat 56
sandile 56
wxia 56
iwork 56
mcmahons 56
gawd 56
engles 56
work-based 56
china-unrest-tibet-rights-oly-#### 56
trembler 56
nybz### 56
fengshui 56
moalin 56
perumal 56
sopon 56
tae-bo 56
ghosting 56
changgwang 56
kecil 56
kjolstad 56
kopel 56
bone-building 56
ju-on 56
dogaru 56
palframan 56
bauduin 56
ueb 56
time-space 56
fellow-citizens 56
papahanaumokuakea 56
segment-leading 56
fuel-hedging 56
shokir 56
coffeeshops 56
advantica 56
marcelina 56
recirculate 56
lead-zinc 56
lankan-born 56
cnbc.com 56
effros 56
keast 56
indecorous 56
ostrov 56
low-demand 56
grafer 56
kaigler 56
yniguez 56
tayyaba 56
woodcraft 56
k.p.s. 56
jarwan 56
yamasoto 56
l'carriere 56
ruttenberg 56
revver 56
#-gisela 56
long-shuttered 56
westshore 56
rendina 56
moscardi 56
yoani 56
dungu 56
http://www.mtv.com 56
lupa 56
money-lending 56
futagawa 56
al-majd 56
sarokin 56
masefield 56
hatemongers 56
#####-#####-# 56
ci-### 56
guderzo 56
connoting 56
galavision 56
loggans 56
fiorucci 56
re-inspected 56
lemenager 56
covadonga 56
chronometer 56
prodon 56
chandraswamy 56
gatlif 56
moevenpick 56
giaccone 56
charanga 56
arti 56
clinton-appointed 56
extrasensory 56
martaban 56
essaye 56
florentines 56
mctague 56
derozan 56
bmet 56
akher 56
counter-corruption 56
notepaper 56
luzinski 56
skanky 56
unharvested 56
kadosh 56
taimyr 56
martial-law 56
shoreditch 56
somersworth 56
mass-scale 56
lobotomies 56
frates 56
al-gailani 56
cuito 56
biters 56
fiszmann 56
murati 56
vouilloz 56
arscott 56
goshutes 56
fouhami 56
palestinian-palestinian 56
hellmer 56
maryinsky 56
g-class 56
cvid 56
hilman 56
us-japan-space-shuttle 56
vallop 56
pripyat 56
genencor 56
nightshade 56
kielar 56
ginanjar 56
botan 56
sukamdani 56
temizkanoglu 56
berezovksy 56
lithographic 56
colbie 56
courchesne 56
newsbreak 56
kwamie 56
characterising 56
joyriding 56
ghilarducci 56
mortham 56
shaken-baby 56
glorieta 56
fengyun-# 56
leibacher 56
gardening@nytimes.com 56
christenings 56
discombobulating 56
ambion 56
stolyarov 56
lastuvka 56
ultra-tight 56
xingye 56
terrariums 56
treaty-based 56
edmon 56
mangena 56
scopolamine 56
nobes 56
long-separated 56
acls 56
skamania 56
egx## 56
dahduli 56
motech 56
intitial 56
caffita 56
girl-group 56
half-expected 56
linette 56
soldati 56
pend 56
hopoate 56
pre-castro 56
lulin 56
http://www.usccb.org/ 56
non-convertible 56
abu-zayyad 56
step-brother 56
artux 56
yusanto 56
bestiary 56
debrum 56
dingers 56
khamzat 56
ridpath 56
adex 56
anthracnose 56
ten-week 56
helbrans 56
shoehorning 56
:####### 56
paride 56
boosterish 56
goldwin 56
pigeonholes 56
raimunda 56
howden 56
evangelized 56
mixups 56
panter 56
o.h. 56
rockrose 56
england-born 56
augustow 56
lessel 56
kasane 56
sudeikis 56
contentville 56
cleaning-up 56
natan-zada 56
manawatu 56
unreviewable 56
witticism 56
ternus 56
uscirf 56
rijsbergen 56
rakad 56
cruciferous 56
dundes 56
pirozzi 56
kreegel 56
budgie 56
clijster 56
brou 56
shaywitz 56
lopano 56
helissio 56
bolshunov 56
tennstedt 56
anhua 56
dimiter 56
mosquito-control 56
hearts-and-minds 56
pretre 56
tvind 56
abednego 56
born-and-bred 56
zingre-graf 56
longhai 56
inniger 56
diaper-changing 56
corleones 56
runge-metzger 56
tangdhar 56
thibadeau 56
financieele 56
chassin 56
polarities 56
chi-x 56
helvey 56
vetters 56
pazzi 56
univerity 56
jail-house 56
pegasystems 56
chengshan 56
ofakim 56
a-lister 56
jackfruit 56
kissy 56
ruocco 56
paleobiologist 56
bobosikova 56
al-rayes 56
dornod 56
as-expected 56
zadari 56
javadi 56
dynatech 56
silantiev 56
sonaecom 56
kerosine 56
akito 55
benedictions 55
mamounia 55
charco 55
blue-colored 55
val-de-marne 55
antipov 55
nagu 55
mueller-wohlfahrt 55
pratapkumar 55
multirole 55
squibbed 55
seroczynski 55
satcom 55
yaacobi 55
weihong 55
whitesnake 55
uninflected 55
pabbo 55
runyonesque 55
sloviter 55
sperrazza 55
rimland 55
standen 55
echouafni 55
thanakorn 55
okutan 55
olim 55
nadeam 55
dolla 55
chaudhri 55
hediger 55
ibwc 55
craigslist.com 55
sub-office 55
al-luhaibi 55
boutris 55
harshman 55
buhain 55
nurhadi 55
food-loving 55
pluots 55
geometrics 55
pedercini 55
couvrette 55
rlopez 55
greystoke 55
standbridge 55
afilias 55
ex-strongman 55
fator 55
somerwill 55
worthley 55
karbanenko 55
amchitka 55
thadeus 55
etemad-e-melli 55
safecracker 55
once-elegant 55
gonyea 55
anti-islamist 55
dabanovic 55
aljabr 55
ozcelik 55
smutny-jones 55
fa'asavalu 55
searby 55
pengrowth 55
cuecat 55
mininum 55
shkirko 55
golf-club 55
muzzafarabad 55
bozsik 55
discerns 55
rothbaum 55
ayila 55
scandanavia 55
lewmar 55
jelloun 55
dragnea 55
pole-dancing 55
takanyi 55
customshouse 55
kritzer 55
gomelauri 55
y.v. 55
off-airport 55
delfs 55
points-scoring 55
jupin 55
eliska 55
rainman 55
renovator 55
laroussi 55
osmus 55
gegamian 55
bantadtan 55
voletta 55
yussupova 55
tottenville 55
dascalu 55
#-los 55
metabolizing 55
kremlin-orchestrated 55
gastro 55
khayyat 55
talara 55
zizzo 55
sumaysim 55
b-level 55
secularisation 55
foreign-ownership 55
puning 55
stoos 55
moun 55
sidener 55
footmen 55
kamioka 55
nazy 55
valentierra 55
lebovitz 55
palanga 55
english-khmer 55
secularize 55
tousignant 55
development-related 55
joram 55
positano 55
hand-crank 55
laser-beam 55
outfalls 55
gps-enabled 55
maranda 55
ewatch 55
executive-secretary 55
saira 55
radom 55
wagoneer 55
romack 55
biomolecular 55
marsudi 55
vernier 55
casualization 55
non-intrusive 55
idefense 55
o.b. 55
credit-monitoring 55
munante 55
molehills 55
seelbach 55
swiger 55
bado 55
dppc 55
gremolata 55
non-parents 55
ikenson 55
wanniarachchi 55
wednesdy 55
lilas 55
chengliang 55
krauter 55
blast-furnace 55
polinard 55
oscar-winners 55
oddar 55
qingcheng 55
gellin 55
castmate 55
empedocle 55
wse 55
comerci 55
octuplet 55
gristmill 55
calcium-fortified 55
aeron 55
xiuli 55
powerine 55
near-default 55
spangles 55
zarafshan 55
turkish-based 55
posptoned 55
guyana-based 55
agroforestry 55
heavily-protected 55
egis 55
baoqing 55
niezabitowska 55
assignee 55
taddeo 55
xiaolan 55
wechsel-bank 55
still-living 55
bolingbroke 55
fusari 55
padnos 55
feistiest 55
heumann 55
nalle 55
umbridge 55
anthocyanins 55
vampirism 55
fuel-related 55
katari 55
newly-married 55
funderburg 55
compunctions 55
mi-jung 55
parrotheads 55
kail 55
jinhao 55
ganciclovir 55
central-east 55
m\/a-com 55
ggagbo 55
haendel 55
cholamandalam 55
emina 55
thiamin 55
autorities 55
thrill-seeker 55
onu 55
serb-majority 55
mandylor 55
kenesei 55
soffa 55
ghozlan 55
puffinburger 55
autotrader.com 55
janowska 55
luxenberg 55
liddick 55
stelmakh 55
internationally-known 55
oil-pipeline 55
lolli 55
shiang-nung 55
matovu 55
sablefish 55
untradable 55
ninth-placed 55
minidv 55
byronic 55
tesema 55
nightime 55
isea 55
florida-alabama 55
bruininks 55
gronke 55
chearavanont 55
##-by-##-centimeter 55
latwp 55
trouville 55
allover 55
switz 55
notman 55
mickler 55
bouchenaki 55
beirendonck 55
sharkboy 55
anahuac 55
frale 55
voter-rich 55
livingood 55
bailis 55
catsup 55
finnish-german 55
chalupas 55
genri 55
abdulatif 55
episiotomy 55
rumbaut 55
mullein 55
bursted 55
crye 55
philoctetes 55
beji 55
kreidenko 55
brianderson 55
gitex 55
supoj 55
redmen 55
road-testing 55
rac-ns 55
el-arab 55
tahsi 55
lactose-intolerant 55
out-aced 55
sherifi 55
angat 55
patarroyo 55
czuma 55
arsi 55
tongue-and-groove 55
sudol 55
punkers 55
frayre 55
performance-wise 55
#-xavier 55
cantel 55
ndiaye-diatta 55
junes 55
comegys 55
nyuk 55
bachelorettes 55
creepy-crawly 55
risner 55
nassi 55
teall 55
outraising 55
mini-concert 55
ever-lasting 55
habboush 55
garrigue 55
trelleborgs 55
elisangela 55
task-oriented 55
rueppel 55
bone-thin 55
cremi 55
hamat 55
long-faced 55
cjh\/rr 55
finisar 55
malaysia-vote 55
pene 55
dovid 55
deal-killer 55
enestam 55
dedes 55
dingiri 55
russia-chechnya-vote 55
genis 55
shaabiya 55
chelyabinsk-## 55
selecta 55
short-dated 55
mahadhesi 55
death-knell 55
gotzsche 55
ilaga 55
lanegan 55
kouk 55
mahle 55
per-mile 55
corruption-busting 55
alipui 55
gorali 55
jiazhen 55
yu-ting 55
isely 55
medaire 55
haggui 55
p#-plus-one 55
ntn 55
mkalavishvili 55
off-farm 55
chromatis 55
sharia-compliant 55
highest-volume 55
boner 55
kannell 55
tottenham\/eng 55
helsingoer 55
coluccio 55
aliyeva 55
steier 55
koers 55
exceso 55
desaulniers 55
comcast-spectacor 55
jersey-born 55
rock-music 55
al-mazidi 55
kilim 55
povera 55
iksanov 55
tele-ventures 55
primor 55
civlians 55
r.i.-based 55
orania 55
year-around 55
small-to-medium 55
dravecky 55
bontecou 55
the# 55
amsterdam-schiphol 55
workrate 55
advocator 55
demouge 55
ei-ichi 55
aeberhard 55
bridi 55
picacho 55
dinant 55
slashers 55
judaea 55
kayama 55
delavekouras 55
fuli 55
dreno 55
##-year-plus 55
anang 55
lerche 55
abessole 55
##-robert 55
khidr 55
meheganglobe.com 55
dubuc 55
budiardjo 55
#-state 55
spit-roasted 55
asbill 55
balvino 55
munyenyembe 55
balzaretti 55
ivelin 55
aproximadamente 55
pockmark 55
ulleval 55
moneycentral 55
houssine 55
gagoc 55
jong-ho 55
nonlawyer 55
str\/lp## 55
ship-to-air 55
yanakiev 55
gimbels 55
concow 55
moschetti 55
zonghuai 55
ottenhoff 55
no-bake 55
rutschow-stomporowski 55
tampabay.com 55
tzeltal 55
c-note 55
vebjoern 55
fuel-cycle 55
colombian-owned 55
rescigno 55
cropsey 55
triple-x 55
palmbeachpost.com/depression 55
khanjani 55
tousle-haired 55
gulled 55
tullia 55
bideau 55
#-and-a-half 55
waytha 55
aido 55
###ci 55
huels 55
mychael 55
madrigali 55
trygg 55
ciccolo 55
kotscho 55
levinstein 55
taie 55
adcb 55
kry 55
ethers 55
cheaptickets.com 55
lehrmann 55
dendur 55
antipodean 55
#-gao 55
keret 55
srilanka-unrest-blast 55
swamis 55
horse-breeding 55
dinsmoor 55
barysch 55
junior-level 55
geode 55
hoffmann-laroche 55
nones 55
wijdan 55
square-shouldered 55
white-shirted 55
coldiron 55
chartis 55
kuskokwim 55
stepfret 55
gopendra 55
nefertari 55
klsx-fm 55
westhusing 55
revault 55
luxar 55
giancola 55
gartnerg# 55
lakemba 55
organizaciones 55
camerman 55
amoussou 55
last-hour 55
pastrik 55
datsakorn 55
duxford 55
brown-brick 55
fortul 55
zainy 55
wamidh 55
hanel 55
feda 55
reminyl 55
thoeni 55
sportcenter 55
white-fleshed 55
parchments 55
seafrance 55
nordmark 55
aristobulo 55
ligonier 55
rmf 55
torchy 55
butcheries 55
kurfuerstendamm 55
http://www.cdc.gov/h#n#flu 55
isleta 55
letter-bombs 55
hadrosaur 55
nourizadeh 55
kujawa 55
memling 55
mtd 55
parents-to-be 55
kinyu 55
completo 55
alsatians 55
itta 55
baoliu 55
pravit 55
siping 55
korea-eu 55
fulminate 55
guandu 55
yili\/zhao 55
demott 55
pakistan-militant 55
lpu 55
petrowski 55
sondashi 55
lindbom 55
gatton 55
dubelier 55
hsin-hsing 55
ghazl 55
chad-unrest 55
amcc 55
lemon-yellow 55
aniek 55
danshuei 55
tidmore 55
chin-up 55
scarpaci 55
fresnel 55
mecum 55
rosebush 55
consumer-confidence 55
vainshtok 55
kateri 55
hungiapuko 55
qibao 55
camon 55
ruhlmann 55
claunch 55
audible.com 55
falic 55
bardales 55
lithographer 55
ebrima 55
szot 55
ambulance-chasing 55
watoto 55
vigan 55
komineft 55
miklikova 55
tbl 55
egidius 55
srikkanth 55
senlin 55
suizhong 55
saltpeter 55
shitreet 55
laxton 55
cspc 55
elisdottir 55
perrins 55
uniglory 55
emmick 55
skulk 55
earwax 55
benaroya 55
rushwaya 55
discomforted 55
ohalete 55
panigoro 55
mosquito-born 55
safe-house 55
excelerate 55
mattino 55
masoudi 55
sonon 55
bn.com 55
ostergaard 55
kamya 55
kyeung-ran 55
kitayama 55
fu-hsing 55
clip-art 55
trillion-won 55
ascender 55
spritzing 55
jonesing 55
policy-based 55
flomo 55
globalist 55
acamprosate 55
redwall 55
ljudmila 55
korade 55
lubo 55
highhandedness 55
anad 55
#.#-meter-deep 55
brownshirts 55
attaboy 55
traynham 55
europeanized 55
adjustables 55
lumberyards 55
hotel-like 55
elektroprivreda 55
kirilova 55
dual-layer 55
errett 55
racinos 55
sigou 55
spindletop 55
steidl 55
hilderbrand 55
man-of-the 55
unconditioned 55
budget-strapped 55
bodart 55
danic 55
plushest 55
jalaleddin 55
fna 55
to-# 55
burhannudin 55
godward 55
greece-fires 55
transfat 55
lovelife 55
myomectomy 55
delgada 55
ictv 55
u.s-mexico 55
lloreda 55
moebius 55
barkow 55
madox 55
liang-jen 55
g+j 55
cgnpc 55
punchier 55
wrsa 55
rospars 55
overbid 55
lokichoggio 55
fukuura 55
yuegu 55
tarkett 55
snocountry 55
inui 55
moved.wits-end-column 55
partita 55
overfilling 55
hectarage 55
okwiri 55
#-zheng 55
eidinger 55
tengan 55
kouris 55
cbuchholz 55
hafnarfjordur 55
owasi 55
iza 55
spungen 55
tepix 55
sial 55
keepin 55
paint-by-number 55
jeanene 55
natural-food 55
korniyenko 55
hartadi 55
ananova 55
trend-setters 55
nohilly 55
pasteurize 55
www.blogs.tampabay.com/food 55
advertising-driven 55
nalumango 55
ruxton 55
jalrez 55
miyar 55
dmelvin@coxnews.com 55
overvalue 55
slane 55
hankerson 55
harpswell 55
wassell 55
bishan 55
fried-chicken 55
galvanic 55
ylli 55
cusip 55
dogeared 55
goofy-looking 55
rhys-meyers 55
lined-up 55
heeren 55
hyslop 55
yanovsky 55
www.aa.com 55
seagren 55
wiklund 55
art-making 55
non-lawyer 55
saurashtra 55
michoacana 55
##-###-## 55
shabnam 55
roadworker 55
shetler 55
quistelli 55
jacksonville-based 55
galekovic 55
badruddin 55
voorhis 55
three-song 55
geordies 55
decane 55
kilrea 55
epfl 55
gentamicin 55
chewed-up 55
severgazprom 55
bolona 55
chandos 55
rafflesia 55
mercutio 55
pipebomb 55
ruthann 55
makhenkesi 55
sweatband 55
built-ins 55
donata 55
ramonet 55
meehl 55
curico 55
alibux 55
commentary\/oped 55
slifkin 55
bason 55
lawsky 55
sabal 55
isaksen 55
cheng-kung 55
labruno 55
musics 55
virgets 55
qidwa 55
export-heavy 55
out-compete 55
nettuno 55
ruhanie 55
shailendra 55
ogallaga 55
time-being 55
mashego 55
bangladesh-based 55
####b 55
####g 55
school-prayer 55
necked 55
luzern 55
wasbir 55
pro-royalist 55
montelongo 55
sudan-darfur-un 55
internationally-sponsored 55
buyenzi 55
b&l 55
paragliders 55
producer\/director 55
saalbach 55
dillons 55
subleasing 55
unifrance 55
fleeces 55
chu-huan 55
kanchi 55
bihan 55
agrama 55
white-sided 55
hansack 55
jin-woo 55
hileman 55
handwoven 55
stouter 55
leaf-shaped 55
osby 55
stamen 55
pleasurably 55
chimeras 55
film-related 55
jotspot 55
baitzel 55
palmar 55
ilegal 55
hiaa 55
eeeee 55
alcobendas 55
prewett 55
knkt 55
berkous 55
woe-is-me 55
krinkie 55
magdelena 55
post-hussein 55
hardline-controlled 55
narrow-bodied 55
aqueous 55
burukina 55
nozoe 55
awartani 55
kalapani 55
guenot 55
tuipulotu 55
iovino 55
vosper 55
##-flavia 55
rrodriguez 55
tranh 55
d'amuro 55
weert 55
brosh 55
europewide 55
kovals 55
pie-shaped 55
nahda 55
siboni 55
vedenkin 55
squillacote 55
gittes 55
jaakkola 55
khattabi 55
vatican-affiliated 55
fewer-than-expected 55
subschinski 55
sherawat 55
galadari 55
salvors 55
virdi 55
jayasundara 55
giraudet 55
longjing 55
thum 55
ahorros 55
pro-franco 55
plutonium-making 55
environmental-protection 55
escuredo 55
zhiping 55
worktable 55
sediq 55
tree-hugger 55
sahlman 55
fadeout 55
zizhou 55
martes 55
u.s.-arranged 55
kymco 55
nxc# 55
kopin 55
astbury 55
marzan 55
dongfanghong 55
montecore 55
cpap 55
yamase 55
assiri 55
mbandjock 55
plutocrat 55
###-billion-baht 55
unmerciful 55
british-chinese 55
re-gifting 55
sexually-explicit 55
switch-off 55
svan 55
abeywardene 55
ansin 55
cold-shoulder 55
terron 55
lizard-like 55
aquarian 55
solove 55
water-carrying 55
celebrityhood 55
foreign-produced 55
ganascia 55
nyepi 55
popmart 55
ustream 55
rosalio 55
outdrawing 55
vladimirovna 55
gbissau 55
ersoy 55
golovlyov 55
biserko 55
glicken 55
fbl-esp-cup 55
briskman 55
solvberg 55
wehr-hasler 55
yokel 55
koplovitz 55
likeminded 55
berkey 55
infrasound 55
al-adil 55
quinley 55
boym 55
boxier 55
tutuila 55
stair-climbing 55
vike 55
a.f.m. 55
belgrad 55
nucleaire 55
makubuya 55
silverchair 55
prawiro 55
kluzak 55
decepticons 55
chappy 55
eeriest 55
paycut 55
pinit 55
tech-dominant 55
charbonnet 55
mid-innings 55
watermarking 55
unshelled 55
bpa-free 55
faughnan 55
vanins 55
sirena 55
militello 55
officier 55
fras 55
marudai 55
hypnotherapy 55
pasada 55
laser-cut 55
fuji-servetto 55
butar 55
vajna 55
miguez 55
cseries 55
schlow 55
hamkyong 55
top-hatted 55
midf 55
union-mandated 55
hanssens 55
exhorbitant 55
most-famous 55
ruesch 55
dexedrine 55
baracoa 55
maricela 55
appropriator 55
bronis 55
vachagayev 55
maseratis 55
growth-stock 55
westerngeco 55
fuel-injection 55
jpletz 55
edun 55
pinmanee 55
swarts 55
gauntlets 55
bovelander 55
azpurua 55
honka 55
edge-of-your-seat 55
mcspaden 55
aacc 55
underripe 55
helipads 55
intra-shiite 55
corazzin 55
copperheads 55
mumuni 55
hruby 55
d'alba 55
goodland 55
verrill 55
hitoki 55
forswore 55
griddles 55
spintronics 55
sunncomm 55
tongsalee 55
anti-roll 55
drogoul 55
ecologic 55
two-states 55
acto 55
coral-colored 55
juliusz 55
traesch 55
ulaanbaatar 55
##-grade 55
scorelines 55
rainswept 55
mandisi 55
dually 55
wiant 55
essig 55
zambeze 55
ortigas 55
crewson 55
assurer 55
yellow-legged 55
pirouetting 55
gotschall 55
injury-forced 55
chemins 55
aerator 55
musalo 55
kaijuka 55
radivoje 55
rennet 55
half-seriously 55
bulwer-lytton 55
ashrafiyeh 55
smaller-market 55
mukarram 55
one-and-only 55
bojkov 55
mosab 55
remmel 55
capellini 55
lemel 55
marostica 55
gurfein 55
kilicdaroglu 55
config 55
xxxend 55
well-chilled 55
meatiest 55
###,###-rupee 55
infinitis 55
fiddlehead 55
simpanan 55
bat-winged 55
banyoles 55
neistat 55
ragas 55
philologist 55
autostick 55
nessler 55
##-people 55
tr#s 55
tent-pole 55
algarabawi 55
prakarn 55
ts### 55
pierre-henry 55
dumbfounding 55
http://www.chinapntr.gov 55
bnu 55
step-grandfather 55
mcnamaraglobe.com 55
mlm 55
pepitone 55
americium 55
phased-out 55
mitchellville 55
india-weather 55
ilion 55
sapan 55
land-to-air 55
aerators 55
bacho 55
gerwig 55
richart 55
dethrones 55
runcorn 55
hinzpeter 55
spoon-feeding 55
krey 55
artform 55
kva 55
macmullanglobe.com 55
nonde 55
hispanico 55
danke 55
sevene 55
arqam 55
mbatista 55
rphilpotstar-telegram 55
lauridsen 55
estrogen-only 55
clow 55
ki-### 55
foucher 55
zetec 55
autograph-signing 55
africanus 55
ex-israeli 55
psoriatic 55
hualing 55
unibet.com 55
khoshchehreh 55
matanog 55
peace\/def 55
rashid-merem 55
kostyuk 55
niantic 55
dressen 55
neinas 55
in-process 55
kazeem 55
pude 55
arria 55
funing 55
self-destructiveness 55
shergold 55
batiuk 55
petrosa 55
staser 55
seebaran 55
nesmachny 55
#rd\/tv 55
altona 55
macarounas 55
urad 55
arenes 55
zinovy 55
javelins 55
carpet-cleaning 55
al-gumhuriya 55
mogelonsky 55
tattle 55
afaq 55
balie 55
jayesh 55
mccawley 55
manganaro 55
breitsprecher 55
charice 55
abdiqassim 55
tantaquidgeon 55
yung-san 55
meirav 55
###km\/h 55
anouma 55
el-ayoun 55
wherehouse 55
alloudi 55
moshtarak 55
ktvt 55
gholikhan 55
gogele 55
mithoff 55
intourist 55
x-milwaukee 55
never-used 55
#,###-square-kilometre 55
darkman 55
moulvibazar 55
reher 55
sewa 55
krulwich 55
kajiwara 55
tunmore 55
#-gong 55
guille 55
wrong-doers 55
cirone 55
adinolfi 55
kil-seung 55
charge-card 55
tumpel-gugerell 55
guliev 55
glenmore 55
flagcarrier 55
zakum 55
centromin 55
earnings-driven 55
pavoni 55
machination 55
flyertalk 55
all-too-real 55
maidenhead 55
celtic\/sco 55
rawod 55
co-world 55
sekhar 55
gendel 55
szymanowski 55
domer 55
tailandia 55
three-panel 55
vereker 55
kuchinsky 55
yongqiang 55
fremont-based 55
imouraren 55
kotschau 55
gebre-egziabher 55
consolatory 55
already-fragile 55
mabini 55
forehander 55
whomping 55
test-drove 55
opensocial 55
bacteria-killing 55
kanko 55
yakovleva 55
bergert 55
munari 55
soccer-only 55
maniatis 55
helgesson 55
nippert 55
magnee 55
hamisah 55
non-war 55
klaasen 55
rubai 55
saint-lazare 55
shafir 55
jianlin 55
koppers 55
lamberton 55
metta 55
algoma 55
kessar 55
kozue 55
swiss-registered 55
moderate-led 55
desarrollar 55
adenoids 55
oberhofen 55
tregubova 55
##-cents 55
adesina 55
nedo 55
trunzo 55
nasaw 55
vinters 55
avx 55
zanna 55
suspender 55
glutting 55
objet 55
medicina 55
latka 55
elegante 55
kilner 55
government-certified 55
rc-# 55
al-thawadi 55
flip-out 55
polish-language 55
stationmaster 55
fire-bombs 55
seemo 55
practical-minded 55
tank-top 55
hodari 55
saj 55
ger\/sae 55
spinbaldak 55
bikker 55
volpenhein 55
rom-com 55
funches 55
haacke 55
al-hajiri 55
tc-gb 55
latium 55
bhansali 55
sterols 55
mulliken 55
plutarco 55
voorsanger 55
thomas-keprta 55
bieksa 55
loikaw 55
matsepe-casaburri 55
warty 55
chen-wei 55
www.mcdonalds.com 55
hondora 55
m.t.b. 55
off-grid 55
home-design 55
lipovsky 55
bergsson 55
kii 55
strakhov 55
songphon 55
zahab 55
allauddin 55
well-tolerated 55
scolese 55
cucbm 55
drayson 55
eiken 55
hfi 55
zoia 55
edgecomb 55
saaremaa 55
annisu-r 55
allaf 55
eye-view 55
chambermaids 55
hirosawa 55
vladivostock 55
trutv 55
orrorin 55
wistron 55
kik 55
pretentions 55
sciullo 55
handwriting-recognition 55
majles 55
motoshima 55
tanginye 55
hellawell 55
extractable 55
end-year 55
soll 55
caronna 55
vampiric 55
xigui 55
hit-and-runs 55
duba-yurt 55
saur 55
koltsov 55
blue-helmet 55
hyuga 55
kifri 55
najja 55
wible 55
matloha 55
idrissi 55
tamarindo 55
just-the-facts 55
bulaong 55
meddein 55
klinefelter 55
satz 55
ushpizin 55
overnighting 55
handbrake 55
dalley 55
prampero 55
hss 55
nonhybrid 55
mutebusi 55
jingqian 55
cryptology 55
anupama 55
yakshina 55
eeas 55
pottengal 55
right-to-carry 55
shampooed 55
sonejee 55
ozyurek 55
kinrara 55
munyua 55
traboulsi 55
contar 55
lerone 55
roundtrips 55
chelanga 55
limited-field 55
wenming 55
kreisberg 55
bertino 55
zhongxiao 55
acsi 55
levance 55
eocene 55
#-feliciano 55
tarantella 55
jaehnig 55
al-awadhi 55
anti-socialist 55
hornak 55
darkhovin 55
perimetre 55
abramian 55
caricola 55
anti-hungarian 55
maneiro 55
size-# 55
farglory 55
petermann 55
meiwa 55
phelpses 55
porgras 55
samiya 55
texoma 55
huffines 55
third-placer 55
al-badran 55
babyhood 55
seamounts 55
aasen 55
casulties 55
bodong 55
shamar 55
destablising 55
curado 55
shangai 55
svedka 55
<s> 83845866
</s> 83845866
<PAD> 5
# Copyright 2016 The TensorFlow Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================
"""Trains a seq2seq model.
WORK IN PROGRESS.
Implement "Abstractive Text Summarization using Sequence-to-sequence RNNS and
Beyond."
"""
import sys
import time
import tensorflow as tf
import batch_reader
import data
import seq2seq_attention_decode
import seq2seq_attention_model
FLAGS = tf.app.flags.FLAGS
tf.app.flags.DEFINE_string('data_path',
'', 'Path expression to tf.Example.')
tf.app.flags.DEFINE_string('vocab_path',
'', 'Path expression to text vocabulary file.')
tf.app.flags.DEFINE_string('article_key', 'article',
'tf.Example feature key for article.')
tf.app.flags.DEFINE_string('abstract_key', 'headline',
'tf.Example feature key for abstract.')
tf.app.flags.DEFINE_string('log_root', '', 'Directory for model root.')
tf.app.flags.DEFINE_string('train_dir', '', 'Directory for train.')
tf.app.flags.DEFINE_string('eval_dir', '', 'Directory for eval.')
tf.app.flags.DEFINE_string('decode_dir', '', 'Directory for decode summaries.')
tf.app.flags.DEFINE_string('mode', 'train', 'train/eval/decode mode')
tf.app.flags.DEFINE_integer('max_run_steps', 10000000,
'Maximum number of run steps.')
tf.app.flags.DEFINE_integer('max_article_sentences', 2,
'Max number of first sentences to use from the '
'article')
tf.app.flags.DEFINE_integer('max_abstract_sentences', 100,
'Max number of first sentences to use from the '
'abstract')
tf.app.flags.DEFINE_integer('beam_size', 4,
'beam size for beam search decoding.')
tf.app.flags.DEFINE_integer('eval_interval_secs', 60, 'How often to run eval.')
tf.app.flags.DEFINE_integer('checkpoint_secs', 60, 'How often to checkpoint.')
tf.app.flags.DEFINE_bool('use_bucketing', False,
'Whether bucket articles of similar length.')
tf.app.flags.DEFINE_bool('truncate_input', False,
'Truncate inputs that are too long. If False, '
'examples that are too long are discarded.')
tf.app.flags.DEFINE_integer('num_gpus', 0, 'Number of gpus used.')
tf.app.flags.DEFINE_integer('random_seed', 111, 'A seed value for randomness.')
def _RunningAvgLoss(loss, running_avg_loss, summary_writer, step, decay=0.999):
"""Calculate the running average of losses."""
if running_avg_loss == 0:
running_avg_loss = loss
else:
running_avg_loss = running_avg_loss * decay + (1 - decay) * loss
running_avg_loss = min(running_avg_loss, 12)
loss_sum = tf.Summary()
loss_sum.value.add(tag='running_avg_loss', simple_value=running_avg_loss)
summary_writer.add_summary(loss_sum, step)
sys.stdout.write('running_avg_loss: %f\n' % running_avg_loss)
return running_avg_loss
def _Train(model, data_batcher):
"""Runs model training."""
with tf.device('/cpu:0'):
model.build_graph()
saver = tf.train.Saver()
# Train dir is different from log_root to avoid summary directory
# conflict with Supervisor.
summary_writer = tf.train.SummaryWriter(FLAGS.train_dir)
sv = tf.train.Supervisor(logdir=FLAGS.log_root,
is_chief=True,
saver=saver,
summary_op=None,
save_summaries_secs=60,
save_model_secs=FLAGS.checkpoint_secs,
global_step=model.global_step)
sess = sv.prepare_or_wait_for_session()
running_avg_loss = 0
step = 0
while not sv.should_stop() and step < FLAGS.max_run_steps:
(article_batch, abstract_batch, targets, article_lens, abstract_lens,
loss_weights, _, _) = data_batcher.NextBatch()
(_, summaries, loss, train_step) = model.run_train_step(
sess, article_batch, abstract_batch, targets, article_lens,
abstract_lens, loss_weights)
summary_writer.add_summary(summaries, train_step)
running_avg_loss = _RunningAvgLoss(
running_avg_loss, loss, summary_writer, train_step)
step += 1
if step % 100 == 0:
summary_writer.flush()
sv.Stop()
return running_avg_loss
def _Eval(model, data_batcher, vocab=None):
"""Runs model eval."""
model.build_graph()
saver = tf.train.Saver()
summary_writer = tf.train.SummaryWriter(FLAGS.eval_dir)
sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True))
running_avg_loss = 0
step = 0
while True:
time.sleep(FLAGS.eval_interval_secs)
try:
ckpt_state = tf.train.get_checkpoint_state(FLAGS.log_root)
except tf.errors.OutOfRangeError as e:
tf.logging.error('Cannot restore checkpoint: %s', e)
continue
if not (ckpt_state and ckpt_state.model_checkpoint_path):
tf.logging.info('No model to eval yet at %s', FLAGS.train_dir)
continue
tf.logging.info('Loading checkpoint %s', ckpt_state.model_checkpoint_path)
saver.restore(sess, ckpt_state.model_checkpoint_path)
(article_batch, abstract_batch, targets, article_lens, abstract_lens,
loss_weights, _, _) = data_batcher.NextBatch()
(summaries, loss, train_step) = model.run_eval_step(
sess, article_batch, abstract_batch, targets, article_lens,
abstract_lens, loss_weights)
tf.logging.info(
'article: %s',
' '.join(data.Ids2Words(article_batch[0][:].tolist(), vocab)))
tf.logging.info(
'abstract: %s',
' '.join(data.Ids2Words(abstract_batch[0][:].tolist(), vocab)))
summary_writer.add_summary(summaries, train_step)
running_avg_loss = _RunningAvgLoss(
running_avg_loss, loss, summary_writer, train_step)
if step % 100 == 0:
summary_writer.flush()
def main(unused_argv):
vocab = data.Vocab(FLAGS.vocab_path, 1000000)
# Check for presence of required special tokens.
assert vocab.WordToId(data.PAD_TOKEN) > 0
assert vocab.WordToId(data.UNKNOWN_TOKEN) >= 0
assert vocab.WordToId(data.SENTENCE_START) > 0
assert vocab.WordToId(data.SENTENCE_END) > 0
batch_size = 4
if FLAGS.mode == 'decode':
batch_size = FLAGS.beam_size
hps = seq2seq_attention_model.HParams(
mode=FLAGS.mode, # train, eval, decode
min_lr=0.01, # min learning rate.
lr=0.15, # learning rate
batch_size=batch_size,
enc_layers=4,
enc_timesteps=120,
dec_timesteps=30,
min_input_len=2, # discard articles/summaries < than this
num_hidden=256, # for rnn cell
emb_dim=128, # If 0, don't use embedding
max_grad_norm=2,
num_softmax_samples=4096) # If 0, no sampled softmax.
batcher = batch_reader.Batcher(
FLAGS.data_path, vocab, hps, FLAGS.article_key,
FLAGS.abstract_key, FLAGS.max_article_sentences,
FLAGS.max_abstract_sentences, bucketing=FLAGS.use_bucketing,
truncate_input=FLAGS.truncate_input)
tf.set_random_seed(FLAGS.random_seed)
if hps.mode == 'train':
model = seq2seq_attention_model.Seq2SeqAttentionModel(
hps, vocab, num_gpus=FLAGS.num_gpus)
_Train(model, batcher)
elif hps.mode == 'eval':
model = seq2seq_attention_model.Seq2SeqAttentionModel(
hps, vocab, num_gpus=FLAGS.num_gpus)
_Eval(model, batcher, vocab=vocab)
elif hps.mode == 'decode':
decode_mdl_hps = hps
# Only need to restore the 1st step and reuse it since
# we keep and feed in state for each step's output.
decode_mdl_hps = hps._replace(dec_timesteps=1)
model = seq2seq_attention_model.Seq2SeqAttentionModel(
decode_mdl_hps, vocab, num_gpus=FLAGS.num_gpus)
decoder = seq2seq_attention_decode.BSDecoder(model, batcher, hps, vocab)
decoder.DecodeLoop()
if __name__ == '__main__':
tf.app.run()
# Copyright 2016 The TensorFlow Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================
"""Module for decoding."""
import os
import time
import tensorflow as tf
import beam_search
import data
FLAGS = tf.app.flags.FLAGS
tf.app.flags.DEFINE_integer('max_decode_steps', 1000000,
'Number of decoding steps.')
tf.app.flags.DEFINE_integer('decode_batches_per_ckpt', 8000,
'Number of batches to decode before restoring next '
'checkpoint')
DECODE_LOOP_DELAY_SECS = 60
DECODE_IO_FLUSH_INTERVAL = 100
class DecodeIO(object):
"""Writes the decoded and references to RKV files for Rouge score.
See nlp/common/utils/internal/rkv_parser.py for detail about rkv file.
"""
def __init__(self, outdir):
self._cnt = 0
self._outdir = outdir
if not os.path.exists(self._outdir):
os.mkdir(self._outdir)
self._ref_file = None
self._decode_file = None
def Write(self, reference, decode):
"""Writes the reference and decoded outputs to RKV files.
Args:
reference: The human (correct) result.
decode: The machine-generated result
"""
self._ref_file.write('output=%s\n' % reference)
self._decode_file.write('output=%s\n' % decode)
self._cnt += 1
if self._cnt % DECODE_IO_FLUSH_INTERVAL == 0:
self._ref_file.flush()
self._decode_file.flush()
def ResetFiles(self):
"""Resets the output files. Must be called once before Write()."""
if self._ref_file: self._ref_file.close()
if self._decode_file: self._decode_file.close()
timestamp = int(time.time())
self._ref_file = open(
os.path.join(self._outdir, 'ref%d'%timestamp), 'w')
self._decode_file = open(
os.path.join(self._outdir, 'decode%d'%timestamp), 'w')
class BSDecoder(object):
"""Beam search decoder."""
def __init__(self, model, batch_reader, hps, vocab):
"""Beam search decoding.
Args:
model: The seq2seq attentional model.
batch_reader: The batch data reader.
hps: Hyperparamters.
vocab: Vocabulary
"""
self._model = model
self._model.build_graph()
self._batch_reader = batch_reader
self._hps = hps
self._vocab = vocab
self._saver = tf.train.Saver()
self._decode_io = DecodeIO(FLAGS.decode_dir)
def DecodeLoop(self):
"""Decoding loop for long running process."""
sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True))
step = 0
while step < FLAGS.max_decode_steps:
time.sleep(DECODE_LOOP_DELAY_SECS)
if not self._Decode(self._saver, sess):
continue
step += 1
def _Decode(self, saver, sess):
"""Restore a checkpoint and decode it.
Args:
saver: Tensorflow checkpoint saver.
sess: Tensorflow session.
Returns:
If success, returns true, otherwise, false.
"""
ckpt_state = tf.train.get_checkpoint_state(FLAGS.log_root)
if not (ckpt_state and ckpt_state.model_checkpoint_path):
tf.logging.info('No model to decode yet at %s', FLAGS.log_root)
return False
tf.logging.info('checkpoint path %s', ckpt_state.model_checkpoint_path)
ckpt_path = os.path.join(
FLAGS.log_root, os.path.basename(ckpt_state.model_checkpoint_path))
tf.logging.info('renamed checkpoint path %s', ckpt_path)
saver.restore(sess, ckpt_path)
self._decode_io.ResetFiles()
for _ in xrange(FLAGS.decode_batches_per_ckpt):
(article_batch, _, _, article_lens, _, _, origin_articles,
origin_abstracts) = self._batch_reader.NextBatch()
for i in xrange(self._hps.batch_size):
bs = beam_search.BeamSearch(
self._model, self._hps.batch_size,
self._vocab.WordToId(data.SENTENCE_START),
self._vocab.WordToId(data.SENTENCE_END),
self._hps.dec_timesteps)
article_batch_cp = article_batch.copy()
article_batch_cp[:] = article_batch[i:i+1]
article_lens_cp = article_lens.copy()
article_lens_cp[:] = article_lens[i:i+1]
best_beam = bs.BeamSearch(sess, article_batch_cp, article_lens_cp)[0]
decode_output = [int(t) for t in best_beam.tokens[1:]]
self._DecodeBatch(
origin_articles[i], origin_abstracts[i], decode_output)
return True
def _DecodeBatch(self, article, abstract, output_ids):
"""Convert id to words and writing results.
Args:
article: The original article string.
abstract: The human (correct) abstract string.
output_ids: The abstract word ids output by machine.
"""
decoded_output = ' '.join(data.Ids2Words(output_ids, self._vocab))
end_p = decoded_output.find(data.SENTENCE_END, 0)
if end_p != -1:
decoded_output = decoded_output[:end_p]
tf.logging.info('article: %s', article)
tf.logging.info('abstract: %s', abstract)
tf.logging.info('decoded: %s', decoded_output)
self._decode_io.Write(abstract, decoded_output.strip())
# Copyright 2016 The TensorFlow Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================
"""Sequence-to-Sequence with attention model for text summarization.
"""
from collections import namedtuple
import numpy as np
import tensorflow as tf
import seq2seq_lib
HParams = namedtuple('HParams',
'mode, min_lr, lr, batch_size, '
'enc_layers, enc_timesteps, dec_timesteps, '
'min_input_len, num_hidden, emb_dim, max_grad_norm, '
'num_softmax_samples')
def _extract_argmax_and_embed(embedding, output_projection=None,
update_embedding=True):
"""Get a loop_function that extracts the previous symbol and embeds it.
Args:
embedding: embedding tensor for symbols.
output_projection: None or a pair (W, B). If provided, each fed previous
output will first be multiplied by W and added B.
update_embedding: Boolean; if False, the gradients will not propagate
through the embeddings.
Returns:
A loop function.
"""
def loop_function(prev, _):
"""function that feed previous model output rather than ground truth."""
if output_projection is not None:
prev = tf.nn.xw_plus_b(
prev, output_projection[0], output_projection[1])
prev_symbol = tf.argmax(prev, 1)
# Note that gradients will not propagate through the second parameter of
# embedding_lookup.
emb_prev = tf.nn.embedding_lookup(embedding, prev_symbol)
if not update_embedding:
emb_prev = tf.stop_gradient(emb_prev)
return emb_prev
return loop_function
class Seq2SeqAttentionModel(object):
"""Wrapper for Tensorflow model graph for text sum vectors."""
def __init__(self, hps, vocab, num_gpus=0):
self._hps = hps
self._vocab = vocab
self._num_gpus = num_gpus
self._cur_gpu = 0
def run_train_step(self, sess, article_batch, abstract_batch, targets,
article_lens, abstract_lens, loss_weights):
to_return = [self._train_op, self._summaries, self._loss, self.global_step]
return sess.run(to_return,
feed_dict={self._articles: article_batch,
self._abstracts: abstract_batch,
self._targets: targets,
self._article_lens: article_lens,
self._abstract_lens: abstract_lens,
self._loss_weights: loss_weights})
def run_eval_step(self, sess, article_batch, abstract_batch, targets,
article_lens, abstract_lens, loss_weights):
to_return = [self._summaries, self._loss, self.global_step]
return sess.run(to_return,
feed_dict={self._articles: article_batch,
self._abstracts: abstract_batch,
self._targets: targets,
self._article_lens: article_lens,
self._abstract_lens: abstract_lens,
self._loss_weights: loss_weights})
def run_decode_step(self, sess, article_batch, abstract_batch, targets,
article_lens, abstract_lens, loss_weights):
to_return = [self._outputs, self.global_step]
return sess.run(to_return,
feed_dict={self._articles: article_batch,
self._abstracts: abstract_batch,
self._targets: targets,
self._article_lens: article_lens,
self._abstract_lens: abstract_lens,
self._loss_weights: loss_weights})
def _next_device(self):
"""Round robin the gpu device. (Reserve last gpu for expensive op)."""
if self._num_gpus == 0:
return ''
dev = '/gpu:%d' % self._cur_gpu
self._cur_gpu = (self._cur_gpu + 1) % (self._num_gpus-1)
return dev
def _get_gpu(self, gpu_id):
if self._num_gpus <= 0 or gpu_id >= self._num_gpus:
return ''
return '/gpu:%d' % gpu_id
def _add_placeholders(self):
"""Inputs to be fed to the graph."""
hps = self._hps
self._articles = tf.placeholder(tf.int32,
[hps.batch_size, hps.enc_timesteps],
name='articles')
self._abstracts = tf.placeholder(tf.int32,
[hps.batch_size, hps.dec_timesteps],
name='abstracts')
self._targets = tf.placeholder(tf.int32,
[hps.batch_size, hps.dec_timesteps],
name='targets')
self._article_lens = tf.placeholder(tf.int32, [hps.batch_size],
name='article_lens')
self._abstract_lens = tf.placeholder(tf.int32, [hps.batch_size],
name='abstract_lens')
self._loss_weights = tf.placeholder(tf.float32,
[hps.batch_size, hps.dec_timesteps],
name='loss_weights')
def _add_seq2seq(self):
hps = self._hps
vsize = self._vocab.NumIds()
with tf.variable_scope('seq2seq'):
encoder_inputs = tf.unpack(tf.transpose(self._articles))
decoder_inputs = tf.unpack(tf.transpose(self._abstracts))
targets = tf.unpack(tf.transpose(self._targets))
loss_weights = tf.unpack(tf.transpose(self._loss_weights))
article_lens = self._article_lens
# Embedding shared by the input and outputs.
with tf.variable_scope('embedding'), tf.device('/cpu:0'):
embedding = tf.get_variable(
'embedding', [vsize, hps.emb_dim], dtype=tf.float32,
initializer=tf.truncated_normal_initializer(stddev=1e-4))
emb_encoder_inputs = [tf.nn.embedding_lookup(embedding, x)
for x in encoder_inputs]
emb_decoder_inputs = [tf.nn.embedding_lookup(embedding, x)
for x in decoder_inputs]
for layer_i in xrange(hps.enc_layers):
with tf.variable_scope('encoder%d'%layer_i), tf.device(
self._next_device()):
cell_fw = tf.nn.rnn_cell.LSTMCell(
hps.num_hidden,
initializer=tf.random_uniform_initializer(-0.1, 0.1, seed=123))
cell_bw = tf.nn.rnn_cell.LSTMCell(
hps.num_hidden,
initializer=tf.random_uniform_initializer(-0.1, 0.1, seed=113))
(emb_encoder_inputs, fw_state, _) = tf.nn.bidirectional_rnn(
cell_fw, cell_bw, emb_encoder_inputs, dtype=tf.float32,
sequence_length=article_lens)
encoder_outputs = emb_encoder_inputs
with tf.variable_scope('output_projection'):
w = tf.get_variable(
'w', [hps.num_hidden, vsize], dtype=tf.float32,
initializer=tf.truncated_normal_initializer(stddev=1e-4))
w_t = tf.transpose(w)
v = tf.get_variable(
'v', [vsize], dtype=tf.float32,
initializer=tf.truncated_normal_initializer(stddev=1e-4))
with tf.variable_scope('decoder'), tf.device(self._next_device()):
# When decoding, use model output from the previous step
# for the next step.
loop_function = None
if hps.mode == 'decode':
loop_function = _extract_argmax_and_embed(
embedding, (w, v), update_embedding=False)
cell = tf.nn.rnn_cell.LSTMCell(
hps.num_hidden,
initializer=tf.random_uniform_initializer(-0.1, 0.1, seed=113))
encoder_outputs = [tf.reshape(x, [hps.batch_size, 1, 2*hps.num_hidden])
for x in encoder_outputs]
self._enc_top_states = tf.concat(1, encoder_outputs)
self._dec_in_state = fw_state
# During decoding, follow up _dec_in_state are fed from beam_search.
# dec_out_state are stored by beam_search for next step feeding.
initial_state_attention = (hps.mode == 'decode')
decoder_outputs, self._dec_out_state = tf.nn.seq2seq.attention_decoder(
emb_decoder_inputs, self._dec_in_state, self._enc_top_states,
cell, num_heads=1, loop_function=loop_function,
initial_state_attention=initial_state_attention)
with tf.variable_scope('output'), tf.device(self._next_device()):
model_outputs = []
for i in xrange(len(decoder_outputs)):
if i > 0:
tf.get_variable_scope().reuse_variables()
model_outputs.append(
tf.nn.xw_plus_b(decoder_outputs[i], w, v))
if hps.mode == 'decode':
with tf.variable_scope('decode_output'), tf.device('/cpu:0'):
best_outputs = [tf.argmax(x, 1) for x in model_outputs]
tf.logging.info('best_outputs%s', best_outputs[0].get_shape())
self._outputs = tf.concat(
1, [tf.reshape(x, [hps.batch_size, 1]) for x in best_outputs])
self._topk_log_probs, self._topk_ids = tf.nn.top_k(
tf.log(tf.nn.softmax(model_outputs[-1])), hps.batch_size*2)
with tf.variable_scope('loss'), tf.device(self._next_device()):
def sampled_loss_func(inputs, labels):
with tf.device('/cpu:0'): # Try gpu.
labels = tf.reshape(labels, [-1, 1])
return tf.nn.sampled_softmax_loss(w_t, v, inputs, labels,
hps.num_softmax_samples, vsize)
if hps.num_softmax_samples != 0 and hps.mode == 'train':
self._loss = seq2seq_lib.sampled_sequence_loss(
decoder_outputs, targets, loss_weights, sampled_loss_func)
else:
self._loss = tf.nn.seq2seq.sequence_loss(
model_outputs, targets, loss_weights)
tf.scalar_summary('loss', tf.minimum(12.0, self._loss))
def _add_train_op(self):
"""Sets self._train_op, op to run for training."""
hps = self._hps
self._lr_rate = tf.maximum(
hps.min_lr, # min_lr_rate.
tf.train.exponential_decay(hps.lr, self.global_step, 30000, 0.98))
tvars = tf.trainable_variables()
with tf.device(self._get_gpu(self._num_gpus-1)):
grads, global_norm = tf.clip_by_global_norm(
tf.gradients(self._loss, tvars), hps.max_grad_norm)
tf.scalar_summary('global_norm', global_norm)
optimizer = tf.train.GradientDescentOptimizer(self._lr_rate)
tf.scalar_summary('learning rate', self._lr_rate)
self._train_op = optimizer.apply_gradients(
zip(grads, tvars), global_step=self.global_step, name='train_step')
def encode_top_state(self, sess, enc_inputs, enc_len):
"""Return the top states from encoder for decoder.
Args:
sess: tensorflow session.
enc_inputs: encoder inputs of shape [batch_size, enc_timesteps].
enc_len: encoder input length of shape [batch_size]
Returns:
enc_top_states: The top level encoder states.
dec_in_state: The decoder layer initial state.
"""
results = sess.run([self._enc_top_states, self._dec_in_state],
feed_dict={self._articles: enc_inputs,
self._article_lens: enc_len})
return results[0], results[1][0]
def decode_topk(self, sess, latest_tokens, enc_top_states, dec_init_states):
"""Return the topK results and new decoder states."""
feed = {
self._enc_top_states: enc_top_states,
self._dec_in_state:
np.squeeze(np.array(dec_init_states)),
self._abstracts:
np.transpose(np.array([latest_tokens])),
self._abstract_lens: np.ones([len(dec_init_states)], np.int32)}
results = sess.run(
[self._topk_ids, self._topk_log_probs, self._dec_out_state],
feed_dict=feed)
ids, probs, states = results[0], results[1], results[2]
new_states = [s for s in states]
return ids, probs, new_states
def build_graph(self):
self._add_placeholders()
self._add_seq2seq()
self.global_step = tf.Variable(0, name='global_step', trainable=False)
if self._hps.mode == 'train':
self._add_train_op()
self._summaries = tf.merge_all_summaries()
# Copyright 2016 The TensorFlow Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================
"""seq2seq library codes copied from elsewhere for customization."""
import tensorflow as tf
# Adapted to support sampled_softmax loss function, which accepts activations
# instead of logits.
def sequence_loss_by_example(inputs, targets, weights, loss_function,
average_across_timesteps=True, name=None):
"""Sampled softmax loss for a sequence of inputs (per example).
Args:
inputs: List of 2D Tensors of shape [batch_size x hid_dim].
targets: List of 1D batch-sized int32 Tensors of the same length as logits.
weights: List of 1D batch-sized float-Tensors of the same length as logits.
loss_function: Sampled softmax function (inputs, labels) -> loss
average_across_timesteps: If set, divide the returned cost by the total
label weight.
name: Optional name for this operation, default: 'sequence_loss_by_example'.
Returns:
1D batch-sized float Tensor: The log-perplexity for each sequence.
Raises:
ValueError: If len(inputs) is different from len(targets) or len(weights).
"""
if len(targets) != len(inputs) or len(weights) != len(inputs):
raise ValueError('Lengths of logits, weights, and targets must be the same '
'%d, %d, %d.' % (len(inputs), len(weights), len(targets)))
with tf.op_scope(inputs + targets + weights, name,
'sequence_loss_by_example'):
log_perp_list = []
for inp, target, weight in zip(inputs, targets, weights):
crossent = loss_function(inp, target)
log_perp_list.append(crossent * weight)
log_perps = tf.add_n(log_perp_list)
if average_across_timesteps:
total_size = tf.add_n(weights)
total_size += 1e-12 # Just to avoid division by 0 for all-0 weights.
log_perps /= total_size
return log_perps
def sampled_sequence_loss(inputs, targets, weights, loss_function,
average_across_timesteps=True,
average_across_batch=True, name=None):
"""Weighted cross-entropy loss for a sequence of logits, batch-collapsed.
Args:
inputs: List of 2D Tensors of shape [batch_size x hid_dim].
targets: List of 1D batch-sized int32 Tensors of the same length as inputs.
weights: List of 1D batch-sized float-Tensors of the same length as inputs.
loss_function: Sampled softmax function (inputs, labels) -> loss
average_across_timesteps: If set, divide the returned cost by the total
label weight.
average_across_batch: If set, divide the returned cost by the batch size.
name: Optional name for this operation, defaults to 'sequence_loss'.
Returns:
A scalar float Tensor: The average log-perplexity per symbol (weighted).
Raises:
ValueError: If len(inputs) is different from len(targets) or len(weights).
"""
with tf.op_scope(inputs + targets + weights, name, 'sampled_sequence_loss'):
cost = tf.reduce_sum(sequence_loss_by_example(
inputs, targets, weights, loss_function,
average_across_timesteps=average_across_timesteps))
if average_across_batch:
batch_size = tf.shape(targets[0])[0]
return cost / tf.cast(batch_size, tf.float32)
else:
return cost
def linear(args, output_size, bias, bias_start=0.0, scope=None):
"""Linear map: sum_i(args[i] * W[i]), where W[i] is a variable.
Args:
args: a 2D Tensor or a list of 2D, batch x n, Tensors.
output_size: int, second dimension of W[i].
bias: boolean, whether to add a bias term or not.
bias_start: starting value to initialize the bias; 0 by default.
scope: VariableScope for the created subgraph; defaults to "Linear".
Returns:
A 2D Tensor with shape [batch x output_size] equal to
sum_i(args[i] * W[i]), where W[i]s are newly created matrices.
Raises:
ValueError: if some of the arguments has unspecified or wrong shape.
"""
if args is None or (isinstance(args, (list, tuple)) and not args):
raise ValueError('`args` must be specified')
if not isinstance(args, (list, tuple)):
args = [args]
# Calculate the total size of arguments on dimension 1.
total_arg_size = 0
shapes = [a.get_shape().as_list() for a in args]
for shape in shapes:
if len(shape) != 2:
raise ValueError('Linear is expecting 2D arguments: %s' % str(shapes))
if not shape[1]:
raise ValueError('Linear expects shape[1] of arguments: %s' % str(shapes))
else:
total_arg_size += shape[1]
# Now the computation.
with tf.variable_scope(scope or 'Linear'):
matrix = tf.get_variable('Matrix', [total_arg_size, output_size])
if len(args) == 1:
res = tf.matmul(args[0], matrix)
else:
res = tf.matmul(tf.concat(1, args), matrix)
if not bias:
return res
bias_term = tf.get_variable(
'Bias', [output_size],
initializer=tf.constant_initializer(bias_start))
return res + bias_term
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment