galaxy-commits
Threads by month
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- 15302 discussions
commit/galaxy-central: Peter van Heusden: Added TwoBit datatype for twobit binary nucleotide datatype. Sniffer code
by Bitbucket 13 Jun '11
by Bitbucket 13 Jun '11
13 Jun '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/b319d5c44acf/
changeset: b319d5c44acf
user: Peter van Heusden
date: 2011-06-13 14:05:41
summary: Added TwoBit datatype for twobit binary nucleotide datatype. Sniffer code
based on bx-python's bx.seq.twobit.
affected #: 2 files (1.3 KB)
--- a/datatypes_conf.xml.sample Mon Jun 13 10:47:51 2011 -0400
+++ b/datatypes_conf.xml.sample Mon Jun 13 14:05:41 2011 +0200
@@ -116,6 +116,7 @@
<datatype extension="svg" type="galaxy.datatypes.images:Image" mimetype="image/svg+xml"/><datatype extension="taxonomy" type="galaxy.datatypes.tabular:Taxonomy" display_in_upload="true"/><datatype extension="tabular" type="galaxy.datatypes.tabular:Tabular" display_in_upload="true"/>
+ <datatype extension="twobit" type="galaxy.datatypes.binary:TwoBit" mimetype="application/octet-stream" display_in_upload="true"/><datatype extension="txt" type="galaxy.datatypes.data:Text" display_in_upload="true"/><datatype extension="memexml" type="galaxy.datatypes.xml:MEMEXml" mimetype="application/xml" display_in_upload="true"/><datatype extension="blastxml" type="galaxy.datatypes.xml:BlastXml" mimetype="application/xml" display_in_upload="true"/>
@@ -279,6 +280,7 @@
defined format first, followed by next-most rigidly defined,
and so on.
-->
+ <sniffer type="galaxy.datatypes.binary:TwoBit"/><sniffer type="galaxy.datatypes.binary:Bam"/><sniffer type="galaxy.datatypes.binary:Sff"/><sniffer type="galaxy.datatypes.xml:BlastXml"/>
--- a/lib/galaxy/datatypes/binary.py Mon Jun 13 10:47:51 2011 -0400
+++ b/lib/galaxy/datatypes/binary.py Mon Jun 13 14:05:41 2011 +0200
@@ -6,6 +6,10 @@
from galaxy.datatypes.metadata import MetadataElement
from galaxy.datatypes import metadata
from galaxy.datatypes.sniff import *
+from galaxy import eggs
+import pkg_resources
+pkg_resources.require( "bx-python" )
+from bx.seq.twobit import TWOBIT_MAGIC_NUMBER, TWOBIT_MAGIC_NUMBER_SWAP, TWOBIT_MAGIC_SIZE
from urllib import urlencode, quote_plus
import zipfile, gzip
import os, subprocess, tempfile
@@ -292,3 +296,29 @@
def get_track_type( self ):
return "LineTrack", {"data_standalone": "bigbed"}
+class TwoBit (Binary):
+ """Class describing a TwoBit format nucleotide file"""
+
+ file_ext = "twobit"
+
+ def sniff(self, filename):
+ try:
+ input = file(filename)
+ magic = struct.unpack(">L", input.read(TWOBIT_MAGIC_SIZE))[0]
+ if magic == TWOBIT_MAGIC_NUMBER or magic == TWOBIT_MAGIC_NUMBER_SWAP:
+ return True
+ except IOError:
+ return False
+
+ def set_peek(self, dataset, is_multi_byte=False):
+ if not dataset.dataset.purged:
+ dataset.peek = "Binary TwoBit format nucleotide file"
+ dataset.blurb = data.nice_size(dataset.get_size())
+ else:
+ return super(TwoBit, self).set_peek(dataset, is_multi_byte)
+
+ def display_peek(self, dataset):
+ try:
+ return dataset.peek
+ except:
+ return "Binary TwoBit format nucleotide file (%s)" % (data.nice_size(dataset.get_size()))
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: greg: No longer allow Datasets to have DatasetPermissions set such that no roles are associated with the DATASET_MANAGE_PERMISSION.
by Bitbucket 13 Jun '11
by Bitbucket 13 Jun '11
13 Jun '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/8731db1b2bfb/
changeset: 8731db1b2bfb
user: greg
date: 2011-06-13 16:47:51
summary: No longer allow Datasets to have DatasetPermissions set such that no roles are associated with the DATASET_MANAGE_PERMISSION.
Include the automatic creation of a new DatasetPermission for an hda where the DATASET_MANAGE_PERMISSION permission is associated with the hda.history.user's private role if the hda has no roles associated with the DATASET_MANAGE_PERMISSION permission. The creation of the DatasetPermission occurs when the user clicks the pencil icon for the hda.
affected #: 10 files (5.2 KB)
--- a/lib/galaxy/jobs/deferred/data_transfer.py Mon Jun 13 09:51:56 2011 -0400
+++ b/lib/galaxy/jobs/deferred/data_transfer.py Mon Jun 13 10:47:51 2011 -0400
@@ -108,7 +108,7 @@
ld = self.app.model.LibraryDataset( folder=sample.folder, name=library_dataset_name )
self.sa_session.add( ld )
self.sa_session.flush()
- self.app.security_agent.copy_library_permissions( sample.folder, ld )
+ self.app.security_agent.copy_library_permissions( FakeTrans( self.app ), sample.folder, ld )
ldda = self.app.model.LibraryDatasetDatasetAssociation( name = library_dataset_name,
extension = extension,
dbkey = '?',
--- a/lib/galaxy/model/__init__.py Mon Jun 13 09:51:56 2011 -0400
+++ b/lib/galaxy/model/__init__.py Mon Jun 13 10:47:51 2011 -0400
@@ -594,6 +594,17 @@
if dp.action == trans.app.security_agent.permitted_actions.DATASET_ACCESS.action:
roles.append( dp.role )
return roles
+ def get_manage_permissions_roles( self, trans ):
+ roles = []
+ for dp in self.actions:
+ if dp.action == trans.app.security_agent.permitted_actions.DATASET_MANAGE_PERMISSIONS.action:
+ roles.append( dp.role )
+ return roles
+ def has_manage_permissions_roles( self, trans ):
+ for dp in self.actions:
+ if dp.action == trans.app.security_agent.permitted_actions.DATASET_MANAGE_PERMISSIONS.action:
+ return True
+ return False
class DatasetInstance( object ):
"""A base class for all 'dataset instances', HDAs, LDAs, etc"""
@@ -1265,6 +1276,10 @@
return
def get_access_roles( self, trans ):
return self.dataset.get_access_roles( trans )
+ def get_manage_permissions_roles( self, trans ):
+ return self.dataset.get_manage_permissions_roles( trans )
+ def has_manage_permissions_roles( self, trans ):
+ return self.dataset.has_manage_permissions_roles( trans )
def get_info_association( self, restrict=False, inherited=False ):
# If restrict is True, we will return this ldda's info_association whether it
# exists or not ( in which case None will be returned ). If restrict is False,
--- a/lib/galaxy/security/__init__.py Mon Jun 13 09:51:56 2011 -0400
+++ b/lib/galaxy/security/__init__.py Mon Jun 13 10:47:51 2011 -0400
@@ -70,7 +70,7 @@
raise "Unimplemented Method"
def set_dataset_permission( self, dataset, permission ):
raise "Unimplemented Method"
- def set_all_library_permissions( self, dataset, permissions ):
+ def set_all_library_permissions( self, trans, dataset, permissions ):
raise "Unimplemented Method"
def library_is_public( self, library ):
raise "Unimplemented Method"
@@ -479,6 +479,19 @@
Set new permissions on a dataset, eliminating all current permissions
permissions looks like: { Action : [ Role, Role ] }
"""
+ for action, roles in permissions.items():
+ # Make sure that DATASET_MANAGE_PERMISSIONS is associated with at least 1 role
+ has_dataset_manage_permissions = False
+ for action, roles in permissions.items():
+ if isinstance( action, Action ):
+ if action == self.permitted_actions.DATASET_MANAGE_PERMISSIONS and roles:
+ has_dataset_manage_permissions = True
+ break
+ elif action == self.permitted_actions.DATASET_MANAGE_PERMISSIONS.action and roles:
+ has_dataset_manage_permissions = True
+ break
+ if not has_dataset_manage_permissions:
+ return "At least 1 role must be associated with the <b>manage permissions</b> permission on this dataset."
flush_needed = False
# Delete all of the current permissions on the dataset
for dp in dataset.actions:
@@ -493,6 +506,7 @@
flush_needed = True
if flush_needed:
self.sa_session.flush()
+ return ""
def set_dataset_permission( self, dataset, permission={} ):
"""
Set a specific permission on a dataset, leaving all other current permissions on the dataset alone
@@ -580,7 +594,7 @@
for user in users:
self.associate_components( user=user, role=sharing_role )
self.set_dataset_permission( dataset, { self.permitted_actions.DATASET_ACCESS : [ sharing_role ] } )
- def set_all_library_permissions( self, library_item, permissions={} ):
+ def set_all_library_permissions( self, trans, library_item, permissions={} ):
# Set new permissions on library_item, eliminating all current permissions
flush_needed = False
for role_assoc in library_item.actions:
@@ -595,14 +609,21 @@
for role_assoc in [ permission_class( action, library_item, role ) for role in roles ]:
self.sa_session.add( role_assoc )
flush_needed = True
- if isinstance( library_item, self.model.LibraryDatasetDatasetAssociation ) and \
- action == self.permitted_actions.LIBRARY_MANAGE.action:
- # Handle the special case when we are setting the LIBRARY_MANAGE_PERMISSION on a
- # library_dataset_dataset_association since the roles need to be applied to the
- # DATASET_MANAGE_PERMISSIONS permission on the associated dataset
- permissions = {}
- permissions[ self.permitted_actions.DATASET_MANAGE_PERMISSIONS ] = roles
- self.set_dataset_permission( library_item.dataset, permissions )
+ if isinstance( library_item, self.model.LibraryDatasetDatasetAssociation ):
+ # Permission setting related to DATASET_MANAGE_PERMISSIONS was broken for a period of time,
+ # so it is possible that some Datasets have no roles associated with the DATASET_MANAGE_PERMISSIONS
+ # permission. In this case, we'll reset this permission to the library_item user's private role.
+ if not library_item.dataset.has_manage_permissions_roles( trans ):
+ permission = {}
+ permissions[ self.permitted_actions.DATASET_MANAGE_PERMISSIONS ] = [ trans.app.security_agent.get_private_user_role( library_item.user ) ]
+ self.set_dataset_permission( library_item.dataset, permissions )
+ if action == self.permitted_actions.LIBRARY_MANAGE.action and roles:
+ # Handle the special case when we are setting the LIBRARY_MANAGE_PERMISSION on a
+ # library_dataset_dataset_association since the roles need to be applied to the
+ # DATASET_MANAGE_PERMISSIONS permission on the associated dataset.
+ permissions = {}
+ permissions[ self.permitted_actions.DATASET_MANAGE_PERMISSIONS ] = roles
+ self.set_dataset_permission( library_item.dataset, permissions )
if flush_needed:
self.sa_session.flush()
def library_is_public( self, library, contents=False ):
@@ -752,7 +773,7 @@
else:
permissions[ self.get_action( v.action ) ] = in_roles
return permissions, in_roles, error, msg
- def copy_library_permissions( self, source_library_item, target_library_item, user=None ):
+ def copy_library_permissions( self, trans, source_library_item, target_library_item, user=None ):
# Copy all relevant permissions from source.
permissions = {}
for role_assoc in source_library_item.actions:
@@ -762,7 +783,7 @@
permissions[role_assoc.action].append( role_assoc.role )
else:
permissions[role_assoc.action] = [ role_assoc.role ]
- self.set_all_library_permissions( target_library_item, permissions )
+ self.set_all_library_permissions( trans, target_library_item, permissions )
if user:
item_class = None
for item_class, permission_class in self.library_item_assocs:
--- a/lib/galaxy/tools/actions/upload_common.py Mon Jun 13 09:51:56 2011 -0400
+++ b/lib/galaxy/tools/actions/upload_common.py Mon Jun 13 10:47:51 2011 -0400
@@ -143,7 +143,7 @@
folder.add_folder( new_folder )
trans.sa_session.add( new_folder )
trans.sa_session.flush()
- trans.app.security_agent.copy_library_permissions( folder, new_folder )
+ trans.app.security_agent.copy_library_permissions( trans, folder, new_folder )
folder = new_folder
if library_bunch.replace_dataset:
ld = library_bunch.replace_dataset
@@ -151,7 +151,7 @@
ld = trans.app.model.LibraryDataset( folder=folder, name=uploaded_dataset.name )
trans.sa_session.add( ld )
trans.sa_session.flush()
- trans.app.security_agent.copy_library_permissions( folder, ld )
+ trans.app.security_agent.copy_library_permissions( trans, folder, ld )
ldda = trans.app.model.LibraryDatasetDatasetAssociation( name = uploaded_dataset.name,
extension = uploaded_dataset.file_type,
dbkey = uploaded_dataset.dbkey,
@@ -167,7 +167,7 @@
ldda.message = library_bunch.message
trans.sa_session.flush()
# Permissions must be the same on the LibraryDatasetDatasetAssociation and the associated LibraryDataset
- trans.app.security_agent.copy_library_permissions( ld, ldda )
+ trans.app.security_agent.copy_library_permissions( trans, ld, ldda )
if library_bunch.replace_dataset:
# Copy the Dataset level permissions from replace_dataset to the new LibraryDatasetDatasetAssociation.dataset
trans.app.security_agent.copy_dataset_permissions( library_bunch.replace_dataset.library_dataset_dataset_association.dataset, ldda.dataset )
--- a/lib/galaxy/web/controllers/library_common.py Mon Jun 13 09:51:56 2011 -0400
+++ b/lib/galaxy/web/controllers/library_common.py Mon Jun 13 10:47:51 2011 -0400
@@ -232,10 +232,10 @@
for k, v in trans.app.model.Library.permitted_actions.items():
in_roles = [ trans.sa_session.query( trans.app.model.Role ).get( x ) for x in util.listify( params.get( k + '_in', [] ) ) ]
permissions[ trans.app.security_agent.get_action( v.action ) ] = in_roles
- trans.app.security_agent.set_all_library_permissions( library, permissions )
+ trans.app.security_agent.set_all_library_permissions( trans, library, permissions )
trans.sa_session.refresh( library )
# Copy the permissions to the root folder
- trans.app.security_agent.copy_library_permissions( library, library.root_folder )
+ trans.app.security_agent.copy_library_permissions( trans, library, library.root_folder )
message = "Permissions updated for library '%s'." % library.name
return trans.response.send_redirect( web.url_for( controller='library_common',
action='library_permissions',
@@ -285,7 +285,7 @@
trans.sa_session.add( new_folder )
trans.sa_session.flush()
# New folders default to having the same permissions as their parent folder
- trans.app.security_agent.copy_library_permissions( parent_folder, new_folder )
+ trans.app.security_agent.copy_library_permissions( trans, parent_folder, new_folder )
# If we're creating in the API, we're done
if cntrller == 'api':
return 200, dict( created=new_folder )
@@ -411,7 +411,7 @@
# and it is not inherited.
in_roles = [ trans.sa_session.query( trans.app.model.Role ).get( int( x ) ) for x in util.listify( params.get( k + '_in', [] ) ) ]
permissions[ trans.app.security_agent.get_action( v.action ) ] = in_roles
- trans.app.security_agent.set_all_library_permissions( folder, permissions )
+ trans.app.security_agent.set_all_library_permissions( trans, folder, permissions )
trans.sa_session.refresh( folder )
message = "Permissions updated for folder '%s'." % folder.name
return trans.response.send_redirect( web.url_for( controller='library_common',
@@ -625,33 +625,50 @@
else:
roles = trans.app.security_agent.get_legitimate_roles( trans, ldda.dataset, cntrller )
if params.get( 'update_roles_button', False ):
- a = trans.app.security_agent.get_action( trans.app.security_agent.permitted_actions.DATASET_ACCESS.action )
+ # Dataset permissions
+ access_action = trans.app.security_agent.get_action( trans.app.security_agent.permitted_actions.DATASET_ACCESS.action )
+ manage_permissions_action = trans.app.security_agent.get_action( trans.app.security_agent.permitted_actions.DATASET_MANAGE_PERMISSIONS.action )
permissions, in_roles, error, message = \
trans.app.security_agent.derive_roles_from_access( trans, trans.app.security.decode_id( library_id ), cntrller, library=True, **kwd )
+ # Keep roles for DATASET_MANAGE_PERMISSIONS on the dataset
+ if not ldda.has_manage_permissions_roles( trans ):
+ # Permission setting related to DATASET_MANAGE_PERMISSIONS was broken for a period of time,
+ # so it is possible that some Datasets have no roles associated with the DATASET_MANAGE_PERMISSIONS
+ # permission. In this case, we'll reset this permission to the ldda user's private role.
+ #dataset_manage_permissions_roles = [ trans.app.security_agent.get_private_user_role( ldda.user ) ]
+ permissions[ manage_permissions_action ] = [ trans.app.security_agent.get_private_user_role( ldda.user ) ]
+ else:
+ permissions[ manage_permissions_action ] = ldda.get_manage_permissions_roles( trans )
for ldda in lddas:
# Set the DATASET permissions on the Dataset.
if error:
# Keep the original role associations for the DATASET_ACCESS permission on the ldda.
- permissions[ a ] = ldda.get_access_roles( trans )
- trans.app.security_agent.set_all_dataset_permissions( ldda.dataset, permissions )
- trans.sa_session.refresh( ldda.dataset )
- # Set the LIBRARY permissions on the LibraryDataset. The LibraryDataset and
- # LibraryDatasetDatasetAssociation will be set with the same permissions.
- permissions = {}
- for k, v in trans.app.model.Library.permitted_actions.items():
- if k != 'LIBRARY_ACCESS':
- # LIBRARY_ACCESS is a special permission set only at the library level and it is not inherited.
- in_roles = [ trans.sa_session.query( trans.app.model.Role ).get( x ) for x in util.listify( kwd.get( k + '_in', [] ) ) ]
- permissions[ trans.app.security_agent.get_action( v.action ) ] = in_roles
- for ldda in lddas:
- trans.app.security_agent.set_all_library_permissions( ldda.library_dataset, permissions )
- trans.sa_session.refresh( ldda.library_dataset )
- # Set the LIBRARY permissions on the LibraryDatasetDatasetAssociation
- trans.app.security_agent.set_all_library_permissions( ldda, permissions )
- trans.sa_session.refresh( ldda )
- if error:
- status = 'error'
- else:
+ permissions[ access_action ] = ldda.get_access_roles( trans )
+ status = 'error'
+ else:
+ error = trans.app.security_agent.set_all_dataset_permissions( ldda.dataset, permissions )
+ if error:
+ message += error
+ status = 'error'
+ trans.sa_session.refresh( ldda.dataset )
+ if not error:
+ # Set the LIBRARY permissions on the LibraryDataset. The LibraryDataset and
+ # LibraryDatasetDatasetAssociation will be set with the same permissions.
+ permissions = {}
+ for k, v in trans.app.model.Library.permitted_actions.items():
+ if k != 'LIBRARY_ACCESS':
+ # LIBRARY_ACCESS is a special permission set only at the library level and it is not inherited.
+ in_roles = [ trans.sa_session.query( trans.app.model.Role ).get( x ) for x in util.listify( kwd.get( k + '_in', [] ) ) ]
+ permissions[ trans.app.security_agent.get_action( v.action ) ] = in_roles
+ for ldda in lddas:
+ error = trans.app.security_agent.set_all_library_permissions( trans, ldda.library_dataset, permissions )
+ trans.sa_session.refresh( ldda.library_dataset )
+ if error:
+ message = error
+ else:
+ # Set the LIBRARY permissions on the LibraryDatasetDatasetAssociation
+ trans.app.security_agent.set_all_library_permissions( trans, ldda, permissions )
+ trans.sa_session.refresh( ldda )
if len( lddas ) == 1:
message = "Permissions updated for dataset '%s'." % ldda.name
else:
@@ -1211,8 +1228,8 @@
if not replace_dataset:
# If replace_dataset is None, the Library level permissions will be taken from the folder and applied to the new
# LDDA and LibraryDataset.
- trans.app.security_agent.copy_library_permissions( folder, ldda )
- trans.app.security_agent.copy_library_permissions( folder, ldda.library_dataset )
+ trans.app.security_agent.copy_library_permissions( trans, folder, ldda )
+ trans.app.security_agent.copy_library_permissions( trans, folder, ldda.library_dataset )
# Make sure to apply any defined dataset permissions, allowing the permissions inherited from the folder to
# over-ride the same permissions on the dataset, if they exist.
dataset_permissions_dict = trans.app.security_agent.get_permissions( hda.dataset )
@@ -1235,7 +1252,7 @@
if flush_needed:
trans.sa_session.flush()
# Permissions must be the same on the LibraryDatasetDatasetAssociation and the associated LibraryDataset
- trans.app.security_agent.copy_library_permissions( ldda.library_dataset, ldda )
+ trans.app.security_agent.copy_library_permissions( trans, ldda.library_dataset, ldda )
if created_ldda_ids:
created_ldda_ids = created_ldda_ids.lstrip( ',' )
ldda_id_list = created_ldda_ids.split( ',' )
@@ -1478,13 +1495,17 @@
permissions[ trans.app.security_agent.get_action( v.action ) ] = in_roles
# Set the LIBRARY permissions on the LibraryDataset
# NOTE: the LibraryDataset and LibraryDatasetDatasetAssociation will be set with the same permissions
- trans.app.security_agent.set_all_library_permissions( library_dataset, permissions )
+ error = trans.app.security_agent.set_all_library_permissions( trans, library_dataset, permissions )
trans.sa_session.refresh( library_dataset )
- # Set the LIBRARY permissions on the LibraryDatasetDatasetAssociation
- trans.app.security_agent.set_all_library_permissions( library_dataset.library_dataset_dataset_association, permissions )
- trans.sa_session.refresh( library_dataset.library_dataset_dataset_association )
- message = "Permisisons updated for library dataset '%s'." % library_dataset.name
- status = 'done'
+ if error:
+ message = error
+ status = 'error'
+ else:
+ # Set the LIBRARY permissions on the LibraryDatasetDatasetAssociation
+ trans.app.security_agent.set_all_library_permissions( trans, library_dataset.library_dataset_dataset_association, permissions )
+ trans.sa_session.refresh( library_dataset.library_dataset_dataset_association )
+ message = "Permisisons updated for library dataset '%s'." % library_dataset.name
+ status = 'done'
roles = trans.app.security_agent.get_legitimate_roles( trans, library_dataset, cntrller )
return trans.fill_template( '/library/common/library_dataset_permissions.mako',
cntrller=cntrller,
--- a/lib/galaxy/web/controllers/requests_common.py Mon Jun 13 09:51:56 2011 -0400
+++ b/lib/galaxy/web/controllers/requests_common.py Mon Jun 13 10:47:51 2011 -0400
@@ -1050,7 +1050,7 @@
def __import_samples( self, trans, cntrller, request, displayable_sample_widgets, libraries, workflows, **kwd ):
"""
Reads the samples csv file and imports all the samples. The format of the csv file is:
- SampleName,DataLibraryName,DataLibraryFolderName,HistoryName,WorkflowName,FieldValue1,FieldValue2...
+ SampleName,DataLibraryName,DataLibraryFolderName,HistoryName,WorkflowName,Field1Name,Field2Name...
"""
params = util.Params( kwd )
current_user_roles = trans.get_current_user_roles()
--- a/lib/galaxy/web/controllers/root.py Mon Jun 13 09:51:56 2011 -0400
+++ b/lib/galaxy/web/controllers/root.py Mon Jun 13 10:47:51 2011 -0400
@@ -316,6 +316,13 @@
if id is not None and data.history.user is not None and data.history.user != trans.user:
return trans.show_error_message( "This instance of a dataset (%s) in a history does not belong to you." % ( data.id ) )
current_user_roles = trans.get_current_user_roles()
+ if not data.dataset.has_manage_permissions_roles( trans ):
+ # Permission setting related to DATASET_MANAGE_PERMISSIONS was broken for a period of time,
+ # so it is possible that some Datasets have no roles associated with the DATASET_MANAGE_PERMISSIONS
+ # permission. In this case, we'll reset this permission to the hda user's private role.
+ manage_permissions_action = trans.app.security_agent.get_action( trans.app.security_agent.permitted_actions.DATASET_MANAGE_PERMISSIONS.action )
+ permissions = { manage_permissions_action : [ trans.app.security_agent.get_private_user_role( data.history.user ) ] }
+ trans.app.security_agent.set_dataset_permission( data.dataset, permissions )
if trans.app.security_agent.can_access_dataset( current_user_roles, data.dataset ):
if data.state == trans.model.Dataset.states.UPLOAD:
return trans.show_error_message( "Please wait until this dataset finishes uploading before attempting to edit its metadata." )
@@ -394,18 +401,24 @@
if not trans.user:
return trans.show_error_message( "You must be logged in if you want to change permissions." )
if trans.app.security_agent.can_manage_dataset( current_user_roles, data.dataset ):
+ access_action = trans.app.security_agent.get_action( trans.app.security_agent.permitted_actions.DATASET_ACCESS.action )
+ manage_permissions_action = trans.app.security_agent.get_action( trans.app.security_agent.permitted_actions.DATASET_MANAGE_PERMISSIONS.action )
# The user associated the DATASET_ACCESS permission on the dataset with 1 or more roles. We
# need to ensure that they did not associate roles that would cause accessibility problems.
permissions, in_roles, error, message = \
trans.app.security_agent.derive_roles_from_access( trans, data.dataset.id, 'root', **kwd )
- a = trans.app.security_agent.get_action( trans.app.security_agent.permitted_actions.DATASET_ACCESS.action )
if error:
# Keep the original role associations for the DATASET_ACCESS permission on the dataset.
- permissions[ a ] = data.dataset.get_access_roles( trans )
- trans.app.security_agent.set_all_dataset_permissions( data.dataset, permissions )
+ permissions[ access_action ] = data.dataset.get_access_roles( trans )
+ status = 'error'
+ else:
+ error = trans.app.security_agent.set_all_dataset_permissions( data.dataset, permissions )
+ if error:
+ message += error
+ status = 'error'
+ else:
+ message = 'Your changes completed successfully.'
trans.sa_session.refresh( data.dataset )
- if not message:
- message = 'Your changes completed successfully.'
else:
return trans.show_error_message( "You are not authorized to change this dataset's permissions" )
if "dbkey" in data.datatype.metadata_spec and not data.metadata.dbkey:
--- a/templates/requests/common/add_samples.mako Mon Jun 13 09:51:56 2011 -0400
+++ b/templates/requests/common/add_samples.mako Mon Jun 13 10:47:51 2011 -0400
@@ -118,7 +118,7 @@
<input type="submit" name="import_samples_button" value="Import samples"/><div class="toolParamHelp" style="clear: both;">
The csv file must be in the following format:<br/>
- SampleName,DataLibraryName,DataLibraryFolderName,HistoryName,WorkflowName,FieldValue1,FieldValue2...
+ SampleName,DataLibraryName,DataLibraryFolderName,HistoryName,WorkflowName,Field1Name,Field2Name...
</div></div></form>
--- a/test/functional/test_library_security.py Mon Jun 13 09:51:56 2011 -0400
+++ b/test/functional/test_library_security.py Mon Jun 13 10:47:51 2011 -0400
@@ -420,11 +420,10 @@
str( role1.id ),
permissions_in=[ 'DATASET_ACCESS' ],
strings_displayed=[ 'Permissions updated for 3 datasets.' ] )
+ # Even though we've eliminated the roles associated with the LIBRARY_MANAGE_PERMISSIONS permission,
+ # none of the roles associated with the DATASET_MANAGE permission sould have been changed.
check_edit_page( latest_3_lddas,
- strings_displayed=[ 'View Permissions' ],
- strings_not_displayed=[ 'Manage dataset permissions on',
- 'can manage roles associated with permissions on this library item',
- 'can import this dataset into their history for analysis' ] )
+ strings_displayed=[ 'manage permissions' ] )
def test_060_restrict_access_to_library2( self ):
"""Testing restricting access to library2"""
# Logged in as admin_user
--- a/test/functional/test_sample_tracking.py Mon Jun 13 09:51:56 2011 -0400
+++ b/test/functional/test_sample_tracking.py Mon Jun 13 10:47:51 2011 -0400
@@ -869,7 +869,6 @@
sample1_dataset.transfer_status.NOT_STARTED ]
self.view_sample_dataset( sample_dataset_id=self.security.encode_id( sample1_dataset.id ),
strings_displayed=strings_displayed )
- '''
def test_999_reset_data_for_later_test_runs( self ):
"""Reseting data to enable later test runs to pass"""
# Logged in as admin_user
@@ -935,4 +934,3 @@
# Manually delete the group from the database
refresh( group )
delete_obj( group )
- '''
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
13 Jun '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/1c1ff3753d5e/
changeset: 1c1ff3753d5e
user: natefoo
date: 2011-06-13 15:51:56
summary: Fix missing log setup in migrate script 74
affected #: 1 file (52 bytes)
--- a/lib/galaxy/model/migrate/versions/0074_add_purged_column_to_library_dataset_table.py Fri Jun 10 20:10:09 2011 -0400
+++ b/lib/galaxy/model/migrate/versions/0074_add_purged_column_to_library_dataset_table.py Mon Jun 13 09:51:56 2011 -0400
@@ -7,6 +7,9 @@
from migrate import *
from migrate.changeset import *
+import logging
+log = logging.getLogger( __name__ )
+
metadata = MetaData( migrate_engine )
db_session = scoped_session( sessionmaker( bind=migrate_engine, autoflush=False, autocommit=True ) )
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/8bcc0877b39b/
changeset: 8bcc0877b39b
user: kanwei
date: 2011-06-11 02:10:09
summary: Add missing test files
affected #: 3 files (0 bytes)
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: kellyv: Added builds and length info to manual builds list
by Bitbucket 10 Jun '11
by Bitbucket 10 Jun '11
10 Jun '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/be2777f9688b/
changeset: be2777f9688b
user: kellyv
date: 2011-06-10 22:31:52
summary: Added builds and length info to manual builds list
affected #: 1 file (3.5 KB)
--- a/tool-data/shared/ucsc/manual_builds.txt Fri Jun 10 14:42:41 2011 -0400
+++ b/tool-data/shared/ucsc/manual_builds.txt Fri Jun 10 16:31:52 2011 -0400
@@ -699,5 +699,6 @@
Araly1 Arabidopsis lyrata
Zea_mays_B73_RefGen_v2 Maize (Zea mays) chr1=301354135,chr2=237068928,chr3=232140222,chr4=241473566,chr5=217872898,chr6=169174371,chr7=176764813,chr8=175793772,chr9=156750718,chr10=150189513,chr11=7140224
Homo_sapiens_AK1 Korean Man chrM=16571,chr1=247249719,chr2=242951149,chr3=199501827,chr4=191273063,chr5=180857866,chr6=170899992,chr7=158821424,chr8=146274826,chr9=140273252,chr10=135374737,chr11=134452384,chr12=132349534,chr13=114142980,chr14=106368585,chr15=100338915,chr16=88827254,chr17=78774742,chr18=76117153,chr19=63811651,chr20=62435964,chr21=46944323,chr22=49691432,chrX=154913754,chrY=57772954
-Tcas_3.0 Red Flour Beetle (Tribolium castaneum)
-hg_g1k_v37 Homo sapiens b37
+Tcas_3.0 Red Flour Beetle (Tribolium castaneum) chrLG1=X=10877635,chrLG2=20218415,chrLG3=38791480,chrLG4=13894384,chrLG5=19135781,chrLG6=13176827,chrLG7=20532854,chrLG8=18021898,chrLG9=21459655,chrLG10=11386040
+hg_g1k_v37 Homo sapiens b37 1=249250621,2=243199373,3=198022430,4=191154276,5=180915260,6=171115067,7=159138663,8=146364022,9=141213431,10=135534747,11=135006516,12=133851895,13=115169878,14=107349540,15=102531392,16=90354753,17=81195210,18=78077248,19=59128983,20=63025520,21=48129895,22=51304566,X=155270560,Y=59373566,MT=16569,GL000207.1=4262,GL000226.1=15008,GL000229.1=19913,GL000231.1=27386,GL000210.1=27682,GL000239.1=33824,GL000235.1=34474,GL000201.1=36148,GL000247.1=36422,GL000245.1=36651,GL000197.1=37175,GL000203.1=37498,GL000246.1=38154,GL000249.1=38502,GL000196.1=38914,GL000248.1=39786,GL000244.1=39929,GL000238.1=39939,GL000202.1=40103,GL000234.1=40531,GL000232.1=40652,GL000206.1=41001,GL000240.1=41933,GL000236.1=41934,GL000241.1=42152,GL000243.1=43341,GL000242.1=43523,GL000230.1=43691,GL000237.1=45867,GL000233.1=45941,GL000204.1=81310,GL000198.1=90085,GL000208.1=92689,GL000191.1=106433,GL000227.1=128374,GL000228.1=129120,GL000214.1=137718,GL000221.1=155397,GL000209.1=159169,GL000218.1=161147,GL000220.1=161802,GL000213.1=164239,GL000211.1=166566,GL000199.1=169874,GL000217.1=172149,GL000216.1=172294,GL000215.1=172545,GL000205.1=174588,GL000219.1=179198,GL000224.1=179693,GL000223.1=180455,GL000195.1=182896,GL000212.1=186858,GL000222.1=186861,GL000200.1=187035,GL000193.1=189789,GL000194.1=191469,GL000225.1=211173,GL000192.1=547496
+Homo_sapiens_nuHg19_mtrCRS Homo sapiens (hg19 with mtDNA replaced with rCRS) chr1=249250621,chr2=243199373,chr3=198022430,chr4=191154276,chr5=180915260,chr6=171115067,chr7=159138663,chr8=146364022,chr9=141213431,chr10=135534747,chr11=135006516,chr12=133851895,chr13=115169878,chr14=107349540,chr15=102531392,chr16=90354753,chr17=81195210,chr18=78077248,chr19=59128983,chr20=63025520,chr21=48129895,chr22=51304566,chrX=155270560,chrY=59373566,chrM=16569,chr1_gl000191_random=106433,chr1_gl000192_random=547496,chr4_ctg9_hap1=590426,chr4_gl000193_random=189789,chr4_gl000194_random=191469,chr6_apd_hap1=4622290,chr6_cox_hap2=4795371,chr6_dbb_hap3=4610396,chr6_mann_hap4=4683263,chr6_mcf_hap5=4833398,chr6_qbl_hap6=4611984,chr6_ssto_hap7=4928567,chr7_gl000195_random=182896,chr8_gl000196_random=38914,chr8_gl000197_random=37175,chr9_gl000198_random=90085,chr9_gl000199_random=169874,chr9_gl000200_random=187035,chr9_gl000201_random=36148,chr11_gl000202_random=40103,chr17_ctg5_hap1=1680828,chr17_gl000203_random=37498,chr17_gl000204_random=81310,chr17_gl000205_random=174588,chr17_gl000206_random=41001,chr18_gl000207_random=4262,chr19_gl000208_random=92689,chr19_gl000209_random=159169,chr21_gl000210_random=27682,chrUn_gl000211=166566,chrUn_gl000212=186858,chrUn_gl000213=164239,chrUn_gl000214=137718,chrUn_gl000215=172545,chrUn_gl000216=172294,chrUn_gl000217=172149,chrUn_gl000218=161147,chrUn_gl000219=179198,chrUn_gl000220=161802,chrUn_gl000221=155397,chrUn_gl000222=186861,chrUn_gl000223=180455,chrUn_gl000224=179693,chrUn_gl000225=211173,chrUn_gl000226=15008,chrUn_gl000227=128374,chrUn_gl000228=129120,chrUn_gl000229=19913,chrUn_gl000230=43691,chrUn_gl000231=27386,chrUn_gl000232=40652,chrUn_gl000233=45941,chrUn_gl000234=40531,chrUn_gl000235=34474,chrUn_gl000236=41934,chrUn_gl000237=45867,chrUn_gl000238=39939,chrUn_gl000239=33824,chrUn_gl000240=41933,chrUn_gl000241=42152,chrUn_gl000242=43523,chrUn_gl000243=43341,chrUn_gl000244=39929,chrUn_gl000245=36651,chrUn_gl000246=38154,chrUn_gl000247=36422,chrUn_gl000248=39786,chrUn_gl000249=38502
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: anton: Fix to sam2interval bug reported by Kathy So. The bug was causing sam2interval to successfully parse unmapped sam entries, which have no valid coordinate.
by Bitbucket 10 Jun '11
by Bitbucket 10 Jun '11
10 Jun '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/076fe3217342/
changeset: 076fe3217342
user: anton
date: 2011-06-10 20:42:41
summary: Fix to sam2interval bug reported by Kathy So. The bug was causing sam2interval to successfully parse unmapped sam entries, which have no valid coordinate.
affected #: 4 files (334 bytes)
Diff too large to display.
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: jgoecks: Add bookmarking to Trackster. Also group Trackster options into a single menu button.
by Bitbucket 10 Jun '11
by Bitbucket 10 Jun '11
10 Jun '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/7412c7af8859/
changeset: 7412c7af8859
user: jgoecks
date: 2011-06-10 19:38:24
summary: Add bookmarking to Trackster. Also group Trackster options into a single menu button.
affected #: 7 files (7.0 KB)
--- a/lib/galaxy/web/base/controller.py Fri Jun 10 13:15:17 2011 -0400
+++ b/lib/galaxy/web/base/controller.py Fri Jun 10 13:38:24 2011 -0400
@@ -160,6 +160,7 @@
if visualization.type == 'trackster':
# Trackster config; taken from tracks/browser
latest_revision = visualization.latest_revision
+ bookmarks = latest_revision.config.get( 'bookmarks', [] )
tracks = []
# Set tracks.
@@ -193,7 +194,7 @@
} )
config = { "title": visualization.title, "vis_id": trans.security.encode_id( visualization.id ),
- "tracks": tracks, "chrom": "", "dbkey": visualization.dbkey }
+ "tracks": tracks, "bookmarks": bookmarks, "chrom": "", "dbkey": visualization.dbkey }
if 'viewport' in latest_revision.config:
config['viewport'] = latest_revision.config['viewport']
--- a/lib/galaxy/web/controllers/tracks.py Fri Jun 10 13:15:17 2011 -0400
+++ b/lib/galaxy/web/controllers/tracks.py Fri Jun 10 13:38:24 2011 -0400
@@ -571,6 +571,8 @@
vis_rev.dbkey = dbkey
# Tracks from payload
tracks = []
+ # TODO: why go through the trouble of unpacking config only to repack and
+ # put in database? How about sticking JSON directly into database?
for track in decoded_payload['tracks']:
tracks.append( { "dataset_id": track['dataset_id'],
"hda_ldda": track.get('hda_ldda', "hda"),
@@ -579,14 +581,15 @@
"prefs": track['prefs'],
"is_child": track.get('is_child', False)
} )
+ bookmarks = decoded_payload[ 'bookmarks' ]
+ vis_rev.config = { "tracks": tracks, "bookmarks": bookmarks }
# Viewport from payload
if 'viewport' in decoded_payload:
chrom = decoded_payload['viewport']['chrom']
start = decoded_payload['viewport']['start']
end = decoded_payload['viewport']['end']
- vis_rev.config = { "tracks": tracks, "viewport": { 'chrom': chrom, 'start': start, 'end': end } }
- else:
- vis_rev.config = { "tracks": tracks }
+ vis_rev.config[ "viewport" ] = { 'chrom': chrom, 'start': start, 'end': end }
+
vis.latest_revision = vis_rev
session.add( vis_rev )
session.flush()
--- a/static/june_2007_style/blue/trackster.css Fri Jun 10 13:15:17 2011 -0400
+++ b/static/june_2007_style/blue/trackster.css Fri Jun 10 13:38:24 2011 -0400
@@ -48,3 +48,7 @@
.param-label{float:left;font-weight:bold;padding-top:0.2em;}
.child-track-icon{background:url('../images/fugue/arrow-000-small-bw.png') no-repeat;width:30px;cursor:move;}
.track-resize{background:white url('../images/visualization/draggable_vertical.png') no-repeat top center;position:absolute;right:3px;bottom:-4px;width:14px;height:7px;border:solid #999 1px;z-index:100;}
+.bookmark{background:white;border:solid #999 1px;border-right:none;margin:0.5em;margin-right:0;padding:0.5em}
+.bookmark .position{font-weight:bold;}
+.icon-button.import{margin-left:0.5em;width:100%;}
+.delete-icon-container{float:right;}
\ No newline at end of file
--- a/static/june_2007_style/trackster.css.tmpl Fri Jun 10 13:15:17 2011 -0400
+++ b/static/june_2007_style/trackster.css.tmpl Fri Jun 10 13:38:24 2011 -0400
@@ -278,4 +278,22 @@
border: solid #999 1px;
z-index: 100;
}
+.bookmark {
+ background:white;
+ border:solid #999 1px;
+ border-right:none;
+ margin:0.5em;
+ margin-right:0;
+ padding:0.5em
+}
+.bookmark .position {
+ font-weight:bold;
+}
+.icon-button.import {
+ margin-left:0.5em;
+ width:100%;
+}
+.delete-icon-container {
+ float:right;
+}
--- a/static/scripts/galaxy.base.js Fri Jun 10 13:15:17 2011 -0400
+++ b/static/scripts/galaxy.base.js Fri Jun 10 13:38:24 2011 -0400
@@ -330,7 +330,76 @@
});
}
-// Edit and save text asynchronously.
+/**
+ * Returns editable text element. Element is a div with text: (a) when user clicks on text, a textbox/area
+ * enables user to edit text; (b) when user presses enter key, element's text is set.
+ */
+// TODO: use this function to implement async_save_text (implemented below).
+function get_editable_text_elt(text, use_textarea, num_cols, num_rows, on_finish) {
+ // Set defaults if necessary.
+ if (num_cols === undefined) {
+ num_cols = 30;
+ }
+ if (num_rows === undefined) {
+ num_rows = 4;
+ }
+
+ // Create div for element.
+ var container = $("<div/>").addClass("editable-text").text(text).click(function() {
+ // If there's already an input element, editing is active, so do nothing.
+ if ($(this).children(":input").length > 0) {
+ return;
+ }
+
+ container.removeClass("editable-text");
+
+ // Set element text.
+ var set_text = function(new_text) {
+ if (new_text != "") {
+ container.text(new_text);
+ }
+ else {
+ // Need a line so that there is a click target.
+ container.html("<br>");
+ }
+ container.addClass("editable-text");
+ };
+
+ // Create input element for editing.
+ var cur_text = container.text(),
+ input_elt = (use_textarea ?
+ $("<textarea></textarea>").attr({ rows: num_rows, cols: num_cols }).text( $.trim(cur_text) ) :
+ $("<input type='text'></input>").attr({ value: $.trim(cur_text), size: num_cols })
+ ).blur(function() {
+ $(this).remove();
+ set_text(cur_text);
+ }).keyup(function(e) {
+ if (e.keyCode === 27) {
+ // Escape key.
+ $(this).trigger("blur");
+ } else if (e.keyCode === 13) {
+ // Enter key.
+ $(this).remove();
+ var new_text = $(this).val();
+ set_text(new_text);
+ if (on_finish) {
+ on_finish(new_text);
+ }
+ }
+ });
+
+ // Replace text with input object and focus & select.
+ container.text("");
+ container.append(input_elt);
+ input_elt.focus();
+ input_elt.select();
+ });
+ return container;
+}
+
+/**
+ * Edit and save text asynchronously.
+ */
function async_save_text(click_to_edit_elt, text_elt_id, save_url, text_parm_name, num_cols, use_textarea, num_rows, on_start, on_finish) {
// Set defaults if necessary.
if (num_cols === undefined) {
@@ -341,7 +410,7 @@
}
// Set up input element.
- $("#" + click_to_edit_elt).live( "click", function() {
+ $("#" + click_to_edit_elt).live("click", function() {
// Check if this is already active
if ( $("#renaming-active").length > 0) {
return;
@@ -399,7 +468,7 @@
}
// Replace text with input object and focus & select.
text_elt.hide();
- t.insertAfter( text_elt );
+ t.insertAfter(text_elt);
t.focus();
t.select();
--- a/templates/tracks/browser.mako Fri Jun 10 13:15:17 2011 -0400
+++ b/templates/tracks/browser.mako Fri Jun 10 13:38:24 2011 -0400
@@ -3,7 +3,7 @@
<%def name="init()"><%
self.has_left_panel=False
- self.has_right_panel=False
+ self.has_right_panel=True
self.active_view="visualization"
self.message_box_visible=False
%>
@@ -35,19 +35,6 @@
</style></%def>
-<%def name="center_panel()">
-<div class="unified-panel-header" unselectable="on">
- <div class="unified-panel-header-inner">
- <div style="float:left;" id="title"></div>
- <a class="panel-header-button right-float" href="${h.url_for( controller='visualization', action='list' )}">Close</a>
- <a id="save-button" class="panel-header-button right-float" href="javascript:void(0);">Save</a>
- <a id="add-track" class="panel-header-button right-float" href="javascript:void(0);">Add Tracks</a>
- </div>
-</div>
-<div id="browser-container" class="unified-panel-body"></div>
-
-</%def>
-
<%def name="javascripts()">
${parent.javascripts()}
@@ -72,8 +59,36 @@
converted_datasets_state_url = "${h.url_for( action='converted_datasets_state' )}",
addable_track_types = { "LineTrack": LineTrack, "FeatureTrack": FeatureTrack, "ReadTrack": ReadTrack },
view;
+
+
+ /**
+ * Add bookmark.
+ */
+ var add_bookmark = function(position, annotation) {
+ var
+ bookmarks_container = $("#bookmarks-container"),
+ new_bookmark = $("<div/>").addClass("bookmark").appendTo(bookmarks_container),
+ delete_icon_container = $("<div/>").addClass("delete-icon-container").appendTo(new_bookmark).click(function (){
+ // Remove bookmark.
+ new_bookmark.slideUp("fast");
+ new_bookmark.remove();
+ view.has_changes = true;
+ return false;
+ }),
+ delete_icon = $("<a href=''/>").addClass("icon-button delete").appendTo(delete_icon_container),
+ position_div = $("<div/>").addClass("position").text(position).appendTo(new_bookmark),
+ annotation_div = get_editable_text_elt(annotation, false).addClass("annotation").appendTo(new_bookmark);
+
+ view.has_changes = true;
+ return new_bookmark;
+ }
$(function() {
+ // Hide bookmarks by default right now.
+ parent.force_right_panel("hide");
+
+ // Resize view when showing/hiding right panel (bookmarks for now).
+ $("#right-border").click(function() { view.resize_window(); });
%if config:
var callback;
@@ -107,6 +122,17 @@
parent_obj.add_track(track);
}
init();
+
+ // Load bookmarks.
+ var bookmarks = JSON.parse('${ h.to_json_string( config.get('bookmarks') ) }'),
+ bookmark;
+ for (var i = 0; i < bookmarks.length; i++) {
+ bookmark = bookmarks[i];
+ add_bookmark(bookmark['position'], bookmark['annotation']);
+ }
+
+ // View has no changes as of yet.
+ view.has_changes = false;
%else:
var continue_fn = function() {
view = new View( $("#browser-container"), $("#new-title").val(), undefined, $("#new-dbkey").val() );
@@ -149,13 +175,13 @@
track_data.prefs, track_data.filters, track_data.tool );
view.add_track(new_track);
// Should replace with live event but can't get working
- sortable( new_track.container_div, ".draghandle" );
+ sortable(new_track.container_div, ".draghandle");
view.has_changes = true;
$("#no-tracks").hide();
};
%if add_dataset is not None:
- $.ajax( {
+ $.ajax({
url: "${h.url_for( action='add_track_async' )}",
data: { hda_id: "${add_dataset}" },
dataType: "json",
@@ -164,105 +190,132 @@
%endif
- // Use a popup grid to add more tracks
- $("#add-track").bind("click", function(e) {
- $.ajax({
- url: "${h.url_for( action='list_histories' )}",
- data: { "f-dbkey": view.dbkey },
- error: function() { alert( "Grid failed" ); },
- success: function(table_html) {
- show_modal(
- "Select datasets for new tracks",
- table_html, {
- "Cancel": function() {
- hide_modal();
- },
- "Insert": function() {
- var requests = [];
- $('input[name=id]:checked,input[name=ldda_ids]:checked').each(function() {
- var data,
- id = $(this).val();
- if ($(this).attr("name") === "id") {
- data = { hda_id: id };
- } else {
- data = { ldda_id: id};
- }
- requests[requests.length] = $.ajax({
- url: "${h.url_for( action='add_track_async' )}",
- data: data,
- dataType: "json",
- });
- });
- // To preserve order, wait until there are definitions for all tracks and then add
- // them sequentially.
- $.when.apply($, requests).then(function() {
- // jQuery always returns an Array for arguments, so need to look at first element
- // to determine whether multiple requests were made and consequently how to
- // map arguments to track definitions.
- var track_defs = (arguments[0] instanceof Array ?
- $.map(arguments, function(arg) { return arg[0]; }) :
- [ arguments[0] ]
- );
- for (var i= 0; i < track_defs.length; i++) {
- add_async_success(track_defs[i]);
- }
- });
- hide_modal();
+ $("#viz-options-button").css( "position", "relative" );
+ make_popupmenu( $("#viz-options-button"), {
+ "Add Tracks": function() {
+ // Use a popup grid to add more tracks
+ $.ajax({
+ url: "${h.url_for( action='list_histories' )}",
+ data: { "f-dbkey": view.dbkey },
+ error: function() { alert( "Grid failed" ); },
+ success: function(table_html) {
+ show_modal(
+ "Select datasets for new tracks",
+ table_html, {
+ "Cancel": function() {
+ hide_modal();
+ },
+ "Insert": function() {
+ var requests = [];
+ $('input[name=id]:checked,input[name=ldda_ids]:checked').each(function() {
+ var data,
+ id = $(this).val();
+ if ($(this).attr("name") === "id") {
+ data = { hda_id: id };
+ } else {
+ data = { ldda_id: id};
+ }
+ requests[requests.length] = $.ajax({
+ url: "${h.url_for( action='add_track_async' )}",
+ data: data,
+ dataType: "json",
+ });
+ });
+ // To preserve order, wait until there are definitions for all tracks and then add
+ // them sequentially.
+ $.when.apply($, requests).then(function() {
+ // jQuery always returns an Array for arguments, so need to look at first element
+ // to determine whether multiple requests were made and consequently how to
+ // map arguments to track definitions.
+ var track_defs = (arguments[0] instanceof Array ?
+ $.map(arguments, function(arg) { return arg[0]; }) :
+ [ arguments[0] ]
+ );
+ for (var i= 0; i < track_defs.length; i++) {
+ add_async_success(track_defs[i]);
+ }
+ });
+ hide_modal();
+ }
}
- }
- );
- }
- });
+ );
+ }
+ });
+ },
+ "Save": function() {
+ // Show saving dialog box
+ show_modal("Saving...", "<img src='${h.url_for('/static/images/yui/rel_interstitial_loading.gif')}'/>");
+
+ // Save all tracks.
+ var tracks = [];
+ $(".viewport-container .track").each(function () {
+ // ID has form track_<main_track_id>_<child_track_id>
+ var
+ id_split = $(this).attr("id").split("_"),
+ track_id = id_split[1],
+ child_id = id_split[2];
+
+ // Get track.
+ var track = view.tracks[track_id];
+ if (child_id) {
+ track = track.child_tracks[child_id];
+ }
+
+ // Add track.
+ tracks.push( {
+ "track_type": track.track_type,
+ "name": track.name,
+ "hda_ldda": track.hda_ldda,
+ "dataset_id": track.dataset_id,
+ "prefs": track.prefs,
+ "is_child": (child_id ? true : false )
+ });
+ });
+
+ // Save all bookmarks.
+ var bookmarks = [];
+ $(".bookmark").each(function() {
+ bookmarks[bookmarks.length] = {
+ position: $(this).children(".position").text(),
+ annotation: $(this).children(".annotation").text()
+ };
+ });
+
+ var payload = {
+ 'tracks': tracks,
+ 'viewport': { 'chrom': view.chrom, 'start': view.low , 'end': view.high },
+ 'bookmarks': bookmarks
+ };
+
+ $.ajax({
+ url: "${h.url_for( action='save' )}",
+ type: "POST",
+ data: {
+ 'vis_id': view.vis_id,
+ 'vis_title': view.title,
+ 'dbkey': view.dbkey,
+ 'payload': JSON.stringify(payload)
+ },
+ success: function(vis_id) {
+ view.vis_id = vis_id;
+ view.has_changes = false;
+ hide_modal();
+ },
+ error: function() { alert("Could not save visualization"); }
+ });
+ },
+ "Bookmarks": function() {
+ // HACK -- use style to determine if panel is hidden and hide/show accordingly.
+ parent.force_right_panel(($("div#right").css("right") == "0px" ? "hide" : "show"));
+ },
+ "Close": function() { window.location = "${h.url_for( controller='visualization', action='list' )}"; }
});
- $("#save-button").bind("click", function(e) {
- // Show saving dialog box
- show_modal("Saving...", "<img src='${h.url_for('/static/images/yui/rel_interstitial_loading.gif')}'/>");
-
- // Save all tracks.
- var tracks = [];
- $(".viewport-container .track").each(function () {
- // ID has form track_<main_track_id>_<child_track_id>
- var
- id_split = $(this).attr("id").split("_"),
- track_id = id_split[1],
- child_id = id_split[2];
-
- // Get track.
- var track = view.tracks[track_id];
- if (child_id) {
- track = track.child_tracks[child_id];
- }
-
- // Add track.
- tracks.push( {
- "track_type": track.track_type,
- "name": track.name,
- "hda_ldda": track.hda_ldda,
- "dataset_id": track.dataset_id,
- "prefs": track.prefs,
- "is_child": (child_id ? true : false )
- });
- });
-
- var payload = { 'tracks': tracks, 'viewport': { 'chrom': view.chrom, 'start': view.low , 'end': view.high } };
-
- $.ajax({
- url: "${h.url_for( action='save' )}",
- type: "POST",
- data: {
- 'vis_id': view.vis_id,
- 'vis_title': view.title,
- 'dbkey': view.dbkey,
- 'payload': JSON.stringify(payload)
- },
- success: function(vis_id) {
- view.vis_id = vis_id;
- view.has_changes = false;
- hide_modal();
- },
- error: function() { alert("Could not save visualization"); }
- });
+ $("#add-bookmark-button").click(function() {
+ // Add new bookmark.
+ var position = view.chrom + ":" + view.low + "-" + view.high,
+ annotation = "Bookmark description";
+ return add_bookmark(position, annotation);
});
//
@@ -298,3 +351,32 @@
</script></%def>
+
+<%def name="center_panel()">
+<div class="unified-panel-header" unselectable="on">
+ <div class="unified-panel-header-inner">
+ <div style="float:left;" id="title"></div>
+ <div style="float: right">
+ <a id="viz-options-button" class='panel-header-button popup' href="javascript:void(0)" target="galaxy_main">${_('Options')}</a>
+ </div>
+ </div>
+</div>
+<div id="browser-container" class="unified-panel-body"></div>
+
+</%def>
+
+<%def name="right_panel()">
+
+<div class="unified-panel-header" unselectable="on">
+ <div class="unified-panel-header-inner">
+ Bookmarks
+ </div>
+</div>
+<div class="unified-panel-body" style="overflow: auto;">
+ <div id="bookmarks-container"></div>
+ <div>
+ <a class="icon-button import" original-title="Add Bookmark" id="add-bookmark-button" href="javascript:void(0);">Add Bookmark</a>
+ </div>
+</div>
+
+</%def>
--- a/templates/visualization/display.mako Fri Jun 10 13:15:17 2011 -0400
+++ b/templates/visualization/display.mako Fri Jun 10 13:38:24 2011 -0400
@@ -78,6 +78,7 @@
if (container_element.parents(".item-content").length > 0) { // Embedded viz
container_element.parents(".item-content").css( { "max-height": "none", "overflow": "visible" } );
} else { // Viewing just one shared viz
+ // TODO: need live or just bind click?
$("#right-border").live("click", function() { view.resize_window(); });
}
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
6 new changesets in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/01bd5792fbc7/
changeset: 01bd5792fbc7
user: fangly
date: 2010-12-16 09:26:59
summary: Added 2 Python scripts to deal with FASTQ mate pairs:
- the interlacer puts mate pairs present in 2 files into a single file
- the deinterlacer puts mate pairs present in a single file into 2 files
affected #: 3 files (3.0 KB)
--- a/lib/galaxy_utils/sequence/fastq.py Fri Jun 10 12:36:16 2011 -0400
+++ b/lib/galaxy_utils/sequence/fastq.py Thu Dec 16 18:26:59 2010 +1000
@@ -609,12 +609,15 @@
return rval
def get_paired_identifier( self, fastq_read ):
identifier = fastq_read.identifier
+ identifier_is_first = None
if identifier[-2] == '/':
if identifier[-1] == "1":
identifier = "%s2" % identifier[:-1]
+ identifier_is_first = False
elif identifier[-1] == "2":
identifier = "%s1" % identifier[:-1]
- return identifier
+ identifier_is_first = True
+ return identifier, identifier_is_first
class fastqSplitter( object ):
def split( self, fastq_read ):
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/fastq/fastq_paired_end_deinterlacer.py Thu Dec 16 18:26:59 2010 +1000
@@ -0,0 +1,53 @@
+#Florent Angly
+import sys
+from galaxy_utils.sequence.fastq import fastqReader, fastqWriter, fastqNamedReader, fastqJoiner
+
+def main():
+ input_filename = sys.argv[1]
+ input_type = sys.argv[2] or 'sanger'
+ mate1_filename = sys.argv[3]
+ mate2_filename = sys.argv[4]
+
+ type = input_type
+ input = fastqNamedReader( open( input_filename, 'rb' ), format = type )
+ out1 = fastqWriter( open( mate1_filename, 'wb' ), format = type )
+ out2 = fastqWriter( open( mate2_filename, 'wb' ), format = type )
+ joiner = fastqJoiner( type )
+
+ i = None
+ skip_count = 0
+ found = {}
+ for i, mate1 in enumerate( fastqReader( open( input_filename, 'rb' ), format = type ) ):
+
+ if mate1.identifier in found:
+ del found[mate1.identifier]
+ continue
+
+ mate2_id, mate2_is_first = joiner.get_paired_identifier( mate1 )
+
+ mate2 = input.get( mate2_id )
+ if mate2:
+ found[mate2_id] = None
+ if mate2_is_first:
+ out1.write( mate2 )
+ out2.write( mate1 )
+ else:
+ out1.write( mate1 )
+ out2.write( mate2 )
+ else:
+ skip_count += 1
+
+ if i is None:
+ print "Your input file contained no valid FASTQ sequences."
+ else:
+ if skip_count:
+ print '%i reads had no mate.' % skip_count
+ print 'De-interlaced %s pairs of sequences.' % ( (i - skip_count + 1)/2 )
+
+ input.close()
+ out1.close()
+ out2.close()
+
+
+if __name__ == "__main__":
+ main()
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/fastq/fastq_paired_end_interlacer.py Thu Dec 16 18:26:59 2010 +1000
@@ -0,0 +1,46 @@
+#Florent Angly
+import sys
+from galaxy_utils.sequence.fastq import fastqReader, fastqWriter, fastqNamedReader, fastqJoiner
+
+def main():
+ mate1_filename = sys.argv[1]
+ mate1_type = sys.argv[2] or 'sanger'
+ mate2_filename = sys.argv[3]
+ mate2_type = sys.argv[4] or 'sanger'
+ output_filename = sys.argv[5]
+
+ if mate1_type != mate2_type:
+ print "WARNING: You are trying to interlace files of two different types: %s and %s." % ( mate1_type, mate2_type )
+ return
+
+ type = mate1_type
+ joiner = fastqJoiner( type )
+ out = fastqWriter( open( output_filename, 'wb' ), format = type )
+ mate_input = fastqNamedReader( open( mate2_filename, 'rb' ), format = type )
+
+ i = None
+ skip_count = 0
+ for i, mate1 in enumerate( fastqReader( open( mate1_filename, 'rb' ), format = type ) ):
+
+ mate2 = mate_input.get( joiner.get_paired_identifier( mate1 ) )
+
+ if mate2:
+ out.write( mate1 )
+ out.write( mate2 )
+ else:
+ skip_count += 1
+
+ if i is None:
+ print "Your input file contained no valid FASTQ sequences."
+ else:
+ not_used_msg = mate_input.has_data()
+ if not_used_msg:
+ print not_used_msg
+ print 'Interlaced %s pairs of sequences.' % ( i - skip_count + 1 )
+
+ mate_input.close()
+ out.close()
+
+
+if __name__ == "__main__":
+ main()
http://bitbucket.org/galaxy/galaxy-central/changeset/8fe0ba2e1910/
changeset: 8fe0ba2e1910
user: fangly
date: 2010-12-16 08:12:01
summary: Little bug fix and more informative error message
affected #: 1 file (26 bytes)
--- a/lib/galaxy_utils/sequence/fastq.py Thu Dec 16 18:26:59 2010 +1000
+++ b/lib/galaxy_utils/sequence/fastq.py Thu Dec 16 17:12:01 2010 +1000
@@ -438,7 +438,7 @@
while True:
line = self.file.readline()
if not line:
- raise Exception( 'Invalid FASTQ file: could not parse second instance of sequence identifier.' )
+ raise Exception( 'Invalid FASTQ file: could not find quality score of sequence identifier %s.' % rval.identifier )
line = line.rstrip( '\n\r' )
if line.startswith( '+' ) and ( len( line ) == 1 or line[1:].startswith( fastq_header[1:] ) ):
rval.description = line
@@ -547,7 +547,7 @@
eof = True
self.file.seek( offset )
if count:
- rval = "There were %i known sequence reads not utilized. "
+ rval = "There were %i known sequence reads not utilized. " % count
if not eof:
rval = "%s%s" % ( rval, "An additional unknown number of reads exist in the input that were not utilized." )
return rval
http://bitbucket.org/galaxy/galaxy-central/changeset/eebd5ac107c3/
changeset: eebd5ac107c3
user: fangly
date: 2010-12-17 06:04:17
summary: FASTQ interlacer and de-interlacer tools fully integrated in Galaxy and functional
affected #: 15 files (17.2 KB)
--- a/lib/galaxy_utils/sequence/fastq.py Thu Dec 16 17:12:01 2010 +1000
+++ b/lib/galaxy_utils/sequence/fastq.py Fri Dec 17 15:04:17 2010 +1000
@@ -609,15 +609,22 @@
return rval
def get_paired_identifier( self, fastq_read ):
identifier = fastq_read.identifier
- identifier_is_first = None
if identifier[-2] == '/':
if identifier[-1] == "1":
identifier = "%s2" % identifier[:-1]
- identifier_is_first = False
elif identifier[-1] == "2":
identifier = "%s1" % identifier[:-1]
- identifier_is_first = True
- return identifier, identifier_is_first
+ return identifier
+ def is_first_mate( self, sequence_id ):
+ is_first = None
+ if not isinstance( sequence_id, basestring ):
+ sequence_id = sequence_id.identifier
+ if sequence_id[-2] == '/':
+ if sequence_id[-1] == "1":
+ is_first = True
+ else:
+ is_first = False
+ return is_first
class fastqSplitter( object ):
def split( self, fastq_read ):
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/paired_end_1.fastqsanger Fri Dec 17 15:04:17 2010 +1000
@@ -0,0 +1,20 @@
+@1539:931/1
+NACATCAACACTCAGTAACGGCTGGCGCAAAATGGCATTGATTAACGAAGACTTCCCGCGCGTGAAGGCGCCGGCAAACGAGGCTCGGGAAGGGGCTCCCG
++1539:931/1
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@2971:937/1
+NCGGAGACTTCGAGGCCATCCAGTCGATTGCCAAAGTCATCAAGGGGTCGACGATCTGCTCCCTTGCCCGTTCCAACGAGAATGAAATCCGCCGCGCGTGG
++2971:937/1
+BMQMMRRRSS__________XXXXXVVVVV_b___Y[Y[YXVRVWWPWVX_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@3786:949/1
+NTACCGCGCAACGGCATGATGGCTTGGAACTCACGGTCACGCGCCTGTTTGGCAGAGCCGCCCGCCGAGTCACCTTCCACTAGGAACAGTTCGGAGCGGTT
++3786:949/1
+BKGGKKJNJJ_______W__Y__W_TVPVP[YY[[_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4205:944/1
+NGATCTGGGCTTCAGCAAGACCGATGTCGGCGTGATTGCCAAGCATGCCGGACTCTGGCCGGCGGGGTTCGGCGGTGTGCTGGGTGGCTTGGGGGTGGGGG
++4205:944/1
+BLLLLTWTTR_V_______TYYYRYYYYYY____VWRWWW___BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4534:934/1
+NAATGCCGGTATTTGGCACGATGGCGGCACGCTTCCACGACGACGGGGTGACCTCTCTCTATCAGGCGATGGCATCCAAATTGCACGCGCGGGGTTTGAGG
++4534:934/1
+BGGFGLJLJL______________V____________________YYYPQOTWVT__________BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/paired_end_1_cleaned.fastqsanger Fri Dec 17 15:04:17 2010 +1000
@@ -0,0 +1,16 @@
+@2971:937/1
+NCGGAGACTTCGAGGCCATCCAGTCGATTGCCAAAGTCATCAAGGGGTCGACGATCTGCTCCCTTGCCCGTTCCAACGAGAATGAAATCCGCCGCGCGTGG
++2971:937/1
+BMQMMRRRSS__________XXXXXVVVVV_b___Y[Y[YXVRVWWPWVX_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@3786:949/1
+NTACCGCGCAACGGCATGATGGCTTGGAACTCACGGTCACGCGCCTGTTTGGCAGAGCCGCCCGCCGAGTCACCTTCCACTAGGAACAGTTCGGAGCGGTT
++3786:949/1
+BKGGKKJNJJ_______W__Y__W_TVPVP[YY[[_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4205:944/1
+NGATCTGGGCTTCAGCAAGACCGATGTCGGCGTGATTGCCAAGCATGCCGGACTCTGGCCGGCGGGGTTCGGCGGTGTGCTGGGTGGCTTGGGGGTGGGGG
++4205:944/1
+BLLLLTWTTR_V_______TYYYRYYYYYY____VWRWWW___BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4534:934/1
+NAATGCCGGTATTTGGCACGATGGCGGCACGCTTCCACGACGACGGGGTGACCTCTCTCTATCAGGCGATGGCATCCAAATTGCACGCGCGGGGTTTGAGG
++4534:934/1
+BGGFGLJLJL______________V____________________YYYPQOTWVT__________BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/paired_end_1_errors.fastqsanger Fri Dec 17 15:04:17 2010 +1000
@@ -0,0 +1,20 @@
+@1539:931/1
+NACATCAACACTCAGTAACGGCTGGCGCAAAATGGCATTGATTAACGAAGACTTCCCGCGCGTGAAGGCGCCGGCAAACGAGGCTCGGGAAGGGGCTCCCG
++1539:931/1
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@2971:937/1
+NCGGAGACTTCGAGGCCATCCAGTCGATTGCCAAAGTCATCAAGGGGTCGACGATCTGCTCCCTTGCCCGTTCCAACGAGAATGAAATCCGCCGCGCGTGG
++2971:937/1
+BMQMMRRRSS__________XXXXXVVVVV_b___Y[Y[YXVRVWWPWVX_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@3786:949/1
+NTACCGCGCAACGGCATGATGGCTTGGAACTCACGGTCACGCGCCTGTTTGGCAGAGCCGCCCGCCGAGTCACCTTCCACTAGGAACAGTTCGGAGCGGTT
++3786:949/1
+BKGGKKJNJJ_______W__Y__W_TVPVP[YY[[_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@9999:944/1
+NGATCTGGGCTTCAGCAAGACCGATGTCGGCGTGATTGCCAAGCATGCCGGACTCTGGCCGGCGGGGTTCGGCGGTGTGCTGGGTGGCTTGGGGGTGGGGG
++9999:944/1
+BLLLLTWTTR_V_______TYYYRYYYYYY____VWRWWW___BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4534:934/1
+NAATGCCGGTATTTGGCACGATGGCGGCACGCTTCCACGACGACGGGGTGACCTCTCTCTATCAGGCGATGGCATCCAAATTGCACGCGCGGGGTTTGAGG
++4534:934/1
+BGGFGLJLJL______________V____________________YYYPQOTWVT__________BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/paired_end_2.fastqsanger Fri Dec 17 15:04:17 2010 +1000
@@ -0,0 +1,20 @@
+@1539:931/2
+GCGCGTAACGTTTCACCTCGAGATCGTTGTCGGCCGCAATCTCCTGGGGGCGCCATTCCGAATCGTAGTTGTCGGCGTCTTCCAGTGCGGCAAGGCATCGT
++1539:931/2
+aee_dcadeeWcaaadJbdaff[fffc]dcfe[dRc^\[^QVOZXXZSPFWNUUZ\P^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@2971:937/2
+CTCGCACGGCCGCCTCGACCACTTGGTCTGGCGTCATGCGCAATTTTTTCTCCATGTGGAACGGGCTGGTGGCGATGAACGTATGAATATGCCCCCGCGCT
++2971:937/2
+hhhddhefhh_ffffhhhhfah_hhdUdcfW`fbbhfcaec_dfdbba````W^caaaJXGKXSUVYVZY^WY^BBBBBBBBBBBBBBBBBBBBBBBBBBB
+@3786:949/2
+CTCAACCAGAACACCGTGATCGGCGACCAGTTGGCGCAGTTCGCCATCAGAAATGCAGGGATGCGGATGCGGGCTAGCACGAAAGTCATCCTCAACACGAT
++3786:949/2
+ffcfcaffff\_edefddff[ffa_fRffRdc]Sdf]affehh_eaebBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4205:944/2
+GTCGACAGGTGCCTGTACACCACGCCAGGCCAGCCAGGCGAAACCGAGAACGGTCACCATCTGAACCAGACCGAAAACCAACAGTGCGGGGTTGAGCCACG
++4205:944/2
+hhhhhcffcWcdfdcffdffdfQadf[fLfc`Ra`Wcca]`^``]L[^QZGSQWUYZXK[`bJRbZb[_BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4534:934/2
+GGTAATTGCGGACGGCTTCGGCAATTTCGGCCAGGTAGCGCACGCGCTTCGACGGAACGATGGCGCGCAGGTTCGACGATTGTCGAACGCTGATCAGCGCG
++4534:934/2
+ffffcff[fdhaghh[ffcahhghhhdhadhhhhg_hc[hf]fec]faa]bLb___`^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/paired_end_2_cleaned.fastqsanger Fri Dec 17 15:04:17 2010 +1000
@@ -0,0 +1,16 @@
+@2971:937/2
+CTCGCACGGCCGCCTCGACCACTTGGTCTGGCGTCATGCGCAATTTTTTCTCCATGTGGAACGGGCTGGTGGCGATGAACGTATGAATATGCCCCCGCGCT
++2971:937/2
+hhhddhefhh_ffffhhhhfah_hhdUdcfW`fbbhfcaec_dfdbba````W^caaaJXGKXSUVYVZY^WY^BBBBBBBBBBBBBBBBBBBBBBBBBBB
+@3786:949/2
+CTCAACCAGAACACCGTGATCGGCGACCAGTTGGCGCAGTTCGCCATCAGAAATGCAGGGATGCGGATGCGGGCTAGCACGAAAGTCATCCTCAACACGAT
++3786:949/2
+ffcfcaffff\_edefddff[ffa_fRffRdc]Sdf]affehh_eaebBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4205:944/2
+GTCGACAGGTGCCTGTACACCACGCCAGGCCAGCCAGGCGAAACCGAGAACGGTCACCATCTGAACCAGACCGAAAACCAACAGTGCGGGGTTGAGCCACG
++4205:944/2
+hhhhhcffcWcdfdcffdffdfQadf[fLfc`Ra`Wcca]`^``]L[^QZGSQWUYZXK[`bJRbZb[_BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4534:934/2
+GGTAATTGCGGACGGCTTCGGCAATTTCGGCCAGGTAGCGCACGCGCTTCGACGGAACGATGGCGCGCAGGTTCGACGATTGTCGAACGCTGATCAGCGCG
++4534:934/2
+ffffcff[fdhaghh[ffcahhghhhdhadhhhhg_hc[hf]fec]faa]bLb___`^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/paired_end_2_errors.fastqsanger Fri Dec 17 15:04:17 2010 +1000
@@ -0,0 +1,20 @@
+@1539:931/2
+GCGCGTAACGTTTCACCTCGAGATCGTTGTCGGCCGCAATCTCCTGGGGGCGCCATTCCGAATCGTAGTTGTCGGCGTCTTCCAGTGCGGCAAGGCATCGT
++1539:931/2
+aee_dcadeeWcaaadJbdaff[fffc]dcfe[dRc^\[^QVOZXXZSPFWNUUZ\P^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@2971:937/2
+CTCGCACGGCCGCCTCGACCACTTGGTCTGGCGTCATGCGCAATTTTTTCTCCATGTGGAACGGGCTGGTGGCGATGAACGTATGAATATGCCCCCGCGCT
++2971:937/2
+hhhddhefhh_ffffhhhhfah_hhdUdcfW`fbbhfcaec_dfdbba````W^caaaJXGKXSUVYVZY^WY^BBBBBBBBBBBBBBBBBBBBBBBBBBB
+@9999:949/2
+CTCAACCAGAACACCGTGATCGGCGACCAGTTGGCGCAGTTCGCCATCAGAAATGCAGGGATGCGGATGCGGGCTAGCACGAAAGTCATCCTCAACACGAT
++9999:949/2
+ffcfcaffff\_edefddff[ffa_fRffRdc]Sdf]affehh_eaebBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4205:944/2
+GTCGACAGGTGCCTGTACACCACGCCAGGCCAGCCAGGCGAAACCGAGAACGGTCACCATCTGAACCAGACCGAAAACCAACAGTGCGGGGTTGAGCCACG
++4205:944/2
+hhhhhcffcWcdfdcffdffdfQadf[fLfc`Ra`Wcca]`^``]L[^QZGSQWUYZXK[`bJRbZb[_BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4534:934/2
+GGTAATTGCGGACGGCTTCGGCAATTTCGGCCAGGTAGCGCACGCGCTTCGACGGAACGATGGCGCGCAGGTTCGACGATTGTCGAACGCTGATCAGCGCG
++4534:934/2
+ffffcff[fdhaghh[ffcahhghhhdhadhhhhg_hc[hf]fec]faa]bLb___`^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/paired_end_merged.fastqsanger Fri Dec 17 15:04:17 2010 +1000
@@ -0,0 +1,40 @@
+@1539:931/1
+NACATCAACACTCAGTAACGGCTGGCGCAAAATGGCATTGATTAACGAAGACTTCCCGCGCGTGAAGGCGCCGGCAAACGAGGCTCGGGAAGGGGCTCCCG
++1539:931/1
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@1539:931/2
+GCGCGTAACGTTTCACCTCGAGATCGTTGTCGGCCGCAATCTCCTGGGGGCGCCATTCCGAATCGTAGTTGTCGGCGTCTTCCAGTGCGGCAAGGCATCGT
++1539:931/2
+aee_dcadeeWcaaadJbdaff[fffc]dcfe[dRc^\[^QVOZXXZSPFWNUUZ\P^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@2971:937/1
+NCGGAGACTTCGAGGCCATCCAGTCGATTGCCAAAGTCATCAAGGGGTCGACGATCTGCTCCCTTGCCCGTTCCAACGAGAATGAAATCCGCCGCGCGTGG
++2971:937/1
+BMQMMRRRSS__________XXXXXVVVVV_b___Y[Y[YXVRVWWPWVX_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@2971:937/2
+CTCGCACGGCCGCCTCGACCACTTGGTCTGGCGTCATGCGCAATTTTTTCTCCATGTGGAACGGGCTGGTGGCGATGAACGTATGAATATGCCCCCGCGCT
++2971:937/2
+hhhddhefhh_ffffhhhhfah_hhdUdcfW`fbbhfcaec_dfdbba````W^caaaJXGKXSUVYVZY^WY^BBBBBBBBBBBBBBBBBBBBBBBBBBB
+@3786:949/1
+NTACCGCGCAACGGCATGATGGCTTGGAACTCACGGTCACGCGCCTGTTTGGCAGAGCCGCCCGCCGAGTCACCTTCCACTAGGAACAGTTCGGAGCGGTT
++3786:949/1
+BKGGKKJNJJ_______W__Y__W_TVPVP[YY[[_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@3786:949/2
+CTCAACCAGAACACCGTGATCGGCGACCAGTTGGCGCAGTTCGCCATCAGAAATGCAGGGATGCGGATGCGGGCTAGCACGAAAGTCATCCTCAACACGAT
++3786:949/2
+ffcfcaffff\_edefddff[ffa_fRffRdc]Sdf]affehh_eaebBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4205:944/1
+NGATCTGGGCTTCAGCAAGACCGATGTCGGCGTGATTGCCAAGCATGCCGGACTCTGGCCGGCGGGGTTCGGCGGTGTGCTGGGTGGCTTGGGGGTGGGGG
++4205:944/1
+BLLLLTWTTR_V_______TYYYRYYYYYY____VWRWWW___BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4205:944/2
+GTCGACAGGTGCCTGTACACCACGCCAGGCCAGCCAGGCGAAACCGAGAACGGTCACCATCTGAACCAGACCGAAAACCAACAGTGCGGGGTTGAGCCACG
++4205:944/2
+hhhhhcffcWcdfdcffdffdfQadf[fLfc`Ra`Wcca]`^``]L[^QZGSQWUYZXK[`bJRbZb[_BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4534:934/1
+NAATGCCGGTATTTGGCACGATGGCGGCACGCTTCCACGACGACGGGGTGACCTCTCTCTATCAGGCGATGGCATCCAAATTGCACGCGCGGGGTTTGAGG
++4534:934/1
+BGGFGLJLJL______________V____________________YYYPQOTWVT__________BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4534:934/2
+GGTAATTGCGGACGGCTTCGGCAATTTCGGCCAGGTAGCGCACGCGCTTCGACGGAACGATGGCGCGCAGGTTCGACGATTGTCGAACGCTGATCAGCGCG
++4534:934/2
+ffffcff[fdhaghh[ffcahhghhhdhadhhhhg_hc[hf]fec]faa]bLb___`^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/paired_end_merged_cleaned.fastqsanger Fri Dec 17 15:04:17 2010 +1000
@@ -0,0 +1,24 @@
+@1539:931/1
+NACATCAACACTCAGTAACGGCTGGCGCAAAATGGCATTGATTAACGAAGACTTCCCGCGCGTGAAGGCGCCGGCAAACGAGGCTCGGGAAGGGGCTCCCG
++1539:931/1
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@1539:931/2
+GCGCGTAACGTTTCACCTCGAGATCGTTGTCGGCCGCAATCTCCTGGGGGCGCCATTCCGAATCGTAGTTGTCGGCGTCTTCCAGTGCGGCAAGGCATCGT
++1539:931/2
+aee_dcadeeWcaaadJbdaff[fffc]dcfe[dRc^\[^QVOZXXZSPFWNUUZ\P^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@2971:937/1
+NCGGAGACTTCGAGGCCATCCAGTCGATTGCCAAAGTCATCAAGGGGTCGACGATCTGCTCCCTTGCCCGTTCCAACGAGAATGAAATCCGCCGCGCGTGG
++2971:937/1
+BMQMMRRRSS__________XXXXXVVVVV_b___Y[Y[YXVRVWWPWVX_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@2971:937/2
+CTCGCACGGCCGCCTCGACCACTTGGTCTGGCGTCATGCGCAATTTTTTCTCCATGTGGAACGGGCTGGTGGCGATGAACGTATGAATATGCCCCCGCGCT
++2971:937/2
+hhhddhefhh_ffffhhhhfah_hhdUdcfW`fbbhfcaec_dfdbba````W^caaaJXGKXSUVYVZY^WY^BBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4534:934/1
+NAATGCCGGTATTTGGCACGATGGCGGCACGCTTCCACGACGACGGGGTGACCTCTCTCTATCAGGCGATGGCATCCAAATTGCACGCGCGGGGTTTGAGG
++4534:934/1
+BGGFGLJLJL______________V____________________YYYPQOTWVT__________BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4534:934/2
+GGTAATTGCGGACGGCTTCGGCAATTTCGGCCAGGTAGCGCACGCGCTTCGACGGAACGATGGCGCGCAGGTTCGACGATTGTCGAACGCTGATCAGCGCG
++4534:934/2
+ffffcff[fdhaghh[ffcahhghhhdhadhhhhg_hc[hf]fec]faa]bLb___`^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/paired_end_merged_errors.fastqsanger Fri Dec 17 15:04:17 2010 +1000
@@ -0,0 +1,40 @@
+@1539:931/1
+NACATCAACACTCAGTAACGGCTGGCGCAAAATGGCATTGATTAACGAAGACTTCCCGCGCGTGAAGGCGCCGGCAAACGAGGCTCGGGAAGGGGCTCCCG
++1539:931/1
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@9999:931/2
+GCGCGTAACGTTTCACCTCGAGATCGTTGTCGGCCGCAATCTCCTGGGGGCGCCATTCCGAATCGTAGTTGTCGGCGTCTTCCAGTGCGGCAAGGCATCGT
++9999:931/2
+aee_dcadeeWcaaadJbdaff[fffc]dcfe[dRc^\[^QVOZXXZSPFWNUUZ\P^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@2971:937/2
+CTCGCACGGCCGCCTCGACCACTTGGTCTGGCGTCATGCGCAATTTTTTCTCCATGTGGAACGGGCTGGTGGCGATGAACGTATGAATATGCCCCCGCGCT
++2971:937/2
+hhhddhefhh_ffffhhhhfah_hhdUdcfW`fbbhfcaec_dfdbba````W^caaaJXGKXSUVYVZY^WY^BBBBBBBBBBBBBBBBBBBBBBBBBBB
+@2971:937/1
+NCGGAGACTTCGAGGCCATCCAGTCGATTGCCAAAGTCATCAAGGGGTCGACGATCTGCTCCCTTGCCCGTTCCAACGAGAATGAAATCCGCCGCGCGTGG
++2971:937/1
+BMQMMRRRSS__________XXXXXVVVVV_b___Y[Y[YXVRVWWPWVX_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@3786:949/1
+NTACCGCGCAACGGCATGATGGCTTGGAACTCACGGTCACGCGCCTGTTTGGCAGAGCCGCCCGCCGAGTCACCTTCCACTAGGAACAGTTCGGAGCGGTT
++3786:949/1
+BKGGKKJNJJ_______W__Y__W_TVPVP[YY[[_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@3786:949/2
+CTCAACCAGAACACCGTGATCGGCGACCAGTTGGCGCAGTTCGCCATCAGAAATGCAGGGATGCGGATGCGGGCTAGCACGAAAGTCATCCTCAACACGAT
++3786:949/2
+ffcfcaffff\_edefddff[ffa_fRffRdc]Sdf]affehh_eaebBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4205:944/1
+NGATCTGGGCTTCAGCAAGACCGATGTCGGCGTGATTGCCAAGCATGCCGGACTCTGGCCGGCGGGGTTCGGCGGTGTGCTGGGTGGCTTGGGGGTGGGGG
++4205:944/1
+BLLLLTWTTR_V_______TYYYRYYYYYY____VWRWWW___BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4205:944/2
+GTCGACAGGTGCCTGTACACCACGCCAGGCCAGCCAGGCGAAACCGAGAACGGTCACCATCTGAACCAGACCGAAAACCAACAGTGCGGGGTTGAGCCACG
++4205:944/2
+hhhhhcffcWcdfdcffdffdfQadf[fLfc`Ra`Wcca]`^``]L[^QZGSQWUYZXK[`bJRbZb[_BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4534:934/1
+NAATGCCGGTATTTGGCACGATGGCGGCACGCTTCCACGACGACGGGGTGACCTCTCTCTATCAGGCGATGGCATCCAAATTGCACGCGCGGGGTTTGAGG
++4534:934/1
+BGGFGLJLJL______________V____________________YYYPQOTWVT__________BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4534:934/2
+GGTAATTGCGGACGGCTTCGGCAATTTCGGCCAGGTAGCGCACGCGCTTCGACGGAACGATGGCGCGCAGGTTCGACGATTGTCGAACGCTGATCAGCGCG
++4534:934/2
+ffffcff[fdhaghh[ffcahhghhhdhadhhhhg_hc[hf]fec]faa]bLb___`^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
--- a/tool_conf.xml.sample Thu Dec 16 17:12:01 2010 +1000
+++ b/tool_conf.xml.sample Fri Dec 17 15:04:17 2010 +1000
@@ -260,6 +260,8 @@
<tool file="fastq/fastq_trimmer.xml" /><tool file="fastq/fastq_trimmer_by_quality.xml" /><tool file="fastq/fastq_masker_by_quality.xml" />
+ <tool file="fastq/fastq_paired_end_interlacer.xml" />
+ <tool file="fastq/fastq_paired_end_deinterlacer.xml" /><tool file="fastq/fastq_manipulation.xml" /><tool file="fastq/fastq_to_fasta.xml" /><tool file="fastq/fastq_to_tabular.xml" />
--- a/tools/fastq/fastq_paired_end_deinterlacer.py Thu Dec 16 17:12:01 2010 +1000
+++ b/tools/fastq/fastq_paired_end_deinterlacer.py Fri Dec 17 15:04:17 2010 +1000
@@ -23,17 +23,16 @@
del found[mate1.identifier]
continue
- mate2_id, mate2_is_first = joiner.get_paired_identifier( mate1 )
+ mate2 = input.get( joiner.get_paired_identifier( mate1 ) )
- mate2 = input.get( mate2_id )
if mate2:
- found[mate2_id] = None
- if mate2_is_first:
+ found[mate2.identifier] = None
+ if joiner.is_first_mate( mate1 ):
+ out1.write( mate1 )
+ out2.write( mate2 )
+ else:
out1.write( mate2 )
out2.write( mate1 )
- else:
- out1.write( mate1 )
- out2.write( mate2 )
else:
skip_count += 1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/fastq/fastq_paired_end_deinterlacer.xml Fri Dec 17 15:04:17 2010 +1000
@@ -0,0 +1,64 @@
+<tool id="fastq_paired_end_deinterlacer" name="FASTQ de-interlacer" version="1.0.0">
+ <description>on paired end reads</description>
+ <command interpreter="python">fastq_paired_end_deinterlacer.py '$input1_file' '${input1_file.extension[len( 'fastq' ):]}' '$output1_file' '$output2_file'</command>
+ <inputs>
+ <param name="input1_file" type="data" format="fastqsanger,fastqcssanger" label="FASTQ reads" />
+ </inputs>
+ <outputs>
+ <data name="output1_file" format="input" />
+ <data name="output2_file" format="input" />
+ </outputs>
+ <tests>
+ <test>
+ <param name="input1_file" value="paired_end_merged.fastqsanger" ftype="fastqsanger" />
+ <output name="output1_file" file="paired_end_1.fastqsanger" />
+ <output name="output2_file" file="paired_end_2.fastqsanger" />
+ </test>
+ <test>
+ <param name="input1_file" value="paired_end_merged_errors.fastqsanger" ftype="fastqsanger" />
+ <output name="output1_file" file="paired_end_1_cleaned.fastqsanger" />
+ <output name="output2_file" file="paired_end_2_cleaned.fastqsanger" />
+ </test>
+ </tests>
+ <help>
+**What it does**
+
+De-interlaces a single fastq dataset representing paired-end run into two fastq datasets containing only the first or second mate read. Reads without mate are excluded from the output files.
+
+Sequence identifiers for paired-end reads must follow the /1 and /2 convention.
+
+-----
+
+**Input**
+
+A multiple-fastq file containing paired-end reads, for example::
+
+ @1539:931/1
+ ACTTCCCGCGCGTGAAGGCGCCGGCAAACGAGGCTCGGGAAGGGGCTCCCG
+ +1539:931/1
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+ @1539:931/2
+ CGCCATTCCGAATCGTAGTTGTCGGCGTCTTCCAGTGCGGCAAGGCATCGT
+ +1539:931/2
+ WNUUZ\P^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+
+-----
+
+**Output**
+
+Multi-fastq file with left-hand mate only::
+
+ @1539:931/1
+ ACTTCCCGCGCGTGAAGGCGCCGGCAAACGAGGCTCGGGAAGGGGCTCCCG
+ +1539:931/1
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+
+Multi-fastq file with right-hand mate only::
+
+ @1539:931/2
+ CGCCATTCCGAATCGTAGTTGTCGGCGTCTTCCAGTGCGGCAAGGCATCGT
+ +1539:931/2
+ WNUUZ\P^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+
+ </help>
+</tool>
--- a/tools/fastq/fastq_paired_end_interlacer.py Thu Dec 16 17:12:01 2010 +1000
+++ b/tools/fastq/fastq_paired_end_interlacer.py Fri Dec 17 15:04:17 2010 +1000
@@ -21,9 +21,7 @@
i = None
skip_count = 0
for i, mate1 in enumerate( fastqReader( open( mate1_filename, 'rb' ), format = type ) ):
-
mate2 = mate_input.get( joiner.get_paired_identifier( mate1 ) )
-
if mate2:
out.write( mate1 )
out.write( mate2 )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/fastq/fastq_paired_end_interlacer.xml Fri Dec 17 15:04:17 2010 +1000
@@ -0,0 +1,64 @@
+<tool id="fastq_paired_end_interlacer" name="FASTQ interlacer" version="1.0.0">
+ <description>on paired end reads</description>
+ <command interpreter="python">fastq_paired_end_interlacer.py '$input1_file' '${input1_file.extension[len( 'fastq' ):]}' '$input2_file' '${input2_file.extension[len( 'fastq' ):]}' '$output_file'</command>
+ <inputs>
+ <param name="input1_file" type="data" format="fastqsanger,fastqcssanger" label="Left-hand mates" />
+ <param name="input2_file" type="data" format="fastqsanger,fastqcssanger" label="Right-hand mates" />
+ </inputs>
+ <outputs>
+ <data name="output_file" format="input" />
+ </outputs>
+ <tests>
+ <test>
+ <param name="input1_file" value="paired_end_1.fastqsanger" ftype="fastqsanger" />
+ <param name="input2_file" value="paired_end_2.fastqsanger" ftype="fastqsanger" />
+ <output name="output_file" file="paired_end_merged.fastqsanger" />
+ </test>
+ <test>
+ <param name="input1_file" value="paired_end_1_errors.fastqsanger" ftype="fastqsanger" />
+ <param name="input2_file" value="paired_end_2_errors.fastqsanger" ftype="fastqsanger" />
+ <output name="output_file" file="paired_end_merged_cleaned.fastqsanger" />
+ </test>
+ </tests>
+ <help>
+**What it does**
+
+This tool joins paired end FASTQ reads from two separate files, one with the left mates and one with the right mates, into a single files where letf mates alternate with their right mate. The join is performed using sequence identifiers, allowing the two files to contain differing ordering. If a sequence identifier does not appear in both files, it is excluded from the output.
+
+Sequence identifiers with /1 and /2 appended override the left-hand and right-hand designation; i.e. if the reads end with /1 and /2, the read containing /1 will be used as the left-hand read and the read containing /2 will be used as the right-hand read. Sequences without this designation will follow the left-hand and right-hand settings set by the user.
+
+-----
+
+**Input**
+
+Left-hand mates, for example::
+
+ @1539:931/1
+ ACTTCCCGCGCGTGAAGGCGCCGGCAAACGAGGCTCGGGAAGGGGCTCCCG
+ +1539:931/1
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+
+Right-hand mates, for example::
+
+ @1539:931/2
+ CGCCATTCCGAATCGTAGTTGTCGGCGTCTTCCAGTGCGGCAAGGCATCGT
+ +1539:931/2
+ WNUUZ\P^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+
+-----
+
+**Output**
+
+A multiple-fastq file containing interlaced left and right paired reads::
+
+ @1539:931/1
+ ACTTCCCGCGCGTGAAGGCGCCGGCAAACGAGGCTCGGGAAGGGGCTCCCG
+ +1539:931/1
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+ @1539:931/2
+ CGCCATTCCGAATCGTAGTTGTCGGCGTCTTCCAGTGCGGCAAGGCATCGT
+ +1539:931/2
+ WNUUZ\P^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+
+ </help>
+</tool>
http://bitbucket.org/galaxy/galaxy-central/changeset/bc292ff9d647/
changeset: bc292ff9d647
user: fangly
date: 2011-05-17 09:26:04
summary: Interlacer and de-interlacer now keep track or single reads (that have no mate)
affected #: 7 files (4.0 KB)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/paired_end_1_cleaned_singles.fastqsanger Tue May 17 17:26:04 2011 +1000
@@ -0,0 +1,4 @@
+@1539:931/1
+NACATCAACACTCAGTAACGGCTGGCGCAAAATGGCATTGATTAACGAAGACTTCCCGCGCGTGAAGGCGCCGGCAAACGAGGCTCGGGAAGGGGCTCCCG
++1539:931/1
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/paired_end_2_cleaned_singles.fastqsanger Tue May 17 17:26:04 2011 +1000
@@ -0,0 +1,4 @@
+@9999:931/2
+GCGCGTAACGTTTCACCTCGAGATCGTTGTCGGCCGCAATCTCCTGGGGGCGCCATTCCGAATCGTAGTTGTCGGCGTCTTCCAGTGCGGCAAGGCATCGT
++9999:931/2
+aee_dcadeeWcaaadJbdaff[fffc]dcfe[dRc^\[^QVOZXXZSPFWNUUZ\P^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/paired_end_merged_cleaned_singles.fastqsanger Tue May 17 17:26:04 2011 +1000
@@ -0,0 +1,16 @@
+@3786:949/1
+NTACCGCGCAACGGCATGATGGCTTGGAACTCACGGTCACGCGCCTGTTTGGCAGAGCCGCCCGCCGAGTCACCTTCCACTAGGAACAGTTCGGAGCGGTT
++3786:949/1
+BKGGKKJNJJ_______W__Y__W_TVPVP[YY[[_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@9999:944/1
+NGATCTGGGCTTCAGCAAGACCGATGTCGGCGTGATTGCCAAGCATGCCGGACTCTGGCCGGCGGGGTTCGGCGGTGTGCTGGGTGGCTTGGGGGTGGGGG
++9999:944/1
+BLLLLTWTTR_V_______TYYYRYYYYYY____VWRWWW___BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@9999:949/2
+CTCAACCAGAACACCGTGATCGGCGACCAGTTGGCGCAGTTCGCCATCAGAAATGCAGGGATGCGGATGCGGGCTAGCACGAAAGTCATCCTCAACACGAT
++9999:949/2
+ffcfcaffff\_edefddff[ffa_fRffRdc]Sdf]affehh_eaebBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+@4205:944/2
+GTCGACAGGTGCCTGTACACCACGCCAGGCCAGCCAGGCGAAACCGAGAACGGTCACCATCTGAACCAGACCGAAAACCAACAGTGCGGGGTTGAGCCACG
++4205:944/2
+hhhhhcffcWcdfdcffdffdfQadf[fLfc`Ra`Wcca]`^``]L[^QZGSQWUYZXK[`bJRbZb[_BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
--- a/tools/fastq/fastq_paired_end_deinterlacer.py Fri Dec 17 15:04:17 2010 +1000
+++ b/tools/fastq/fastq_paired_end_deinterlacer.py Tue May 17 17:26:04 2011 +1000
@@ -3,16 +3,20 @@
from galaxy_utils.sequence.fastq import fastqReader, fastqWriter, fastqNamedReader, fastqJoiner
def main():
- input_filename = sys.argv[1]
- input_type = sys.argv[2] or 'sanger'
- mate1_filename = sys.argv[3]
- mate2_filename = sys.argv[4]
+ input_filename = sys.argv[1]
+ input_type = sys.argv[2] or 'sanger'
+ mate1_filename = sys.argv[3]
+ mate2_filename = sys.argv[4]
+ single1_filename = sys.argv[5]
+ single2_filename = sys.argv[6]
- type = input_type
- input = fastqNamedReader( open( input_filename, 'rb' ), format = type )
- out1 = fastqWriter( open( mate1_filename, 'wb' ), format = type )
- out2 = fastqWriter( open( mate2_filename, 'wb' ), format = type )
- joiner = fastqJoiner( type )
+ type = input_type
+ input = fastqNamedReader( open( input_filename, 'rb' ), format = type )
+ mate1_out = fastqWriter( open( mate1_filename, 'wb' ), format = type )
+ mate2_out = fastqWriter( open( mate2_filename, 'wb' ), format = type )
+ single1_out = fastqWriter( open( single1_filename, 'wb' ), format = type )
+ single2_out = fastqWriter( open( single2_filename, 'wb' ), format = type )
+ joiner = fastqJoiner( type )
i = None
skip_count = 0
@@ -26,27 +30,35 @@
mate2 = input.get( joiner.get_paired_identifier( mate1 ) )
if mate2:
+ # This is a mate pair
found[mate2.identifier] = None
if joiner.is_first_mate( mate1 ):
- out1.write( mate1 )
- out2.write( mate2 )
+ mate1_out.write( mate1 )
+ mate2_out.write( mate2 )
else:
- out1.write( mate2 )
- out2.write( mate1 )
+ mate1_out.write( mate2 )
+ mate2_out.write( mate1 )
else:
+ # This is a single
skip_count += 1
+ if joiner.is_first_mate( mate1 ):
+ single1_out.write( mate1 )
+ else:
+ single2_out.write( mate1 )
if i is None:
print "Your input file contained no valid FASTQ sequences."
else:
if skip_count:
- print '%i reads had no mate.' % skip_count
+ print 'There were %i reads with no mate.' % skip_count
print 'De-interlaced %s pairs of sequences.' % ( (i - skip_count + 1)/2 )
input.close()
- out1.close()
- out2.close()
-
+ mate1_out.close()
+ mate2_out.close()
+ single1_out.close()
+ single2_out.close()
+
if __name__ == "__main__":
main()
--- a/tools/fastq/fastq_paired_end_deinterlacer.xml Fri Dec 17 15:04:17 2010 +1000
+++ b/tools/fastq/fastq_paired_end_deinterlacer.xml Tue May 17 17:26:04 2011 +1000
@@ -1,29 +1,35 @@
<tool id="fastq_paired_end_deinterlacer" name="FASTQ de-interlacer" version="1.0.0"><description>on paired end reads</description>
- <command interpreter="python">fastq_paired_end_deinterlacer.py '$input1_file' '${input1_file.extension[len( 'fastq' ):]}' '$output1_file' '$output2_file'</command>
+ <command interpreter="python">fastq_paired_end_deinterlacer.py '$input_file' '${input_file.extension[len( 'fastq' ):]}' '$output1_pairs_file' '$output2_pairs_file' '$output1_singles_file' '$output2_singles_file'</command><inputs>
- <param name="input1_file" type="data" format="fastqsanger,fastqcssanger" label="FASTQ reads" />
+ <param name="input_file" type="data" format="fastqsanger,fastqcssanger" label="FASTQ reads" /></inputs><outputs>
- <data name="output1_file" format="input" />
- <data name="output2_file" format="input" />
+ <data name="output1_pairs_file" format="input" label="FASTQ de-interlacer left mates from data ${input_file.hid}" />
+ <data name="output2_pairs_file" format="input" label="FASTQ de-interlacer right mates from data ${input_file.hid}"/>
+ <data name="output1_singles_file" format="input" label="FASTQ de-interlacer left singles from data ${input_file.hid}"/>
+ <data name="output2_singles_file" format="input" label="FASTQ de-interlacer right singles from data ${input_file.hid}"/></outputs><tests><test>
- <param name="input1_file" value="paired_end_merged.fastqsanger" ftype="fastqsanger" />
- <output name="output1_file" file="paired_end_1.fastqsanger" />
- <output name="output2_file" file="paired_end_2.fastqsanger" />
+ <param name="input_file" value="paired_end_merged.fastqsanger" ftype="fastqsanger" />
+ <output name="output1_pairs_file" file="paired_end_1.fastqsanger" />
+ <output name="output2_pairs_file" file="paired_end_2.fastqsanger" />
+ <output name="output1_singles_file" file="paired_end_1_singles.fastqsanger" />
+ <output name="output2_singles_file" file="paired_end_2_singles.fastqsanger" /></test><test>
- <param name="input1_file" value="paired_end_merged_errors.fastqsanger" ftype="fastqsanger" />
- <output name="output1_file" file="paired_end_1_cleaned.fastqsanger" />
- <output name="output2_file" file="paired_end_2_cleaned.fastqsanger" />
+ <param name="input_file" value="paired_end_merged_errors.fastqsanger" ftype="fastqsanger" />
+ <output name="output1_pairs_file" file="paired_end_1_cleaned.fastqsanger" />
+ <output name="output2_pairs_file" file="paired_end_2_cleaned.fastqsanger" />
+ <output name="output1_singles_file" file="paired_end_1_cleaned_singles.fastqsanger" />
+ <output name="output2_singles_file" file="paired_end_2_cleaned_singles.fastqsanger" /></test></tests><help>
**What it does**
-De-interlaces a single fastq dataset representing paired-end run into two fastq datasets containing only the first or second mate read. Reads without mate are excluded from the output files.
+De-interlaces a single fastq dataset representing paired-end run into two fastq datasets containing only the first or second mate read. Reads without mate are saved in separate output files.
Sequence identifiers for paired-end reads must follow the /1 and /2 convention.
--- a/tools/fastq/fastq_paired_end_interlacer.py Fri Dec 17 15:04:17 2010 +1000
+++ b/tools/fastq/fastq_paired_end_interlacer.py Tue May 17 17:26:04 2011 +1000
@@ -3,11 +3,12 @@
from galaxy_utils.sequence.fastq import fastqReader, fastqWriter, fastqNamedReader, fastqJoiner
def main():
- mate1_filename = sys.argv[1]
- mate1_type = sys.argv[2] or 'sanger'
- mate2_filename = sys.argv[3]
- mate2_type = sys.argv[4] or 'sanger'
- output_filename = sys.argv[5]
+ mate1_filename = sys.argv[1]
+ mate1_type = sys.argv[2] or 'sanger'
+ mate2_filename = sys.argv[3]
+ mate2_type = sys.argv[4] or 'sanger'
+ outfile_pairs = sys.argv[5]
+ outfile_singles = sys.argv[6]
if mate1_type != mate2_type:
print "WARNING: You are trying to interlace files of two different types: %s and %s." % ( mate1_type, mate2_type )
@@ -15,29 +16,43 @@
type = mate1_type
joiner = fastqJoiner( type )
- out = fastqWriter( open( output_filename, 'wb' ), format = type )
- mate_input = fastqNamedReader( open( mate2_filename, 'rb' ), format = type )
+ out_pairs = fastqWriter( open( outfile_pairs, 'wb' ), format = type )
+ out_singles = fastqWriter( open( outfile_singles, 'wb' ), format = type )
+ # Pairs + singles present in mate1
+ nof_singles = 0
+ nof_pairs = 0
+ mate2_input = fastqNamedReader( open( mate2_filename, 'rb' ), format = type )
i = None
- skip_count = 0
for i, mate1 in enumerate( fastqReader( open( mate1_filename, 'rb' ), format = type ) ):
- mate2 = mate_input.get( joiner.get_paired_identifier( mate1 ) )
+ mate2 = mate2_input.get( joiner.get_paired_identifier( mate1 ) )
if mate2:
- out.write( mate1 )
- out.write( mate2 )
+ out_pairs.write( mate1 )
+ out_pairs.write( mate2 )
+ nof_pairs += 1
else:
- skip_count += 1
+ out_singles.write( mate1 )
+ nof_singles += 1
- if i is None:
- print "Your input file contained no valid FASTQ sequences."
+ # Singles present in mate2
+ mate1_input = fastqNamedReader( open( mate1_filename, 'rb' ), format = type )
+ j = None
+ for j, mate2 in enumerate( fastqReader( open( mate2_filename, 'rb' ), format = type ) ):
+ mate1 = mate1_input.get( joiner.get_paired_identifier( mate2 ) )
+ if not mate1:
+ out_singles.write( mate2 )
+ nof_singles += 1
+
+ if (i is None) and (j is None):
+ print "Your input files contained no valid FASTQ sequences."
else:
- not_used_msg = mate_input.has_data()
- if not_used_msg:
- print not_used_msg
- print 'Interlaced %s pairs of sequences.' % ( i - skip_count + 1 )
+ print 'There were %s single reads.' % ( nof_singles )
+ print 'Interlaced %s pairs of sequences.' % ( nof_pairs )
- mate_input.close()
- out.close()
+ mate1_input.close()
+ mate2_input.close()
+ out_pairs.close()
+ out_singles.close()
if __name__ == "__main__":
--- a/tools/fastq/fastq_paired_end_interlacer.xml Fri Dec 17 15:04:17 2010 +1000
+++ b/tools/fastq/fastq_paired_end_interlacer.xml Tue May 17 17:26:04 2011 +1000
@@ -1,29 +1,35 @@
<tool id="fastq_paired_end_interlacer" name="FASTQ interlacer" version="1.0.0"><description>on paired end reads</description>
- <command interpreter="python">fastq_paired_end_interlacer.py '$input1_file' '${input1_file.extension[len( 'fastq' ):]}' '$input2_file' '${input2_file.extension[len( 'fastq' ):]}' '$output_file'</command>
+ <command interpreter="python">fastq_paired_end_interlacer.py '$input1_file' '${input1_file.extension[len( 'fastq' ):]}' '$input2_file' '${input2_file.extension[len( 'fastq' ):]}' '$outfile_pairs' '$outfile_singles'</command><inputs><param name="input1_file" type="data" format="fastqsanger,fastqcssanger" label="Left-hand mates" /><param name="input2_file" type="data" format="fastqsanger,fastqcssanger" label="Right-hand mates" /></inputs><outputs>
- <data name="output_file" format="input" />
+ <!-- $input1_file.name = filename , e.g. paired_end_2_errors.fastqsanger -->
+ <!-- $input1_file.id = ID , e.g. 10 -->
+ <!-- $input1_file.hid = history ID, e.g. 5 -->
+ <data name="outfile_pairs" format="input" label="FASTQ interlacer pairs from data ${input1_file.hid} and data ${input2_file.hid}"/>
+ <data name="outfile_singles" format="input" label="FASTQ interlacer singles from data data ${input1_file.hid} and data ${input2_file.hid}"/></outputs><tests><test><param name="input1_file" value="paired_end_1.fastqsanger" ftype="fastqsanger" /><param name="input2_file" value="paired_end_2.fastqsanger" ftype="fastqsanger" />
- <output name="output_file" file="paired_end_merged.fastqsanger" />
+ <output name="outfile_pairs" file="paired_end_merged.fastqsanger" />
+ <output name="outfile_singles" file="paired_end_merged_singles.fastqsanger" /></test><test><param name="input1_file" value="paired_end_1_errors.fastqsanger" ftype="fastqsanger" /><param name="input2_file" value="paired_end_2_errors.fastqsanger" ftype="fastqsanger" />
- <output name="output_file" file="paired_end_merged_cleaned.fastqsanger" />
+ <output name="outfile_pairs" file="paired_end_merged_cleaned.fastqsanger" />
+ <output name="outfile_singles" file="paired_end_merged_cleaned_singles.fastqsanger" /></test></tests><help>
**What it does**
-This tool joins paired end FASTQ reads from two separate files, one with the left mates and one with the right mates, into a single files where letf mates alternate with their right mate. The join is performed using sequence identifiers, allowing the two files to contain differing ordering. If a sequence identifier does not appear in both files, it is excluded from the output.
+This tool joins paired end FASTQ reads from two separate files, one with the left mates and one with the right mates, into a single files where left mates alternate with their right mates. The join is performed using sequence identifiers, allowing the two files to contain differing ordering. If a sequence identifier does not appear in both files, it is included in a separate file.
Sequence identifiers with /1 and /2 appended override the left-hand and right-hand designation; i.e. if the reads end with /1 and /2, the read containing /1 will be used as the left-hand read and the read containing /2 will be used as the right-hand read. Sequences without this designation will follow the left-hand and right-hand settings set by the user.
@@ -60,5 +66,7 @@
+1539:931/2
WNUUZ\P^`BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+A multiple-fastq file containing reads that have no mate is also produced.
+
</help></tool>
http://bitbucket.org/galaxy/galaxy-central/changeset/de86763942a3/
changeset: de86763942a3
user: fangly
date: 2011-05-17 09:54:04
summary: Updated tool wrapper version number
affected #: 2 files (4 bytes)
--- a/tools/fastq/fastq_paired_end_deinterlacer.xml Tue May 17 17:26:04 2011 +1000
+++ b/tools/fastq/fastq_paired_end_deinterlacer.xml Tue May 17 17:54:04 2011 +1000
@@ -1,4 +1,4 @@
-<tool id="fastq_paired_end_deinterlacer" name="FASTQ de-interlacer" version="1.0.0">
+<tool id="fastq_paired_end_deinterlacer" name="FASTQ de-interlacer" version="1.1"><description>on paired end reads</description><command interpreter="python">fastq_paired_end_deinterlacer.py '$input_file' '${input_file.extension[len( 'fastq' ):]}' '$output1_pairs_file' '$output2_pairs_file' '$output1_singles_file' '$output2_singles_file'</command><inputs>
--- a/tools/fastq/fastq_paired_end_interlacer.xml Tue May 17 17:26:04 2011 +1000
+++ b/tools/fastq/fastq_paired_end_interlacer.xml Tue May 17 17:54:04 2011 +1000
@@ -1,4 +1,4 @@
-<tool id="fastq_paired_end_interlacer" name="FASTQ interlacer" version="1.0.0">
+<tool id="fastq_paired_end_interlacer" name="FASTQ interlacer" version="1.1"><description>on paired end reads</description><command interpreter="python">fastq_paired_end_interlacer.py '$input1_file' '${input1_file.extension[len( 'fastq' ):]}' '$input2_file' '${input2_file.extension[len( 'fastq' ):]}' '$outfile_pairs' '$outfile_singles'</command><inputs>
http://bitbucket.org/galaxy/galaxy-central/changeset/36ced92e1da8/
changeset: 36ced92e1da8
user: kanwei
date: 2011-06-10 19:15:17
summary: Typo
affected #: 1 file (5 bytes)
--- a/tools/fastq/fastq_paired_end_interlacer.xml Tue May 17 17:54:04 2011 +1000
+++ b/tools/fastq/fastq_paired_end_interlacer.xml Fri Jun 10 13:15:17 2011 -0400
@@ -10,7 +10,7 @@
<!-- $input1_file.id = ID , e.g. 10 --><!-- $input1_file.hid = history ID, e.g. 5 --><data name="outfile_pairs" format="input" label="FASTQ interlacer pairs from data ${input1_file.hid} and data ${input2_file.hid}"/>
- <data name="outfile_singles" format="input" label="FASTQ interlacer singles from data data ${input1_file.hid} and data ${input2_file.hid}"/>
+ <data name="outfile_singles" format="input" label="FASTQ interlacer singles from data ${input1_file.hid} and data ${input2_file.hid}"/></outputs><tests><test>
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/93e4915c0508/
changeset: 93e4915c0508
user: kanwei
date: 2011-06-10 18:36:16
summary: Copy datasets:
- Now copy datasets in the order they were listed in source history. Fixes #483
- Properly refresh current history if data is copied into it
- Add link to switch to new history if one is created
affected #: 3 files (1.1 KB)
--- a/lib/galaxy/web/controllers/dataset.py Fri Jun 10 08:46:11 2011 -0400
+++ b/lib/galaxy/web/controllers/dataset.py Fri Jun 10 12:36:16 2011 -0400
@@ -789,10 +789,11 @@
else:
target_history_ids = []
done_msg = error_msg = ""
+ new_history = None
if do_copy:
invalid_datasets = 0
if not source_dataset_ids or not ( target_history_ids or new_history_name ):
- error_msg = "You must provide both source datasets and target histories."
+ error_msg = "You must provide both source datasets and target histories. "
else:
if new_history_name:
new_history = trans.app.model.History()
@@ -807,23 +808,28 @@
target_histories = [ history ]
if len( target_histories ) != len( target_history_ids ):
error_msg = error_msg + "You do not have permission to add datasets to %i requested histories. " % ( len( target_history_ids ) - len( target_histories ) )
- for data in map( trans.sa_session.query( trans.app.model.HistoryDatasetAssociation ).get, source_dataset_ids ):
- if data is None:
- error_msg = error_msg + "You tried to copy a dataset that does not exist. "
+ source_hdas = map( trans.sa_session.query( trans.app.model.HistoryDatasetAssociation ).get, source_dataset_ids )
+ source_hdas.sort(key=lambda hda: hda.hid)
+ for hda in source_hdas:
+ if hda is None:
+ error_msg = error_msg + "You tried to copy a dataset that does not exist. "
invalid_datasets += 1
- elif data.history != history:
- error_msg = error_msg + "You tried to copy a dataset which is not in your current history. "
+ elif hda.history != history:
+ error_msg = error_msg + "You tried to copy a dataset which is not in your current history. "
invalid_datasets += 1
else:
for hist in target_histories:
- hist.add_dataset( data.copy( copy_children = True ) )
+ hist.add_dataset( hda.copy( copy_children = True ) )
if history in target_histories:
refresh_frames = ['history']
trans.sa_session.flush()
hist_names_str = ", ".join( [ hist.name for hist in target_histories ] )
num_source = len( source_dataset_ids ) - invalid_datasets
num_target = len(target_histories)
- done_msg = "%i %s copied to %i %s: %s" % (num_source, inflector.cond_plural(num_source, "dataset"), num_target, inflector.cond_plural(num_target, "history"), hist_names_str )
+ done_msg = "%i %s copied to %i %s: %s." % (num_source, inflector.cond_plural(num_source, "dataset"), num_target, inflector.cond_plural(num_target, "history"), hist_names_str )
+ if new_history is not None:
+ done_msg += " <a href=\"%s\" target=\"_top\">Switch to the new history.</a>" % url_for(
+ controller="history", action="switch_to_history", hist_id=trans.security.encode_id( new_history.id ) )
trans.sa_session.refresh( history )
source_datasets = history.visible_datasets
target_histories = [history]
--- a/lib/galaxy/web/controllers/history.py Fri Jun 10 08:46:11 2011 -0400
+++ b/lib/galaxy/web/controllers/history.py Fri Jun 10 12:36:16 2011 -0400
@@ -1182,3 +1182,13 @@
else:
msg = '%d cloned histories are now included in your previously stored histories.' % len( histories )
return trans.show_ok_message( msg )
+
+ @web.expose
+ @web.require_login( "switch to a history" )
+ def switch_to_history( self, trans, hist_id=None ):
+ decoded_id = trans.security.decode_id(hist_id)
+ hist = trans.sa_session.query( trans.app.model.History ).get( decoded_id )
+
+ trans.set_history( hist )
+ return trans.response.send_redirect( url_for( "/" ) )
+
\ No newline at end of file
--- a/templates/dataset/copy_view.mako Fri Jun 10 08:46:11 2011 -0400
+++ b/templates/dataset/copy_view.mako Fri Jun 10 12:36:16 2011 -0400
@@ -1,21 +1,29 @@
<%inherit file="/base.mako"/>
-<%namespace file="/message.mako" import="javascripts" /><%def name="title()">Copy History Items</%def><%def name="javascripts()">
-${parent.javascripts()}
-${h.js( "jquery", "galaxy.base" )}
-<script type="text/javascript">
- $(function() {
- $("#select-multiple").click(function() {
- $("#single-dest-select").val("");
- $("#single-destination").hide();
- $("#multiple-destination").show();
+ ${parent.javascripts()}
+ ${h.js( "jquery", "galaxy.base" )}
+
+ <script type="text/javascript">
+ $(function() {
+ $("#select-multiple").click(function() {
+ $("#single-dest-select").val("");
+ $("#single-destination").hide();
+ $("#multiple-destination").show();
+ });
});
- });
-</script>
-
+ %if 'history' in refresh_frames:
+ if ( parent.frames && parent.frames.galaxy_history ) {
+ parent.frames.galaxy_history.location.href="${h.url_for( controller='root', action='history')}";
+ if ( parent.force_right_panel ) {
+ parent.force_right_panel( 'show' );
+ }
+ }
+ %endif
+ </script>
+
</%def>
%if error_msg:
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: dan: Write a newline between intervals in BedDataProvider.write_data_to_file.
by Bitbucket 10 Jun '11
by Bitbucket 10 Jun '11
10 Jun '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/1edea6b133ce/
changeset: 1edea6b133ce
user: dan
date: 2011-06-10 14:46:11
summary: Write a newline between intervals in BedDataProvider.write_data_to_file.
affected #: 1 file (9 bytes)
--- a/lib/galaxy/visualization/tracks/data_providers.py Thu Jun 09 18:35:42 2011 -0400
+++ b/lib/galaxy/visualization/tracks/data_providers.py Fri Jun 10 08:46:11 2011 -0400
@@ -604,7 +604,7 @@
iterator = self.get_iterator( chrom, start, end )
out = open( filename, "w" )
for line in iterator:
- out.write( line )
+ out.write( "%s\n" % line )
out.close()
class VcfDataProvider( TabixDataProvider ):
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: dan: Better handling of implict datatype conversion and dynamic options. Still lots of cleanup to do.
by Bitbucket 09 Jun '11
by Bitbucket 09 Jun '11
09 Jun '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/0886ed0a8c9f/
changeset: 0886ed0a8c9f
user: dan
date: 2011-06-10 00:35:42
summary: Better handling of implict datatype conversion and dynamic options. Still lots of cleanup to do.
affected #: 4 files (815 bytes)
--- a/lib/galaxy/tools/__init__.py Thu Jun 09 17:49:20 2011 -0400
+++ b/lib/galaxy/tools/__init__.py Thu Jun 09 18:35:42 2011 -0400
@@ -798,6 +798,8 @@
elif elem.tag == "param":
param = self.parse_param_elem( elem, enctypes, context )
rval[param.name] = param
+ if hasattr( param, 'data_ref' ):
+ param.ref_input = context[ param.data_ref ]
return rval
def parse_param_elem( self, input_elem, enctypes, context ):
@@ -923,8 +925,6 @@
if not self.check_values:
return
for input in self.inputs.itervalues():
- if input.name not in value:
- value[input.name] = input.get_initial_value( None, value )
if isinstance( input, ToolParameter ):
callback( "", input, value[input.name] )
else:
--- a/lib/galaxy/tools/actions/__init__.py Thu Jun 09 17:49:20 2011 -0400
+++ b/lib/galaxy/tools/actions/__init__.py Thu Jun 09 18:35:42 2011 -0400
@@ -37,7 +37,7 @@
if data and not isinstance( data.datatype, formats ):
# Need to refresh in case this conversion just took place, i.e. input above in tool performed the same conversion
trans.sa_session.refresh( data )
- target_ext, converted_dataset = data.find_conversion_destination( formats, converter_safe = input.converter_safe( param_values, trans ) )
+ target_ext, converted_dataset = data.find_conversion_destination( formats )
if target_ext:
if converted_dataset:
data = converted_dataset
--- a/lib/galaxy/tools/parameters/basic.py Thu Jun 09 17:49:20 2011 -0400
+++ b/lib/galaxy/tools/parameters/basic.py Thu Jun 09 18:35:42 2011 -0400
@@ -714,6 +714,9 @@
# Dependency on a value that does not yet exist
if isinstance( dep_value, RuntimeValue ):
return True
+ #dataset not ready yet
+ if hasattr( self, 'ref_input' ) and isinstance( dep_value, self.tool.app.model.HistoryDatasetAssociation ) and ( dep_value.is_pending or not isinstance( dep_value.datatype, self.ref_input.formats ) ):
+ return True
# Dynamic, but all dependenceis are known and have values
return False
def get_initial_value( self, trans, context ):
@@ -844,6 +847,7 @@
self.force_select = string_as_bool( elem.get( "force_select", True ))
self.accept_default = string_as_bool( elem.get( "accept_default", False ))
self.data_ref = elem.get( "data_ref", None )
+ self.ref_input = None
self.default_value = elem.get( "default_value", None )
self.is_dynamic = True
def from_html( self, value, trans=None, context={} ):
@@ -939,7 +943,7 @@
if not dataset.metadata.columns:
# Only allow late validation if the dataset is not yet ready
# (since we have reason to expect the metadata to be ready eventually)
- if dataset.is_pending:
+ if dataset.is_pending or not isinstance( dataset.datatype, self.ref_input.formats ):
return True
# No late validation
return False
@@ -1321,7 +1325,7 @@
selected = ( value and ( hda in value ) )
field.add_option( "%s: %s" % ( hid, hda_name ), hda.id, selected )
else:
- target_ext, converted_dataset = hda.find_conversion_destination( self.formats, converter_safe = self.converter_safe( other_values, trans ) )
+ target_ext, converted_dataset = hda.find_conversion_destination( self.formats )
if target_ext:
if converted_dataset:
hda = converted_dataset
@@ -1370,13 +1374,22 @@
pass #no valid options
def dataset_collector( datasets ):
def is_convertable( dataset ):
- target_ext, converted_dataset = dataset.find_conversion_destination( self.formats, converter_safe = self.converter_safe( context, trans ) )
+ target_ext, converted_dataset = dataset.find_conversion_destination( self.formats )
if target_ext is not None:
return True
return False
for i, data in enumerate( datasets ):
- if data.visible and not data.deleted and data.state not in [data.states.ERROR, data.states.DISCARDED] and ( isinstance( data.datatype, self.formats) or is_convertable( data ) ):
- if self.options and self._options_filter_attribute( data ) != filter_value:
+ if data.visible and not data.deleted and data.state not in [data.states.ERROR, data.states.DISCARDED]:
+ is_valid = False
+ if isinstance( data.datatype, self.formats ):
+ is_valid = True
+ else:
+ target_ext, converted_dataset = data.find_conversion_destination( self.formats )
+ if target_ext:
+ is_valid = True
+ if converted_dataset:
+ data = converted_dataset
+ if not is_valid or ( self.options and self._options_filter_attribute( data ) != filter_value ):
continue
most_recent_dataset[0] = data
# Also collect children via association object
--- a/lib/galaxy/tools/parameters/dynamic_options.py Thu Jun 09 17:49:20 2011 -0400
+++ b/lib/galaxy/tools/parameters/dynamic_options.py Thu Jun 09 18:35:42 2011 -0400
@@ -440,6 +440,9 @@
# Load Validators
for validator in elem.findall( 'validator' ):
self.validators.append( validation.Validator.from_element( self.tool_param, validator ) )
+
+ if self.dataset_ref_name:
+ tool_param.data_ref = self.dataset_ref_name
def parse_column_definitions( self, elem ):
for column_elem in elem.findall( 'column' ):
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/3f2e99f97694/
changeset: 3f2e99f97694
user: kanwei
date: 2011-06-09 23:49:20
summary: VCF can take floats
affected #: 2 files (98 bytes)
--- a/lib/galaxy/visualization/tracks/data_providers.py Thu Jun 09 15:58:25 2011 -0400
+++ b/lib/galaxy/visualization/tracks/data_providers.py Thu Jun 09 17:49:20 2011 -0400
@@ -637,7 +637,7 @@
# alternative base(s)
feature[4],
# phred quality score
- int( feature[5] )]
+ float( feature[5] )]
rval.append(payload)
return { 'data_type' : 'vcf', 'data': rval, 'message': message }
--- a/lib/galaxy_utils/sequence/vcf.py Thu Jun 09 15:58:25 2011 -0400
+++ b/lib/galaxy_utils/sequence/vcf.py Thu Jun 09 17:49:20 2011 -0400
@@ -1,6 +1,5 @@
#Dan Blankenberg
-#See: http://1000genomes.org/wiki/doku.php?id=1000_genomes:analysis:vcf3.3
-#See: http://1000genomes.org/wiki/doku.php?id=1000_genomes:analysis:variant_call_…
+# See http://www.1000genomes.org/wiki/Analysis/variant-call-format
NOT_A_NUMBER = float( 'NaN' )
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
09 Jun '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/90c81fa6114f/
changeset: 90c81fa6114f
user: dan
date: 2011-06-09 21:58:25
summary: Some fixes for trackster/visual analytics.
affected #: 1 file (157 bytes)
--- a/lib/galaxy/web/controllers/tracks.py Thu Jun 09 12:06:07 2011 -0400
+++ b/lib/galaxy/web/controllers/tracks.py Thu Jun 09 15:58:25 2011 -0400
@@ -412,6 +412,7 @@
return msg
# Return data.
+ data = None
if isinstance( dataset.datatype, Gff ):
data = GFFDataProvider( original_dataset=dataset ).get_data( chrom, low, high, **kwargs )
data[ 'dataset_type' ] = 'interval_index'
@@ -768,7 +769,9 @@
#
for jida in original_job.input_datasets:
input_dataset = jida.dataset
- if run_on_region and hasattr( input_dataset.datatype, 'get_track_type' ):
+ if input_dataset is None: #optional dataset and dataset wasn't selected
+ tool_params[ jida.name ] = None
+ elif run_on_region and hasattr( input_dataset.datatype, 'get_track_type' ):
# Dataset is indexed and hence a subset can be extracted and used
# as input.
track_type, data_sources = input_dataset.datatype.get_track_type()
@@ -802,7 +805,7 @@
trans.sa_session.flush()
# Add dataset to tool's parameters.
- tool_params[ jida.name ] = new_dataset
+ tool_params[ jida.name ] = new_dataset.id
#
# Execute tool and handle outputs.
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: jgoecks: Make Cuffcompare wrapper compatible with v1.0.3
by Bitbucket 09 Jun '11
by Bitbucket 09 Jun '11
09 Jun '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/f4b98c453389/
changeset: f4b98c453389
user: jgoecks
date: 2011-06-09 18:06:07
summary: Make Cuffcompare wrapper compatible with v1.0.3
affected #: 6 files (890 bytes)
--- a/test-data/cuffcompare_out1.tmap Thu Jun 09 11:38:37 2011 -0400
+++ b/test-data/cuffcompare_out1.tmap Thu Jun 09 12:06:07 2011 -0400
@@ -1,51 +1,51 @@
ref_gene_id ref_id class_code cuff_gene_id cuff_id FMI FPKM FPKM_conf_lo FPKM_conf_hi cov len major_iso_id ref_match_len
-- - u CUFF.1 CUFF.1.1 100 20.607936 0.000000 49.751960 1.317073 41 CUFF.1.1 -
-- - u CUFF.3 CUFF.3.1 100 27.255658 0.000000 65.800979 1.741935 31 CUFF.3.1 -
-- - u CUFF.5 CUFF.5.1 100 31.293533 0.000000 75.549272 2.000000 27 CUFF.5.1 -
-- - u CUFF.7 CUFF.7.1 100 9.999117 0.000000 19.998234 0.639053 169 CUFF.7.1 -
-- - u CUFF.9 CUFF.9.1 100 17.776896 9.153835 26.399957 1.136139 404 CUFF.9.1 -
-- - u CUFF.11 CUFF.11.1 100 31.293533 0.000000 75.549272 2.000000 27 CUFF.11.1 -
-- - u CUFF.13 CUFF.13.1 100 10.695258 0.000000 25.820637 0.683544 79 CUFF.13.1 -
-- - u CUFF.15 CUFF.15.1 100 10.695258 0.000000 25.820637 0.683544 79 CUFF.15.1 -
-- - u CUFF.17 CUFF.17.1 100 8.710571 0.000000 21.029179 0.556701 97 CUFF.17.1 -
-- - u CUFF.19 CUFF.19.1 100 29.337687 3.097262 55.578113 1.875000 72 CUFF.19.1 -
-- - u CUFF.21 CUFF.21.1 100 13.851236 0.000000 33.439842 0.885246 61 CUFF.21.1 -
-- - u CUFF.23 CUFF.23.1 100 23.470150 0.000000 50.571145 1.500000 54 CUFF.23.1 -
-- - u CUFF.25 CUFF.25.1 100 14.567679 5.354270 23.781089 0.931034 290 CUFF.25.1 -
-- - u CUFF.27 CUFF.27.1 100 34.253732 0.000000 73.806535 2.189189 37 CUFF.27.1 -
-- - u CUFF.29 CUFF.29.1 100 107.103219 71.402146 142.804292 6.845070 142 CUFF.29.1 -
-- - u CUFF.31 CUFF.31.1 100 122.650461 40.883487 204.417435 7.838710 31 CUFF.31.1 -
-- - u CUFF.33 CUFF.33.1 100 109.527366 26.732460 192.322273 7.000000 27 CUFF.33.1 -
-- - u CUFF.35 CUFF.35.1 100 96.747183 61.420107 132.074259 6.183206 131 CUFF.35.1 -
-- - u CUFF.37 CUFF.37.1 100 104.085013 53.596365 154.573660 6.652174 69 CUFF.37.1 -
-- - u CUFF.39 CUFF.39.1 100 23.912983 0.000000 51.525317 1.528302 53 CUFF.39.1 -
-- - u CUFF.41 CUFF.41.1 100 10.695258 0.000000 25.820637 0.683544 79 CUFF.41.1 -
-- - u CUFF.43 CUFF.43.1 100 10.561567 0.000000 25.497879 0.675000 80 CUFF.43.1 -
-- - u CUFF.45 CUFF.45.1 100 20.708956 2.186303 39.231609 1.323529 102 CUFF.45.1 -
-- - u CUFF.47 CUFF.47.1 100 20.607936 0.000000 49.751960 1.317073 41 CUFF.47.1 -
-- - u CUFF.49 CUFF.49.1 100 15.646767 0.000000 46.940300 1.000000 27 CUFF.49.1 -
-- - u CUFF.51 CUFF.51.1 100 31.293533 0.000000 75.549272 2.000000 27 CUFF.51.1 -
-- - u CUFF.53 CUFF.53.1 100 31.293533 0.000000 75.549272 2.000000 27 CUFF.53.1 -
-- - u CUFF.55 CUFF.55.1 100 31.293533 0.000000 75.549272 2.000000 27 CUFF.55.1 -
-- - u CUFF.57 CUFF.57.1 100 15.646767 0.000000 46.940300 1.000000 27 CUFF.57.1 -
-- - u CUFF.59 CUFF.59.1 100 15.646767 0.000000 46.940300 1.000000 27 CUFF.59.1 -
-- - u CUFF.61 CUFF.61.1 100 45.263860 0.000000 97.530065 2.892857 28 CUFF.61.1 -
-- - u CUFF.63 CUFF.63.1 100 15.646767 0.000000 46.940300 1.000000 27 CUFF.63.1 -
-- - u CUFF.65 CUFF.65.1 100 15.362280 0.000000 37.087825 0.981818 55 CUFF.65.1 -
-- - u CUFF.67 CUFF.67.1 100 12.998852 0.000000 31.382005 0.830769 65 CUFF.67.1 -
-- - u CUFF.69 CUFF.69.1 100 10.058636 0.000000 24.283695 0.642857 84 CUFF.69.1 -
-- - u CUFF.71 CUFF.71.1 100 8.621688 0.000000 20.814595 0.551020 98 CUFF.71.1 -
-- - u CUFF.73 CUFF.73.1 100 15.362280 0.000000 37.087825 0.981818 55 CUFF.73.1 -
-- - u CUFF.75 CUFF.75.1 100 31.293533 0.000000 75.549272 2.000000 27 CUFF.75.1 -
-- - u CUFF.77 CUFF.77.1 100 16.248565 0.000000 39.227507 1.038462 52 CUFF.77.1 -
-- - u CUFF.79 CUFF.79.1 100 31.293533 0.000000 75.549272 2.000000 27 CUFF.79.1 -
-- - u CUFF.81 CUFF.81.1 100 13.201959 0.000000 31.872349 0.843750 64 CUFF.81.1 -
-- - u CUFF.83 CUFF.83.1 100 13.201959 0.000000 28.446269 0.843750 96 CUFF.83.1 -
-- - u CUFF.85 CUFF.85.1 100 31.293533 0.000000 75.549272 2.000000 27 CUFF.85.1 -
-- - u CUFF.87 CUFF.87.1 100 17.243375 0.000000 41.629191 1.102041 49 CUFF.87.1 -
-- - u CUFF.89 CUFF.89.1 100 16.567165 0.000000 39.996674 1.058824 51 CUFF.89.1 -
-- - u CUFF.91 CUFF.91.1 100 31.293533 0.000000 75.549272 2.000000 27 CUFF.91.1 -
-- - u CUFF.93 CUFF.93.1 100 21.664754 0.000000 52.303342 1.384615 39 CUFF.93.1 -
-- - u CUFF.95 CUFF.95.1 100 46.940300 0.000000 101.142289 3.000000 27 CUFF.95.1 -
-- - u CUFF.97 CUFF.97.1 100 21.481154 0.000000 46.285454 1.372881 59 CUFF.97.1 -
-- - u CUFF.99 CUFF.99.1 100 14.567679 0.000000 35.169489 0.931034 58 CUFF.99.1 -
+- - u CUFF.1 CUFF.1.1 100 0.000000 0.000000 0.000000 0.000000 41 CUFF.1.1 -
+- - u CUFF.3 CUFF.3.1 100 0.000000 0.000000 0.000000 0.000000 31 CUFF.3.1 -
+- - u CUFF.5 CUFF.5.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.5.1 -
+- - u CUFF.7 CUFF.7.1 100 0.000000 0.000000 0.000000 0.000000 169 CUFF.7.1 -
+- - u CUFF.9 CUFF.9.1 100 0.000000 0.000000 0.000000 0.000000 404 CUFF.9.1 -
+- - u CUFF.11 CUFF.11.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.11.1 -
+- - u CUFF.13 CUFF.13.1 100 0.000000 0.000000 0.000000 0.000000 79 CUFF.13.1 -
+- - u CUFF.15 CUFF.15.1 100 0.000000 0.000000 0.000000 0.000000 79 CUFF.15.1 -
+- - u CUFF.17 CUFF.17.1 100 0.000000 0.000000 0.000000 0.000000 97 CUFF.17.1 -
+- - u CUFF.19 CUFF.19.1 100 0.000000 0.000000 0.000000 0.000000 72 CUFF.19.1 -
+- - u CUFF.21 CUFF.21.1 100 0.000000 0.000000 0.000000 0.000000 61 CUFF.21.1 -
+- - u CUFF.23 CUFF.23.1 100 0.000000 0.000000 0.000000 0.000000 54 CUFF.23.1 -
+- - u CUFF.25 CUFF.25.1 100 0.000000 0.000000 0.000000 0.000000 290 CUFF.25.1 -
+- - u CUFF.27 CUFF.27.1 100 0.000000 0.000000 0.000000 0.000000 37 CUFF.27.1 -
+- - u CUFF.29 CUFF.29.1 100 0.000000 0.000000 0.000000 0.000000 142 CUFF.29.1 -
+- - u CUFF.31 CUFF.31.1 100 0.000000 0.000000 0.000000 0.000000 31 CUFF.31.1 -
+- - u CUFF.33 CUFF.33.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.33.1 -
+- - u CUFF.35 CUFF.35.1 100 0.000000 0.000000 0.000000 0.000000 131 CUFF.35.1 -
+- - u CUFF.37 CUFF.37.1 100 0.000000 0.000000 0.000000 0.000000 69 CUFF.37.1 -
+- - u CUFF.39 CUFF.39.1 100 0.000000 0.000000 0.000000 0.000000 53 CUFF.39.1 -
+- - u CUFF.41 CUFF.41.1 100 0.000000 0.000000 0.000000 0.000000 79 CUFF.41.1 -
+- - u CUFF.43 CUFF.43.1 100 0.000000 0.000000 0.000000 0.000000 80 CUFF.43.1 -
+- - u CUFF.45 CUFF.45.1 100 0.000000 0.000000 0.000000 0.000000 102 CUFF.45.1 -
+- - u CUFF.47 CUFF.47.1 100 0.000000 0.000000 0.000000 0.000000 41 CUFF.47.1 -
+- - u CUFF.49 CUFF.49.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.49.1 -
+- - u CUFF.51 CUFF.51.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.51.1 -
+- - u CUFF.53 CUFF.53.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.53.1 -
+- - u CUFF.55 CUFF.55.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.55.1 -
+- - u CUFF.57 CUFF.57.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.57.1 -
+- - u CUFF.59 CUFF.59.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.59.1 -
+- - u CUFF.61 CUFF.61.1 100 0.000000 0.000000 0.000000 0.000000 28 CUFF.61.1 -
+- - u CUFF.63 CUFF.63.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.63.1 -
+- - u CUFF.65 CUFF.65.1 100 0.000000 0.000000 0.000000 0.000000 55 CUFF.65.1 -
+- - u CUFF.67 CUFF.67.1 100 0.000000 0.000000 0.000000 0.000000 65 CUFF.67.1 -
+- - u CUFF.69 CUFF.69.1 100 0.000000 0.000000 0.000000 0.000000 84 CUFF.69.1 -
+- - u CUFF.71 CUFF.71.1 100 0.000000 0.000000 0.000000 0.000000 98 CUFF.71.1 -
+- - u CUFF.73 CUFF.73.1 100 0.000000 0.000000 0.000000 0.000000 55 CUFF.73.1 -
+- - u CUFF.75 CUFF.75.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.75.1 -
+- - u CUFF.77 CUFF.77.1 100 0.000000 0.000000 0.000000 0.000000 52 CUFF.77.1 -
+- - u CUFF.79 CUFF.79.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.79.1 -
+- - u CUFF.81 CUFF.81.1 100 0.000000 0.000000 0.000000 0.000000 64 CUFF.81.1 -
+- - u CUFF.83 CUFF.83.1 100 0.000000 0.000000 0.000000 0.000000 96 CUFF.83.1 -
+- - u CUFF.85 CUFF.85.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.85.1 -
+- - u CUFF.87 CUFF.87.1 100 0.000000 0.000000 0.000000 0.000000 49 CUFF.87.1 -
+- - u CUFF.89 CUFF.89.1 100 0.000000 0.000000 0.000000 0.000000 51 CUFF.89.1 -
+- - u CUFF.91 CUFF.91.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.91.1 -
+- - u CUFF.93 CUFF.93.1 100 0.000000 0.000000 0.000000 0.000000 39 CUFF.93.1 -
+- - u CUFF.95 CUFF.95.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.95.1 -
+- - u CUFF.97 CUFF.97.1 100 0.000000 0.000000 0.000000 0.000000 59 CUFF.97.1 -
+- - u CUFF.99 CUFF.99.1 100 0.000000 0.000000 0.000000 0.000000 58 CUFF.99.1 -
--- a/test-data/cuffcompare_out3.tmap Thu Jun 09 11:38:37 2011 -0400
+++ b/test-data/cuffcompare_out3.tmap Thu Jun 09 12:06:07 2011 -0400
@@ -1,51 +1,51 @@
ref_gene_id ref_id class_code cuff_gene_id cuff_id FMI FPKM FPKM_conf_lo FPKM_conf_hi cov len major_iso_id ref_match_len
-- - u CUFF.1 CUFF.1.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.1.1 -
-- - u CUFF.3 CUFF.3.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.3.1 -
-- - u CUFF.5 CUFF.5.1 100 21.226627 0.000000 59.889707 1.205672 27 CUFF.5.1 -
-- - u CUFF.7 CUFF.7.1 100 29.709524 19.806349 39.612698 1.687500 576 CUFF.7.1 -
-- - u CUFF.9 CUFF.9.1 100 34.072933 23.364686 44.781179 1.935341 565 CUFF.9.1 -
-- - u CUFF.11 CUFF.11.1 100 32.531777 24.582998 40.480555 1.847804 979 CUFF.11.1 -
-- - u CUFF.13 CUFF.13.1 100 16.582060 0.000000 35.729373 0.941860 86 CUFF.13.1 -
-- - u CUFF.15 CUFF.15.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.15.1 -
-- - u CUFF.17 CUFF.17.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.17.1 -
-- - u CUFF.19 CUFF.19.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.19.1 -
-- - u CUFF.21 CUFF.21.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.21.1 -
-- - u CUFF.23 CUFF.23.1 100 16.205195 0.000000 34.917342 0.920455 88 CUFF.23.1 -
-- - u CUFF.25 CUFF.25.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.25.1 -
-- - u CUFF.26 CUFF.26.1 100 29.709524 0.000000 71.725135 1.687500 32 CUFF.26.1 -
-- - u CUFF.29 CUFF.29.1 100 13.581496 0.000000 32.788633 0.771429 70 CUFF.29.1 -
-- - u CUFF.31 CUFF.31.1 100 22.635827 0.000000 45.271655 1.285714 84 CUFF.31.1 -
-- - u CUFF.33 CUFF.33.1 100 23.767619 0.000000 57.380108 1.350000 40 CUFF.33.1 -
-- - u CUFF.35 CUFF.35.1 100 11.317914 0.000000 27.323861 0.642857 84 CUFF.35.1 -
-- - u CUFF.37 CUFF.37.1 100 11.500461 0.000000 24.780049 0.653226 124 CUFF.37.1 -
-- - u CUFF.39 CUFF.39.1 100 52.816931 0.000000 113.804669 3.000000 27 CUFF.39.1 -
-- - u CUFF.41 CUFF.41.1 100 43.213852 0.000000 93.112911 2.454545 33 CUFF.41.1 -
-- - u CUFF.43 CUFF.43.1 100 23.474191 0.000000 46.948383 1.333333 81 CUFF.43.1 -
-- - u CUFF.45 CUFF.45.1 100 20.667495 0.000000 49.895746 1.173913 46 CUFF.45.1 -
-- - u CUFF.47 CUFF.47.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.47.1 -
-- - u CUFF.49 CUFF.49.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.49.1 -
-- - u CUFF.51 CUFF.51.1 100 14.948188 7.228977 22.667399 0.849057 477 CUFF.51.1 -
-- - u CUFF.53 CUFF.53.1 100 52.816931 0.000000 113.804669 3.000000 27 CUFF.53.1 -
-- - u CUFF.55 CUFF.55.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.55.1 -
-- - u CUFF.57 CUFF.57.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.57.1 -
-- - u CUFF.59 CUFF.59.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.59.1 -
-- - u CUFF.61 CUFF.61.1 100 13.204233 0.000000 31.877838 0.750000 72 CUFF.61.1 -
-- - u CUFF.63 CUFF.63.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.63.1 -
-- - u CUFF.65 CUFF.65.1 100 31.170648 0.000000 62.341295 1.770492 61 CUFF.65.1 -
-- - u CUFF.67 CUFF.67.1 100 15.681351 3.378764 27.983938 0.890700 197 CUFF.67.1 -
-- - u CUFF.69 CUFF.69.1 100 18.799247 8.750627 28.847866 1.067797 354 CUFF.69.1 -
-- - u CUFF.71 CUFF.71.1 100 22.635827 0.000000 54.647722 1.285714 42 CUFF.71.1 -
-- - u CUFF.73 CUFF.73.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.73.1 -
-- - u CUFF.75 CUFF.75.1 100 52.816931 0.000000 113.804669 3.000000 27 CUFF.75.1 -
-- - u CUFF.77 CUFF.77.1 100 17.605644 0.000000 52.816931 1.000000 27 CUFF.77.1 -
-- - u CUFF.79 CUFF.79.1 100 13.390208 0.000000 32.326821 0.760563 71 CUFF.79.1 -
-- - u CUFF.81 CUFF.81.1 100 11.211141 1.183592 21.238690 0.636792 212 CUFF.81.1 -
-- - u CUFF.83 CUFF.83.1 100 21.126772 0.000000 51.004540 1.200000 45 CUFF.83.1 -
-- - u CUFF.85 CUFF.85.1 100 19.014095 0.000000 38.028190 1.080000 100 CUFF.85.1 -
-- - u CUFF.87 CUFF.87.1 100 24.170460 0.000000 52.080103 1.372881 59 CUFF.87.1 -
-- - u CUFF.89 CUFF.89.1 100 29.709524 0.000000 64.015126 1.687500 48 CUFF.89.1 -
-- - u CUFF.91 CUFF.91.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.91.1 -
-- - u CUFF.93 CUFF.93.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.93.1 -
-- - u CUFF.95 CUFF.95.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.95.1 -
-- - u CUFF.97 CUFF.97.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.97.1 -
-- - u CUFF.99 CUFF.99.1 100 19.602160 0.000000 39.204320 1.113402 97 CUFF.99.1 -
+- - u CUFF.1 CUFF.1.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.1.1 -
+- - u CUFF.3 CUFF.3.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.3.1 -
+- - u CUFF.5 CUFF.5.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.5.1 -
+- - u CUFF.7 CUFF.7.1 100 0.000000 0.000000 0.000000 0.000000 576 CUFF.7.1 -
+- - u CUFF.9 CUFF.9.1 100 0.000000 0.000000 0.000000 0.000000 565 CUFF.9.1 -
+- - u CUFF.11 CUFF.11.1 100 0.000000 0.000000 0.000000 0.000000 979 CUFF.11.1 -
+- - u CUFF.13 CUFF.13.1 100 0.000000 0.000000 0.000000 0.000000 86 CUFF.13.1 -
+- - u CUFF.15 CUFF.15.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.15.1 -
+- - u CUFF.17 CUFF.17.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.17.1 -
+- - u CUFF.19 CUFF.19.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.19.1 -
+- - u CUFF.21 CUFF.21.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.21.1 -
+- - u CUFF.23 CUFF.23.1 100 0.000000 0.000000 0.000000 0.000000 88 CUFF.23.1 -
+- - u CUFF.25 CUFF.25.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.25.1 -
+- - u CUFF.26 CUFF.26.1 100 0.000000 0.000000 0.000000 0.000000 32 CUFF.26.1 -
+- - u CUFF.29 CUFF.29.1 100 0.000000 0.000000 0.000000 0.000000 70 CUFF.29.1 -
+- - u CUFF.31 CUFF.31.1 100 0.000000 0.000000 0.000000 0.000000 84 CUFF.31.1 -
+- - u CUFF.33 CUFF.33.1 100 0.000000 0.000000 0.000000 0.000000 40 CUFF.33.1 -
+- - u CUFF.35 CUFF.35.1 100 0.000000 0.000000 0.000000 0.000000 84 CUFF.35.1 -
+- - u CUFF.37 CUFF.37.1 100 0.000000 0.000000 0.000000 0.000000 124 CUFF.37.1 -
+- - u CUFF.39 CUFF.39.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.39.1 -
+- - u CUFF.41 CUFF.41.1 100 0.000000 0.000000 0.000000 0.000000 33 CUFF.41.1 -
+- - u CUFF.43 CUFF.43.1 100 0.000000 0.000000 0.000000 0.000000 81 CUFF.43.1 -
+- - u CUFF.45 CUFF.45.1 100 0.000000 0.000000 0.000000 0.000000 46 CUFF.45.1 -
+- - u CUFF.47 CUFF.47.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.47.1 -
+- - u CUFF.49 CUFF.49.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.49.1 -
+- - u CUFF.51 CUFF.51.1 100 0.000000 0.000000 0.000000 0.000000 477 CUFF.51.1 -
+- - u CUFF.53 CUFF.53.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.53.1 -
+- - u CUFF.55 CUFF.55.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.55.1 -
+- - u CUFF.57 CUFF.57.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.57.1 -
+- - u CUFF.59 CUFF.59.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.59.1 -
+- - u CUFF.61 CUFF.61.1 100 0.000000 0.000000 0.000000 0.000000 72 CUFF.61.1 -
+- - u CUFF.63 CUFF.63.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.63.1 -
+- - u CUFF.65 CUFF.65.1 100 0.000000 0.000000 0.000000 0.000000 61 CUFF.65.1 -
+- - u CUFF.67 CUFF.67.1 100 0.000000 0.000000 0.000000 0.000000 197 CUFF.67.1 -
+- - u CUFF.69 CUFF.69.1 100 0.000000 0.000000 0.000000 0.000000 354 CUFF.69.1 -
+- - u CUFF.71 CUFF.71.1 100 0.000000 0.000000 0.000000 0.000000 42 CUFF.71.1 -
+- - u CUFF.73 CUFF.73.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.73.1 -
+- - u CUFF.75 CUFF.75.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.75.1 -
+- - u CUFF.77 CUFF.77.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.77.1 -
+- - u CUFF.79 CUFF.79.1 100 0.000000 0.000000 0.000000 0.000000 71 CUFF.79.1 -
+- - u CUFF.81 CUFF.81.1 100 0.000000 0.000000 0.000000 0.000000 212 CUFF.81.1 -
+- - u CUFF.83 CUFF.83.1 100 0.000000 0.000000 0.000000 0.000000 45 CUFF.83.1 -
+- - u CUFF.85 CUFF.85.1 100 0.000000 0.000000 0.000000 0.000000 100 CUFF.85.1 -
+- - u CUFF.87 CUFF.87.1 100 0.000000 0.000000 0.000000 0.000000 59 CUFF.87.1 -
+- - u CUFF.89 CUFF.89.1 100 0.000000 0.000000 0.000000 0.000000 48 CUFF.89.1 -
+- - u CUFF.91 CUFF.91.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.91.1 -
+- - u CUFF.93 CUFF.93.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.93.1 -
+- - u CUFF.95 CUFF.95.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.95.1 -
+- - u CUFF.97 CUFF.97.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.97.1 -
+- - u CUFF.99 CUFF.99.1 100 0.000000 0.000000 0.000000 0.000000 97 CUFF.99.1 -
--- a/test-data/cuffcompare_out6.tracking Thu Jun 09 11:38:37 2011 -0400
+++ b/test-data/cuffcompare_out6.tracking Thu Jun 09 12:06:07 2011 -0400
@@ -1,100 +1,100 @@
-TCONS_00000001 XLOC_000001 - u q1:CUFF.1|CUFF.1.1|100|20.607936|0.000000|49.751960|1.317073|- -
-TCONS_00000002 XLOC_000002 - u q1:CUFF.3|CUFF.3.1|100|27.255658|0.000000|65.800979|1.741935|- -
-TCONS_00000003 XLOC_000006 - u q1:CUFF.29|CUFF.29.1|100|107.103219|71.402146|142.804292|6.845070|- -
-TCONS_00000004 XLOC_000006 - u q1:CUFF.31|CUFF.31.1|100|122.650461|40.883487|204.417435|7.838710|- -
-TCONS_00000005 XLOC_000006 - u q1:CUFF.33|CUFF.33.1|100|109.527366|26.732460|192.322273|7.000000|- -
-TCONS_00000006 XLOC_000008 - u q1:CUFF.35|CUFF.35.1|100|96.747183|61.420107|132.074259|6.183206|- -
-TCONS_00000007 XLOC_000008 - u q1:CUFF.37|CUFF.37.1|100|104.085013|53.596365|154.573660|6.652174|- -
-TCONS_00000008 XLOC_000010 - u q1:CUFF.39|CUFF.39.1|100|23.912983|0.000000|51.525317|1.528302|- -
-TCONS_00000009 XLOC_000011 - u q1:CUFF.41|CUFF.41.1|100|10.695258|0.000000|25.820637|0.683544|- -
-TCONS_00000010 XLOC_000013 - u q1:CUFF.43|CUFF.43.1|100|10.561567|0.000000|25.497879|0.675000|- -
-TCONS_00000011 XLOC_000014 - u q1:CUFF.45|CUFF.45.1|100|20.708956|2.186303|39.231609|1.323529|- -
-TCONS_00000012 XLOC_000015 - u q1:CUFF.47|CUFF.47.1|100|20.607936|0.000000|49.751960|1.317073|- -
-TCONS_00000013 XLOC_000016 - u q1:CUFF.49|CUFF.49.1|100|15.646767|0.000000|46.940300|1.000000|- -
-TCONS_00000014 XLOC_000018 - u q1:CUFF.51|CUFF.51.1|100|31.293533|0.000000|75.549272|2.000000|- -
-TCONS_00000015 XLOC_000019 - u q1:CUFF.53|CUFF.53.1|100|31.293533|0.000000|75.549272|2.000000|- -
-TCONS_00000016 XLOC_000020 - u q1:CUFF.55|CUFF.55.1|100|31.293533|0.000000|75.549272|2.000000|- -
-TCONS_00000017 XLOC_000021 - u q1:CUFF.57|CUFF.57.1|100|15.646767|0.000000|46.940300|1.000000|- -
-TCONS_00000018 XLOC_000022 - u q1:CUFF.59|CUFF.59.1|100|15.646767|0.000000|46.940300|1.000000|- -
-TCONS_00000019 XLOC_000024 - u q1:CUFF.7|CUFF.7.1|100|9.999117|0.000000|19.998234|0.639053|- -
-TCONS_00000020 XLOC_000025 - u q1:CUFF.5|CUFF.5.1|100|31.293533|0.000000|75.549272|2.000000|- -
-TCONS_00000021 XLOC_000028 - u q1:CUFF.9|CUFF.9.1|100|17.776896|9.153835|26.399957|1.136139|- -
-TCONS_00000022 XLOC_000030 - u q1:CUFF.11|CUFF.11.1|100|31.293533|0.000000|75.549272|2.000000|- -
-TCONS_00000023 XLOC_000032 - u q1:CUFF.13|CUFF.13.1|100|10.695258|0.000000|25.820637|0.683544|- -
-TCONS_00000024 XLOC_000034 - u q1:CUFF.15|CUFF.15.1|100|10.695258|0.000000|25.820637|0.683544|- -
-TCONS_00000025 XLOC_000035 - u q1:CUFF.19|CUFF.19.1|100|29.337687|3.097262|55.578113|1.875000|- -
-TCONS_00000026 XLOC_000037 - u q1:CUFF.17|CUFF.17.1|100|8.710571|0.000000|21.029179|0.556701|- -
-TCONS_00000027 XLOC_000040 - u q1:CUFF.25|CUFF.25.1|100|14.567679|5.354270|23.781089|0.931034|- -
-TCONS_00000028 XLOC_000042 - u q1:CUFF.21|CUFF.21.1|100|13.851236|0.000000|33.439842|0.885246|- -
-TCONS_00000029 XLOC_000044 - u q1:CUFF.23|CUFF.23.1|100|23.470150|0.000000|50.571145|1.500000|- -
-TCONS_00000030 XLOC_000046 - u q1:CUFF.27|CUFF.27.1|100|34.253732|0.000000|73.806535|2.189189|- -
-TCONS_00000031 XLOC_000048 - u q1:CUFF.61|CUFF.61.1|100|45.263860|0.000000|97.530065|2.892857|- -
-TCONS_00000032 XLOC_000049 - u q1:CUFF.63|CUFF.63.1|100|15.646767|0.000000|46.940300|1.000000|- -
-TCONS_00000033 XLOC_000052 - u q1:CUFF.65|CUFF.65.1|100|15.362280|0.000000|37.087825|0.981818|- -
-TCONS_00000034 XLOC_000057 - u q1:CUFF.67|CUFF.67.1|100|12.998852|0.000000|31.382005|0.830769|- -
-TCONS_00000035 XLOC_000059 - u q1:CUFF.69|CUFF.69.1|100|10.058636|0.000000|24.283695|0.642857|- -
-TCONS_00000036 XLOC_000059 - u q1:CUFF.71|CUFF.71.1|100|8.621688|0.000000|20.814595|0.551020|- -
-TCONS_00000037 XLOC_000060 - u q1:CUFF.73|CUFF.73.1|100|15.362280|0.000000|37.087825|0.981818|- -
-TCONS_00000038 XLOC_000062 - u q1:CUFF.75|CUFF.75.1|100|31.293533|0.000000|75.549272|2.000000|- -
-TCONS_00000039 XLOC_000065 - u q1:CUFF.77|CUFF.77.1|100|16.248565|0.000000|39.227507|1.038462|- -
-TCONS_00000040 XLOC_000068 - u q1:CUFF.79|CUFF.79.1|100|31.293533|0.000000|75.549272|2.000000|- -
-TCONS_00000041 XLOC_000071 - u q1:CUFF.81|CUFF.81.1|100|13.201959|0.000000|31.872349|0.843750|- -
-TCONS_00000042 XLOC_000073 - u q1:CUFF.83|CUFF.83.1|100|13.201959|0.000000|28.446269|0.843750|- -
-TCONS_00000043 XLOC_000075 - u q1:CUFF.85|CUFF.85.1|100|31.293533|0.000000|75.549272|2.000000|- -
-TCONS_00000044 XLOC_000077 - u q1:CUFF.87|CUFF.87.1|100|17.243375|0.000000|41.629191|1.102041|- -
-TCONS_00000045 XLOC_000080 - u q1:CUFF.89|CUFF.89.1|100|16.567165|0.000000|39.996674|1.058824|- -
-TCONS_00000046 XLOC_000083 - u q1:CUFF.91|CUFF.91.1|100|31.293533|0.000000|75.549272|2.000000|- -
-TCONS_00000047 XLOC_000084 - u q1:CUFF.93|CUFF.93.1|100|21.664754|0.000000|52.303342|1.384615|- -
-TCONS_00000048 XLOC_000085 - u q1:CUFF.95|CUFF.95.1|100|46.940300|0.000000|101.142289|3.000000|- -
-TCONS_00000049 XLOC_000086 - u q1:CUFF.97|CUFF.97.1|100|21.481154|0.000000|46.285454|1.372881|- -
-TCONS_00000050 XLOC_000087 - u q1:CUFF.99|CUFF.99.1|100|14.567679|0.000000|35.169489|0.931034|- -
-TCONS_00000051 XLOC_000003 - u - q2:CUFF.1|CUFF.1.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000052 XLOC_000004 - u - q2:CUFF.3|CUFF.3.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000053 XLOC_000005 - u - q2:CUFF.5|CUFF.5.1|100|21.226627|0.000000|59.889707|1.205672|-
-TCONS_00000054 XLOC_000006 - u - q2:CUFF.11|CUFF.11.1|100|32.531777|24.582998|40.480555|1.847804|-
-TCONS_00000055 XLOC_000007 - u - q2:CUFF.7|CUFF.7.1|100|29.709524|19.806349|39.612698|1.687500|-
-TCONS_00000056 XLOC_000008 - u - q2:CUFF.9|CUFF.9.1|100|34.072933|23.364686|44.781179|1.935341|-
-TCONS_00000057 XLOC_000009 - u - q2:CUFF.13|CUFF.13.1|100|16.582060|0.000000|35.729373|0.941860|-
-TCONS_00000058 XLOC_000012 - u - q2:CUFF.15|CUFF.15.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000059 XLOC_000017 - u - q2:CUFF.17|CUFF.17.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000060 XLOC_000023 - u - q2:CUFF.19|CUFF.19.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000061 XLOC_000024 - u - q2:CUFF.23|CUFF.23.1|100|16.205195|0.000000|34.917342|0.920455|-
-TCONS_00000062 XLOC_000026 - u - q2:CUFF.21|CUFF.21.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000063 XLOC_000027 - u - q2:CUFF.26|CUFF.26.1|100|29.709524|0.000000|71.725135|1.687500|-
-TCONS_00000064 XLOC_000028 - u - q2:CUFF.25|CUFF.25.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000065 XLOC_000029 - u - q2:CUFF.29|CUFF.29.1|100|13.581496|0.000000|32.788633|0.771429|-
-TCONS_00000066 XLOC_000031 - u - q2:CUFF.31|CUFF.31.1|100|22.635827|0.000000|45.271655|1.285714|-
-TCONS_00000067 XLOC_000033 - u - q2:CUFF.33|CUFF.33.1|100|23.767619|0.000000|57.380108|1.350000|-
-TCONS_00000068 XLOC_000036 - u - q2:CUFF.35|CUFF.35.1|100|11.317914|0.000000|27.323861|0.642857|-
-TCONS_00000069 XLOC_000037 - u - q2:CUFF.37|CUFF.37.1|100|11.500461|0.000000|24.780049|0.653226|-
-TCONS_00000070 XLOC_000038 - u - q2:CUFF.39|CUFF.39.1|100|52.816931|0.000000|113.804669|3.000000|-
-TCONS_00000071 XLOC_000039 - u - q2:CUFF.41|CUFF.41.1|100|43.213852|0.000000|93.112911|2.454545|-
-TCONS_00000072 XLOC_000041 - u - q2:CUFF.43|CUFF.43.1|100|23.474191|0.000000|46.948383|1.333333|-
-TCONS_00000073 XLOC_000043 - u - q2:CUFF.45|CUFF.45.1|100|20.667495|0.000000|49.895746|1.173913|-
-TCONS_00000074 XLOC_000045 - u - q2:CUFF.47|CUFF.47.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000075 XLOC_000047 - u - q2:CUFF.49|CUFF.49.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000076 XLOC_000049 - u - q2:CUFF.51|CUFF.51.1|100|14.948188|7.228977|22.667399|0.849057|-
-TCONS_00000077 XLOC_000050 - u - q2:CUFF.53|CUFF.53.1|100|52.816931|0.000000|113.804669|3.000000|-
-TCONS_00000078 XLOC_000051 - u - q2:CUFF.55|CUFF.55.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000079 XLOC_000053 - u - q2:CUFF.57|CUFF.57.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000080 XLOC_000054 - u - q2:CUFF.59|CUFF.59.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000081 XLOC_000055 - u - q2:CUFF.61|CUFF.61.1|100|13.204233|0.000000|31.877838|0.750000|-
-TCONS_00000082 XLOC_000056 - u - q2:CUFF.63|CUFF.63.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000083 XLOC_000058 - u - q2:CUFF.65|CUFF.65.1|100|31.170648|0.000000|62.341295|1.770492|-
-TCONS_00000084 XLOC_000059 - u - q2:CUFF.69|CUFF.69.1|100|18.799247|8.750627|28.847866|1.067797|-
-TCONS_00000085 XLOC_000060 - u - q2:CUFF.67|CUFF.67.1|100|15.681351|3.378764|27.983938|0.890700|-
-TCONS_00000086 XLOC_000061 - u - q2:CUFF.71|CUFF.71.1|100|22.635827|0.000000|54.647722|1.285714|-
-TCONS_00000087 XLOC_000063 - u - q2:CUFF.73|CUFF.73.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000088 XLOC_000064 - u - q2:CUFF.75|CUFF.75.1|100|52.816931|0.000000|113.804669|3.000000|-
-TCONS_00000089 XLOC_000066 - u - q2:CUFF.77|CUFF.77.1|100|17.605644|0.000000|52.816931|1.000000|-
-TCONS_00000090 XLOC_000067 - u - q2:CUFF.79|CUFF.79.1|100|13.390208|0.000000|32.326821|0.760563|-
-TCONS_00000091 XLOC_000068 - u - q2:CUFF.81|CUFF.81.1|100|11.211141|1.183592|21.238690|0.636792|-
-TCONS_00000092 XLOC_000069 - u - q2:CUFF.83|CUFF.83.1|100|21.126772|0.000000|51.004540|1.200000|-
-TCONS_00000093 XLOC_000070 - u - q2:CUFF.85|CUFF.85.1|100|19.014095|0.000000|38.028190|1.080000|-
-TCONS_00000094 XLOC_000072 - u - q2:CUFF.87|CUFF.87.1|100|24.170460|0.000000|52.080103|1.372881|-
-TCONS_00000095 XLOC_000074 - u - q2:CUFF.89|CUFF.89.1|100|29.709524|0.000000|64.015126|1.687500|-
-TCONS_00000096 XLOC_000076 - u - q2:CUFF.91|CUFF.91.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000097 XLOC_000078 - u - q2:CUFF.93|CUFF.93.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000098 XLOC_000079 - u - q2:CUFF.95|CUFF.95.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000099 XLOC_000081 - u - q2:CUFF.97|CUFF.97.1|100|35.211287|0.000000|85.007567|2.000000|-
-TCONS_00000100 XLOC_000082 - u - q2:CUFF.99|CUFF.99.1|100|19.602160|0.000000|39.204320|1.113402|-
+TCONS_00000001 XLOC_000001 - u q1:CUFF.1|CUFF.1.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000002 XLOC_000002 - u q1:CUFF.3|CUFF.3.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000003 XLOC_000006 - u q1:CUFF.29|CUFF.29.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000004 XLOC_000006 - u q1:CUFF.31|CUFF.31.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000005 XLOC_000006 - u q1:CUFF.33|CUFF.33.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000006 XLOC_000008 - u q1:CUFF.35|CUFF.35.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000007 XLOC_000008 - u q1:CUFF.37|CUFF.37.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000008 XLOC_000010 - u q1:CUFF.39|CUFF.39.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000009 XLOC_000011 - u q1:CUFF.41|CUFF.41.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000010 XLOC_000013 - u q1:CUFF.43|CUFF.43.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000011 XLOC_000014 - u q1:CUFF.45|CUFF.45.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000012 XLOC_000015 - u q1:CUFF.47|CUFF.47.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000013 XLOC_000016 - u q1:CUFF.49|CUFF.49.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000014 XLOC_000018 - u q1:CUFF.51|CUFF.51.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000015 XLOC_000019 - u q1:CUFF.53|CUFF.53.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000016 XLOC_000020 - u q1:CUFF.55|CUFF.55.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000017 XLOC_000021 - u q1:CUFF.57|CUFF.57.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000018 XLOC_000022 - u q1:CUFF.59|CUFF.59.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000019 XLOC_000024 - u q1:CUFF.7|CUFF.7.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000020 XLOC_000025 - u q1:CUFF.5|CUFF.5.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000021 XLOC_000028 - u q1:CUFF.9|CUFF.9.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000022 XLOC_000030 - u q1:CUFF.11|CUFF.11.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000023 XLOC_000032 - u q1:CUFF.13|CUFF.13.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000024 XLOC_000034 - u q1:CUFF.15|CUFF.15.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000025 XLOC_000035 - u q1:CUFF.19|CUFF.19.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000026 XLOC_000037 - u q1:CUFF.17|CUFF.17.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000027 XLOC_000040 - u q1:CUFF.25|CUFF.25.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000028 XLOC_000042 - u q1:CUFF.21|CUFF.21.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000029 XLOC_000044 - u q1:CUFF.23|CUFF.23.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000030 XLOC_000046 - u q1:CUFF.27|CUFF.27.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000031 XLOC_000048 - u q1:CUFF.61|CUFF.61.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000032 XLOC_000049 - u q1:CUFF.63|CUFF.63.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000033 XLOC_000052 - u q1:CUFF.65|CUFF.65.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000034 XLOC_000057 - u q1:CUFF.67|CUFF.67.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000035 XLOC_000059 - u q1:CUFF.69|CUFF.69.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000036 XLOC_000059 - u q1:CUFF.71|CUFF.71.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000037 XLOC_000060 - u q1:CUFF.73|CUFF.73.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000038 XLOC_000062 - u q1:CUFF.75|CUFF.75.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000039 XLOC_000065 - u q1:CUFF.77|CUFF.77.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000040 XLOC_000068 - u q1:CUFF.79|CUFF.79.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000041 XLOC_000071 - u q1:CUFF.81|CUFF.81.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000042 XLOC_000073 - u q1:CUFF.83|CUFF.83.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000043 XLOC_000075 - u q1:CUFF.85|CUFF.85.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000044 XLOC_000077 - u q1:CUFF.87|CUFF.87.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000045 XLOC_000080 - u q1:CUFF.89|CUFF.89.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000046 XLOC_000083 - u q1:CUFF.91|CUFF.91.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000047 XLOC_000084 - u q1:CUFF.93|CUFF.93.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000048 XLOC_000085 - u q1:CUFF.95|CUFF.95.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000049 XLOC_000086 - u q1:CUFF.97|CUFF.97.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000050 XLOC_000087 - u q1:CUFF.99|CUFF.99.1|100|0.000000|0.000000|0.000000|0.000000|- -
+TCONS_00000051 XLOC_000003 - u - q2:CUFF.1|CUFF.1.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000052 XLOC_000004 - u - q2:CUFF.3|CUFF.3.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000053 XLOC_000005 - u - q2:CUFF.5|CUFF.5.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000054 XLOC_000006 - u - q2:CUFF.11|CUFF.11.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000055 XLOC_000007 - u - q2:CUFF.7|CUFF.7.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000056 XLOC_000008 - u - q2:CUFF.9|CUFF.9.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000057 XLOC_000009 - u - q2:CUFF.13|CUFF.13.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000058 XLOC_000012 - u - q2:CUFF.15|CUFF.15.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000059 XLOC_000017 - u - q2:CUFF.17|CUFF.17.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000060 XLOC_000023 - u - q2:CUFF.19|CUFF.19.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000061 XLOC_000024 - u - q2:CUFF.23|CUFF.23.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000062 XLOC_000026 - u - q2:CUFF.21|CUFF.21.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000063 XLOC_000027 - u - q2:CUFF.26|CUFF.26.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000064 XLOC_000028 - u - q2:CUFF.25|CUFF.25.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000065 XLOC_000029 - u - q2:CUFF.29|CUFF.29.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000066 XLOC_000031 - u - q2:CUFF.31|CUFF.31.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000067 XLOC_000033 - u - q2:CUFF.33|CUFF.33.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000068 XLOC_000036 - u - q2:CUFF.35|CUFF.35.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000069 XLOC_000037 - u - q2:CUFF.37|CUFF.37.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000070 XLOC_000038 - u - q2:CUFF.39|CUFF.39.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000071 XLOC_000039 - u - q2:CUFF.41|CUFF.41.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000072 XLOC_000041 - u - q2:CUFF.43|CUFF.43.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000073 XLOC_000043 - u - q2:CUFF.45|CUFF.45.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000074 XLOC_000045 - u - q2:CUFF.47|CUFF.47.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000075 XLOC_000047 - u - q2:CUFF.49|CUFF.49.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000076 XLOC_000049 - u - q2:CUFF.51|CUFF.51.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000077 XLOC_000050 - u - q2:CUFF.53|CUFF.53.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000078 XLOC_000051 - u - q2:CUFF.55|CUFF.55.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000079 XLOC_000053 - u - q2:CUFF.57|CUFF.57.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000080 XLOC_000054 - u - q2:CUFF.59|CUFF.59.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000081 XLOC_000055 - u - q2:CUFF.61|CUFF.61.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000082 XLOC_000056 - u - q2:CUFF.63|CUFF.63.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000083 XLOC_000058 - u - q2:CUFF.65|CUFF.65.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000084 XLOC_000059 - u - q2:CUFF.69|CUFF.69.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000085 XLOC_000060 - u - q2:CUFF.67|CUFF.67.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000086 XLOC_000061 - u - q2:CUFF.71|CUFF.71.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000087 XLOC_000063 - u - q2:CUFF.73|CUFF.73.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000088 XLOC_000064 - u - q2:CUFF.75|CUFF.75.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000089 XLOC_000066 - u - q2:CUFF.77|CUFF.77.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000090 XLOC_000067 - u - q2:CUFF.79|CUFF.79.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000091 XLOC_000068 - u - q2:CUFF.81|CUFF.81.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000092 XLOC_000069 - u - q2:CUFF.83|CUFF.83.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000093 XLOC_000070 - u - q2:CUFF.85|CUFF.85.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000094 XLOC_000072 - u - q2:CUFF.87|CUFF.87.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000095 XLOC_000074 - u - q2:CUFF.89|CUFF.89.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000096 XLOC_000076 - u - q2:CUFF.91|CUFF.91.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000097 XLOC_000078 - u - q2:CUFF.93|CUFF.93.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000098 XLOC_000079 - u - q2:CUFF.95|CUFF.95.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000099 XLOC_000081 - u - q2:CUFF.97|CUFF.97.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000100 XLOC_000082 - u - q2:CUFF.99|CUFF.99.1|100|0.000000|0.000000|0.000000|0.000000|-
--- a/test-data/cuffcompare_out7.txt Thu Jun 09 11:38:37 2011 -0400
+++ b/test-data/cuffcompare_out7.txt Thu Jun 09 12:06:07 2011 -0400
@@ -1,19 +1,11 @@
-# Cuffcompare v1.0.1 | Command line was:
-#cuffcompare -r cuffcompare_in3.gtf -R cuffcompare_in1.gtf cuffcompare_in2.gtf
+# Cuffcompare v1.0.3 | Command line was:
+#cuffcompare -o cc_output -r cuffcompare_in3.gtf -R cuffcompare_in1.gtf cuffcompare_in2.gtf
#
-#> Genomic sequence: chr1
-# Query mRNAs : 50 in 50 loci (0 multi-exon transcripts)
-# (0 multi-transcript loci, ~1.0 transcripts per locus)
-# Reference mRNAs : 0 in 0 loci (0 multi-exon)
#= Summary for dataset: cuffcompare_in1.gtf :
# Query mRNAs : 50 in 50 loci (0 multi-exon transcripts)
# (0 multi-transcript loci, ~1.0 transcripts per locus)
# Reference mRNAs : 0 in 0 loci (0 multi-exon)
-#> Genomic sequence: chr1
-# Query mRNAs : 50 in 50 loci (0 multi-exon transcripts)
-# (0 multi-transcript loci, ~1.0 transcripts per locus)
-# Reference mRNAs : 0 in 0 loci (0 multi-exon)
#= Summary for dataset: cuffcompare_in2.gtf :
# Query mRNAs : 50 in 50 loci (0 multi-exon transcripts)
--- a/tools/ngs_rna/cuffcompare_wrapper.py Thu Jun 09 11:38:37 2011 -0400
+++ b/tools/ngs_rna/cuffcompare_wrapper.py Thu Jun 09 12:06:07 2011 -0400
@@ -116,7 +116,7 @@
raise Exception, stderr
# check that there are results in the output file
- cc_output_fname = "cc_output"
+ cc_output_fname = "cc_output.stats"
if len( open( cc_output_fname, 'rb' ).read().strip() ) == 0:
raise Exception, 'The main output file is empty, there may be an error with your input file or settings.'
except Exception, e:
--- a/tools/ngs_rna/cuffcompare_wrapper.xml Thu Jun 09 11:38:37 2011 -0400
+++ b/tools/ngs_rna/cuffcompare_wrapper.xml Thu Jun 09 12:06:07 2011 -0400
@@ -35,9 +35,7 @@
<inputs><param format="gtf" name="first_input" type="data" label="GTF file produced by Cufflinks" help=""/><repeat name="input_files" title="Additional GTF Input Files">
- <param format="gtf" name="additional_input" type="data" label="GTF file produced by Cufflinks" help="">
- <validator type="unspecified_build" />
- </param>
+ <param format="gtf" name="additional_input" type="data" label="GTF file produced by Cufflinks" help=""/></repeat><conditional name="annotation"><param name="use_ref_annotation" type="select" label="Use Reference Annotation">
@@ -73,13 +71,16 @@
</inputs><outputs>
- <data format="txt" name="transcripts_accuracy" label="${tool.name} on ${on_string}: transcript accuracy" from_work_dir="cc_output" />
- <data format="tabular" name="input1_tmap" label="${tool.name} on ${on_string}: ${first_input.hid} data tmap file" from_work_dir="input1.tmap" />
- <data format="tabular" name="input1_refmap" label="${tool.name} on ${on_string}: data ${first_input.hid} refmap file" from_work_dir="input1.refmap"/>
- <data format="tabular" name="input2_tmap" label="${tool.name} on ${on_string}: data ${input_files[0]['additional_input'].hid} tmap file" from_work_dir="input2.tmap">
+ <data format="txt" name="transcripts_accuracy" label="${tool.name} on ${on_string}: transcript accuracy"
+ from_work_dir="cc_output.stats" />
+ <data format="tabular" name="input1_tmap" label="${tool.name} on ${on_string}: ${first_input.hid} data tmap file"
+ from_work_dir="cc_output.input1.tmap" />
+ <data format="tabular" name="input1_refmap" label="${tool.name} on ${on_string}: data ${first_input.hid} refmap file"
+ from_work_dir="cc_output.input1.refmap"/>
+ <data format="tabular" name="input2_tmap" label="${tool.name} on ${on_string}: data ${input_files[0]['additional_input'].hid} tmap file" from_work_dir="cc_output.input2.tmap"><filter>len( input_files ) > 0</filter></data>
- <data format="tabular" name="input2_refmap" label="${tool.name} on ${on_string}: data ${input_files[0]['additional_input'].hid} refmap file" from_work_dir="input2.refmap">
+ <data format="tabular" name="input2_refmap" label="${tool.name} on ${on_string}: data ${input_files[0]['additional_input'].hid} refmap file" from_work_dir="cc_output.input2.refmap"><filter>len( input_files ) > 0</filter></data><data format="tabular" name="transcripts_tracking" label="${tool.name} on ${on_string}: transcript tracking" from_work_dir="cc_output.tracking">
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: fubar: remove errant print statement from fastqc wrapper
by Bitbucket 09 Jun '11
by Bitbucket 09 Jun '11
09 Jun '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/5e6254f2b9e3/
changeset: 5e6254f2b9e3
user: fubar
date: 2011-06-09 17:38:37
summary: remove errant print statement from fastqc wrapper
affected #: 1 file (61 bytes)
--- a/tools/rgenetics/rgFastQC.py Thu Jun 09 11:26:41 2011 -0400
+++ b/tools/rgenetics/rgFastQC.py Thu Jun 09 11:38:37 2011 -0400
@@ -123,7 +123,6 @@
sauce = os.path.join(adir,f)
dest = os.path.join(self.opts.outputdir,f)
shutil.move(sauce,dest)
- print 'moved %s to %s' % (sauce,dest)
os.rmdir(adir)
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: dan: Some fixes for interplay between DataToolParameter, implicit datatype conversion and dynamic select lists. Closes #491.
by Bitbucket 09 Jun '11
by Bitbucket 09 Jun '11
09 Jun '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/894112e0b9d5/
changeset: 894112e0b9d5
user: dan
date: 2011-06-09 17:26:41
summary: Some fixes for interplay between DataToolParameter, implicit datatype conversion and dynamic select lists. Closes #491.
TODO: Revamp this interplay to allow the use of implicit datatype conversion by allowing manual input of selections by e.g. Text Boxes.
affected #: 3 files (327 bytes)
--- a/lib/galaxy/tools/__init__.py Thu Jun 09 11:24:19 2011 -0400
+++ b/lib/galaxy/tools/__init__.py Thu Jun 09 11:26:41 2011 -0400
@@ -923,6 +923,8 @@
if not self.check_values:
return
for input in self.inputs.itervalues():
+ if input.name not in value:
+ value[input.name] = input.get_initial_value( None, value )
if isinstance( input, ToolParameter ):
callback( "", input, value[input.name] )
else:
--- a/lib/galaxy/tools/parameters/basic.py Thu Jun 09 11:24:19 2011 -0400
+++ b/lib/galaxy/tools/parameters/basic.py Thu Jun 09 11:26:41 2011 -0400
@@ -699,8 +699,8 @@
# Old style dynamic options, no dependency information so there isn't
# a lot we can do: if we're dealing with workflows, have to assume
# late validation no matter what.
- if self.dynamic_options is not None:
- return ( trans is None or trans.workflow_building_mode )
+ if self.dynamic_options is not None and ( trans is None or trans.workflow_building_mode ):
+ return True
# If we got this far, we can actually look at the dependencies
# to see if their values will not be available until runtime.
for dep_name in self.get_dependencies():
@@ -1354,7 +1354,7 @@
happens twice (here and when generating HTML).
"""
# Can't look at history in workflow mode
- if trans.workflow_building_mode:
+ if trans is None or trans.workflow_building_mode:
return DummyDataset()
assert trans is not None, "DataToolParameter requires a trans"
history = trans.get_history()
@@ -1370,7 +1370,7 @@
pass #no valid options
def dataset_collector( datasets ):
def is_convertable( dataset ):
- target_ext, converted_dataset = dataset.find_conversion_destination( self.formats, converter_safe = self.converter_safe( None, trans ) )
+ target_ext, converted_dataset = dataset.find_conversion_destination( self.formats, converter_safe = self.converter_safe( context, trans ) )
if target_ext is not None:
return True
return False
--- a/lib/galaxy/util/expressions.py Thu Jun 09 11:24:19 2011 -0400
+++ b/lib/galaxy/util/expressions.py Thu Jun 09 11:26:41 2011 -0400
@@ -21,6 +21,8 @@
if self.parent is not None and key in self.parent:
return self.parent[key]
raise KeyError( key )
+ def __setitem__( self, key, value ):
+ self.dict[key] = value
def __contains__( self, key ):
if key in self.dict:
return True
@@ -29,4 +31,7 @@
return False
def __str__( self ):
return str( self.dict )
-
+ def __nonzero__( self ):
+ if not self.dict and not self.parent:
+ return False
+ return True
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
2 new changesets in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/1131b031cec7/
changeset: 1131b031cec7
user: natefoo
date: 2011-06-09 17:22:23
summary: Fix for either a bug or undocumented feature in ElementTree that broke megablast and blast+ XML parsing in Python 2.7.
affected #: 2 files (2 bytes)
--- a/tools/metag_tools/megablast_xml_parser.py Wed Jun 08 23:50:07 2011 -0400
+++ b/tools/metag_tools/megablast_xml_parser.py Thu Jun 09 11:22:23 2011 -0400
@@ -53,7 +53,7 @@
query = elem.findtext( "Iteration_query-def" )
qLen = elem.findtext( "Iteration_query-len" )
# for every <Hit> within <Iteration>
- for hit in elem.findall( "Iteration_hits/Hit/" ):
+ for hit in elem.findall( "Iteration_hits/Hit" ):
subject = hit.findtext( "Hit_id" )
if re.search( '^gi', subject ):
subject = subject.split('|')[1]
--- a/tools/ncbi_blast_plus/blastxml_to_tabular.py Wed Jun 08 23:50:07 2011 -0400
+++ b/tools/ncbi_blast_plus/blastxml_to_tabular.py Thu Jun 09 11:22:23 2011 -0400
@@ -138,7 +138,7 @@
qlen = int(elem.findtext("Iteration_query-len"))
# for every <Hit> within <Iteration>
- for hit in elem.findall("Iteration_hits/Hit/"):
+ for hit in elem.findall("Iteration_hits/Hit"):
#Expecting either this,
# <Hit_id>gi|3024260|sp|P56514.1|OPSD_BUFBU</Hit_id>
# <Hit_def>RecName: Full=Rhodopsin</Hit_def>
http://bitbucket.org/galaxy/galaxy-central/changeset/d394deb322a9/
changeset: d394deb322a9
user: natefoo
date: 2011-06-09 17:24:19
summary: Rebuild the bx_python egg for numpy 1.6.0. Python 2.7 support officially in beta (tests are passing nicely).
affected #: 1 file (9 bytes)
--- a/eggs.ini Thu Jun 09 11:22:23 2011 -0400
+++ b/eggs.ini Thu Jun 09 11:24:19 2011 -0400
@@ -67,7 +67,7 @@
psycopg2 = _8.4.2_static
pysqlite = _3.6.17_static
MySQL_python = _5.1.41_static
-bx_python = _494c2d1d68b3
+bx_python = _494c2d1d68b3_rebuild1
GeneTrack = _dev_48da9e998f0caf01c5be731e926f4b0481f658f0
SQLAlchemy = _dev_r6498
pysam = _kanwei_b10f6e722e9a
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/a6868407f0e8/
changeset: a6868407f0e8
user: natefoo
date: 2011-06-09 05:50:07
summary: Testing Python 2.7.
affected #: 4 files (1.9 KB)
--- a/dist-eggs.ini Wed Jun 08 17:47:36 2011 -0400
+++ b/dist-eggs.ini Wed Jun 08 23:50:07 2011 -0400
@@ -13,33 +13,43 @@
py2.5-linux-i686-ucs4 = stegmaier.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-i686-ucs4/bin/python2.5
py2.6-linux-i686-ucs2 = stegmaier.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-i686-ucs2/bin/python2.6
py2.6-linux-i686-ucs4 = stegmaier.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-i686-ucs4/bin/python2.6
+py2.7-linux-i686-ucs2 = stegmaier.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-i686-ucs2/bin/python2.7
+py2.7-linux-i686-ucs4 = stegmaier.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-i686-ucs4/bin/python2.7
py2.4-linux-x86_64-ucs2 = straub.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-x86_64-ucs2/bin/python2.4
py2.4-linux-x86_64-ucs4 = straub.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-x86_64-ucs4/bin/python2.4
py2.5-linux-x86_64-ucs2 = straub.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-x86_64-ucs2/bin/python2.5
py2.5-linux-x86_64-ucs4 = straub.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-x86_64-ucs4/bin/python2.5
py2.6-linux-x86_64-ucs2 = straub.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-x86_64-ucs2/bin/python2.6
py2.6-linux-x86_64-ucs4 = straub.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-x86_64-ucs4/bin/python2.6
-py2.4-macosx-10.3-fat-ucs2 = lonnie.bx.psu.edu /usr/local/bin/python2.4
-py2.5-macosx-10.3-fat-ucs2 = lonnie.bx.psu.edu /usr/local/bin/python2.5
-py2.6-macosx-10.3-fat-ucs2 = lonnie.bx.psu.edu /usr/local/bin/python2.6
+py2.7-linux-x86_64-ucs2 = straub.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-x86_64-ucs2/bin/python2.7
+py2.7-linux-x86_64-ucs4 = straub.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-x86_64-ucs4/bin/python2.7
+py2.4-macosx-10.3-fat-ucs2 = weyerbacher.bx.psu.edu /usr/local/bin/python2.4
+py2.5-macosx-10.3-fat-ucs2 = weyerbacher.bx.psu.edu /usr/local/bin/python2.5
+py2.6-macosx-10.3-fat-ucs2 = weyerbacher.bx.psu.edu /usr/local/bin/python2.6
+py2.7-macosx-10.3-fat-ucs2 = weyerbacher.bx.psu.edu /usr/local/bin/python2.7
py2.6-macosx-10.6-universal-ucs2 = fanty.bx.psu.edu /usr/bin/python2.6
py2.4-solaris-2.10-i86pc_32-ucs2 = thumper.bx.psu.edu /afs/bx.psu.edu/project/pythons/solaris-2.10-i86pc_32-ucs2/bin/python2.4
py2.5-solaris-2.10-i86pc_32-ucs2 = thumper.bx.psu.edu /afs/bx.psu.edu/project/pythons/solaris-2.10-i86pc_32-ucs2/bin/python2.5
py2.6-solaris-2.10-i86pc_32-ucs2 = thumper.bx.psu.edu /afs/bx.psu.edu/project/pythons/solaris-2.10-i86pc_32-ucs2/bin/python2.6
+py2.7-solaris-2.10-i86pc_32-ucs2 = thumper.bx.psu.edu /afs/bx.psu.edu/project/pythons/solaris-2.10-i86pc_32-ucs2/bin/python2.7
py2.4-solaris-2.10-i86pc_64-ucs2 = thumper.bx.psu.edu /afs/bx.psu.edu/project/pythons/solaris-2.10-i86pc_64-ucs2/bin/python2.4
py2.5-solaris-2.10-i86pc_64-ucs2 = thumper.bx.psu.edu /afs/bx.psu.edu/project/pythons/solaris-2.10-i86pc_64-ucs2/bin/python2.5
py2.6-solaris-2.10-i86pc_64-ucs2 = thumper.bx.psu.edu /afs/bx.psu.edu/project/pythons/solaris-2.10-i86pc_64-ucs2/bin/python2.6
+py2.7-solaris-2.10-i86pc_64-ucs2 = thumper.bx.psu.edu /afs/bx.psu.edu/project/pythons/solaris-2.10-i86pc_64-ucs2/bin/python2.7
py2.4-solaris-2.10-sun4u_32-ucs2 = early.bx.psu.edu /afs/bx.psu.edu/project/pythons/solaris-2.8-sun4u_32-ucs2/bin/python2.4
py2.5-solaris-2.10-sun4u_32-ucs2 = early.bx.psu.edu /afs/bx.psu.edu/project/pythons/solaris-2.8-sun4u_32-ucs2/bin/python2.5
py2.6-solaris-2.10-sun4u_32-ucs2 = early.bx.psu.edu /afs/bx.psu.edu/project/pythons/solaris-2.8-sun4u_32-ucs2/bin/python2.6
+py2.7-solaris-2.10-sun4u_32-ucs2 = early.bx.psu.edu /afs/bx.psu.edu/project/pythons/solaris-2.8-sun4u_32-ucs2/bin/python2.7
py2.4-solaris-2.10-sun4u_64-ucs2 = early.bx.psu.edu /afs/bx.psu.edu/project/pythons/solaris-2.8-sun4u_64-ucs2/bin/python2.4
py2.5-solaris-2.10-sun4u_64-ucs2 = early.bx.psu.edu /afs/bx.psu.edu/project/pythons/solaris-2.8-sun4u_64-ucs2/bin/python2.5
py2.6-solaris-2.10-sun4u_64-ucs2 = early.bx.psu.edu /afs/bx.psu.edu/project/pythons/solaris-2.8-sun4u_64-ucs2/bin/python2.6
+py2.7-solaris-2.10-sun4u_64-ucs2 = early.bx.psu.edu /afs/bx.psu.edu/project/pythons/solaris-2.8-sun4u_64-ucs2/bin/python2.7
; these hosts are used to build eggs with no C extensions
py2.4 = straub.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-x86_64-ucs4/bin/python2.4
py2.5 = straub.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-x86_64-ucs4/bin/python2.5
py2.6 = straub.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-x86_64-ucs4/bin/python2.6
+py2.7 = straub.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-x86_64-ucs4/bin/python2.7
[groups]
py2.4-linux-i686 = py2.4-linux-i686-ucs2 py2.4-linux-i686-ucs4
@@ -48,34 +58,42 @@
py2.5-linux-x86_64 = py2.5-linux-x86_64-ucs2 py2.5-linux-x86_64-ucs4
py2.6-linux-i686 = py2.6-linux-i686-ucs2 py2.6-linux-i686-ucs4
py2.6-linux-x86_64 = py2.6-linux-x86_64-ucs2 py2.6-linux-x86_64-ucs4
+py2.7-linux-i686 = py2.7-linux-i686-ucs2 py2.7-linux-i686-ucs4
+py2.7-linux-x86_64 = py2.7-linux-x86_64-ucs2 py2.7-linux-x86_64-ucs4
py2.4-linux = py2.4-linux-i686 py2.4-linux-x86_64
py2.5-linux = py2.5-linux-i686 py2.5-linux-x86_64
py2.6-linux = py2.6-linux-i686 py2.6-linux-x86_64
-linux-i686 = py2.4-linux-i686 py2.5-linux-i686 py2.6-linux-i686
-linux-x86_64 = py2.4-linux-x86_64 py2.5-linux-x86_64 py2.6-linux-x86_64
+py2.7-linux = py2.7-linux-i686 py2.7-linux-x86_64
+linux-i686 = py2.4-linux-i686 py2.5-linux-i686 py2.6-linux-i686 py2.7-linux-i686
+linux-x86_64 = py2.4-linux-x86_64 py2.5-linux-x86_64 py2.6-linux-x86_64 py2.7-linux-x86_64
linux = linux-i686 linux-x86_64
py2.4-macosx = py2.4-macosx-10.3-fat-ucs2
py2.5-macosx = py2.5-macosx-10.3-fat-ucs2
py2.6-macosx = py2.6-macosx-10.3-fat-ucs2 py2.6-macosx-10.6-universal-ucs2
-macosx = py2.4-macosx py2.5-macosx py2.6-macosx
+py2.7-macosx = py2.7-macosx-10.3-fat-ucs2
+macosx = py2.4-macosx py2.5-macosx py2.6-macosx py2.7-macosx
py2.4-solaris-i86pc = py2.4-solaris-2.10-i86pc_32-ucs2 py2.4-solaris-2.10-i86pc_64-ucs2
py2.5-solaris-i86pc = py2.5-solaris-2.10-i86pc_32-ucs2 py2.5-solaris-2.10-i86pc_64-ucs2
py2.6-solaris-i86pc = py2.6-solaris-2.10-i86pc_32-ucs2 py2.6-solaris-2.10-i86pc_64-ucs2
+py2.7-solaris-i86pc = py2.7-solaris-2.10-i86pc_32-ucs2 py2.7-solaris-2.10-i86pc_64-ucs2
py2.4-solaris-sun4u = py2.4-solaris-2.10-sun4u_32-ucs2 py2.4-solaris-2.10-sun4u_64-ucs2
py2.5-solaris-sun4u = py2.5-solaris-2.10-sun4u_32-ucs2 py2.5-solaris-2.10-sun4u_64-ucs2
py2.6-solaris-sun4u = py2.6-solaris-2.10-sun4u_32-ucs2 py2.6-solaris-2.10-sun4u_64-ucs2
+py2.7-solaris-sun4u = py2.7-solaris-2.10-sun4u_32-ucs2 py2.7-solaris-2.10-sun4u_64-ucs2
py2.4-solaris = py2.4-solaris-i86pc py2.4-solaris-sun4u
py2.5-solaris = py2.5-solaris-i86pc py2.5-solaris-sun4u
py2.6-solaris = py2.6-solaris-i86pc py2.6-solaris-sun4u
-solaris-i86pc = py2.4-solaris-i86pc py2.5-solaris-i86pc py2.6-solaris-i86pc
-solaris-sun4u = py2.4-solaris-sun4u py2.5-solaris-sun4u py2.6-solaris-sun4u
+py2.7-solaris = py2.7-solaris-i86pc py2.7-solaris-sun4u
+solaris-i86pc = py2.4-solaris-i86pc py2.5-solaris-i86pc py2.6-solaris-i86pc py2.7-solaris-i86pc
+solaris-sun4u = py2.4-solaris-sun4u py2.5-solaris-sun4u py2.6-solaris-sun4u py2.7-solaris-sun4u
solaris = solaris-i86pc solaris-sun4u
py2.4-all = py2.4-linux py2.4-macosx py2.4-solaris
py2.5-all = py2.5-linux py2.5-macosx py2.5-solaris
py2.6-all = py2.6-linux py2.6-macosx py2.6-solaris
+py2.7-all = py2.7-linux py2.7-macosx py2.7-solaris
; group for building pysam on solaris 10 sparc
-solaris-2.10-sun4u = py2.4-solaris-2.10-sun4u_32-ucs2 py2.5-solaris-2.10-sun4u_32-ucs2 py2.6-solaris-2.10-sun4u_32-ucs2 py2.4-solaris-2.10-sun4u_64-ucs2 py2.5-solaris-2.10-sun4u_64-ucs2 py2.6-solaris-2.10-sun4u_64-ucs2
+;solaris-2.10-sun4u = py2.4-solaris-2.10-sun4u_32-ucs2 py2.5-solaris-2.10-sun4u_32-ucs2 py2.6-solaris-2.10-sun4u_32-ucs2 py2.4-solaris-2.10-sun4u_64-ucs2 py2.5-solaris-2.10-sun4u_64-ucs2 py2.6-solaris-2.10-sun4u_64-ucs2
; the 'all' key is used internally by the build system to specify which hosts
; to build on when no hosts are specified on the dist-eggs.py command line.
@@ -83,10 +101,10 @@
; the 'noplatform' key, likewise, is for which build hosts should be used when
; building pure python (noplatform) eggs.
-noplatform = py2.4 py2.5 py2.6
+noplatform = py2.4 py2.5 py2.6 py2.7
; don't build these eggs on these platforms:
[ignore]
GeneTrack = py2.4
python-daemon = py2.4
-ctypes = py2.5-linux-i686-ucs2 py2.5-linux-i686-ucs4 py2.6-linux-i686-ucs2 py2.6-linux-i686-ucs4 py2.5-linux-x86_64-ucs2 py2.5-linux-x86_64-ucs4 py2.6-linux-x86_64-ucs2 py2.6-linux-x86_64-ucs4 py2.5-macosx-10.3-fat-ucs2 py2.6-macosx-10.3-fat-ucs2 py2.6-macosx-10.6-universal-ucs2 py2.5-solaris-2.10-i86pc_32-ucs2 py2.6-solaris-2.10-i86pc_32-ucs2 py2.5-solaris-2.10-i86pc_64-ucs2 py2.6-solaris-2.10-i86pc_64-ucs2 py2.5-solaris-2.10-sun4u_32-ucs2 py2.6-solaris-2.10-sun4u_32-ucs2 py2.5-solaris-2.10-sun4u_64-ucs2 py2.6-solaris-2.10-sun4u_64-ucs2
+ctypes = py2.5-linux-i686-ucs2 py2.5-linux-i686-ucs4 py2.6-linux-i686-ucs2 py2.6-linux-i686-ucs4 py2.7-linux-i686-ucs2 py2.7-linux-i686-ucs4 py2.5-linux-x86_64-ucs2 py2.5-linux-x86_64-ucs4 py2.6-linux-x86_64-ucs2 py2.6-linux-x86_64-ucs4 py2.7-linux-x86_64-ucs2 py2.7-linux-x86_64-ucs4 py2.5-macosx-10.3-fat-ucs2 py2.6-macosx-10.3-fat-ucs2 py2.6-macosx-10.6-universal-ucs2 py2.7-macosx-10.3-fat-ucs2 py2.5-solaris-2.10-i86pc_32-ucs2 py2.6-solaris-2.10-i86pc_32-ucs2 py2.7-solaris-2.10-i86pc_32-ucs2 py2.5-solaris-2.10-i86pc_64-ucs2 py2.6-solaris-2.10-i86pc_64-ucs2 py2.7-solaris-2.10-i86pc_64-ucs2 py2.5-solaris-2.10-sun4u_32-ucs2 py2.6-solaris-2.10-sun4u_32-ucs2 py2.7-solaris-2.10-sun4u_32-ucs2 py2.5-solaris-2.10-sun4u_64-ucs2 py2.6-solaris-2.10-sun4u_64-ucs2 py2.7-solaris-2.10-sun4u_64-ucs2
--- a/eggs.ini Wed Jun 08 17:47:36 2011 -0400
+++ b/eggs.ini Wed Jun 08 23:50:07 2011 -0400
@@ -18,7 +18,7 @@
DRMAA_python = 0.2
MarkupSafe = 0.12
MySQL_python = 1.2.3c1
-numpy = 1.3.0
+numpy = 1.6.0
pbs_python = 4.1.0
psycopg2 = 2.0.13
pycrypto = 2.0.1
--- a/scripts/check_python.py Wed Jun 08 17:47:36 2011 -0400
+++ b/scripts/check_python.py Wed Jun 08 23:50:07 2011 -0400
@@ -8,7 +8,7 @@
def check_python():
try:
- assert sys.version_info[:2] >= ( 2, 4 ) and sys.version_info[:2] <= ( 2, 6 )
+ assert sys.version_info[:2] >= ( 2, 4 ) and sys.version_info[:2] <= ( 2, 7 )
except AssertionError:
print >>sys.stderr, msg
raise
--- a/scripts/scramble/lib/scramble_lib.py Wed Jun 08 17:47:36 2011 -0400
+++ b/scripts/scramble/lib/scramble_lib.py Wed Jun 08 23:50:07 2011 -0400
@@ -26,7 +26,7 @@
depf = open( '.galaxy_deps', 'r' )
except:
return []
- c = eggs.Crate()
+ c = eggs.Crate( None )
for dep in depf:
c[dep.strip()].require()
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: dan: Fixes for SelectToolParameters when changing from an unspecified selection (e.g. Unvalidated) to an existing value.
by Bitbucket 08 Jun '11
by Bitbucket 08 Jun '11
08 Jun '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/d6b048e3483e/
changeset: d6b048e3483e
user: dan
date: 2011-06-08 23:47:36
summary: Fixes for SelectToolParameters when changing from an unspecified selection (e.g. Unvalidated) to an existing value.
affected #: 2 files (233 bytes)
--- a/lib/galaxy/datatypes/registry.py Wed Jun 08 17:17:11 2011 -0400
+++ b/lib/galaxy/datatypes/registry.py Wed Jun 08 17:47:36 2011 -0400
@@ -388,9 +388,9 @@
"""Returns ( target_ext, existing converted dataset )"""
for convert_ext in self.get_converters_by_datatype( dataset.ext ):
if isinstance( self.get_datatype_by_extension( convert_ext ), accepted_formats ):
- dataset = dataset.get_converted_files_by_type( convert_ext )
- if dataset:
- ret_data = dataset
+ converted_dataset = dataset.get_converted_files_by_type( convert_ext )
+ if converted_dataset:
+ ret_data = converted_dataset
elif not converter_safe:
continue
else:
--- a/lib/galaxy/tools/parameters/basic.py Wed Jun 08 17:17:11 2011 -0400
+++ b/lib/galaxy/tools/parameters/basic.py Wed Jun 08 17:47:36 2011 -0400
@@ -603,8 +603,9 @@
# Dynamic options are not yet supported in workflow, allow
# specifying the value as text for now.
if self.need_late_validation( trans, context ):
- assert isinstance( value, UnvalidatedValue )
- value = value.value
+ if value is not None:
+ assert isinstance( value, UnvalidatedValue ), "Late validation needed for '%s', but provided value (%s) is not of type UnvalidatedValue (%s)." % ( self.name, value, type( value ) )
+ value = value.value
if self.multiple:
if value is None:
value = ""
@@ -644,13 +645,11 @@
assert self.multiple, "Multiple values provided but parameter is not expecting multiple values"
rval = []
for v in value:
- v = util.restore_text( v )
if v not in legal_values:
raise ValueError( "An invalid option was selected, please verify" )
rval.append( v )
return rval
else:
- value = util.restore_text( value )
if value not in legal_values:
raise ValueError( "An invalid option was selected, please verify" )
return value
@@ -1099,7 +1098,7 @@
# specifying the value as text for now.
if self.need_late_validation( trans, other_values ):
if value is not None:
- assert isinstance( value, UnvalidatedValue )
+ assert isinstance( value, UnvalidatedValue ), "Late validation needed for '%s', but provided value (%s) is not of type UnvalidatedValue (%s)." % ( self.name, value, type( value ) )
value = value.value
if self.multiple:
if value is None:
@@ -1127,7 +1126,7 @@
rval = []
for val in value:
if val not in self.get_legal_values( trans, other_values ): raise ValueError( "An invalid option was selected, please verify" )
- rval.append( util.restore_text( val ) )
+ rval.append( val )
return rval
def to_param_dict_string( self, value, other_values={} ):
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: an...@client-75-102-65-120.mobility-up.psu.edu: Patch from Peter Cock (bug534) for cut tool to ignore commented lines.
by Bitbucket 08 Jun '11
by Bitbucket 08 Jun '11
08 Jun '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/b208d252a194/
changeset: b208d252a194
user: an...(a)client-75-102-65-120.mobility-up.psu.edu
date: 2011-06-08 23:17:11
summary: Patch from Peter Cock (bug534) for cut tool to ignore commented lines.
affected #: 1 file (382 bytes)
--- a/tools/filters/cutWrapper.pl Wed Jun 08 16:30:59 2011 -0400
+++ b/tools/filters/cutWrapper.pl Wed Jun 08 17:17:11 2011 -0400
@@ -39,19 +39,38 @@
open (OUT, ">$ARGV[3]") or die "Cannot create $ARGV[2]:$!\n";
open (IN, "<$ARGV[0]") or die "Cannot open $ARGV[0]:$!\n";
-while (<IN>) {
- chop;
- @in = split /$del/;
- foreach $field (@columns) {
- if (defined($in[$field-1])) {
- push(@out, $in[$field-1]);
- } else {
- push(@out, ".");
- }
- }
- print OUT join("\t",@out), "\n";
- @out = ();
+
+while (my $line=<IN>) {
+ if ($line =~ /^#/) {
+ #Ignore comment lines
+ } else {
+ chop($line);
+ @in = split(/$del/, $line);
+ foreach $field (@columns) {
+ if (defined($in[$field-1])) {
+ push(@out, $in[$field-1]);
+ } else {
+ push(@out, ".");
+ }
+ }
+ print OUT join("\t",@out), "\n";
+ @out = ();
+ }
}
+
+#while (<IN>) {
+# chop;
+# @in = split /$del/;
+# foreach $field (@columns) {
+# if (defined($in[$field-1])) {
+# push(@out, $in[$field-1]);
+# } else {
+# push(@out, ".");
+# }
+# }
+# print OUT join("\t",@out), "\n";
+# @out = ();
+#}
close IN;
close OUT;
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: dannon: Fix for bitbucket issue 527, proper inheritance in model for APIItem.
by Bitbucket 08 Jun '11
by Bitbucket 08 Jun '11
08 Jun '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/6f26e35204ab/
changeset: 6f26e35204ab
user: dannon
date: 2011-06-08 22:30:59
summary: Fix for bitbucket issue 527, proper inheritance in model for APIItem.
affected #: 1 file (6 bytes)
--- a/lib/galaxy/model/__init__.py Wed Jun 08 16:25:15 2011 -0400
+++ b/lib/galaxy/model/__init__.py Wed Jun 08 16:30:59 2011 -0400
@@ -1106,7 +1106,7 @@
name = unicode( name, 'utf-8' )
return name
def get_api_value( self, view='collection' ):
- rval = super( APIItem, self ).get_api_value( vew=view )
+ rval = super( LibraryFolder, self ).get_api_value( vew=view )
info_association, inherited = self.get_info_association()
if info_association:
if inherited:
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: an...@client-75-102-65-120.mobility-up.psu.edu: solid2fastq now correctly errors out for out-of-sync solid files. Adderesses user reported bug from yjx@rice.edu
by Bitbucket 08 Jun '11
by Bitbucket 08 Jun '11
08 Jun '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/80e278c289e4/
changeset: 80e278c289e4
user: an...(a)client-75-102-65-120.mobility-up.psu.edu
date: 2011-06-08 22:25:15
summary: solid2fastq now correctly errors out for out-of-sync solid files. Adderesses user reported bug from yjx(a)rice.edu
affected #: 3 files (348 bytes)
--- a/test-data/solid2fastq_out_2.fastq Wed Jun 08 15:46:20 2011 -0400
+++ b/test-data/solid2fastq_out_2.fastq Wed Jun 08 16:25:15 2011 -0400
@@ -1,1988 +1,1988 @@
@853_7_53/1
-G..1...12.3.023.22.22.2.2..22..2...2222.222.2.2.22.
+T..02.1120..22.2..230.22.3..033212.1.1....2221...12
+
-!!0!!!10!)!)0)!,-!##!%!%!!##!!'!!!%+&)!%$/!)!$!/(!
+!!14!3.15!!47!4!!8+1!$9!(!!,..1)&!3!(!!!!1/9&!!!,3
@853_7_78/1
-G..2...02.2.232.22.11.2.2..12..1...2222.222.2.3.22.
+T..13.2222..22.2..222.22.2..222212.2.2....2222...22
+
-!!#!!!5,!$!5&+!#8!)#!5!%!!3%!!'!!!$$8+!&)%!)!(!*#!
+!!##!###$!!##!&!!#$&!$&!&!!%&)'#'!$!#!!!!&)*(!!!&*
@853_7_88/1
-G..3...22.2.032.13.22.2.1..23..0...2130.132.1.2.30.
+T..23.2221..13.2..033.30.1..010220.1.2....2222...22
+
-!!1!!!42!5!,25!24!77!4!3!!81!!,!!!5147!)/6!,!,!1&!
+!!61!5551!!13!4!!.,)!/,!3!!.)/17+!&!5!!!!-'0.!!!,5
@853_7_132/1
-G..2...21.2.200.21.30.1.1..30..0...2112.202.2.0.22.
+T..22.2032..32.2..222.22.2..222222.2.2....2222...22
+
-!!&!!!5#!)!)&+!2&!',!&!'!!1)!!1!!!4()$!/&,!'!'!0$!
+!!$(!,#&#!!&#!#!!#($!%$!#!!#&%#$(!#!#!!!!)(*+!!!,2
@853_7_141/1
-G..2...13.1.112.22.00.0.0..02..2...2222.200.2.2.22.
+T..22.2112..10.2..221.02.1..220112.0.2....0222...22
+
-!!,!!!),!5!3)+!//!),!3!9!!&/!!+!!!**#)!.)(!(!(!43!
+!!54!9518!!1&!5!!/31!)0!6!!)533/:!5!6!!!!)/<:!!!,7
@853_7_146/1
-G..1...12.2.212.20.11.2.1..12..2...1311.223.1.3.21.
+T..12.1011..21.2..213.22.2..222222.2.2....2222...22
+
-!!1!!!33!4!#15!7(!51!1!3!!.5!!5!!!/)/,!&-/!,!.!4,!
+!!10!/240!!0)!2!!#&'!'5!(!!(.-*$3!*!4!!!!+#(.!!!.(
@853_7_269/1
-G..1...21.2.212.02.01.2.1..21..3...2210.113.2.3.32.
+T..12.2222..22.2..222.22.2..222222.2.2....2222...22
+
-!!3!!!/.!+!*4,!42!)8!2!3!!62!!0!!!84;)!)7.!5!/!&%!
+!!%&!('#%!!#*!#!!/##!&)!$!!'$',%,!%!2!!!!3,,*!!!,2
@853_7_321/1
-G..1...01.2.202.10.11.0.2..22..2...0332.111.2.0.22.
+T..20.2322..21.3..222.12.1..120012.3.0....2000...22
+
-!!$!!!&'!.!*##!6$!#1!+!#!!.+!!)!!!36(#!*5'!#!4!+(!
+!!+$!+21(!!*-!.!!)#1!8/!9!!6,3+%6!'!,!!!!2&6,!!!&2
@853_7_386/1
-G..2...31.2.211.11.31.2.0..31..0...2030.312.1.0.22.
+T..12.2302..20.2..231.12.0..200232.3.2....0002...22
+
-!!;!!!86!=!;9=!%5!58!<!2!!62!!&!!!&3:&!//8!*!7!5*!
+!!31!:7-%!!:,!-!!21,!77!)!!227:9:!2!;!!!!)',%!!!86
@853_7_405/1
-G..2...00.0.002.31.23.0.2..32..3...1032.120.2.1.22.
+T..21.0221..31.2..000.23.2..020022.0.2....0313...12
+
-!!=!!!;:!>!<8=!9<!:<!=!>!!;8!!;!!!;//1!&(&!/!'!*-!
+!!<8!8;==!!;>!:!!7:7!7;!8!!7:>48=!2!=!!!!536*!!!;:
@853_7_411/1
-G..1...00.1.002.02.12.1.2..22..2...1020.312.2.0.21.
+T..10.2000..33.2..022.02.0..200222.2.0....0000...00
+
-!!$!!!-#!#!*#+!,&!2*!#!#!!%'!!)!!!'$)$!/-#!#!'!,+!
+!!,/!13;,!!&,!+!!2/%!*1!$!!%*)+#,!,!&!!!!'-'&!!!++
@853_7_445/1
-G..2...33.0.233.03.31.0.1..13..2...0020.222.2.2.22.
+T..30.3210..01.1..120.11.3..301222.1.2....3222...22
+
-!!&!!!0%!#!,&'!,'!$$!&!,!!&)!!'!!!..*&!#,7!1!.!10!
+!!&'!*+'#!!'%!&!!,%#!)%!(!!'##$&'!#!$!!!!$$#,!!!#$
@853_7_469/1
-G..1...10.3.313.33.33.0.3..02..1...2333.230.2.3.32.
+T..22.0102..20.3..200.21.0..002202.2.2....0203...02
+
-!!#!!!%%!$!))+!$,!*%!.!(!!.#!!#!!!#&##!##&!#!#!##!
+!!##!*($&!!##!#!!%))!#1!%!!(,##$.!#!(!!!!##'#!!!&$
@853_7_474/1
-G..2...03.2.112.23.31.1.2..21..1...2221.322.2.1.21.
+T..30.1122..22.3..111.21.3..222020.2.2....2203...23
+
-!!9!!!::!:!<58!=>!>2!=!7!!2+!!$!!!&#.$!#%+!#!'!##!
+!!54!6464!!56!:!!97:!88!8!!7/5)4/!4!8!!!!4#45!!!#)
@853_7_497/1
-G..3...02.2.221.22.12.1.2..13..0...0033.230.2.3.21.
+T..10.0200..22.1..112.03.0..100121.2.2....3132...21
+
-!!6!!!66!,!94'!7:!95!9!5!!/%!!4!!!/1).!'$(!0!$!(,!
+!!9:!678;!!14!9!!:<:!77!;!!.76.(<!.!/!!!!2)(9!!!14
@853_7_587/1
-G..0...23.2.030.01.02.0.3..33..3...2101.030.0.2.20.
+T..22.2022..01.2..323.23.0..323322.1.1....2212...20
+
-!!/!!!;;!&!,&)!&(!(.!-!)!!&&!!5!!!35(=!817!,!&!+)!
+!!2,!,33/!!7&!7!!916!)9!<!!;,<6,1!5!/!!!!,31;!!!/>
@853_7_630/1
-G..3...01.0.011.10.21.0.3..22..0...2101.020.3.0.01.
+T..13.0022..11.1..213.10.0..031113.3.3....1112...20
+
-!!9!!!1<!;!&3/!8>!1>!=!5!!1&!!;!!!%1&6!'8,!(!8!/%!
+!!,8!&5/=!!>)!)!!;).!)7!6!!/2>,('!5!2!!!!)=,&!!!25
@853_7_655/1
-G..3...33.3.113.10.20.1.1..02..2...3132.200.1.1.21.
+T..01.0023..02.2..301.32.3..232113.2.2....2222...22
+
-!!&!!!8#!9!7&)!>5!#:!?!#!!;$!!<!!!#88&!#<;!%!8!##!
+!!##!###'!!#'!#!!,##!##!$!!%$###(!#!#!!!!#'##!!!##
@853_7_692/1
-G..0...30.0.300.12.30.1.1..30..2...1022.320.3.3.33.
+T..00.0122..02.3..230.21.2..301213.2.1....1122...22
+
-!!9!!!;;!9!7:<!6;!<:!9!9!!>:!!<!!!=,>7!;/<!=!<!>(!
+!!04!3>66!!.1!7!!5>5!:,!,!!1:&;59!>!,!!!!5.&.!!!)8
@853_7_715/1
-G..3...22.1.110.22.31.2.2..21..1...1021.330.1.2.31.
+T..00.0213..21.3..131.12.0..202011.1.0....0221...22
+
-!!:!!!69!9!7<;!8:!=+!6!6!!93!!5!!!(706!&:4!(!,!,$!
+!!&0!,)/5!!(.!1!!)',!+&!5!!&8/263!-!#!!!!&6&&!!!&0
@853_7_719/1
-G..0...00.3.200.02.30.0.1..20..1...0003.301.2.2.33.
+T..00.2231..02.0..122.13.0..003022.0.1....1010...02
+
-!!,!!!:.!)!;#'!,,!#6!7!#!!#.!!#!!!&#&#!#$&!#!#!##!
+!!6*!/.2+!!5(!#!!$.$!5&!,!!1,&2*.!$!#!!!!#+&#!!!$#
@853_7_743/1
-G..3...00.0.201.11.03.2.3..30..2...1112.300.2.2.31.
+T..11.0201..00.1..303.01.1..021332.3.3....3223...23
+
-!!>!!!<9!7!8:>!>;!:>!9!<!!=9!!5!!!35=,!:1=!)!/!5,!
+!!83!7>',!!45!9!!6(8!21!<!!.&=,7.!7!4!!!!.963!!!04
@853_7_791/1
-G..1...00.2.022.02.32.1.3..21..0...0222.120.1.0.22.
+T..20.3311..03.2..301.01.2..122002.2.1....3123...21
+
-!!/!!!1/!>!/)?!:/!75!<!;!!,/!!=!!!:==1!:9?!7!9!,&!
+!!0;!3>28!!>:!4!!54&!<;!'!!9,&'88!&!+!!!!&4,.!!!',
@853_7_801/1
-G..2...11.1.232.31.01.2.1..22..1...2222.122.2.1.22.
+T..00.0323..21.1..112.23.3..132022.2.1....2122...22
+
-!!=!!!>7!=!==9!?=!1=!=!<!!>4!!5!!!)$5)!*'.!&!&!*$!
+!!;=!;<6<!!=>!>!!=8@!;<!?!!8;;5@<!A!;!!!!>3;3!!!;6
@853_7_845/1
-G..3...23.0.310.12.22.2.2..22..2...3232.303.2.2.33.
+T..01.3303..01.1..102.03.1..222102.0.0....0231...12
+
-!!,!!!<2!<!;20!3)!+'!%!(!!(#!!*!!!,,(#!,#,!#!,!#*!
+!!:4!246-!!:2!5!!,62!6(!6!!25)254!6!6!!!!42/$!!!2#
@853_7_868/1
-G..3...21.0.012.11.00.1.2..31..0...0101.022.2.3.03.
+T..31.3103..12.1..211.32.2..223200.2.3....1031...21
+
-!!8!!!@:!<!@;8!<@!:>!@!=!!6<!!<!!!>6;;!?5=!:!7!36!
+!!8>!<;@9!!@>!=!!=;<!<<!:!!=:8<>:!4!1!!!!0&&.!!!))
@853_7_1026/1
-G..2...02.1.333.11.10.2.2..21..3...1323.011.1.2.22.
+T..22.3032..03.3..110.32.3..212230.3.0....1111...13
+
-!!'!!!#,!7!'&,!5.!&.!&!*!!8.!!-!!!5.)&!$'(!%!&!4&!
+!!09!6;95!!'=!8!!6#&!1&!-!!3&',1)!9!*!!!!3&,(!!!(9
@853_7_1057/1
-G..1...22.3.333.22.22.3.1..12..2...2122.332.1.3.21.
+T..30.3112..22.2..132.21.0..332122.2.2....2220...32
+
-!!+!!!55!3!18=!?7!6:!/!7!!?5!!)!!!/)<3!0;,!3!5!+,!
+!!%$!8:1:!!=5!,!!3<9!&#!$!!&&$$&#!,!'!!!!#%&&!!!)&
@853_7_1066/1
-G..2...22.2.332.12.01.3.0..21..2...0312.122.0.1.02.
+T..01.1122..00.0..131.32.0..230030.3.3....2000...30
+
-!!:!!!;4!<!916!??!:>!5!:!!;,!!/!!!8:8/!/79!/!;!/0!
+!!?,!==/:!!((!(!!(.,!/&!;!!(,&6)?!1!(!!!!?/7:!!!3=
@853_7_1107/1
-G..1...11.0.223.12.23.2.0..11..1...2012.132.0.3.30.
+T..20.0301..13.2..003.10.0..300221.2.1....3300...32
+
-!!8!!!98!0!067!:8!&,!5!,!!.3!!:!!!*5-4!$7/!#!5!4#!
+!!36!2805!!36!7!!468!81!7!!1/866&!5!1!!!!$##/!!!$&
@853_7_1179/1
-G..3...02.1.133.00.21.1.3..20..1...3000.002.3.2.23.
+T..02.3301..32.0..310.03.3..312300.3.3....1320...03
+
-!!8!!!69!/!,85!1>!8*!<!8!!)9!!6!!!&78<!3>,!:!7!6&!
+!!25!59:0!!6)!;!!77:!1/!)!!)899+#!,!&!!!!0),4!!!+.
@853_7_1198/1
-G..3...21.2.121.00.13.0.3..01..3...1131.330.1.3.01.
+T..32.2203..31.2..111.13.1..312322.2.2....1103...22
+
-!!>!!!=;!<!;/7!;;!16!>!1!!<=!!:!!!-4;<!#<>!1!=!3$!
+!!@6!<99<!!==!<!!<<=!3@!;!!$<:<82!>!;!!!!:)6:!!!9:
@853_7_1261/1
-G..0...12.3.202.00.03.2.0..22..0...2112.021.2.3.22.
+T..20.3233..32.2..223.22.3..232033.2.3....0322...23
+
-!!3!!!<&!:!>+'!7>!26!<!7!!<7!!9!!!:;;&!3;6!(!>!+&!
+!!?9!A@=:!!/&!&!!427!+8!:!!)-0101!'!,!!!!,$)'!!!6&
@853_7_1321/1
-G..1...20.0.021.12.10.2.0..20..1...2002.012.2.1.22.
+T..00.0321..22.2..100.11.1..120210.0.2....2211...02
+
-!!-!!!'+!)!/*/!*8!)-!)!0!!)4!!7!!!$/7'!)1$!%!&!#2!
+!!/&!,<41!!8.!)!!):$!/$!&!!&('))(!/!-!!!!7#&,!!!((
@853_7_1406/1
-G..0...11.0.212.11.00.2.0..23..1...2002.102.1.0.30.
+T..13.0310..13.2..031.32.0..002230.0.2....0231...11
+
-!!7!!!;:!<!<;;!8=!:<!:!8!!:;!!=!!!9:9<!88=!=!;!;;!
+!!8<!9<<;!!:=!9!!6:9!=>!<!!;=8/=8!4!8!!!!5979!!!:<
@853_7_1431/1
-G..3...20.3.020.23.22.2.2..22..1...3302.132.0.2.02.
+T..11.0032..21.1..310.00.0..321021.0.2....3030...02
+
-!!8!!!>>!;!=9A!;:!;5!;!1!!%*!!(!!!#&%)!&&'!(!&!)#!
+!!>>!<A9=!!;8!?!!9?@!?@!<!!:;=679!;!7!!!!9)(>!!!,3
@853_7_1439/1
-G..3...12.2.013.21.20.2.1..21..2...2001.123.0.2.12.
+T..20.0132..13.1..212.32.2..222110.3.0....2132...22
+
-!!&!!!0,!)!;>2!46!14!=!5!!6:!!1!!!9<58!80:!4!9!7,!
+!!3/!<1/3!!A;!,!!3>=!<7!3!!:>@)/7!8!5!!!!,,,<!!!)2
@853_7_1524/1
-G..1...22.3.122.01.11.2.3..20..1...3021.103.2.0.32.
+T..20.1110..13.3..201.33.3..320121.1.3....3321...20
+
-!!0!!!A/!5!?.4!:A!/6!?!8!!=2!!:!!!/:;#!&87!.!/!$%!
+!!##!####!!#3!*!!##(!5.!0!!.-##$#!%!-!!!!$+##!!!$%
@853_7_1537/1
-G..0...11.1.233.22.22.1.3..22..2...3311.220.1.2.11.
+T..12.1030..02.0..011.30.1..111200.0.3....2033...11
+
-!!#!!!)$!#!&$&!#(!##!2!#!!##!!#!!!##%#!##&!#!#!##!
+!!##!##$$!!$#!#!!###!##!#!!######!#!#!!!!####!!!##
@853_7_1592/1
-G..0...10.1.033.00.33.2.1..11..3...0031.333.0.3.32.
+T..21.3233..02.1..000.22.0..121233.3.1....3223...22
+
-!!8!!!<9!7!<==!<9!=<!9!;!!<3!!=!!!785;!<8<!7!&!96!
+!!8;!93;3!!46!=!!96:!::!6!!9;919=!6!3!!!!)%',!!!'$
@853_7_1597/1
-G..3...00.2.102.11.21.2.1..00..0...0011.000.2.0.00.
+T..12.3100..33.0..312.02.1..000000.3.1....1100...00
+
-!!%!!!+&!4!#/1!58!6&!$!&!!$'!!&!!!**0*!4:9!8!6!./!
+!!)&!&'(0!!'(!<!!4)6!7)!/!!3#-)/2!+!%!!!!.02&!!!/'
@853_7_1650/1
-G..3...03.3.203.10.12.0.2..20..2...1113.121.2.1.33.
+T..00.2212..12.1..203.13.3..102012.0.2....3333...30
+
-!!3!!!;<!/!)6%!(8!&)!:!=!!1&!!<!!!,<<&!&.8!9!8!(;!
+!!=;!/;;,!!&.!)!!-32!+.!4!!8)6;%,!,!,!!!!)008!!!,4
@853_7_1790/1
-G..2...13.3.311.21.13.1.0..11..3...0212.001.0.2.22.
+T..23.1021..32.0..130.13.0..012301.0.1....0001...10
+
-!!+!!!,%!(!8&9!,)!,/!(!,!!7.!!'!!!;:&3!80+!'!:!06!
+!!0&!8)0,!!86!0!!-54!;&!9!!38,3=+!:!<!!!!93;/!!!7/
@853_7_1795/1
-G..2...02.0.222.13.22.0.1..11..1...1220.213.0.1.20.
+T..22.2123..01.0..222.31.3..233211.0.1....2312...03
+
-!!?!!!2A!6!81;!38!<:!9!6!!;6!!4!!!/<7/!519!7!/!13!
+!!,)!=*,(!!,)!;!!&*1!9,!6!!,/:3)5!6!;!!!!:;9.!!!//
@853_7_1807/1
-G..3...11.3.213.13.02.1.3..20..1...3031.033.2.1.03.
+T..03.0310..02.3..121.20.1..333122.3.1....0302...12
+
-!!)!!!:5!&!+/%!(.!$&!8!:!!.,!!&!!!,*,2!&,(!,!(!,7!
+!!%7!&1&(!!,,!&!!&26!%&!$!!85$)14!8!9!!!!.&&)!!!2&
@853_7_1872/1
-G..0...33.0.231.21.10.0.0..03..1...1323.110.0.2.01.
+T..01.2331..12.2..200.02.3..302232.3.1....1203...23
+
-!!/!!!3;!/!;3>!88!=8!2!;!!:'!!<!!!?1)/!>79!3!9!47!
+!!5)!33-7!!:9!'!!76&!2)!2!!4;,=''!'!(!!!!)()-!!!'.
@853_7_1885/1
-G..2...33.1.320.12.01.2.0..11..3...1213.332.1.3.20.
+T..10.3010..11.2..331.21.2..230213.1.3....0132...32
+
-!!/!!!/&!&!*0&!*3!)&!+!4!!))!!$!!!6,,(!5,&!(!)!)&!
+!!)/!&&,/!!:&!,!!1.,!,1!&!!.')='/!3!&!!!!'7/&!!!(&
@853_7_1910/1
-G..3...03.1.331.22.00.2.0..22..2...0120.020.1.2.02.
+T..11.1002..20.1..000.20.1..111022.2.0....3311...23
+
-!!4!!!>3!>!50<!1;!A>!<!;!!9+!!&!!!;9&3!&((!&!&!&&!
+!!6;!><@/!!/8!?!!@;<!,?!=!!(a)==9;9!6!/!!!!.8<5!!!5,
@853_8_43/1
-G.130..11.3.030.30.00.3.2..11..1...3221.22222.2.22.
+T..32100023203.2..110.31.120321022.100.1.11202..211
+
-!//,!!3,!,!),1!1,!/,!)!3!!,&!!,!!!,&.&!1%2'8!*!*-!
+!!,5)03.2,41.!3!!3/.!2/!16,/8/)88!///!,!,3),1!!,(&
@853_8_48/1
-G.023..11.1.210.22.30.0.0..22..3...2202.22222.2.22.
+T..21122022323.1..222.32.020211202.222.2.20222..222
+
-!&#)!!,(!,!/&&!+&!%-!)!&!!##!!&!!!$.&$!$##$'!#!''!
+!!,&-+1(-+'0&!)!!#-#!-/!*+'/(&.)#!#$5!%!&(%'%!!'&'
@853_8_57/1
-G.312..02.1.302.20.00.0.0..33..2...3313.22022.3.20.
+T..23231203232.2..212.22.222222232.222.2.22222..222
+
-!'$%!!&%!1!$)&!#&!$%!*!'!!/$!!&!!!')%&!#(%.%!'!&&!
+!!'&#&&##%%&%!%!!%&$!(#!)#)&+$$'/!&)$!(!''-0*!!4&/
@853_8_106/1
-G.223..02.3.313.23.03.2.0..02..1...2232.22222.2.22.
+T..23112221210.3..001.02.032222322.212.2.22222..220
+
-!62(!!3/!/!1/+!%5!&(!7!)!!33!!'!!!2#9&!11854!#!/*!
+!!6)/32810/33!&!!,&1!).!/)5151'$(!+/2!5!+%##/!!/#&
@853_8_196/1
-G.330..21.1.220.33.12.2.2..32..2...2212.22222.2.22.
+T..00233022111.0..002.20.021222222.020.0.22222..222
+
-!)+.!!3)!&!5$)!)/!,/!,!4!!'$!!(!!!'$&6!,)5(*!)!-)!
+!!385&)&):5&'!/!!&))!&)!&&'-&--%%!)&&!1!0+-20!!4$.
@853_8_211/1
-G.012..11.1.302.10.10.1.2..02..2...2202.22222.2.21.
+T..20112122111.2..112.22.220222212.122.0.21222..222
+
-!,+-!!,4!*!'))!18!60!9!,!!/#!!(!!!+,92!'.'#+!%!.'!
+!!690,)$/63,,!&!!)'+!#*!..&'7+7)%!(5#!)!(+2.+!!2-.
@853_8_227/1
-G.221..02.1.031.02.32.1.0..21..3...2212.30100.2.22.
+T..10201100320.2..302.10.312330220.312.2.02221..221
+
-!4(/!!&3!7!2,7!+.!&2!,!&!!73!!2!!!761&!.6,,&!4!%)!
+!!1,:,,8&//71!1!!/&3!9)!)/),)17&&!1/&!)!+95(3!!))+
@853_8_248/1
-G.123..02.3.222.22.22.2.2..22..2...2222.32222.2.22.
+T..21312120022.0..122.22.222222232.222.2.23222..222
+
-!-*&!!$#!#!$$#!##!##!#!$!!,,!!$!!!%*&,!#&)(%!'!*'!
+!!%'+)5,#'%#)!%!!-#%!#*!&%+$(#'#'!'()!&!(%%('!!+,(
@853_8_253/1
-G.220..00.1.200.22.20.0.0..22..0...3222.32022.2.01.
+T..21322103032.2..222.22.222222222.222.2.22222..222
+
-!987!!96!7!:9<!<=!::!;!;!!8<!!9!!!,;:<!-;;=<!;!16!
+!!3.'+##,&#&$!%!!&($!#$!#'-*((%)4!'4)!'!,$,4(!!.(/
@853_8_342/1
-G.203..21.2.201.01.02.1.2..23..1...0111.22220.2.22.
+T..13021033322.2..301.32.230300120.122.0.02112..223
+
-!94:!!:5!:!;6:!94!5>!5!8!!39!!7!!!4<79!>=<?/!=!>>!
+!!6:7<;/95<==!8!!:66!:9!8:)9782:,!4=7!7!,5..;!!<:)
@853_8_400/1
-G.023..30.1.103.10.12.2.1..31..0...1332.10222.0.22.
+T..22033300003.2..212.31.222123211.122.0.22023..221
+
-!7;7!!:5!;!77:!<<!87!8!1!!66!!4!!!0,8$!+/582!1!'+!
+!!=>9>3=7<=/=!;!!=4;!:2!9;8678815!2<:!6!<7/(7!!=9(
@853_8_422/1
-G.222..11.2.102.31.21.2.2..12..1...2222.22322.1.22.
+T..01111020122.2..201.22.120231110.221.2.22212..222
+
-!%)*!!5%!'!)&2!+$!&$!2!%!!.#!!*!!!%$/(!/'&)$!4!1,!
+!!1'1,&&;&))&!,!!1,0!/,!/&-&&+0)'!&)7!)!'/)&&!!1,,
@853_8_555/1
-G.123..30.1.130.01.22.3.0..33..2...1322.30321.0.22.
+T..02332301011.0..112.00.033000312.302.3.13300..023
+
-!@=9!!;?!>!=<?!>?!=<!<!>!!9:!!5!!!86:2!;/::9!1!86!
+!!7/:(:;=5?=7!?!!==/!41!=;5<(&:56!697!'!196&=!!;2-
@853_8_638/1
-G.230..00.1.000.21.33.0.3..32..1...3332.33031.3.02.
+T..00113230133.1..100.22.131113302.011.1.20020..320
+
-!:95!!<=!4!58=!64!<=!6!8!!0%!!)!!!$,$(!$&&$#!+!'(!
+!!98A<@><;=:=!<!!9;<!>:!98=:8:5<7!99>!:!/<37;!!5<:
@853_8_735/1
-G.333..30.3.010.21.31.1.1..32..2...2120.20303.3.33.
+T..00011213121.3..001.11.003311000.222.0.22003..303
+
-!695!!::!:!>7<!:<!5<!=!:!!7'!!)!!!49:5!/-8:7!/!15!
+!!/<5=::0-3)+!-!!8:;!(9!=&.9&87;=!)3+!)!81:&5!!'.,
@853_8_888/1
-G.020..30.1.232.03.23.2.2..22..3...1333.23322.2.22.
+T..02110321212.0..222.12.220011220.032.1.02322..333
+
-!>?;!!>>!;!==;!<<!<:!:!:!!62!!'!!!#$')!$)/+9!'!-5!
+!!:9:<=;;9?>?!;!!<;?!>>!@=<<<<?<;!;>>!:!1;==:!!3/1
@853_8_893/1
-G.311..13.1.022.23.13.2.2..02..1...2222.22032.2.22.
+T..00112301113.2..023.21.002311320.100.3.21200..012
+
-!68,!!8;!9!:4:!<:!<8!3!;!!/1!!&!!!*+'2!52%-+!%!'&!
+!!'(9,5/995'.!:!!74<!(.!<0895158/!510!1!94055!!)33
@853_8_898/1
-G.110..33.0.233.22.03.0.3..21..1...3321.23332.0.03.
+T..33330033033.3..022.31.223030333.212.1.01232..322
+
-!9:(!!/4!4!,79!1=!)6!,!9!!<)!!1!!!<,;4!5&7#%!$!*+!
+!!%%-41))2.#6!:!!%(%!32!,'1%)+30,!#&(!)!&%'+)!!1$'
@853_8_920/1
-G.132..13.1.310.20.22.3.3..02..0...1222.23221.3.21.
+T..02321113231.0..302.30.010200220.321.0.01122..130
+
-!>;;!!8<!;!<9:!99!<=!;!8!!87!!=!!!:;=;!=9=;9!9!=5!
+!!78675>:8=:6!7!!58<!>4!79&857<3/!::3!8!/;)66!!4;8
@853_8_958/1
-G.133..23.1.021.12.02.0.1..03..1...1022.03300.1.23.
+T..03321221220.3..021.12.001030231.030.3.21222..222
+
-!A/1!!:?!@!:@?!;>!?@!<!=!!7?!!6!!!='A?!8)7<=!5!9?!
+!!:&>>=A93;9(!=!!</3!A6!/;<;38>=5!1?9!6!91()'!!9/'
@853_8_1076/1
-G.202..31.0.331.13.02.2.1..23..2...2220.03103.3.33.
+T..22322100313.1..102.12.332320213.211.0.13003..112
+
-!),&!!)<!5!3/)!(:!&;!)!1!!:/!!)!!!9;6,!7;1(9!=!):!
+!!;,&>&=50.3'!,!!)&<!</!)5-&&&>,&!4<=!,!)(6:&!!8),
@853_8_1081/1
-G.311..02.2.013.33.12.0.3..21..0...3023.23223.3.13.
+T..10030322221.2..000.20.002012320.222.2.21001..102
+
-!;::!!;;!:!;::!9:!;:!<!8!!;<!!4!!!6:80!)','2!&!&,!
+!!;:6::8:6:::!9!!6;9!88!8;8:99;:8!89;!;!:999:!!4+#
@853_8_1134/1
-G.210..12.3.333.11.31.3.3..33..3...2132.22323.3.23.
+T..33002312331.0..101.03.213221112.000.3.03233..123
+
-!$##!!$'!'!,#,!##!%#!#!,!!##!!*!!!*##'!')#$#!+!)#!
+!!/,7/&)&6989!/!!.$:!0#!:,-((61$=!838!5!+<)<;!!&+<
@853_8_1157/1
-G.113..13.1.210.02.30.0.2..03..0...1131.22300.3.32.
+T..00333123321.1..100.11.112120200.230.0.21203..230
+
-!3><!!//!5!5=6!8>!4>!.!<!!13!!<!!!;3/5!<)3,+!;!<*!
+!!,=&;+3&&()+!&!!7=,!;2!<17.1&=49!':9!9!,<)(1!!%-'
@853_8_1173/1
-G.123..31.3.102.32.11.1.3..00..0...1201.02202.2.00.
+T..30202112233.3..320.02.123012201.311.2.32000..122
+
-!?==!!A>!@!<<:!A?!<;!>!=!!<@!!<!!!?7<8!>A>;>!7!?4!
+!!:6=>=:6?;>=!<!!=:/!;:!5=;9>8:8?!<5?!>!9<:;@!!1?;
@853_8_1215/1
-G.120..31.1.212.20.03.1.0..02..1...0000.30212.1.13.
+T..22310320211.2..131.10.232003230.102.2.11010..031
+
-!&,$!!68!(!8*2!%(!$.!#!.!!'2!!$!!!,$%)!*$)6*!#!3$!
+!!(,-&*74'4,0!/!!01/!$3!1#*7.2&4)!(0,!'!-'&&'!!4))
@853_8_1223/1
-G.022..01.0.203.00.12.1.0..22..0...0213.20020.3.02.
+T..10222220120.1..111.11.123301223.133.3.22333..111
+
-!?:<!!<@!A!<>;!A=!=<!A!=!!?;!!;!!!>8;:!,<>:>!;!39!
+!!29:3;#,0%%(!*!!'&,!##!)###($##$!#%(!#!#$+#*!!,*$
@853_8_1229/1
-G.123..10.0.032.22.10.3.0..03..3...0300.32013.0.20.
+T..10011030332.0..200.31.312001011.220.1.11010..131
+
-!;:8!!;/!/!<7:!::!<1!9!=!!;6!!8!!!-9<<!&9;,8!:!86!
+!!47;2184<787!<!!959!95!85,92;76:!995!5!95</;!!:38
@853_8_1234/1
-G.333..20.3.233.21.22.2.2..20..2...0301.23003.3.23.
+T..33303001323.3..211.32.311201012.323.1.21333..221
+
-!&,$!!'&!/!5;&!1(!9/!/!1!!&&!!&!!!)$',!,,$&2!9!,-!
+!!39<46:6186)!&!!-&/!#6!$+5<1'#&;!)(7!&!$5,:%!!.2$
@853_8_1255/1
-G.321..32.1.231.20.12.2.3..31..2...2021.32202.2.22.
+T..31322212222.0..003.20.121221012.212.2.03220..230
+
-!*)&!!&$!&!&&'!&&!+&!%!'!!&,!!%!!!+#&(!'$$',!$!',!
+!!3/83&10,)1/!)!!&<:!+&!(=&&9/55*!(/:!6!,;09)!!)&*
@853_8_1315/1
-G.122..13.1.232.30.31.0.3..02..2...2300.23122.2.23.
+T..32221201122.2..223.33.132223100.221.0.20222..232
+
-!6(,!!>;!?!@<<!<=!9<!?!:!!>7!!,!!!1&:3!+(&,,!,!-&!
+!!2915?(5@(,6!9!!68<!84!)&7&9&,/9!181!:!83:5)!!/),
@853_8_1372/1
-G.020..01.0.313.03.03.2.2..11..2...2011.20122.2.00.
+T..02101130220.1..113.23.121310222.233.3.12203..310
+
-!5-7!!:5!:!5>9!8<!<8!8!1!!;*!!9!!!5;<4!8=:):!<!67!
+!!;/;96:1;8:8!:!!:<6!:)!<2:39=:81!868!:!%91/9!!57/
@853_8_1461/1
-G.130..23.0.211.33.31.2.2..01..1...0030.13010.1.22.
+T..00011120113.3..213.01.030001322.203.2.32222..222
+
-!>?;!!?@!=!=:9!@A!?>!=!;!!;9!!8!!!9;?4!9>:0,!/!34!
+!!:=:965=:<7>!?!!=&>!)6!3876:,7<;!6&,!5!;2/%(!!13*
@853_8_1475/1
-G.031..13.1.301.11.00.1.0..22..2...1200.02001.0.00.
+T..21310212220.3..100.02.122303121.002.3.12213..213
+
-!<<<!!=<!A!:;@!>9!?>!2!>!!7=!!=!!!<:<<!3<);>!8!97!
+!!=?<A5:93;>;!:!!=;>!>>!?>A;7=7?8!<:=!8!/)&))!!2,,
@853_8_1567/1
-G.122..22.2.110.33.11.0.2..22..3...0222.21031.3.22.
+T..02200001131.3..311.10.132232122.322.1.23023..002
+
-!###!!#'!%!#%#!(#!(#!&!,!!#'!!)!!!(##%!'#$'#!#!)*!
+!!&)'8<=$<&#)!&!!%<=!+;!<(0+''68:!+*8!:!4'&'%!!,;5
@853_8_1662/1
-G.030..23.0.033.00.01.0.3..11..2...1132.21021.0.20.
+T..02221200121.2..022.10.310222220.231.2.12011..003
+
-!3%,!!2(!,!1)+!1;!$2!5!&!!6#!!&!!!,:#)!*/12,!)!#-!
+!!99;784<4187!6!!483!:8!95:288:9.!795!7!3:-99!!,76
@853_8_1669/1
-G.023..00.1.000.20.03.0.3..01..0...0333.33320.0.01.
+T..23233312111.0..213.12.133322002.221.1.11110..113
+
-!<29!!;8!8!:26!76!;:!%!9!!'0!!2!!!14,5!2%#10!*!5.!
+!!:6/847<<3:6!:!!638!&7!1857.1)&9!1,,!9!+48=2!!775
@853_8_1758/1
-G.001..13.0.123.11.33.3.0..00..2...3223.32232.1.01.
+T..12201012113.2..001.10.100122000.000.2.00000..220
+
-!2<8!!51!6!4:;!:8!6;!6!7!!69!!:!!!66/5!:16:(!+!5,!
+!!(/##&&%##$'!#!!&#$!$'!$#%)&###&!&)%!%!#$-&+!!%()
@853_8_1764/1
-G.322..11.0.112.13.22.2.1..02..0...2022.33002.1.22.
+T..11002002020.2..110.31.120112122.132.3.33003..102
+
-!5;:!!99!;!:7;!@8!<7!;!>!!@3!!;!!!&>6.!9->):!&!-:!
+!!;9;;;:<9<::!:!!::;!5=!>:<;<8=88!<49!7!,39<8!!:19
@853_8_1824/1
-G.010..03.2.232.32.11.3.1..00..2...1002.02103.3.13.
+T..03311120021.1..310.13.320330301.220.3.30122..132
+
-!::;!!<9!9!36<!7>!?:!<!1!!:9!!9!!!,7<5!86<:1!7!31!
+!!689.1.>::6.!/!!4,+!/9!**);+&+;0!,:1!%!:/353!!;/:
@853_8_1835/1
-G.211..22.2.310.12.02.2.0..22..1...2222.12220.2.11.
+T..21020321003.3..110.20.000022103.122.1.13220..033
+
-!@?9!!@@!=!<A<!7?!<4!8!.!!&%!!&!!!'&&(!&)&.&!&!-%!
+!!?=>==;?@=:<!;!!=<<!::!><<;>@5=;!@7<!=!:;9;9!!87:
@853_8_1917/1
-G.011..03.2.233.33.32.2.2..22..3...1311.22132.2.02.
+T..23111010120.2..232.32.121231102.101.1.21322..222
+
-!(,(!!*,!+!$,)!+(!,'!(!$!!))!!.!!!%&#+!%(,,(!#!'&!
+!!65),33&6&1)!1!!,3%!3.!&.(4',5'$!//%!&!&+-,7!!*&.
@853_8_1930/1
-G.230..33.2.200.21.02.1.2..03..2...2220.13110.3.22.
+T..31110222033.0..021.11.103010131.300.2.22212..311
+
-!7:6!!>9!7!>*1!:(!8=!4!4!!7$!!7!!!5>;.!48919!%!/6!
+!!</,5&</>;#<!6!!4;:!49!<,:7>63$6!>12!;!$#2,#!!(&$
@853_8_1938/1
-G.300..33.3.100.13.20.3.2..32..2...3331.13321.3.23.
+T..20302201110.2..211.22.132123322.120.1.31210..211
+
-!,5#!!,)!&!$('!0'!#&!,!,!!.$!!#!!!1$#6!8$)#+!(!$%!
+!!,))/,+&+'')!&!!/()!':!'#,('&.'+!&#&!'!&)&0)!!+0&
@853_8_1984/1
-G.302..33.2.010.11.12.3.1..23..3...1303.03112.1.22.
+T..13030120302.0..030.11.202121322.112.1.30000..212
+
-!5;<!!96!<!>>@!==!@=!8!>!!98!!4!!!=498!=96=:!9!99!
+!!8(4+-</08<9!:!!889!89!8:9<0679;!8>8!<!2588:!!,:5
@853_8_2005/1
-G.010..10.1.212.02.12.1.0..20..3...3223.01201.0.02.
+T..03113122102.2..101.20.002313003.110.1.01020..001
+
-!>>;!!<<!=!9>=!><!><!>!/!!:<!!4!!!789:!88:>6!7!9)!
+!!(75<,4/44$2!8!!(63!:6!3527)155)!*.2!#!4(()&!!&,5
@853_8_2031/1
-G.002..03.3.313.13.03.2.2..03..2...11.0.33210.0.12.
+T..22312022312.0..002.22.223022123.001.3.02200...00
+
-!8=;!!68!;!:7:!@7!<6!6!=!!19!!:!!!>>!<!89'49!6!;&!
+!!<;7A>?;:;@<!>!!:9=!:>!<=69<=;:-!@@;!/!<>.@9!!!=;
@853_9_6/1
-G.32...21.1.122.22.22.2.22.22..2..22122222122.2.22.
+T3222.021.1002.223202.22.222222122.222.2222.22.222.
+
-!&&!!!/(!'!)(.!#,!&#!+!#+!1&!!#!!($&.*+'#&-*!'!2%!
+#&&%!$&&!)%&+!&&)%'$!*#!('##$0&%(!'$#!.'''!/.!-)%!
@853_9_22/1
-G.222..22.2.222.12.22.2.22.22..2..22222222222.2.22.
+T3212221120222.222223.22.222222222.222.2222222.2222
+
-!%$%!!#&!#!%##!$'!#(!#!*$!%$!!%!!#%&))-&+2(-!#!1'!
+-*%)&(/,%&.,(!%&&(0&!'+!$#2'-).&$!+0/!16/')-(!'/.-
@853_9_70/1
-G.330..22.3.200.02.30.3.32.01..0..00002211122.2.32.
+T1232131203111.331113.12.211213201.221.2221222.2222
+
-!,31!!54!5!355!38!,1!3!+7!6/!!'!!(539:////7&!,!($!
+/5/52,143123,!014734!17!3738316',!37)!2(&&-+%!'-*)
@853_9_120/1
-G.132..01.2.321.13.03.0.13.22..0..32222222222.2.22.
+T2030201011012.012222.33.100032000.130.2013202.1222
+
-!()/!!-,!+!)+-!1%!'#!/!,$!/0!!*!!&01(#*(#%,+!#!(#!
+05(17/1,17571!713584!0)!134))536,!/(4!2)/,3,&!1:4$
@853_9_156/1
-G.111..32.3.302.10.22.1.03.22..2..00112001122.2.22.
+T3321020210022.132222.22.222222222.222.2222222.2222
+
-!,43!!3%!5!6&9!'3!;8!3!06!96!!,!!)4)88,)'&;)!(!;,!
+3359-6)641+48!)&-+'#!%-!4-%%''(-1!/--!-'*014/!2912
@853_9_189/1
-G.333..33.1.022.22.22.0.33.22..2..20230222230.3.20.
+T2220100322033.222211.00.111112003.313.0212203.2200
+
-!1/,!!0/!-!0,3!17!83!1!/)!:4!!3!!0.56,η,!1!&&!
+4638331567545!:99836!/)!:87148,.,!831!3907#-/!(:3)
@853_9_243/1
-G.131..21.3.031.03.12.1.33.22..2..10212222222.1.22.
+T3312311120013.312312.33.330022332.202.0202222.2222
+
-!,14!!3-!/!,//!$3!19!(!/&!/.!!$!!&&3$7&'#&,.!&!)'!
+,&<:3,1:,1/.&!,9&9&;!'&!&,6+&0,(/!/81!8)&*48&!(&<2
@853_9_295/1
-G.200..02.2.120.22.32.0.11.32..3..12222222222.2.21.
+T3322303220223.233321.20.002302222.122.2221222.2222
+
-!%1#!!&%!&!+)&!.%!17!)!&'!&/!!.!!,.5)-#&,,5$!.!.&!
+$-+('%(,&'*.+!(()1&+!+&!*#&)$,.72!%8)!(-'%#'#!2%'-
@853_9_299/1
-G.100..02.0.211.11.22.2.23.21..2..02222222222.2.22.
+T2212302322021.122112.23.102311100.121.1012120.0220
+
-!%#-!!'$!#!$%$!#(!#'!&!%#!+#!!$!!%#%)%)##,,*!$!##!
+'&$#%&'&##(#(!$#$($#!')!#$$$$+&&$!#%%!'&#$&(%!&,*%
@853_9_311/1
-G.303..23.0.202.22.21.0.22.11..3..23132321132.1.22.
+T3002321221310.212333.32.202232132.222.0222221.2222
+
-!'%)!!.+!,!'$$!%5!,)!,!)2!/)!!(!!#&'**&#%*)&!%!$$!
+4)()2''4&/&)&!/)141%!&&!)%(0&+&)9!56#!&5%%%,(!/78%
@853_9_326/1
-G.330..21.1.121.11.30.2.01.21..1..21021311332.3.33.
+T2210200022032.010112.12.121321102.222.1332222.1222
+
-!787!!65!8!97.!99!2'!6!&%!7)!!2!!*,78/,31:6,!;!5,!
+:;99:7947;7;:!05398;!55!)9176554:!&;:!93989;&!23.5
@853_9_451/1
-G.203..01.1.003.33.30.2.20.20..2..33103102231.2.00.
+T1313220202311.230012.31.313200122.100.2111321.2232
+
-!:/7!!96!:!689!:=!7:!<!47!88!!*!!98356256173!8!5-!
+347371692:::1!</3(:8!51!3144:;15#!3+)!3,/&&8&!60&:
@853_9_485/1
-G.023..22.3.333.22.12.0.01.00..1..02000132132.3.12.
+T1012221322221.213211.23.110010113.123.2132121.0222
+
-!><9!!=<!=!;9;!<=!<6!5!<7!<6!!<!!<8<<8679161!9!33!
+:98588=463;:7!:9488:!64!97:857::5!855!/4+6$#'!%#()
@853_9_509/1
-G.011..01.0.100.02.31.0.21.31..0..10331320303.2.00.
+T1112203021113.100101.20.031203011.213.2002211.1222
+
-!<;6!!8:!=!:<;!6:!;;!;!;6!1'!!$!!#8/&')&2&)$!$!%*!
+79;:78:657757!?28852!7)!5):738/=:!914!280<;3=!7;89
@853_9_538/1
-G.322..20.2.212.30.00.1.32.33..3..31300332130.1.23.
+T2230021213312.123100.00.203202301.223.0112020.3322
+
-!;:;!!:8!1!53>!32!;:!4!:8!;3!!/!!7<59::9)2,3!'!).!
+<91:-46,1.20/!81&55*!7/!5575;/96;!3:8!90165,6!;<:7
@853_9_548/1
-G.320..30.2.100.02.33.3.13.13..0..31320203213.2.21.
+T0132222011033.010321.23.303222223.222.2223322.3322
+
-!:7:!!:7!5!?2;!:3!>=!?!;>!5>!!:!!65=8:75@95@!/!:5!
+6;::<=<0:<;<:!:9:;<8!,)!'#'#))#,(!((%!3.($-4)!#&8&
@853_9_574/1
-G.031..33.3.332.31.00.0.00.00..0..01003032220.3.10.
+T0003331113101.303333.21.213311213.222.2321222.2222
+
-!3,(!!36!5!3:4!1/!<5!:!6/!5+!!9!!23%$&6131.+!/!&&!
+%,#0(9'$274''!&)90)2!((!4&0$%&97'!0+5!%1%$%$$!&#''
@853_9_589/1
-G.331..13.3.100.02.00.0.13.22..0..01101000000.2.00.
+T3020133021133.203200.02.030202120.123.0113212.0220
+
-!-$1!!)'!(!)'&!1%!)4!3!#8!4&!!/!!5-22#-9;&&/!&!'9!
+3#),#*))(#)$3!-$&%&'!&&!*)$')%&(&!,&(!'%'&$(*!0#%4
@853_9_595/1
-G.323..00.1.112.13.02.0.11.22..0..20212112031.0.22.
+T2221011230111.231023.00.021011112.330.2130120.1203
+
-!55/!!=7!>!3:8!::!=,!@!59!72!!:!!4:,8-/91?.6!=!81!
+6;7;:877:;=99!8::87;!<;!<<:<8:=::!;;;!*:94)2<!39:2
@853_9_750/1
-G.223..31.2.331.23.20.3.02.33..1..32220000001.2.03.
+T2201102121222.302002.22.221321132.332.2020223.2121
+
-!>&<!!1<!&!1)&!>?!@,!1!((!7,!!(!!5()3,,5>166!,!)8!
+<=;:3<;:;8?:9!5<=<>6!><!6;566)'+&!&&/!,''),/+!8+&-
@853_9_783/1
-G.132..02.0.302.10.00.2.20.33..3..00011222222.2.23.
+T2102221003120.330300.21.302010320.231.2133001.1202
+
-!;8:!!:;!:!::;!;:!9:!:!9:!86!!6!!:::;99:9<:4!7!47!
+27:7.65:87476!$67873!7<!.:8:7797;!78:!6865891!88-*
@853_9_814/1
-G.002..33.3.300.32.31.2.32.12..0..22221121310.1.02.
+T1200101012011.312003.00.330011010.220.0222213.3122
+
-!97;!!<=!:!::4!>9!88!<!7=!:9!!)!!6533:-&99;)!;!40!
+?<7::;88=<9=:!<8<9=;!.3!7@3<9;7;8!6>6!=(<>774!3/:&
@853_9_924/1
-G.200..12.0.110.00.30.2.21.02..1..01212302222.0.20.
+T3003021221101.202301.02.111120122.123.1010103.3110
+
-!;=;!!<?!@!A98!8;!8;!A!99!;8!!9!!<9/=85<2)6)!#!0%!
+9A5;=9==8@@?=!:><;;;!??!?;@@</<:>!88;!;/<><<1!:885
@853_9_1019/1
-G.203..11.2.012.00.22.1.31.10..1..30032322222.0.13.
+T2120212011102.211122.20.210120211.031.1301102.2021
+
-!.<,!!)(!<!&(<!,/!=>!)!&,!1,!!=!!<;(,5%=&(84!'!&/!
+$/+22*&:5*,(.!%.#)0-!%,!*/6)'5%.2!*)$!&%)%1,'!-,(#
@853_9_1046/1
-G.212..11.1.222.33.22.3.10.21..2..21121331133.2.32.
+T0101121011013.012213.12.122113221.112.0101211.1223
+
-!988!!:7!@!=,.!#,!$2!#!)4!3.!!9!!,3)4'('*)$1!*!#'!
+,9)781>/3/)?:!4:9)/6!))!1(#')#%%#!*%%!%)%/,/.!4*&)
@853_9_1126/1
-G.232..31.2.232.22.11.3.32.32..3..22221223221.3.22.
+T3320221032332.112122.11.232123121.301.1210212.2222
+
-!'+,!!&#!#!%#*!#$!&#!%!##!#2!!#!!$%&$'###$)&!#!3%!
+5@,'=,<:(316<!8<86<<!74!;883<+194!)*8!7'4-:)0!7)46
@853_9_1192/1
-G.123..12.1.322.23.32.1.01.30..2..11132130123.0.11.
+T3312212100322.301202.12.020132101.011.1011212.2232
+
-!&)1!!)A!(!,,,!1)!1(!(!)&!1&!!,!!?6,8?/55=?6!:!11!
+,7)/5(A5<),A(!;>/33<!63!<1,5=7(>@!7/5!?;158&;!></<
@853_9_1243/1
-G.132..33.1.031.11.02.2.22.31..3..23023232301.2.11.
+T2212213200232.121320.01.323212013.200.0130313.3233
+
-!+'&!!99!2!726!5>!),!+!=0!04!!,!!/#*146,12):!1!81!
+3,7,)6<;894<1!/,1956!8:!=&;3/1):5!4/1!5)#3%(+!%(0*
@853_9_1272/1
-G.302..20.0.221.10.23.0.00.30..3..03300330011.0.21.
+T3113210021031.002131.03.130002013.110.2003310.3011
+
-!/;)!!,3!-!48)!/5!:)!3!/9!07!!3!!8,230&149,1!3!1/!
+6''$&0+&&5&),!813-&-!,)!1<;1):)*(!877!*.-,&)4!0(#-
@853_9_1339/1
-G.010..33.2.101.23.32.2.22.21..1..21132222321.1.22.
+T2101230022200.310112.01.133031320.201.3331311.2012
+
-!##*!!,,!+!#$#!#)!%,!#!##!$0!!#!!#&####&%##%!#!$'!
+6&&-/),<(/&(&!4/67(3!&;!/),,75/14!/12!).#,,&.!-;%)
@853_9_1358/1
-G.201..30.1.000.30.12.2.00.11..3..10202103212.2.22.
+T3320111221222.120310.11.230202223.122.0122200.0201
+
-!'%&!!6#!'!&#$!'&!%#!#!&&!##!!&!!#%#%#$&$##+!#!##!
+2+),();9=.'89!))&7=&!))!&1)<&/9,.!:91!)88627'!;9,2
@853_9_1364/1
-G.233..30.3.200.22.22.0.32.13..1..20200130210.3.12.
+T0102331230200.010010.13.233311001.233.1100312.1222
+
-!9&5!!2(!5!,55!:=!7=!/!<>!9:!!8!!;6?0:65856;!<!,6!
+&<=?%8A1,)*79!7.1;/6!43!&/<97:.5;!8,3!>=)7385!;<6&
@853_9_1397/1
-G.310..01.1.302.20.01.2.10.22..2..31002100302.3.21.
+T2312020122101.033322.03.022121000.011.0131220.1130
+
-!08/!!.&!/!,43!/4!1,!/!&7!10!!4!!30:74,)<5)+!)!8)!
+)')3/'7,&(73,!6<))31!,,!&7+/&45*4!6'3!5))&&5&!/,3,
@853_9_1425/1
-G.213..21.0.332.22.22.3.10.30..3..23002000023.2.03.
+T1132332020203.323331.10.133320202.311.3222311.3330
+
-!1,<!!86!?!)/0!,,!:&!9!,/!,1!!,!!(,/;4&11811!&!()!
+1656/))&3)&9&!/,:<&7!<8!,&)=/1<.6!&,1!))/</5=!(19=
@853_9_1446/1
-G.102..12.2.022.33.31.1.33.21..0..01130213112.0.02.
+T1332212000022.212222.13.021232232.213.1001302.0300
+
-!+<3!!;)!,!<10!,,!#)!2!#5!$$!!/!!''#+-,%,,2,!&!&*!
+(.8<63'&'$*/1!.4,0%%!8+!0%0*6)*&)!'(%!/,&(74.!&,)&
@853_9_1479/1
-G.333..13.1.232.01.30.1.02.12..2..22200100132.0.00.
+T3031333311130.333221.02.122333123.032.2211110.2332
+
-!/#,!!#+!,!$4'!/*!'+!(!,#!+,!!,!!)&#-%#'')#)!#!$$!
+0'/+#6&),.-)$!#$&))&!'%!&(',#,##%!)7#!$##/(4%!$$(*
@853_9_1503/1
-G.102..20.1.022.13.10.2.01.21..1..02222100100.3.12.
+T2231320200020.131311.11.232031120.231.0013222.2222
+
-!@/;!!:A!1!@,>!1-!(1!3!A3!<3!!/!!&&<8/))/,6&!+!&&!
+3)%6(&?3688:<!<5;/8=!9>!:7<=1;?89!42/!9;:&>+0!/7/2
@853_9_1512/1
-G.210..01.1.313.01.11.3.30.00..3..30200002000.0.00.
+T2333032222302.121133.20.001231203.233.3020000.0200
+
-!*%#!!#$!#!%##!#&!##!)!#%!'&!!)!!#$'$##*##%$!&!&$!
+'/+.2;(;&+&6(!'+9$&(!8%!8:)'&)--%!&23!((1)&+-!,7/3
@853_9_1530/1
-G.332..31.1.002.33.12.1.33.10..2..30302122021.3.10.
+T3213220202302.221131.03.120222222.020.1131133.1313
+
-!*16!!2<!=!&),!6)!(1!<!31!))!!,!!3<7&>37):1+!:!,5!
+,*9&17:/+/,+9!19;18)!9(!)?877;798!,)8!'8</&&=!,-&;
@853_9_1559/1
-G.202..03.3.220.12.20.2.13.33..3..20202031031.3.32.
+T1110111121111.113211.01.310210020.112.1113102.0321
+
-!:35!!#5!=!)18!//!59!)!/9!,&!!%!!$$'#)#'#*,$!$!*%!
+<.<(;;+:)&<9)!<;1)'>!19!./1,>)&77!A3;!>,15&+,!)5&9
@853_9_1601/1
-G.301..31.1.120.22.02.2.22.10..0..13002032122.3.31.
+T3232030011033.203002.00.123300322.113.0010121.0331
+
-!'&.!!21!1!%5/!,'!,>!/!5<!=1!!<!!58/385)3'>8!9!.+!
+<A,117=./5;30!=;6.;4!:9!5+19;;;/3!=3(!/7179,:!1519
@853_9_1636/1
-G.302..12.1.100.31.12.1.23.20..3..31213313232.3.32.
+T0010012303222.120103.33.330322222.122.3113033.3001
+
-!6(9!!4:!:!698!<<!98!4!9:!5*!!;!!:;30;=8:2:)!)!,-!
+-=9%8/<?61&=1!)7-1:(!=8!)/1;/'&<.!&5,!3&&5.;,!5&+'
@853_9_1657/1
-G.120..23.3.033.01.00.1.31.30..0..21232301301.0.02.
+T1123103213301.312223.03.133301112.222.1213233.1233
+
-!==;!!<:!<!=99!?<!<=!>!8?!:3!!:!!<@883:<8:49!8!65!
+<;>9;?;=9:<>=!:5<>7<!<9!7<8;8;<>:!9:;!53897&(!&.+'
@853_9_1675/1
-G.300..30.1.223.11.11.2.33.20..3..23021302112.2.22.
+T3313013311000.313233.11.112203113.120.2211112.1313
+
-!526!!:;!@!>;<!=:!>?!<!:;!<;!!=!!<;;>;=5;8=6!8!8:!
+;<589::%5/,<,!%#;/25!-*!2-:8.9-4.!,27!0/21/*1!.'(%
@853_9_1709/1
-G.100..11.3.100.00.20.0.02.21..0..00000200300.0.00.
+T3011001101311.031010.11.000033010.030.2032000.2000
+
-!%#,!!#%!$!%()!#%!$*!$!%$!##!!*!!,,%%%##(#($!)!))!
++%3)';-$&$)>6!:558.9!+.!4),-+%9'5!5#%!)5$,)82!(2;,
@853_9_1722/1
-G.211..31.1.122.11.01.0.10.30..2..03122202213.0.30.
+T0021012221000.222012.20.202211312.020.3331130.3113
+
-!<AA!!<>!>!>>@!@=!?=!7!<>!;?!!:!!878<8:5>>4;!:!;0!
+7@<?5>>A;>67>!?>=<>=!<<!>5=>=>=9?!<83!3<2)0+>!6,48
@853_9_1728/1
-G.211..20.3.001.21.30.2.01.12..1..20220122000.0.00.
+T3322221032321.211112.31.012301302.333.0301101.3103
+
-!)%+!!+&!#!,,0!-,!,,!,!,#!,$!!,!!,$*,(#$#20#!#!()!
+<4;6542&,01+>!2:,.73!$3!,&'###+#$!672!#6+))#&!2#+#
@853_9_1739/1
-G.132..01.3.112.13.31.0.30.20..1..31123321133.3.33.
+T2010003210112.011000.31.320103212.122.2132333.2222
+
-!?'$!!&$!+!.,(!)&!/3!/!$1!:$!!'!!&$-,*#)/8.2!'!,/!
+29):8)%/,0(1.!,&)'29!0%!&.()&%&/(!9,$!-($,.&-!&4-$
@853_9_1870/1
-G.323..23.2.100.01.00.2.13.02..1..00131301001.2.01.
+T2212303303300.202201.02.333103031.332.0322203.2223
+
-!6/)!!16!8!/77!<:!3;!,!.9!9;!!$!!298+<83<7:7!7!=9!
+896897;69::9;!=1)59<!9>!7(0)#,(0%!//&!)1(3,'/!)#'6
@853_9_1923/1
-G.101..03.3.313.21.00.3.00.01..1..31111113211.1.23.
+T0300322132333.221111.02.233001011.000.1122132.2131
+
-!,,/!!1#!&!&4#!/2!(/!'!((!1(!!)!!*2&3,::66#2!)!$#!
+138&()/9*,1/&!&:1==&!)&!,,%&.A7)<!<,/!(;(;5&/!/1&,
@853_9_1943/1
-G.311..23.3.021.33.33.0.10.21..3..00010221332.3.21.
+T0122230112231.013112.01.202313211.020.2202120.1120
+
-!9=;!!<*!<!648!9:!68!1!0;!61!!4!!62394107:.8!4!;8!
+,/3<,:5=1/<97!&?65,)!13!<9,/6)=,,!&=%!46027//!)848
@853_9_1970/1
-G.202..10.1.110.22.01.2.31.13..1..31021112122.2.33.
+T1320210131121.331212.13.233310233.031.1111331.3020
+
-!::8!!<9!;!928!2,!.$!'!,'!'#!!*!!,$$##,)#+##!$!##!
+6#0#/'&&&3/(,!,$##',!35!$-#')&$#*!'$/!*(4',$,!#%%%
@853_9_2024/1
-G.213..02.0.112.23.00.1.32.00..1..11121132311.1.11.
+T3011020132232.011002.01.230121230.022.2320210.1220
+
-!*-&!!40!6!52)!)&!7'!'!*8!&)!!2!!'<+52&1.&2)!0!&+!
+<;)(><;)1,8,?!,1,)05!)5!53-3/)(4/!(,&!11.1/)<!)/,,
@853_10_26/1
-G.222..11.0.112.12.23.1222.020.0.22222222222222.22.
+T3300222111210.212222.22.220222212.222.2221122.2322
+
-!111!!,$!/!1#.!/2!/3!/%55!,$'!&!$/)%$'**##*/'#!)1!
+21&.351,,/5/%!4)&4(0!/'!%+&3(/#0$!+#0!,'.)$-#!#,$2
@853_10_63/1
-G.232..20.0.301.22.21.2210.120.2.20220212332211.22.
+T0011121023110.100223.13.210101231.103.2222222.2222
+
-!-*+!!0'!/!)./!0-!--!-#,,!/%/!0!%//2<&&#%#%#&+!%#!
+(1,&*./,(-1)/!1/,1+(!3(!-2)/),0'1!/'&!#&$%-4(!,,(%
@853_10_221/1
-G.011..12.0.133.20.32.2222.222.1.22222223222222.22.
+T2223312323322.102231.00.202132012.221.2322202.2222
+
-!+,0!!-.!+!6/,!-)!,*!%'&&!$#$!$!$%%%)%($.(,.($!/0!
+,0&)/&/)1+#)2!+(%))+!&'!2-&+,&&&%!$%#!&&%&+&3!&(.,
@853_10_254/1
-G.220..00.1.200.22.20.0002.222.0.21222213202222.01.
+T2011202101022.222222.20.202222222.122.2222222.2222
+
-!3'1!!/0!%!#35!)0!(5!288'!,*(!2!2'(,$2,#+/,2,,!+%!
+#4,'#&%(*%%'3!&&(#1%!.)!,$,*&$'$1!&51!('-#/1*!$*&+
@853_10_285/1
-G.112..02.0.203.10.21.2222.203.1.00222233222222.22.
+T1000220221200.132200.01.232221210.032.2101130.1132
+
-!/33!!(0!7!545!,,!46!9;;5!555!2!8134'$##&0*,$8!)'!
+7679<;7<;1:95!37<962!17!218>:(731!&58!84,803)!;//+
@853_10_317/1
-G.223..10.3.003.22.11.3331.302.2.12233301212312.22.
+T0020230210321.031322.31.032332100.200.2212002.2022
+
-!3&2!!6%!3!*$)!,:!./!8+(&!7&8!'!*/&59&.-&1&*(+!+1!
+%(4(,,)'2+)%,!9)&,2.!($!',*#(1'))!$01!($##-$%!%8$(
@853_10_329/1
-G.030..11.0.121.11.22.2312.213.1.20002102132221.32.
+T2010200322033.310112.12.011220102.222.1332221.1222
+
-!)#0!!'$!&!*$)!##!(&!-()&!(%&!&!0'3*#$)''*$,(&!#&!
+#&-'*##(6#$#&!)#(11#!($!/%(&%'&4#!*#,!$$$%5*&!%+&7
@853_10_349/1
-G.311..31.2.312.21.12.2212.232.2.12312032212222.01.
+T3031031031312.133031.31.220312113.213.3222320.1212
+
-!6:5!!91!7!=8;!>8!:5!7690!&2=!'!,;1).)9'877<,&!'/!
+<.954><546;9<!,&8-37!<1!3'5<15&79!7)&!9'3&4&(!&6&2
@853_10_354/1
-G.332..01.2.022.02.10.0222.112.2.02223232102222.22.
+T1320122002030.212221.12.232210122.222.2222222.2222
+
-!0$-!!&#!,!))'!)%!#)!)#*-!'(/!,!&%410,$))3&'%8!0#!
+9)).&&)#'#+0)!+&%%$)!&&!1&6&$&)&3!#$(!&$0:4+$!)7/%
@853_10_370/1
-G.300..23.3.212.00.02.2123.322.2.23322223220021.31.
+T2322231103221.011031.13.231332301.312.0232122.1233
+
-!7',!!76!:!:'8!'8!48!;/7<!51:!&!589'4;84.41+0'!,5!
+:;5:9;3885;>8!79:+:6!98!8;9=<=8*:!/(9!8<3;/;;!633,
@853_10_464/1
-G.222..00.0.012.02.33.1121.010.1.02031212012111.31.
+T3330010000212.300131.13.112322331.023.0331120.2221
+
-!758!!<8!;!97-!7<!41!>215!957!<!+0<8<'1':=+1);!&)!
+9-398,=<8<.::!3;),(4!76!9;&.086&,!:6)!175&(2;!)+%/
@853_10_491/1
-G.202..03.0.331.11.01.1111.111.0.23111222122221.21.
+T3223302200011.023222.32.031020232.233.3211222.2222
+
-!722!!5;!9!79/!19!8:!=;;7!<56!7!,&4,8(1$2,&&&,!5)!
+<4,.28//:1752!839:46!9/!&0(%$$)&&!5,&!&5%/-5$!&5%.
@853_10_512/1
-G.210..31.3.002.22.11.0221.112.3.21022233103211.23.
+T1210222121121.222302.02.321102023.201.0332212.1212
+
-!&$'!!)%!,!&%3!/'!,%!))&(!4.&!&!,/0,*20)&#*,(&!.+!
+-1'(41)1+'-&4!&)'&(5!&&!&30,.),&)!7/1!2/&($&&!4(.0
@853_10_517/1
-G.202..20.0.320.02.21.2020.022.2.10003031203122.02.
+T0000201333120.213001.30.020133111.031.1111133.1133
+
-!,:)!!,3!=!147!5=!,3!9<,<!:47!5!(<<2,=*3';*265!70!
+8/,915)-+&/*5!84*3:,!0*!<&,)1197#!/),!'40%1(%!$%(&
@853_10_560/1
-G.002..31.0.122.13.02.2010.220.2.33311223103010.10.
+T3230002002001.210031.11.103301002.122.1220320.2123
+
-!86?!!?;!;!=>>!;@!5>!=7?;!;9:!;!<A?</<6:94?9::!5.!
+A>@<8:>:5A;7;!=784?6!<7!<:?=<5::;!1@A!8>=6;=2!>);>
@853_10_604/1
-G.301..01.0.013.00.23.2021.230.1.30002020213231.00.
+T1032122022103.222321.22.012232132.321.1010201.0302
+
-!6,&!!,&!/!)',!(&!(&!)+):!(&.!:!9&?>26,7*,//85!7,!
+3:01<,&/5:)@5!1,'2.6!:/!?=,),,(,&!'9&!)5/)27)!8.:)
@853_10_659/1
-G.032..03.1.003.21.20.0003.230.0.33333232030303.22.
+T1201100030102.223301.21.332202113.022.2221012.0011
+
-!68:!!8:!/!<:6!59!64!8440!36'!,!*522/#*/,-1$7(!$'!
+<=><9=@A8<<><!:<9;=<!:<!6:89<7<94!9=9!=9=76<-!:>86
@853_10_684/1
-G.133..31.2.020.30.21.3110.230.2.10202321232100.21.
+T1330201102202.321002.10.333002110.222.0221111.1000
+
-!89;!!;5!A!48:!7:!9<!5=71!8(4!,!##(0&,)/,:+1))!4-!
+,;%>?=.1;4=;&!-+9051!41!2&:587'69!;*4!7&42'$/!%,6&
@853_10_703/1
-G.132..12.2.132.03.22.2202.300.3.32220020201120.02.
+T1022030001113.000331.01.111001102.001.2102023.1120
+
-!@*2!!?-!)!@,4!7>!24!<+72!<96!4!*-*'>/,6,<#-+*!4#!
+%/#$/%44502.,!,*5)#+!1*!5*%0/1-7)!33(!$%6#1#$!##'2
@853_10_707/1
-G.130..10.1.022.13.12.2220.221.2.21220202102121.22.
+T1223030002221.033223.00.023213111.032.0333020.2200
+
-!#,)!!,0!.!(13!($!3+!$2&8!2)0!3!.'72$-&5-#(2-&!+$!
+&858%3)&.)=,(!7,&&))!'8!.119)/)5,!%&:!),6(%4)!&,,0
@853_10_728/1
-G.033..13.0.111.00.13.3000.010.3.00333322102111.20.
+T2213112011111.130322.02.321122031.002.1110333.2202
+
-!5<;!!,<!;!<;<!@=!:9!<>=<!=:<!;!=61&,8/&1,7;&3!/8!
+<0;;(:1<;69;=!3<1=>6!:7!)/3;,)/.;!0(/!7;'))5)!&.,0
@853_10_761/1
-G.311..31.0.233.23.23.2200.013.1.33002022001312.23.
+T3302220103103.220211.11.111230232.012.2022220.0222
+
-!,)$!!'#!)!&7%!%&!$(!%-)+!,(,!'!&)1#%&#%)/&$#/!6#!
+8.=,;@(,+6>)3!6((+<<!5<!<9?7;;:>>!:5,!:9<:<><!6;>=
@853_10_875/1
-G.210..31.3.110.11.22.0111.110.1.32320123323231.11.
+T1313213021302.023221.30.130212021.222.0213121.3212
+
-!75*!!43!-!4/1!.7!08!>,,&!70+!*!$'&#$$$$#'#*'#!#&!
+(,%,2&1226:/5!64/6%4!4/!42.339,$'!4/-!22/5###!-$#%
@853_10_914/1
-G.223..32.2.300.02.33.1122.333.1.00311010110021.33.
+T3110012323223.012101.21.100223330.121.2211222.3322
+
-!<69!!7/!7!/(6!/,!56!//5<!0,5!:!(,9=,=34/8)39&!15!
+-,2')(<6)5@(,!;7>;&6!3,!),)(4(336!,)/!31);;(5!/9/<
@853_10_955/1
-G.311..23.1.021.31.10.0011.032.1.11231220120010.22.
+T3332010100311.122131.30.220001131.301.2221110.0231
+
-!$.)!!&+!2!%#,!/'!+)!,$#2!,$$!#!#()81($%)$($*&!#&!
+$)7(/,$5*,62,!6,1*05!)/!2)3#)66%1!3&,!1436-7.!72)+
@853_10_966/1
-G.131..21.1.211.32.22.3120.023.3.23000312120231.11.
+T3000010112221.310121.01.010103222.210.2222222.2122
+
-!::8!!:4!3!71<!/7!5:!=73?!9;2!1!6).></))83-685!:&!
+8A/11)6</<=;<!,/)79/!/0!&)<(,7/0&!&,.!::/),8)!3)38
@853_10_971/1
-G.030..10.1.100.32.30.3213.003.0.00333303300331.23.
+T3300220331100.110110.23.321023321.330.0101321.2221
+
-!(86!!17!7!,>?!<,!:@!&<5;!/?:!6!>9::)369453<:&!96!
+<::<5;7:;1;:>!@56?@?!>9!05<;@7991!955!>1&=<>3!59>,
@853_10_982/1
-G.213..33.2.130.21.33.3333.011.3.20220033201033.32.
+T1223223121032.232303.23.022302133.233.3332013.2332
+
-!14:!!79!9!1-&!)>!<6!A+=<!6(7!3!411)1&:74:/1;#!/.!
+8)'.-8,2$(:+(!29860;!'(!#*1644+49!*<:!67:%#&3!-2)'
@853_10_990/1
-G.203..32.0.322.12.11.1020.033.1.22303223112103.22.
+T2021031201033.133023.11.213012011.102.2221322.0123
+
-!A<>!!<<!&!<==!77!=5!7:>/!,;;!8!:9),029#:)#1'#!(2!
+1786685;25'9:!9::65>!5:!9$<9-98:<!8)6!;<,97&:!:191
@853_10_1038/1
-G.322..30.3.312.01.21.0311.302.1.00301201130032.22.
+T0110022322300.202330.22.230120310.313.3121231.2300
+
-!==;!!>1!<!>7?!>=!=>!;9=>!>8=!<!39==/8:<>:;=<:!<=!
+<A?>;A?>>=?=:!?:<<>?!=<!<<=8?;@>5!A/<!=7993;?!=75=
@853_10_1097/1
-G.022..22.2.222.22.00.0000.122.0.22332201132223.22.
+T1301300302122.001100.21.032120300.322.2222102.2000
+
-!,'<!!:8!3!(1'!=/!5=!>363!1+$!,!,%#460&&7/2,&(!%&!
+,#&=,&(9,/8)'!,/1889!75!&,&)1;)/1!/5+!972=,/&!)'83
@853_10_1144/1
-G.023..21.3.220.33.32.2320.123.3.00113012333003.03.
+T3000003202132.300013.00.120002011.121.2021010.2012
+
-!A7,!!>:!9!862!69!%8!7(+8!3,'!1!9;86%<)24,#971!4#!
+%-27<2(-:'.$8!%74:3%!6<!232:8%8&3!1-*!18-&8.(!#8/&
@853_10_1153/1
-G.002..03.0.103.00.31.0113.222.2.12002200000010.12.
+T1112233202031.033032.20.313112310.232.0001211.1101
+
-!331!!88!;!9.7!97!43!7618!86:!:!417<75/9;=:857!75!
+091#%&5:#'6'5!(2755-!01!4*0.)20)#!)%)!.+(20&4!3,%*
@853_10_1219/1
-G.130..30.1.321.31.12.0012.131.0.00200121003011.11.
+T0220020211300.110223.13.032102023.003.3212322.2120
+
-!8=7!!;;!:!%3;!>2!7.!97=1!379!/!8548:9:854:37/!5=!
+0;:63/<=849;;!69=<:<!>:!55>=<;6<:!74;!48)<:47!>;97
@853_10_1415/1
-G.211..11.3.331.03.31.2100.113.0.11011113011110.03.
+T3310131131130.303220.33.131331311.111.2133111.3111
+
-!445!!2<!:!36=!8;!69!==:#!.&$!#!#)$%$,,#$(,%#%!%$!
+:9?>?<@@:>?<@!9>9>9>!<9!<<9;;=<&,!<7(!&5))<9,!4:1;
@853_10_1466/1
-G.002..00.1.002.02.11.0201.132.1.31012021112221.22.
+T2122033302111.121230.02.303030131.101.1301001.0023
+
-!;7/!!,2!+!$(#!+#!##!&&'#!$&#!)!$*%,#,#,,%#)#)!'+!
+856&7;:5286:5!46:158!-9!986-3<45(!2<2!-78:$.4!)1-3
@853_10_1684/1
-G.033..30.0.222.13.20.2223.222.1.21313113102231.22.
+T1101100223023.110012.22.110331022.303.3211320.1223
+
-!;@>!!@<!>!@>>!&)!1&!&#),!&'+!$!&+&,&+6&&)012&!7&!
+<><AA=7A??<9>!@<.;@>!,A!<=;??<<9;!<)8!;5&7=,<!1,59
@853_10_1774/1
-G.020..02.0.232.22.20.2212.022.0.11222022012122.02.
+T3003300312003.222212.22.001103322.002.3232312.0101
+
-!1(5!!==!5!3&(!61!<1!6/&;!1,1!7!)'975),8;=,&+<!84!
+>&)&979<:;;9>!75:=/,!(&!;/5)7,1,7!;1,!3&5)3?(!'<>&
@853_10_1797/1
-G.030..01.1.221.00.31.0030.232.0.21200300220003.20.
+T0103231100311.103321.01.112002201.000.0202000.3120
+
-!5;8!!65!>!82<!9;!==!4&=/!;/5!;!,38=7'59<6,6;:!+%!
+=;=<<<<5=>>?:!@<<58@!94!:59));63.!692!6352'42!/%/+
@853_10_1964/1
-G.211..00.1.332.20.11.0130.303.3.03302311301300.13.
+T3230330222203.033201.21.111313022.322.0133330.0333
+
-!.9&!!,5!&!9)&!#2!<'!7/26!4##!'!525*7/9(,:&&:3!)8!
+88$&*55045884!081/71!/2!.6/9,+&7)!(1#!'%(&(#%!('%.
@853_11_36/1
-G.210..2211.232.22.22.3231.220.0.21222212212222.22.
+T3022220202000.222222322.2123223222222.2222222.2222
+
-!)'&!!&)33!)'*!4/!,+!'5)&!,7&!'!2,3.+&(/+&),*$!'*!
+&&0,,)*)/*,,)!+)058*&)#!#)%&)#&-)2(,+!*)+(,.#!#0/+
@853_11_179/1
-G.312..1020.220.01.10.2131.023.1.00022322130320.22.
+T2133203212003.201322101.2232122223212.2222222.2222
+
-!317!!3,:0!79.!01!3+!71/4!+51!5!+209:3'81</3:/!&:!
+5)(1&-50/$'&,!$,),7))'&!(9.&)&,3.(+)%!)',&(.0!',,)
@853_11_291/1
-G.233..0011.220.33.22.2032.231.3.12200320102323.23.
+T3233110200122.212330222.0002020221323.2112222.1222
+
-!7##!!5'#)!.#+!##!*5!)##4!,##!1!%')3&)#&$2')+0!$#!
+5*'27/'#(124%!9.:$715/&!75+':714&/67,!4+30'*;!++((
@853_11_304/1
-G.022..2200.322.23.20.2222.222.1.21233222112320.22.
+T3312200211122.122122233.2222332232222.2211222.2222
+
-!6$#!!##%)!'')!,$!((!%*#,!,(+!#!#$+/###+%%+&6#!&$!
+2'$')%#)%%'#+!&%#(#%#)/!##$%+.$-$''%,!#)(&$$%!&(#)
@853_11_339/1
-G.200..2113.123.10.10.1222.002.0.20112110300212.12.
+T3133232330333.203330202.0202230222222.2322222.2222
+
-!347!!618:!458!<9!75!7:58!864!1!5.65.42)7733,'!/$!
+95('.)#&('%&&!#$%$%&%#,!.0###&$+'(5#,!2&'##0#!*'#2
@853_11_377/1
-G.333..1213.132.22.23.2320.232.3.23032213222221.22.
+T2232022322002.122222221.3110121200111.2221320.1220
+
-!#+$!!/##&!*(%!65!+&!,&%&!'&#!$!#$+$(.*&$/*20#!&%!
+<+)99&&/&(&&=!&2,;<.:)5!),2+)/21-)393!423)&&,!,(&)
@853_11_392/1
-G.102..2201.210.31.10.1303.220.0.23020023223100.23.
+T3330233333233.312000222.3223022221103.2302223.3222
+
-!/)/!!3581!,+,!2(!:)!'&30!787!&!<//>&(10,;5)-'!3&!
+1/&&),,&()7(&!'1)/&),,5!&/18,:(&,',&3!)//310,!3&17
@853_11_436/1
-G.022..2230.001.23.11.2003.211.1.21112332222122.23.
+T1220231200111.330211130.3010200210200.1222222.1222
+
-!6&%!!%$.-!'$)!)%!(/!#'$&!/&'!%!%%)0%#$'5,)$$#!*'!
+&('*45(,())&(!0,821)./1!&,&(1&2&,(&/)!&,1(44&!,(;5
@853_11_440/1
-G.020..2231.100.20.21.2001.230.3.33102331020021.02.
+T1022000003021.200322201.3112033122232.1312322.3321
+
-!2(;!!11&3!)4/!),!))!)/9)!239!,!/1,1,23)3895),!<)!
+&78)5/&=/'/,,!35+&,47/)!&,/&4',<3:,,0!,68663(!2,+&
@853_11_502/1
-G.233..0230.222.21.10.3200.220.0.20122201313002.11.
+T1320301323013.110212102.2302221322213.2213203.3222
+
-!485!!94<:!698!:1!3;!2980!85:!;!1689:=5;873<87!,4!
+><;==>;>>><;>!@?:;:?(</!<::1:=/+,&)'%!&'%%)'$!()'(
@853_11_522/1
-G.020..0203.201.01.12.0011.200.2.00002232002220.20.
+T3332013001310.001310133.1012022011001.3121103.1212
+
-!1+3!!><A&!(1)!5<!71!@7<4!.37!*!(')-$##'$.(#*3!$0!
+)3&)1)4,,)';;!7,&2<;8.1!27:6:(9;3,*=<!1,7(69.!*5:'
@853_11_544/1
-G.010..2310.033.13.10.1301.100.2.11212220323322.31.
+T0323022233033.102122100.1130233202331.2210033.3200
+
-!934!!;829!5:<!39!86!497:!826!3!3:8+504-'25#$$!*%!
+$5<'#32'((*4*!&-2%,'15*!4%9',52/)3=3&!-2*%#)2!#'%(
@853_11_580/1
-G.203..2303.003.21.30.1221.120.2.12232300202233.00.
+T3312132311002.110012113.0213220112200.1321321.3101
+
-!><=!!;?=>!;=>!;1!=<!6<<<!3<>!;!:8;>1>:;81:9<:!:6!
+>=@>@>@>=?>>?!@>>=?=?==!=>;>@5??>><><!=6=:<:8!5('&
@853_11_616/1
-G.033..0030.010.21.33.0310.112.3.22011002320100.02.
+T1332213010203.120213203.2213012200111.0300131.0010
+
-!<><!!<>@?!<>>!?:!;>!>=:=!<;8!9!<8;=9=54:);,;=!;8!
+<==<>=@=?=A<A!@@;?=?><>!>@<A<?>=;>@<@!5>:;:(<!;8&9
@853_11_625/1
-G.320..1010.210.01.00.0121.113.0.12010131110021.21.
+T0010021110212.131001310.0001030012000.0003021.3001
+
-!.2.!!5&/$!1&=!/3!$&!),65!6()!%!%/%6.&,,+6)52%!87!
+$).,)11)39')/!1)1&//&')!3$1/%'1110/8'!##4.:1'!*&,%
@853_11_698/1
-G.211..2301.023.01.21.2200.210.2.20222000002100.32.
+T2021201222011.300201111.0001200022100.2132213.3200
+
-!&02!!322&!&+*!.,!+&!+4'0!5,)!'!)1()&96742),'5!))!
+39&:3),:3,/,1!)5),:/761!(,),/45&(,,..!(0&,'))!&&&&
@853_11_744/1
-G.212..2011.022.00.20.1222.210.0.30333033300200.20.
+T1103030333000.223330300.0233312013201.2323220.2022
+
-!7=:!!589=!:/:!==!<<!<<>8!<98!7!758<::3892649<!:6!
+=A<;29:=9>987!:1>;69:99!5,:8;,4;::83>!.2,=7%2!88)6
@853_11_768/1
-G.123..2203.010.01.20.3110.013.3.02022112011131.02.
+T2010000023112.321122031.1201231012221.2221221.1222
+
-!AA<!!A@>>!>@@!A?!<?!<>>A!>?<!=!<9?8>@><@??=;8!8<!
+:/A=><?A9;@@>!1:<3+%10,!%3(&+*+&+'!5'+&+/+!&27&
@853_11_775/1
-G.112..1133.212.20.11.0123.113.2.21033003332111.20.
+T3022212131313.111232231.3201330022122.1321131.0231
+
-!???!!A>==!>@=!=?!=?!=><=!?;<!=!7<;===7<;<1>6(!6;!
+5>::>;?>;?<>>!@:?=;>9=@!;:<><=<A=99:=!,97,/))!('(,
@853_11_794/1
-G.021..2210.110.33.10.0110.110.1.11002112301121.20.
+T3010320001322.013320113.0011023210312.1120000.0331
+
-!,&#!!,)&$!#$#!&#!''!,#*#!*,'!%!#,*&'$%*02)#+,!-&!
+()123,3&,,6&&!2)&*#,&'$!.(#$)-$'.)+&(!'&&)$*&!)&&&
@853_11_835/1
-G.111..1103.000.32.01.2031.031.1.32322123021202.23.
+T0010311130231.213113121.2113330010220.0012232.2203
+
-!8<8!!;54?!:98!:8!7:!;5:$!;95!0!:7%6=722/=78&/!77!
+418(9;/6&42:4!1:71&861,!),'(#,-#&%#)*!%$-#$%'!##%$
@853_11_845/1
-G.330..0321.113.03.12.2220.202.2.21320023033012.03.
+T0000322301231.022100321.2310021301230.1301222.2132
+
-!:9=!!@;=>!=<8!?=!;>!>::=!=9>!=!<8:9;87=6;;39>!,;!
+<67>:<6<;=;94!>>6;9=<:>!<:977<4.;'<8%!1<-,:=:!/;,<
@853_11_860/1
-G.013..1031.231.01.12.0000.231.2.32220001132002.33.
+T3021012320013.223233220.0033302203300.0223020.3033
+
-!@?:!!69;;!;;8!<3!89!.>.<!9;.!5!<&:8)=8>=)81=8!<;!
+5793268:17;39!>38998<:9!918;57=</+769!,8::0(6!:2/,
@853_11_879/1
-G.333..1233.133.13.30.1123.131.0.02111103332232.13.
+T1113233212112.300121022.1330101220021.3220122.1123
+
-!&=2!!(@,*!<3>!&>!))!,/,&!;1=!?!951)()&83(/&4/!)&!
+@/>8768=)<;/9!68/=6/3=6!(95/,9,>6=,3,!/:61=1,!?,&,
@853_11_900/1
-G.202..2320.333.23.21.0022.221.1.31022122322110.22.
+T3211213110233.130330101.0121003010022.2110222.3202
+
-!)&1!!/(&%!,%+!3)!'&!%/))!.+&!&!,',)*&)&15/'/&!,&!
+8&,'&&,',,)&'!1',)&1&,8!/8,&)&&&'17/*!)&1&&)&!&1&/
@853_11_930/1
-G.113..3132.032.31.20.1122.002.0.33110003032021.20.
+T0000222120013.020111211.3202200113012.1301232.1111
+
-!@@9!!;;;<!7=9!::!>9!<2:=!;,:!<!3;8;<$96<1'<:;!7<!
+,7+/8=:,4,,:8!':/<5/:,&!/3'/7//;0));)!'7',/'&!</)5
@853_11_997/1
-G.221..1221.110.22.10.1310.323.3.10200203222031.11.
+T3212210001220.212002102.2112002012100.2131301.0030
+
-!=8;!!8?>6!=19!8=!85!>6>6!9'9!:!8:::259=:3<:<3!4:!
+6949666:68<92!6/=1/<967!:5372855:1773!/6446*8!.4&4
@853_11_1002/1
-G.302..2013.230.21.21.0122.323.1.13011030131000.11.
+T3330000113300.313312102.0312030330311.3331201.1213
+
-!;><!!=@@<!<<;!=9!?@!=>=<!9:9!9!=;@>7><<=6;9@9!=;!
+;:7>>@<=@;<==!:=::A:<=>!:<;=>:399><:9!;<2<8>3!=539
@853_11_1113/1
-G.211..3122.001.12.32.0112.311.2.31122133130202.21.
+T2000122331220.122030022.0122330113102.2113130.2321
+
-!<=/!!A265!/3>!,5!46!13;:!84,!6!4,'9=31*.3-,&&!8+!
+.89&&,:8)/0)+!*)%78&)7:!+,/,#/0,&'25<!:),.);,!)9/1
@853_11_1130/1
-G.230..1132.031.02.31.3102.033.0.12103220322033.33.
+T3200012120032.002200332.0031111122002.3312202.0020
+
-!,6$!!.&$8!//7!,&!40!1<,<!,.3!,!&+),:73/570&14!9:!
+4/:,$:1&%#<2'!7%;+'3<'.!;%95)2&>%&8:,!:;93.)5!=5-6
@853_11_1160/1
-G.121..1233.110.30.00.1013.011.0.11101002321211.10.
+T2121233002001.210312301.2213313001313.3211202.1232
+
-!%8)!!'):5!4&$!73!1$!-#&)!5*>!)!3(%,&6/#8,)6'&!17!
+/(/3&5)(,.,52!,&)295)6/!*01,4&(.6))(*!.8+*:4/!':&,
@853_11_1289/1
-G.021..2133.321.02.12.1200.030.1.00012010301321.31.
+T3202030030000.322322200.2212223121322.1232113.2302
+
-!+)>!!,2,1!-81!%,!/0!&%(:!4$1!)!'58&,';9&1+.02!/+!
+4,0;,1,/3354-!,&$,*'$&'!+'%+:1-#'*%$#!)3%$&21!(,&'
@853_11_1294/1
-G.202..0122.123.23.22.2323.313.1.22133232332222.23.
+T3012121230122.112212223.3101330211122.2332331.2011
+
-!71;!!;$<6!<7<!,<!3-!7)13!*/5!&!%//2%5,&%#534-!.*!
+9,)-5=3:9,3>,!<;=<,>>>8!7<,.9<5:,).9;!/(?5)&6!)&75
@853_11_1308/1
-G.122..2102.132.22.03.3103.020.2.00323320311230.10.
+T1313222031123.213112233.3132330320321.2220233.3322
+
-!,?/!!)715!*,&!&,!&&!1).<!3//!7!)()&,&8',&)&*'!,)!
+115356<:/)&>3!<.<&@')13!8&&:),5&;'&).!',&/'&4!&&&,
@853_11_1324/1
-G.110..1202.131.12.23.1123.122.1.11311113111131.12.
+T2222132323301.120330302.1323202011301.1113110.1332
+
-!@A=!!<=@;!A=A!=;!><!1&$>!,$%!#!*,)/5&#.)1.(/.!(#!
+9A9?,1'67<895!=71<:<=:=!451<<755;,=,<!3:+2),/!/2*9
@853_11_1333/1
-G.000..0232.111.12.22.0232.030.1.03300032102311.02.
+T1313122003300.033223031.2201232301222.3212022.3102
+
-!@>@!!?A<>!AA@!A?!@?!8A8'!1)9!)!?;+,<=;.,(17(+!&&!
+@512&<75/48/?!>=2=<6>:,!7>:=//<::)/91!<:6&&3:!,,/:
@853_11_1346/1
-G.312..1203.321.11.22.3213.001.2.21012132122023.22.
+T2332133022333.022120203.3322113331122.1133233.2212
+
-!3&'!!#&(,!/,,!$#!+)!9%#/!.''!$!(-#0%$$0+)#.2*!2-!
+)'&2.,1/+09,6!-)34$,%$&!)/&,4#3225%$%!,*+,(&,!82'#
@853_11_1352/1
-G.101..2020.210.13.10.2120.102.3.00022031120322.21.
+T3322311331130.202323023.3100113032320.2313223.0312
+
-!,*,!!;8'5!8,,!:5!)8!)/:;!9<&!4!(/72;&&8/)).83!/)!
+3&9(&6>)9)7.(!.);,1&)94!3'5+((.0(45',!&++-',,!)('&
@853_11_1409/1
-G.232..1232.220.10.21.1201.333.2.11021221001111.23.
+T3000220011111.020033110.2210210002000.2312312.1222
+
-!.<5!!45/8!06;!/5!/1!84.:!3/1!,!3>.08#26$:'(:*!'1!
+:-130:=6=1.2<!.5.*9:1<)!:78+>5,8551.6!;?84,7.!5478
@853_11_1420/1
-G.021..0123.022.30.30.1310.001.1.10110132000232.23.
+T2013221030202.321222212.2213212021222.2222222.3222
+
-!=><!!<:<>!<<<!>3!6;!&6=;!&8:!>!66<=&4968,+&#'!##!
+#<####9####:#!##@####<#!##<####<####>!#######!##%%
@853_11_1517/1
-G.020..3131.221.02.20.0230.212.1.21023100300201.32.
+T2120330010112.111203322.0111322233311.1302100.2333
+
-!2,)!!59)5!15/!5:!/8!181$!8,#!&!5%885)1(/4&'%5!,)!
+//,(6$1=&)8/6!(,.5.#393!#3441-+><'+).!3,.))56!928,
@853_11_1553/1
-G.220..0121.102.11.10.0232.222.0.11002020211222.22.
+T2100002220130.022031233.0323211101000.1213332.1321
+
-!95<!!95;9!>;:!<;!69!7445!/(-!&!#'('##$,(#$#'-!($!
+%*)140+868927!&%2:2024+!642/'42181899!8)85*18!.%2#
@853_11_1571/1
-G.313..2333.202.33.30.1113.021.2.02033121221110.03.
+T1311202212210.203333311.0032311112120.0021233.1232
+
-!(18!!9:8:!0:8!6&!7>!59.?!%98!8!97:&17698':1<;!5:!
+&&5A5,6>@@>=(!?3;:9=>,;!=1;9):;@>&==,!&8:53,6!=)&)
@853_11_1594/1
-G.333..0221.200.20.22.2023.333.0.31213330303211.12.
+T2303312230022.320123233.0110003313310.0312023.1002
+
-!59<!!)5-<!?83!=.!/?!)2<:!,=7!<!<596(=57:6:'11!9.!
+32/32,>7((;;;!/:89));8<!:;18?>=6=,/;(!)684))/!/.')
@853_11_1616/1
-G.213..3031.332.30.12.1223.221.1.03222220202202.03.
+T1313130323223.231222330.0322213112101.3223122.2222
+
-!,&7!!)(&/!'*&!51!/,!398,!6,&!.!;,1315>)&&&)&8!&8!
+&17/276),&4(:!5,&>(;3/&!(7)<'&,4,;)''!58,&1',!)):)
@853_11_1621/1
-G.333..1233.123.30.30.1211.211.1.13132113113333.33.
+T1100000112201.030113022.0032000002303.3330222.2223
+
-!6;9!!6<%2!2=#!8;!);!4:82!75#!5!80:995$(,38*7:!3&!
+;=:=:;<?8<<9=!9<4@/;<;:!283&):97&$38/!(4:4*5(!+)18
@853_11_1630/1
-G.312..0123.211.02.20.2232.112.2.01300030100122.23.
+T3010033021202.301000112.2111320021311.2010121.2211
+
-!86,!!2086!8/.!68!,+!:93%!5-0!7!307*''4&82%)5,!*5!
+,,2%%#:%#&%/$!22+&&8#55!7)8342*:(2%&2!*%52&'#!/*##
@853_11_1700/1
-G.323..0221.122.22.21.2233.221.2.13032200121302.22.
+T3023132213003.332000022.0321030333311.2312301.1020
+
-!,)%!!%#),!.$#!#)!$%!&#'*!(#/!#!#$1.,#&#-)$'##!)'!
+#0469$&38)211!&'=&/,5<6!21/%.'6'&0;,)!(:,'&39!2&18
@853_11_1732/1
-G.032..0213.003.31.30.2201.112.1.22021222203002.00.
+T2230101330100.230100230.0023010023001.0230100.0103
+
-!99>!!>==<!:8;!;;!9?!=;<=!=3@!=!:><:=:=;=91;:?!58!
+>?8<?<<::<9=>!<<<:<<7;4!=:799/>>1.=37!:)+7,<9!8)/0
@853_11_1746/1
-G.001..0111.332.02.30.3333.222.1.23332132203333.32.
+T1022030110123.110220002.0032200021021.2012223.2031
+
-!5,2!!,%#9!,#5!25!(,!7#$)!**#!#!#,,'##),#,()#*!#$!
+5-(22/9456;,.!27:40898*!(2'4'%(6'21&+!%214)$.!5%)(
@853_11_1751/1
-G.301..0112.210.22.13.2020.002.2.22302222002131.22.
+T1321123132330.322312233.0002212012222.2303232.1332
+
-!&)&!!<,)=!,>(!,,!&(!>:>,!(=)!4!1,2,1/;1<8&&08!9/!
+8&:3/(442=.(:!//#0,;:)+!2(#*35,+//;,.!3,'(+%4!,3(=
@853_11_1789/1
-G.212..3313.202.02.02.3231.333.2.11333023322001.00.
+T3120220123221.330223010.3032333132232.0320331.0222
+
-!)7'!!)+%%!%),!&)!5)!(/%,!125!,!',6%/++82.)$',!)$!
+#1;9,*+/2%9(.!/20(,/2*)!,()(''/3'47/3!,)3)#51!/77,
@853_11_1808/1
-G.121..0010.223.00.02.1100.123.1.00000103130320.03.
+T2200210320103.302111322.1213332020311.0102302.0001
+
-!,27!!8#,+!,'4!')!9$!).):!,##!6!*#16.''#,%(%8)!7'!
+,;4+&/.'(/&&-!,*$$33(.,!8.).,'3<0/&0+!/)4)%&&!&>(;
@853_11_1885/1
-G.010..1030.323.12.12.1123.001.3.12000303120110.01.
+T3102132020013.301111332.0012211010132.2121220.1020
+
-!574!!;;.6!*3)!<5!99!69&3!391!.!9)?9:+/6)578,&!<&!
++<0'12'&,.)3$!##4,,$-&,!*0:'4)8,&)$$1!4-)14.,!2&1&
@853_11_1895/1
-G.122..2311.033.03.20.0010.113.1.03033122301131.22.
+T3010323301021.211001312.3132133230000.1121113.0211
+
-!,&)!!(*-.!'+&!&+!)0!*8%&!7,+!.!)74-(2(8&)*(0&!*(!
+23('15&),&*71!,&,&&&&)4!5;&)2&)53)(&3!,7&:),&!/871
@853_11_1917/1
-G.211..0331.133.11.30.1322.221.0.12011121113212.00.
+T3213333130023.122312102.3210303123011.3111222.1112
+
-!<47!!5958!<::!5;!=3!5<05!:/2!2!556:6428885/87!.&!
+4)85;986:5983!38;:/5793!9666914;4451:!699;602!=57.
@853_11_1972/1
-G.102..0322.311.02.01.2133.123.2.22222110222212.12.
+T3320202011222.332212311.0210023130323.1101303.3020
+
-!224!!&9:;!4:9!64!7:!5=#:!$-'!5!)1#%$.$)#&'3)/!%4!
+99:07:;+&2>14!=(7>=).5,!,,;5:1(,<)5'&!+&'69(9!-7)2
@853_12_125/1
-G.111..0012.100.02.03.1213.122.0.21012222001101.22.
+T0122203032010.301211220.2020123011223.0222212.0112
+
-!121!!+&.4!)')!,3!)/!/1,/!)0/!'!%&17##%8)1&&&5!41!
+0538-',/.0,2.!&',54&,#)!%&,)1&$'/,0/&!/',4')1!&(,2
@853_12_145/1
-G.230..2123.312.12.22.3222.222.3.22222222232221.22.
+T3022203001220.023331221.1200322220021.1221211.2222
+
-!)&&!!#%$'!#&#!$&!#+!#,*'!*&%!#!&#%$'%'%##&),&!)$!
++$5+2&&,&)##-!)#%,,&#&)!2$%),,(481(,+!13*&&,&!0;50
@853_12_163/1
-G.323..2213.331.21.03.3020.312.2.22131220312233.22.
+T1222103312023.230232332.1020022122222.2222222.2222
+
-!'&'!!)+13!),)!()!/&!6&/3!,)4!)!&$),&,%))&+&)1!-5!
+)&'1)&7,)11),!7,1,)'/,)!).5),,/&+84)2!0/0++12!4*0.
@853_12_185/1
-G.022..0101.311.03.21.1330.120.0.10212122222222.22.
+T0023122233030.011210213.3131331233020.3110223.3222
+
-!147!!.,*2!'+/!)5!4/!3,0'!/1)!'!)),)%+'52*'1/0!*+!
+).7/.482.4)1'!&/3#1,64,!(,0+1104*))6,!,0.0:%'!1:3'
@853_12_204/1
-G.212..2223.222.23.22.2222.222.2.22221222222222.22.
+T1222222123232.232222212.2222222222222.2222222.2222
+
-!+##!!()'(!'$$!$#!##!,$$$!(*$!'!+$%#&*-$)3#%#'!&#!
+,,(*&'(&$&.%#!.&7(/%(&'!5&.#%)'521,%$!)'&%%)0!#$+*
@853_12_237/1
-G.223..2101.001.10.23.2201.311.2.21211222222221.21.
+T0000022331132.222222333.3311033000030.2221220.2222
+
-!9:7!!777;!66;!>:!79!:<37!3,&!)!-&%-&$)%&$1($)!8'!
+)757*1::/6/;:!88;=961;5!58)36.1,+/,3/!7<8&8:&!&--+
@853_12_267/1
-G.022..3220.310.11.02.0100.301.0.30003222203213.22.
+T2230202310213.023211312.1121133021300.2222223.2222
+
-!):.!!,/98!.$,!,)!7*!&3/3!,&,!7!&/:;,&8(.1)&)3!52!
+4;&=/9=&1)(;(!++'2,&&(/!5.782,,,1+.5,!47.&$''!*0-&
@853_12_447/1
-G.222..3122.232.00.32.1213.013.2.23032302222300.13.
+T3112110011111.111121122.2222000122212.2222221.2222
+
-!,&'!!',)'!6&&!)-!1/!(,/&!)5,!,!,';)34')&1/16)!&&!
+)/''+801&+.&,!1''&/,*,&!3,2))')'8,&).!&%%)).&!&+3+
@853_12_470/1
-G.010..1013.113.00.03.3013.110.0.20030312220020.20.
+T3021111321322.210201112.2212222222222.2221221.1212
+
-!5;3!!/)38!,82!)&!90!/7=5!,/3!,!331/6).'33</-6!75!
++9.(5-/3-<)1#!(+%$.,0#(!-#('#1(+*,1$.!3$+#(%&!$$%#
@853_12_590/1
-G.332..0123.021.22.11.1110.200.1.30220000000001.02.
+T3022110011033.233210110.0121122213113.1310111.2312
+
-!;=:!!<:;;!<<>!=:!=:!:?;;!:;9!6!6&&''&/,2%'&,&!&&!
+;574<9;98787:!:::<1<;:9!875:43&40(<;8!9390.-8!1/21
@853_12_673/1
-G.111..1130.111.02.30.1230.012.2.23011111030330.33.
+T1220213321222.322102301.2030210300221.2020011.3011
+
-!;:8!!>8<<!>5:!:<!:<!;6;<!68-!<!.=8<=(/:+;8<97!59!
+<77=5<9?79>/:!<<;94:</9!97<8585:99:<2!4,574;:!57<8
@853_12_716/1
-G.130..3011.022.33.00.3111.031.3.13311222131010.22.
+T2122001013310.011201310.0123302301200.0010021.1200
+
-!86:!!=<;2!99<!>@!=8!@2=<!;)&!0!(*&7:1.%.2#,+)!%)!
+</2/86;;8868<!66/2929%=!%<26/</.<2166!<=,4;6<!33(:
@853_12_779/1
-G.112..1123.212.20.12.1123.113.3.32023223113212.13.
+T2133001332023.213122231.3012102322222.2212023.2222
+
-!###!!,###!###!#'!%$!.###!###!$!#$#######%####!##!
+&&&&$&$1##$&#!##&$#####!##$##$#%#####!#######!####
@853_12_889/1
-G.113..1233.210.00.31.2211.020.2.23132133121300.33.
+T3303031221020.331221220.0200133301322.1012132.3031
+
-!#%.!!%%#(!##(!/*!/5!%(&+!.',!#!2$4)&+.#6#,%&1!#,!
+5$)210),++12.!+2./$.0+&!/$22#577$+,&#!$1+#&.'!%#$/
@853_12_904/1
-G.203..2033.210.23.33.2003.233.2.32133231222003.11.
+T3213212303022.313222231.0132221322032.2113303.3332
+
-!'*1!!'.)%!*)'!.:!%$!+%*4!4/2!)!%+;44#34)4*&&7!,4!
+5.'-%*()$'&)'!+0:%,--5#!#'')**3,'#'&4!##-4(#)!3&)%
@853_12_937/1
-G.303..3223.323.11.10.2222.332.3.31111112111333.21.
+T0000223011112.023212222.1122101321330.1021310.0111
+
-!:22!!=<%<!==&!??!-2!9<#%!84#!5!:%*756$#86/0))!(2!
+<@<;?;=><>@?>!<>;=>>==@!>9>?=;<<<?=<;!<7:A7<>!8@==
@853_12_1024/1
-G.000..3122.321.11.00.2231.333.3.13223031331111.02.
+T1123310321001.131333011.1101132121120.1321103.1223
+
-!255!!#9=4!55:!(/!61!$=$,!8;7!/!>%$2395#)*:721!/5!
+,6&)/)-/)&))(!<&/)1,9/&!(&/&6385)1,/)!(3&&&&&!/5&&
@853_12_1133/1
-G.210..1233.323.11.11.1231.102.3.12211002232223.11.
+T3322011120232.200100233.1000213211000.1300202.0020
+
-!99;!!:=<:!<9<!<=!=8!?69=!,/<!3!,=6?=&,<6+:/86!/4!
+8:5;985<7>;6<!7=<<<=8;;!,<37,64/&'2,*!'#%%')+!*,/.
@853_12_1138/1
-G.313..3130.332.12.11.2323.033.0.33213333300322.31.
+T3120320131023.003333230.0023011210011.2221222.2122
+
-!:&&!!5$,;!5%'!((!,%!&.)1!948!9!#3*%,'24+,&/%*!$&!
+9)28)8(%+&&'&!2&*7,%)$1!/)&5)(+/3#$0+!###'%##!$'%#
@853_12_1200/1
-G.132..3102.123.33.22.0121.322.2.32122203133110.20.
+T3310231310102.021130312.1032221320310.3323230.2311
+
-!542!!64,8!&55!$/!34!$,22!-#9!.!5(9)*#(/12(22.!''!
+14/52995.(5+-!(2.',7#3,!-3$#',/.7$55*!/:)'5%0!')%4
@853_12_1216/1
-G.320..0033.302.11.23.1033.213.1.01122313020111.13.
+T0102231310023.331220320.2302130333302.2232233.3003
+
-!:;6!!<59>!>:9!>>!:9!@::;!=<7!:!713;A9496><699!,2!
+8:68::7719:9<!8;8228:82!89<7,5)7296,9!6,94)08!86%7
@853_12_1258/1
-G.302..2200.023.02.20.3031.022.2.21023202322220.20.
+T1012002321300.200321333.1113322211001.0221102.2003
+
-!556!!54&8!607!41!25!)97&!3&+!&!3--)40)$&966-&!'(!
+&/A,3,&))71)&!/:1&,1,'<!6//(1/:893713!,//&&&3!//63
@853_12_1269/1
-G.003..3000.111.10.20.2010.323.0.10213223100300.21.
+T3113010302021.230122003.3012223330113.0011022.2221
+
-!&,,!!#%)(!%&'!#$!##!&$,#!$(7!%!'(&%&-##&$&1&$!$%!
+))/9&&13):8)3!),1,;?+59!=<6,=:19+/;:,!57))8<7!&/?,
@853_12_1277/1
-G.120..3012.332.01.01.1222.010.2.00130301302013.13.
+T0012022113033.123022220.3300123212111.0332000.0333
+
-!76;!!<798!;56!69!6:!+453!2)9!.!4751&/=96%+;=#!'9!
+7?:1;:?9-<=9<!<>9<9<=:>!6;9<8/=:<79:;!4>:9':7!8199
@853_12_1302/1
-G.302..3210.112.12.20.2321.111.1.31110021333331.21.
+T1230301120223.101200120.3100322101322.2222320.2322
+
-!;8>!!>=7@!;><!:5!=8!=:66!1>8!:!<;/?:88,(<(&((!'&!
+><;5;7:1;1<9%!*/5+)-&5$!#3<&;09:#2#:8!319<'%0!<$34
@853_12_1376/1
-G.120..1103.220.10.22.0002.110.1.20232202202023.22.
+T3030320223230.132032232.2221221200220.2133111.1012
+
-!:;5!!/8<<!9=9!76!<<!/658!>;:!/!=5<318&:.//)*3!+%!
+)3%19//1;.&)(!&5/+&)9/(!9'&.8.%$1,::7!&6164&,!21&9
@853_12_1405/1
-G.103..0222.222.10.00.0323.321.3.23300203302020.31.
+T3012222112131.231011301.1001120002210.2012022.3122
+
-!.#6!!,4+&!7::!$'!8&!0,&%!363!%!'(0#'&76-+.7)#!+'!
+%3098-:)%&%/$!&&,$0/9)5!2.1600)'%)&15!*$2+147!*524
@853_12_1460/1
-G.022..1222.311.22.00.0213.120.3.01000121111123.12.
+T0112221311210.003030231.2300123012202.2100122.1102
+
-!:@9!!>??<!A9:!>A!>>!<A>A!?:6!/!<<9$;;=98:;6?1!3<!
+=>;==?<<?<?</!:<;5=2=?1!;::5@=;<7=;7=!=2;;9?;!@;6)
@853_12_1471/1
-G.223..0020.031.11.11.1301.101.1.33123203222212.30.
+T3330022331201.122130030.3120120330033.1011230.2321
+
-!675!!33<8!19;!71!69!:27=!@53!7!;1974403;8;6,&!4)!
+2'2678/9:::)<!:=4<#+508!62'851,94158-!563$)2/!,(3(
@853_12_1525/1
-G.003..3331.200.33.21.3332.103.2.22100231312123.02.
+T0013020211211.010100221.1122001210211.3121111.2111
+
-!,'8!!,92(!5,#!8+!+,!/.*.!*)$!,!4)*2/1$*,9##**!('!
+-)03.1-;98352!257)(19?2!5859/86,<,79/!)*/()&5!69))
@853_12_1581/1
-G.113..2023.000.32.00.1311.212.0.32011003120000.32.
+T1200133101202.221322233.3212130022200.2212222.0222
+
-!5=4!!<><:!<<;!8;!@@!>/?@!:1<!>!89;==999<;::9;!-0!
+#7#%*2)&#$/=%!#*?&#$'3.!1(:##$,,##$#8!#%$6#%$!7##%
@853_12_1588/1
-G.011..1021.210.11.12.0120.222.0.30222130001132.11.
+T0012021002110.031022122.2033113112102.0332203.1111
+
-!<>A!!><@>!>@=!=>!@;!9;=9!<:@!:!8/<</9>;89/=::!19!
+9)3313A3,>571!6:3:)<1=/!=;08&>8::&;96!.==39,=!9>7<
@853_12_1651/1
-G.030..0021.300.31.11.0111.333.0.31101203300010.03.
+T3020020112212.230113122.3012330121130.3300302.3111
+
-!&#'!!'+($!$$-!&5!3$!#*,#!+'%!)!(##)/3#*'$##&#!$$!
+;&&*&4>.)()&0!):35//&,+!4&5-%<(,<()%;!))%15'/!,;18
@853_12_1655/1
-G.313..3303.222.13.33.0202.332.3.22232230310010.33.
+T3300132113212.231120102.3101302222222.2222223.3230
+
-!1',!!5),4!,,<!(/!,/!.#,.!%)*!%!'44*4#/%0$#.)#!&2!
+##045%+$'#396!2/324'5%.!$%241,&%,*$32!*+)0')3!(8)&
@853_12_1678/1
-G.300..2221.233.11.11.3033.201.2.21201230112212.22.
+T3222013101022.312110110.1021122231022.1122202.1213
+
-!,%,!!(#%#!###!%%!'#!$#,#!$##!%!####$###'#####!##!
+49&%#########!#########!#######$#####!#######!####
@853_12_1690/1
-G.030..1200.110.30.21.1310.120.0.32233333300220.13.
+T3003002211333.100013020.2201200311003.1130022.0322
+
-!>::!!><<@!?<?!9@!8>!>7;=!=4=!<!47698729:=)0*;!57!
+7*&+,553/'63-!395260883!#74#&&85)&$64!($13$##!)$##
@853_12_1779/1
-G.230..1023.312.23.31.3131.332.0.21212000202120.00.
+T0102310313122.202100330.3103121320021.0202000.1203
+
-!<:=!!>A><!8=>!?:!7A!;>7>!99<!7!:<99;?==/:>8=9!>1!
+<<::6?>74:5=<!=>==%<:9:!97>:&:;99$699!%:;=-(7!98#*
@853_12_1813/1
-G.030..2022.312.11.12.1331.222.2.20300030132321.22.
+T2212223211313.231233331.0033022201031.0000120.1113
+
-!9.3!!/937!,/9!:6!,/!:-25!8,/!1!/1&5<5,4%)#5(&!*(!
+863,37338/69-!6999,064:!//$*12753365:!%)7//2+!,:;(
@853_12_1826/1
-G.001..3322.310.21.01.1003.300.1.13300002010200.01.
+T1222312110312.213033300.1000031111002.3110021.3002
+
-!*/5!!&$,4!-<8!33!)5!=&1.!/#9!4!3',#,3(%.-,&3&!+2!
+/<<=/<733*.,3!')&60&96,!5&'96579;,>&,!098'/)<!&1(2
@853_12_1848/1
-G.032..2203.121.32.33.2233.023.0.11201311011120.31.
+T2021222331213.113303133.1233222332222.1221321.1222
+
-!=:=!!=>=<!?>?!9<!:8!<:8<!>=8!>!?>:><5:5=?9;;=!97!
+:><>;::8;=<9:!3,%$'2%'#!#&#'&,'*)#()#!,#*#-%(!&#)#
@853_12_1868/1
-G.000..3111.301.11.31.3312.001.1.00032131111103.11.
+T1222000220021.123301000.0333030322132.2112221.2221
+
-!<;:!!;>==!888!36!46!:96;!7?8!8!6)4&:2112<+480!(7!
+;8=8?9><4??69!?879%)<%%!/929,&;'&2'*.!#-'$+#%!--'-
@853_12_1929/1
-G.330..0313.012.13.21.2031.230.0.20310031021023.23.
+T1103313131131.222012212.0312030312000.1222202.0101
+
-!557!!<5;<!6;:!<:!1=!<:59!1:5!?!;-33=<)8<;9-67!2+!
+=<?;88<;<;;<;!67=<?;:9<!<<::=599:==:9!;87<;>7!1:58
@853_12_1932/1
-G.130..2002.023.01.10.3021.013.3.10001031021303.23.
+T2123313131211.020220311.2211002200130.0211000.1201
+
-!;#2!!<&6*!;5)!=6!2>!97&9!:&)!3!+#35)$$#*#''#)!'(!
+82;%46$5#61.5!5417*:-70!2.73#37(6)6.7!621:)%3!9*07
@853_12_1989/1
-G.300..0000.212.03.01.1231.331.0.11301130011100.22.
+T2213232100320.012011212.0303100120321.2203122.1312
+
-!9:<!!>>=;!789!>6!=>!>96<!75;!9!=>.:5=059<:;77!94!
++&1$1:3A/911/!7>/<&;:/8!3;/73>8:<99:9!;5345<9!?/,4
@853_12_1993/1
-G.211..1230.203.13.20.2100.221.0.00001311031110.22.
+T1233001233011.122013222.1113220033221.2113123.1322
+
-!166!!<958!7<+!<8!6<!55,8!)(1!7!<+,56(2/6)9(/7!4+!
+851293;5445<0!;554:2252!;,<2459:/4)25!,7+###%!%1##
@853_12_1998/1
-G.303..3303.032.02.01.3120.101.0.20101133223201.01.
+T1313020112301.300013200.0002121033113.2023230.0200
+
-!5>4!!82<8!?4:!?8!>>!59<;!<;;!:!6;=&:=+5)5,59,!:9!
+;5?2:8A?:57<#!0;?5,26?9!><>))7;8*%??1!1>;15#=!923=
@853_13_229/1
-G2021..2000.132.20.20.1010.220.0.10002020122032.12.
+T3032130221003.212100220.1322333123123.3323221.2222
+
-6)0'!!7+)4!885!:4!42!3%4-!85+!+!/,67;':)3<;':8!,%!
+3(85.)-/.,&-3!2&4)),:7%!-/:313'-#,&,1!/)#3-5)!805(
@853_13_261/1
-G2302..0231.122.12.12.1220.022.1.22222221222222.22.
+T3223332332112.021201132.2212032220222.2211222.2222
+
-'(('!!($#)!)%&!&&!#&!+)%)!&#'!+!.%,%)4'#(03*#$!'$!
+18&&1'(-#6&4$!)%,.0&&35!,&/+,)&(2')')!*&&(3'2!%4)3
@853_13_287/1
-G2303..0330.120.33.31.0212.122.0.03332233211103.22.
+T3002301011111.300132221.3022223012231.2202122.3222
+
-12&6!!8196!8*+!7:!/6!7#&1!5*-!&!/44/6665*5)),*!./!
+.1-,&02,,*+1)!&-&3%$46#!&(6'##1,&%002!,0%1'./!)-.%
@853_13_298/1
-G2022..0331.110.13.01.2221.121.2.32210322310223.22.
+T3310133113333.333222212.3002221122001.0012122.1222
+
-9,&,!!'))0!1&&!14!(/!2/2,!.3)!*!'##-1,8*,0&&+5!*&!
+96,06697)56,3!7734%38&#!)9+&&3;4$$31)!(,,%�!%)'/
@853_13_308/1
-G0112..2001.231.23.21.0122.222.3.12103222101022.22.
+T1330000332213.203321132.0230322332222.2022222.2222
+
-1271!!2555!443!65!,8!5752!98;!-!82.314&.533&&0!/6!
+'/01):78+5/,,!&)%&$%(,$!(%#&#&%#%#$#%!&&#&-$$!#%%*
@853_13_366/1
-G1230..1010.121.22.11.1221.222.1.01112110202010.32.
+T0030302032002.002300202.0221333220013.0003331.3322
+
-),''!!0,&#!&),!)%!6.!&%,)!''6!,!*5-/&/3&+6'3)&!'+!
+56-,)0&528/&'!,5&((8&<(!/4&35)0/(;;11!98)1&-,!)))&
@853_13_396/1
-G0310..2231.222.03.01.2023.320.2.21310022321201.32.
+T0223210101303.230033113.3012132123322.3222222.2322
+
-7884!!16+:!5>1!44!,<!8/5=!37#!:!9(;822'5=13&):!1%!
+0>?:;4;:8:98=!=;98><3:>!60/5,15+()$'/!&)/2%)'!5&)1
@853_13_414/1
-G1330..3130.301.20.20.1322.103.2.20202223220200.22.
+T3321112211211.011012222.3012121222112.2200320.2222
+
-/251!!6713!629!:1!57!/)5/!;15!:!/9&81$3*639,:1!8%!
+*%28-6/,.72((!:;*8183*3!#6&%-8#2%5<7/!#''2%2(!4%+$
@853_13_479/1
-G2211..2300.030.10.31.2323.132.1.22210213322222.02.
+T0032301322021.222001320.0203221022200.0033131.2111
+
-&&*:!!07,$!(9*!%*!2#!,62&!5.5!*!3#%&52&'$05/$#!,1!
+1&4,(%.%%%*#2!+%#%#&+.%!'%2'#$'-)#*&#!%-%)$(,!.%#%
@853_13_531/1
-G0111..2030.222.32.10.2110.201.0.22112212332110.21.
+T3301031311101.221031311.2122220110102.3031313.2121
+
-7<<:!!:8<7!8/:!%)!##!)#&%!(*#!*!+%$#&&')#$2%%&!1(!
+;;<;5<:?>89:8!@:66=:?&/!71457877:)/33!11>16/*!0..0
@853_13_553/1
-G0000..3202.201.03.32.0012.000.0.30330221301320.30.
+T0102021320313.221012301.1232102100010.0113221.1010
+
-;8=,!!89<7!5:1!96!%5!17/8!9:5!9!/48595'87=729;!3#!
+939:/:<6:76;8!/4>15:6=:!54/;1-><;7*8<!;-0495&!;;8'
@853_13_594/1
-G2322..0013.023.22.11.0111.200.0.01001210002200.21.
+T2012000102023.201011200.0212232221120.2230010.0002
+
-##$#!!,$#%!,'%!#%!,*!#,#%!',#!$!'''###&%##4+#)!+(!
+:8<%#),6'9.9'!))'(-1&-1!%%8)&/.7&),)1!8'&81)2!;5&$
@853_13_602/1
-G1330..0103.311.23.20.2001.120.2.03022200301131.12.
+T0032210202213.213101232.0022021020220.2020202.0222
+
->6:;!!<;:<!;9=!;:!9<!:;?8!>76!2!6/%994<$4>:;,6!5*!
+;6274=;;;2-/1!#$#'2%%'%!)$#$#&#')&$$$!(##(-$#!'($$
@853_13_638/1
-G1021..1221.321.20.31.2112.201.1.01033111121101.11.
+T3130021123000.023312112.0303100120000.0031212.3210
+
-?>?>!!=>==!;<>!;A!+;!<?<:!;>@!>!)/;=<1:=>93&/<!,5!
+<A;;>>AA<7<>>!=8<>578?<!=6<>7@>:=):>7!>8563/(!15&'
@853_13_648/1
-G2300..2111.321.00.31.1231.210.1.11300213220010.03.
+T1231301002302.211020211.1110213202321.2112223.1222
+
->>::!!?;=;!=8=!==!9:!<<;;!=:<!-!;999;<9818;97'!:2!
+:8684:9<98:;;!3:9:982<=!85886670'%)#&!$%#$&$#!&%(#
@853_13_721/1
-G1331..3120.221.02.20.1102.113.3.30221120323323.31.
+T3333230132303.100130302.0233233332233.0030320.1133
+
-9&:9!!&(>:!()'!-1!$4!1/)/!=8,!,!&/9,;/'1'/5/)5!3)!
+A+94,511),&&1!,)&/&/1&,!,5;///&7,&168!;)/,,,,!)(,,
@853_13_809/1
-G0012..2002.113.21.23.0130.232.3.32200221300211.00.
+T0003331131002.130231211.1113311200111.3100131.1331
+
-8:,2!!7,:2!:27!79!3-!:#98!7':!(!/2+,9%74-:#:8%!(;!
+28366.7;8=::1!?);;7:$74!4/3+&'#3,#$)0!-.(68-&!58./
@853_13_850/1
-G1131..1132.103.00.00.1301.201.0.00033023120211.00.
+T1031012102222.202211131.0311102002103.1122003.0000
+
-<135!!,1/,!4;4!2'!6>!/*:-!)57!'!;7#*'8,#),4.(.!&%!
+1%$%2%$&%/$5*!/+$2(,7&:!8$&98+%)7).7%!((%9)5%!3&3)
@853_13_1030/1
-G0121..2122.221.01.22.0332.102.3.21212113201120.23.
+T3132033320122.112200201.1121312211221.2133221.1222
+
-&)//!!6&&9!7.1!73!(7!&&6+!>1&!9!0/),;;+)372.&)!/&!
+&)-#&&&&+'&&*!')&&)&2&4!&&-&&*$),%%$&!#&&1##&!,%#&
@853_13_1042/1
-G2200..1312.122.30.33.0111.233.3.33330232122131.23.
+T3212332011113.232102322.2022221122232.3221322.2332
+
-',#*!!&&(#!/-/!/(!#,!$0+$!&&'!5!&4##),1#&54)%'!')!
+$%&)')2,))&)%!)&53%&,(,!&*&2+,%7,$6'.!.0,('0&!&.2)
@853_13_1092/1
-G3022..0232.101.01.32.2111.222.3.20020100032322.11.
+T0112000212200.122210020.3102222201222.1122222.2222
+
-;;<<!!89<=!9:?!;<!<;!<4:<!&'4!<!#:>=5(6:=5+6=:!'0!
+.851+/36;8925!&0(/&$./&!53.51#2/#,-3/!'#(&/&#!**)$
@853_13_1171/1
-G2222..3222.202.32.32.2121.232.0.22223222122213.22.
+T0223320230220.021233321.2333222302221.0312131.0002
+
-AA;?!!*#8&!%,%!'#!,#!$#%%!+,*!'!$%(#,*,''%4),%!0+!
+<=>9=16;8;=?6!,='6<85<;!:7/9;?=**9>7,!7;/):;>!:8,5
@853_13_1222/1
-G3031..0033.311.10.10.1102.000.1.00000202000013.00.
+T2112021113011.311011302.0231220013331.1311020.0013
+
-#%#$!!30+4!)$#!'/!$'!%0&(!&1.!,!.#2*5%)#$%:%,#!5*!
+&6,&0'&)'1&/.!#','-1,)-!%(%#&+%&'-4+&!'/&))*'!,&3&
@853_13_1226/1
-G2011..1112.011.03.11.1300.120.3.13221111122110.30.
+T2302002311200.321000031.3213001222231.2320023.3321
+
-;;<=!!>>:=!8>>!;<!'>!:<7:!A1.!;!:1<;@<)>953<91!=%!
+<=994:=<:;<84!4:###%(7#!(2,0&(15',+1&!/#1/$#%!55'2
@853_13_1245/1
-G3132..1021.222.32.30.2102.011.1.20301232312233.23.
+T0313130301321.113221002.2122101210030.0133321.2011
+
-A<99!!>253!:52!<>!63!:5-6!91)!1!/#2#:*)+'#%(#'!##!
+-+$*'7,8()3$%!,/2/$$$,+!'.10'((,%&%5+!(#141(+!,%#.
@853_13_1280/1
-G3123..0033.002.03.10.2103.021.3.23120222003303.03.
+T3311003112132.133322131.3233121321313.3002103.2123
+
->::8!!;:<=!;=;!;:!<<!;=<>!:;<!<!?:9;6<7=:=:<&9!/-!
+78687898-1753!#/22,,,;2!()9,,#/5/&-59!$&)3-%'!24'2
@853_13_1306/1
-G3203..0122.112.22.23.3333.021.2.00333323002200.31.
+T1111012002203.213122200.3102300123331.3000003.0021
+
-(&#,!!<'.4!6'5!2/!4'!&0##!3).!7!'(',)&$',%*%,'!.&!
+$#*63+%5,$),#!28%<%.162!'8*1%53#(+551!.574$*#!5+##
@853_13_1341/1
-G1010..3322.201.03.32.2222.232.2.21213222122201.12.
+T2201013101110.100213022.0101123000210.0330211.2211
+
-A<;8!!=<:>!A5<!?=!8=!>699!0)4!&!&(&9&,&-6)&1&1!&5!
+96557:<57:695!94765;1;6!877::75:4699.!6:930:7!::89
@853_13_1365/1
-G2222..3313.201.21.21.3010.212.3.31003112123021.32.
+T3011300013211.312033311.3111110223013.0120021.0212
+
-?:??!!:==;!;7@!9?!;@!=;@>!=<<!;!;=:=;1;;,7<4;9!8:!
+@;?7<==<;>;=?!?;=3@<<9;!=6;;:4:<;8/+=!304;741!<38,
@853_13_1443/1
-G3110..3121.131.22.30.1000.101.0.20210022233112.12.
+T2031033110030.011112022.0222013110331.3123310.1203
+
->:<9!!===9!68;!8=!8;!:;:8!<:=!;!77<8:;=<7889)2!18!
+=<:::><=7;8<8!<<>;2>::;!8==;1<>:968=<!,:9<9<:!;7,6
@853_13_1483/1
-G3202..2332.210.01.10.0213.122.0.10213202123222.21.
+T2023323133131.221222333.2233223222212.2222222.2222
+
-AA4=!!A>><!@:4!<@!56!<:7=!@<:!7!9)=8=;,<46:897!42!
+#0####1####8#!##($###(#!#####$#%####$!###%###!&#$'
@853_13_1505/1
-G3311..2133.103.22.20.3032.301.0.10231121301130.03.
+T2212120300302.233033312.3331132111123.0311133.3322
+
-',93!!&:/A!>%6!(,!54!67(7!.78!)!/$4*/4'('04)6#!)2!
+.:;<,>*/%65))!546(:7)<3!>3431;,38),/=!&:'&&,;!5&/1
@853_13_1606/1
-G2223..3101.320.32.21.1320.101.3.22332200223123.23.
+T3023123012222.002233113.3322021002022.1010213.2211
+
-=9:3!!9=19!987!:=!86!72<7!8<<!:!=7799;:9:=3755!86!
+89&49;;7;:5&4!71&08:;33!8<<9;<?A61;<;!5?:78:5!'0%&
@853_13_1626/1
-G3123..1303.133.13.33.2021.021.1.21022333322322.32.
+T2222233330012.310032221.3331333323222.3130233.3331
+
-9959!!4778!?:9!:9!94!4165!/55!9!5#,/+60/1-14*/!/$!
+',11/=+1<6&&1!&,5/:78$#!+,&1)*(&##$##!$'##,(,!$1,#
@853_13_1672/1
-G2100..3230.031.11.32.1133.300.2.22220102230322.23.
+T1211030213021.221113110.1011132211011.1122232.0112
+
-6735!!:(34!939!,)!;:!'?7@!(<)!<!&&)&,4(1(:);+1!$)!
+.139+97,57;3:!72)%'&2#0!$*)).++2*.%,'!4.&$(&%!/%1(
@853_13_1784/1
-G0101..3330.211.30.30.2233.211.1.02003010101132.01.
+T3221322232101.010013222.2111212100011.3320301.0103
+
-9=;:!!<<>9!A7?!=6!::!739<!;.;!<!3;89'-9293(7<3!,:!
+===A:@@>>=<:>!9>;9==>@A!=>>;>;=>8:3=<!@??4<8;!/:7;
@853_13_1840/1
-G0301..0003.123.00.20.1311.010.0.21310233133333.32.
+T0103222320012.203013210.1202132132102.1100001.1030
+
-75;;!!59:9!>9/!A?!53!84=7!6<1!>!:3&60-&,/)8:-*!8&!
+;;;49:<74=<;=!585484999!1<95:,:81/'##!#$$#(%'!''$#
@853_13_1892/1
-G2031..2211.123.13.00.0013.033.0.03120120311132.22.
+T0110000330022.322133222.2220120031001.0111211.3212
+
-)6./!!/&<&!/&*!)/!/&!>&,<!<($!2!2/>),=6);5:779!46!
++/5:58)&)/87&!)74:#&33)!5%4).&9:1(361!0)'60&5!9/#%
@853_13_1911/1
-G2210..3120.123.12.32.3130.130.0.20012133120021.02.
+T2023023111022.110102003.1223000300012.0112322.2200
+
-02,'!!.'#2!.#,!<6!4,!21%6!/'%!4!)%5141/%4&%$#.!3/!
+)/#$',&/.%%0-!,+1&8*'4.!6$5664%+8(+7&!&-#&(6&!'0,*
@853_13_1937/1
-G1300..3321.102.03.21.3213.022.0.00212022301133.20.
+T2100301201111.021111300.2301022012322.0220011.2011
+
-?688!!:6:=!A6=!:9!=;!48;2!55=!>!9=.;;8:6-879/6!67!
+8<8;2;>:=:=<8!<:A=>=7;.!6:94;<<=3:5=8!:7<<+:8!51>;
@853_13_1983/1
-G3033..2103.122.21.10.2020.220.0.20011223133331.02.
+T2333131330231.222331021.1113022200202.3322312.1322
+
-91,5!!5/22!;65!9;!9;!8(83!;)1!5!*,3;(%5+/83*.1!'.!
+2*.,58>,.47+;!#7:+-386'!,88154:$525(%!,-60(&4!)5/4
@853_14_48/1
-G3220..2020.202.32.30.2301.231.2.30210000113023.33.
+T1200133320202.222220223.1212221322000.3012231.2222
+
-,35.!!8125!713!29!,1!8,/3!;,,!1!1/7565,,1)1)83!/&!
+.61./,3/4)/'0!//226)41&!/$).96,))5),)!)&/5))&!::9+
@853_14_65/1
-G3130..0211.312.31.11.3302.201.1.10320000112200.22.
+T0132320111332.332322222.2222222332222.2222222.2222
+
-,&,4!!)33)!,85!/)!51!/3*4!.',!1!,+,56,,&,&63).!'7!
+)3&3+,*$&))+%!*%'$(#()#!(++(,&(%%0#'(!,(,#+*%!&-*+
@853_14_88/1
-G2102..0002.130.12.20.2220.022.1.20122222222212.22.
+T1222321012121.132322223.0110021222222.2222202.2222
+
--$+#!!&&'%!$#&!'%!#+!%%'+!&'#!&!$'#$$*)$'$(##$!-%!
+,&/')&'&&,'&+!',&,#.*&)!&&($&#&%&('(,!/)-*%&*!*3+2
@853_14_129/1
-G3212..3022.312.10.12.3020.212.3.13132122031323.22.
+T1030102022000.222212020.2232133311322.3222231.1223
+
-1428!!3188!758!74!38!6/95!259!1!/,15/188&61&.)!+3!
+2/355'5#98+1,!:98#-:,8%!<663.7/3),8&5!5:9;41)!(:$(
@853_14_191/1
-G2021..2323.102.12.22.3211.022.1.21203222222222.22.
+T3322213232222.222220202.2022121222221.2222222.2222
+
-#/(%!!9(#'!/##!(3!$,!+)&$!00%!'!$0,'0%)02$'$##!')!
+/+#'*'/##(&',!&%#*+&#%#!%'.#(##%####(!,2##$-(!$'*,
@853_14_225/1
-G2300..2023.011.21.23.3032.213.0.13312223132001.02.
+T1311131021200.002331101.0001113222223.2112202.2121
+
-:625!!55:9!177!56!36!35/6!4/4!3!41666:342,8.38!,9!
+3479956788564!178855446!69;::62$75%-$!;&(#5-#!()9(
@853_14_247/1
-G2100..0200.100.02.10.0233.313.2.20321222222212.22.
+T1222033303221.012110303.0013002222323.0220200.2222
+
-,&68!!8))/!&7/!&<!6&!73,8!3,'!=!5*&,,1,9&(%(,)!0(!
+:3,,&///)1<:/!,8<,&)/,5!1,)&/,313,'<'!),&1<'7!=&;:
@853_14_273/1
-G2221..2222.222.21.22.2222.222.2.21211222222222.22.
+T3110012100211.021213220.1003201011303.2221223.3222
+
-+,#%!!##%#!()%!#&!'#!2*&#!+/%!4!%&#)+/446&00.2!25!
+:(5/5(&,&8)&&!,3'5148,,!1.1)6:,//&1*&!0;:,&.,!);:&
@853_14_291/1
-G1033..0113.022.33.11.0032.232.0.20212023130023.33.
+T2212211010122.200332220.0032221222221.2212222.2222
+
-&)<2!!%),&!141!;/!1/!819$!9/8!,!5-&3.)8)1)/301!33!
+&=1,,1&&&5&%/!4&+6)&(#'!'%'),2&1)6)*)!7&$,&61!.),%
@853_14_322/1
-G2021..0002.011.03.32.3120.011.3.32231122313313.22.
+T1222231312023.212123103.0120023021202.0211221.2222
+
-<83/!!8438!2-5!:4!18!9684!562!;!+55:14:&92,6&7!-9!
+8;<87865.69<3!<6=-=:87.!78:(87434%;(8!.<#5&/)!;#*(
@853_14_333/1
-G2213..2122.322.23.22.2222.222.3.21223222222222.22.
+T2113030021111.333123121.0312222222220.2222222.2222
+
-$('&!!$##$!%$+!#)!$#!/###!#)#!+!$#46%,/&('$-&#!&%!
+&.#%+'&((3/)2!%&0&4&)8&!%(25*(%+'%$00!/0&)$')!)34*
@853_14_371/1
-G3302..2011.112.21.21.0222.230.2.30303323233332.32.
+T1132033302002.000330102.2200023002210.0220322.0222
+
-5*5/!!/243!.2.!8&!2/!&830!#&)!.!1/&,%#%%/#$%**!#)!
+1,4+'576'#38+!$338%%156!$452)#'6-&+%<!,##98##!55()
@853_14_386/1
-G1030..3202.132.00.31.0220.200.1.13220221202020.20.
+T2203002323130.122020200.2301310000200.0020221.0210
+
-&0(4!!&&12!*.'!&8!$8!6,&)!%)/!$!',)0)+-2&,(*&%!+(!
+,&,&))417&&)/!+/175+523!'&13&&2'6,&20!)+,2,/*!)3))
@853_14_391/1
-G3213..2310.113.32.32.3220.220.1.23020222022200.22.
+T3102012032121.202022221.2232022221222.2202222.2322
+
-21,/!!71,:!901!69!1/!85,2!:4$!#!,#%'$((#*4##'*!%#!
+3,/(/0#).30..!1/4#),5.(!/82015**#$$''!#0&'3&%!#.('
@853_14_488/1
-G2033..2112.003.23.12.0022.310.0.13012211322032.22.
+T1013032122031.323122131.2213223222323.2303122.0132
+
-,=3/!!&16)!)53!,/!61!/,2;!=*(!7!248/2%/893,0<6!*+!
+44812*-.4;%<9!*-7++/&61!35#1/&/58/,0-!%7+46$(!*/#/
@853_14_541/1
-G3102..3203.310.23.11.3330.310.2.20022021022000.01.
+T1310230100230.033020233.0122003300003.0000001.3022
+
-/74&!!/1%8!33:!91!,9!1&,6!3),!&!,.()6*'4(-+%/*!,+!
+,,1.&&&);4((&!10,/5993.!>):439,,&7=96!*&49*8&!9($/
@853_14_549/1
-G2020..2220.210.12.03.2000.300.0.31130030321320.00.
+T0100211221012.332212330.1002102011102.0000202.3233
+
-<0&$!!)(.,!,)2!/)!)%!,&'8!'6'!#!$#*#+*-,#%#,##!83!
+2%))%;#&%%#%0!&'*-54$&;!643,&1'/33)=1!#,,'#'%!9&.,
@853_14_563/1
-G0002..0200.122.10.01.3310.200.1.33312232003010.30.
+T0300003000002.133233321.2033020322131.2220022.3321
+
-#+$#!!*%%*!,*&!#(!##!(,#,!,#)!1!,###(#)#$,%%#'!#)!
+,/1$,#5(,$)#)!#)&##'#')!%,,,)#*&$.('$!#$##$#,!%##$
@853_14_609/1
-G2212..2131.003.30.03.1122.112.3.12133032203121.33.
+T0112010212213.123122102.2212222212221.2221222.2222
+
-;::>!!;77<!96=!><!7<!>9<3!=;=!?!&;9>:6786=)/53!)7!
+:=9=9;<<;=<<8!'&:+&$&/0!(1'.'-0&)32-&!.+)*#8&!&86/
@853_14_644/1
-G2100..2111.221.32.31.2231.210.1.12210213322011.03.
+T1232102010211.211310312.2130100202312.1231220.2002
+
-%%*,!!#*,#!&,$!(#!,$!#(%%!#1'!'!,&,%##'#&#*)##!)(!
+$92:&%&$451.,!-%4,&4&#.!28)%548&+(,90!01,0)))!3%&4
@853_14_654/1
-G2231..0211.022.00.01.0222.112.0.00100212310110.03.
+T3012012111203.233111132.3101012122021.0300020.0033
+
-59/2!!;9;<!;65!89!1;!:665!5:5!8!5.9%44:2036555!:2!
+<<?=<<<;<=;<<!<=::;><=9!8;;;;<6:87=>7!<78;5,=!=81/
@853_14_687/1
-G0320..2131.220.32.22.1010.220.0.10220020201332.20.
+T1132111102002.323112212.3011013103112.2131111.1312
+
-=;8<!!8:<:!7><!<6!<;!=9<<!9:@!<!<>65<>):7=3/,7!)(!
+<:8:7:>;48;7>!8<4>79<:<!7<@;:5<>71&:5!6$:9;=)!>4;5
@853_14_694/1
-G3210..3002.113.20.12.3123.002.2.00300110020000.20.
+T3322322210122.302210121.0300201331001.2030333.3221
+
-()2-!!)&,%!3*-!/,!'/!)&',!+&/!'!+&*)0&++',193$!(6!
+)274.&#%05.&0!'1$%/:*/#!/)#((60$-(88%!&<&')%1!0%))
@853_14_758/1
-G2321..0102.003.22.01.0320.101.1.00200022201312.03.
+T1321202301222.033210210.0300011121321.3133211.1223
+
-=>>=!!=><>!&4<!@6!;=!&9:;!)<?!=!;;:=.;=:</<<2=!9<!
+><;?;:=>9>>?;!<;;:6>;<.!<A=;<<;@:1=77!#,%4*'&!%/#$
@853_14_833/1
-G2320..1011.022.21.21.3333.222.1.02302110021100.22.
+T3310213023021.332021213.0322322002222.2210132.2323
+
-85$3!!%+/)!%')!)$!38!&/..!).4!&!,/2.',8+((2&'2!3)!
+$&.-&-&:7&)8*!1&3/3,&/.!&7''))),+,2,/!'&41*0=!&)3&
@853_14_870/1
-G1113..1112.303.23.11.3333.133.1.11311332233331.12.
+T3222123013233.301333303.3033000223000.0312223.3222
+
-2)*+!!22,,!2%+!%$!$%!%%)#!%42!(!(#7#0(1)%%65+%!-#!
+98)6#/)37)1+7!6()(&253)!&+07+#%3&/23%!)4&4-(0!)/.'
@853_14_924/1
-G3230..3221.003.20.11.1320.133.0.11032210302331.22.
+T1220222233220.203302213.2112031122312.2213133.3222
+
-2%&%!!&,$1!8$,!(0!#$!,##$!$#,!#!%))))%'#).'%#&!##!
+842*,&/0%#-3&!%#2#(&'-(!2#*,%2-/%*,#*!'#''##'!,)$#
@853_14_976/1
-G2232..0311.132.11.02.3002.012.1.02300033003003.32.
+T1032120002200.311210210.3032321231302.2331110.0330
+
-:A??!!=;<@!@:<!<?!7>!?79>!<8;!9!9><7,36;4/:65-!):!
+:<=>A<=96?<;9!<;9==>=:7!=::9>?:7=6?;=!===;8=;!5<>9
@853_14_985/1
-G1320..0333.220.33.23.0020.220.1.11211010202323.22.
+T2330202321123.210122222.2102123311021.0331200.1230
+
-,)(2!!(%,%!9,&!#.!:#!)&)3!&,&!0!/6&5)8,*90(&,&!()!
+,7)&&&6/,1/3/!&.8$/,/,)!5/&,3;75,&/6)!3&)&&58!),*6
@853_14_1006/1
-G1001..3200.220.02.00.2222.120.3.11113100223332.22.
+T1020022101000.021103331.0011301103002.2222121.2113
+
-9=28!!<=><!:>8!:<!>3!;=55!<6;!:!5>86:<;,;98:8:!;:!
+69788<59;=::8!;<=<5>===!<;;@<>=<346;9!;<<9<94!75%)
@853_14_1016/1
-G3112..0111.211.22.10.2002.330.1.11100032210313.01.
+T3222110230210.020130020.0121012210231.2231230.1111
+
-635,!!,<,1!&),!&>!+,!>,2%!7(0!.!5$(9,)&(.)/,)/!1'!
+&&&,%)&0&&)'3!72'4%'+-,!&&*62&5,4&$3)!4&211&)!110'
@853_14_1065/1
-G2120..2212.121.11.12.1320.202.1.32332332313101.22.
+T1200000033013.000213311.2210300303333.0133030.1330
+
-72/6!!6569!63;!84!9-!:(&#!%#%!2!#)#/))'#1%#&#%!&)!
+;:/0/.1/(+<7:!(.794'983!.8>&.3(1)'991!1038,.7!441<
@853_14_1070/1
-G0022..0222.331.22.21.2102.202.1.11220230302200.22.
+T2210231200211.131133030.2113003032212.0222000.2222
+
-%#2)!!#*$#!2&%!'(!&%!$,2%!$%#!,!1,)#&-#%#)%.*-!4$!
+'9:::+&&9,)/,!35(5)$(''!0)'(&&'.$')%%!&&&)#&&!&&1'
@853_14_1075/1
-G2032..3112.200.20.10.2111.232.2.21102211022222.22.
+T1301000111303.233202012.0010210032211.1002020.1122
+
-<@::!!::=<!<=?!<?!<>!<>=:!42,!3!5)&&&#(,1%%$(&!%'!
+>8><>>9<<>;=9!>;8<<=>>=!>==<<>>=8:76<!:3<859:!<:;7
@853_14_1087/1
-G2212..0000.110.12.13.3213.100.0.32312220112232.21.
+T0033302301333.331323333.0013311000030.3002121.0301
+
-=,92!!3>=:!46<!)4!+,!29':!&,4!4!/07,):6:0&%-9)!&4!
+7/2459;829815!:8539:5&,!40(/37&<436(1!87/6);6!,'&7
@853_14_1103/1
-G2122..1002.011.22.00.0230.033.1.32030000202311.33.
+T0302301222002.200211200.1323333123222.2221330.1322
+
-;<'9!!>&86!20'!:<!28!0'%6!9$$!2!%#.8*&#'.%($'0!'#!
+-28$,8+-7*/48!4.6-+&*51!.43&/-142-12'!)/,&,$,!-'05
@853_14_1119/1
-G0231..0021.001.20.01.2322.322.1.20311011111112.32.
+T1323221321202.202330220.0213000012122.1123300.3121
+
-;<>;!!;:=?!8<8!:<!:>!=<=9!=8<!;!<8<8>9<=<=<<:6!;7!
+==A=?;<=9==8=!=:9<>8<;(!8=5;==2,<>,=;!:67;791!:&55
@853_14_1165/1
-G1012..2310.202.02.30.1312.132.2.31203122123322.01.
+T2202001222101.001211000.2020003223112.2220001.2223
+
-;8<>!!<?:9!<,<!<;!9;!8165!'$2!&!)#,$+*'($*2,)%!%*!
+;;>8::>;>>88?!<<;@@A==;!=:;,981>5:A9@!?@562:7!:3=5
@853_14_1197/1
-G1332..3120.220.30.00.3111.221.1.13031201132112.20.
+T2210132120322.222202312.1032111313110.2003210.2211
+
-@,,=!!+.,@!&/>!,,!>>!/>/=!&=)!/!8//(/3)>//95<5!<.!
+61&8,&1):2&83!:3)@3&6'>!&&/6&71/3+1&,!5,&:7,7!7)99
@853_14_1241/1
-G1003..2230.202.03.13.2111.230.0.10300330110211.32.
+T1313001021202.323010312.2300022210121.0321321.1120
+
->:59!!7/5:!8/:!7;!/9!.73:!=,5!:!3;5;:349/2=,88!98!
+78379:853;:8:!382,?;767!><;(:5=<,>=7;!@:)/';=!:&=7
@853_14_1250/1
-G0321..1211.130.20.11.1202.102.0.31001233130122.02.
+T2022213132230.323230322.2200233022232.0112100.1332
+
-<9;>!!8:9;!:@;!;<!=7!=:6:!<2;!>!;7.51/93''/;5&!)8!
+39@)3)1;16:8(!/=0,15)1/!3/</,?,19;>,=!:3&141<!,1?8
@853_14_1327/1
-G0222..1122.320.33.30.0220.222.0.22203221332223.22.
+T2021212110222.202111130.1221321203223.1312322.0330
+
-=>A>!!:=?9!>@>!=@!>=!=>?:!788!)!-5',&0;&*/:3*$!5<!
+;=;?@>?A@<AAA!>>A>A@@>;!<@?>?@9@9<@@<!1=>==;@!8<<<
@853_14_1347/1
-G3022..1203.321.11.02.1011.101.2.11002232001001.00.
+T2222103002313.002121202.0110110201212.2132213.0211
+
-=?<;!!?>9=!;<>!A@!?:!@&56!9:=!9!35>::8;:=</<91!8;!
+:9677<96988=6!9982882:9!;<<5:;8;:<-7;!<;6=;:0!;:99
@853_14_1352/1
-G1322..3022.223.01.30.3010.300.0.21210001322111.00.
+T0322130022232.212111203.2300331000221.1313103.1112
+
-:<'2!!,6,?!52(!52!,2!6,9'!.)*!)!&$,&:(9&4*2)2(!%&!
+=&,5(&53))&+,!,,%=&1&&+!'5-,31&+&,):9!))))5&9!5/4(
@853_14_1385/1
-G0320..3022.211.20.32.3322.132.0.12230210121023.32.
+T3002203302022.232012021.2301122110223.3321002.0322
+
-:;;4!!A:=@!?;=!98!<=!?:;8!,8;!4!69?>)8/3;8/,=8!)8!
+<708'%253*07:!$:027#$:9!%&45/##474$#2!6##524$!/97&
@853_14_1447/1
-G2320..1001.132.20.31.1130.200.2.00313111310201.30.
+T3223303110002.312133012.0302223122311.0133331.0233
+
-?:85!!;6::!:7:!9>!8?!7/<8!94;!@!:5:887=<:3325:!<'!
+?</<1######&#!$#(%+##$'!#''*'##,#)###!#%',).#!#+$*
@853_14_1515/1
-G0102..3213.300.13.20.1230.012.2.21201101201101.11.
+T2333131102123.201103020.2221212033022.1101011.0313
+
-;5;8!!8:<;!1<:!,8!;7!1:;8!8=<!9!;?731=9585=>08!??!
+5/':6:;&,/+),!9,</)8</6!(99&1<8,)(,&)!2&3://5!)112
@853_14_1541/1
-G1312..0311.200.20.33.3031.202.2.13220211222312.31.
+T1111101123332.122331031.1223132131011.1311103.1310
+
-=<1:!!9=6=!>5:!;;!>;!>0>4!9;:!=!8>;?6;2::&'385!)&!
+$6//478$#7<5'!$2#292&,6!64094/4(7'%&/!,%-)#*#!%($.
@853_14_1569/1
-G1113..0132.002.12.12.1211.021.2.01030131101300.00.
+T0220201200303.303332030.0312201221000.0332222.2330
+
-3368!!468)!&1#!<)!&)!,%,)!'$$!*!&2%46%(,,,.).$!$'!
+'9//&&&)41)&4!($'$0:&-&!'()0:)#&2,,%$!$))%4.&!).0(
@853_14_1658/1
-G1112..3021.113.13.32.1222.021.0.03221230110030.12.
+T3002130113102.030003322.2100333012212.1230002.0002
+
-;;><!!:><=!A=7!>:!8;!><=<!><(!;!<78;?;87;;<-24!9.!
+:>6;8:;::7;96!77:=A7:8:!9:5=69;7<;551!947;9<6!(<=6
@853_14_1702/1
-G2123..3021.210.01.21.1030.320.0.33011200122002.20.
+T3023332100011.230103102.0021330322202.1112000.2001
+
-?>9>!!@;99!8#%!#,!;:!3,=5!562!'!844(7#024#(.)+!0,!
+98:58=9=568>:!?99;5:<:8!88;9<;.<=953=!378:,9<!<+;7
@853_14_1707/1
-G0220..0123.030.02.00.1202.212.1.12112113231030.30.
+T1021012301213.223013112.0313221002030.1231310.0102
+
-:;8=!!=<;<!895!?@!>;!)>?=!:9=!<!8>@A8<=<7)=88:!25!
+63<2669)+&:.-!&3#&,+1>;!(;<-&0=/1./87!:#/,15:!77)%
@853_14_1715/1
-G2011..2030.001.10.13.0233.213.1.11302212120021.21.
+T2113210211313.302011010.3323021122011.2011010.1303
+
-8657!!24+7!:83!52!<5!#$&)!##&!8!()+,%'(44$('2-!#(!
+0+5.3=,/331)7!3(4(17),.!:5=/,>,&9>)>)!1,6,'6>!>2,&
@853_14_1721/1
-G2031..1103.120.30.21.1022.011.0.12332103301221.22.
+T2122222110233.120020211.3121231211322.3220112.2211
+
-=;>8!!>$)<!-*4!66!1(!;'08!9+/!7!#1:<11)<;4#4(*!#%!
+$&'&),.&%#,42!&4%#,&.(%!1/3-&3#1(#6(1!5,/),$,!,###
@853_14_1736/1
-G2122..1120.312.02.21.2122.301.3.21311222230111.21.
+T0001320013111.210012202.2131100023332.1200020.0022
+
-$'&%!!68&$!%>,!+%!)7!,)+.!.+%!$!%-&,))-33',/<,!32!
+&-')::)())<70!:,&9/3:)1!()+38,(2-.(,7!,+'+3&8!2-1;
@853_14_1855/1
-G3100..3303.021.32.11.2033.010.0.11002211020233.11.
+T2332103123212.102220233.0311122321223.0021222.0203
+
-;;3;!!::,;!7<6!:<!73!=<&8!458!/!<'&)(-39&))1,0!4'!
+4+52)+&$'-0*#!'#2+2$11.!-'$915#)6$%(1!5&%&5*&!/6)&
@853_14_1861/1
-G2122..2221.330.21.13.2201.223.1.11031233222013.11.
+T1122213220202.311333312.1223022302333.1013211.2222
+
-;<=<!!<=?<!:<8!5:!5<!=<68!<<;!5!)123=85;1:9-24!.)!
+35?91:89:0917!:48;;33(,!$/9<(/'),6%2)!/$)54,&!-)5+
@853_14_1879/1
-G1101..0201.230.21.11.0211.011.2.21133221120011.31.
+T3221111322332.330311001.1012211322102.1112011.0121
+
-=;//!!,936!&&6!/1!94!:1)6!9/,!)!,$#&4##,''#%-(!)'!
+,6.1)684536&5!2,7(39/1/!71:9;;*416?&6!,,/6876!,9)5
@853_14_1958/1
-G0132..0333.322.03.10.0333.031.3.31131021200322.31.
+T2113133021300.233021221.3023103100111.3111001.0022
+
-:<<;!!;9;=!=;<!9=!:<!:::=!;93!=!:;,6:-858:1<#:!5,!
+4*78552;66:.7!27(+%$,&#!%%,('-630-%)-!#)'/*,$!(''-
@853_14_1978/1
-G2232..3003.321.33.21.1213.220.2.32102202110203.11.
+T2001220322202.232020003.3211201203030.1031200.1223
+
-;94;!!9824!62:!75!76!<::6!953!:!745<55&.<36):(!5&!
+9;<6:=667<9:?!:;;+;338:!9;<8:<-7)<619!..37-25!=;20
@853_14_2006/1
-G2110..3212.333.23.02.0300.113.2.03212302332113.21.
+T3322031101221.331303002.3321303220010.2200031.1002
+
-7(&.!!,538!(&,!+6!$&!9,%+!7)(!,!(9&4+&,###(13#!$)!
+56819<<<83999!.7$2#8<66!6<9:6:879%0;5!9*%<0*)!7;..
@853_14_2011/1
-G2120..1132.132.31.03.0223.333.3.20333332333122.32.
+T1213110110222.111222112.0012223103322.1112110.3113
+
-2!!0'%0!)*6!4'!23!(48/!7,2!4!#$.52.5#4)%'3%!7#!
+6A&%9=4/199+=!)5+.&,5'4!//:.&)6/0/4+)!:&1+51+!')8'
@853_15_108/1
-G0223..3233.322.32.22.2232.223.3222222222232222.22.
+T1020223212222.121222222.202322012221222222222.1222
+
-(//(!!)($(!#+$!$#!&&!%-&#!(%&!&%1&%$&,#'-&'%..!..!
+(&$(/0'(&%/)'!)/+#..*)#!&$#%'&%&-'*,##(-)#'+%!),#*
@853_15_149/1
-G1221..1030.313.13.11.3001.212.3102221222333223.22.
+T3223001220022.212201222.111221222222222222222.2222
+
-/2+/!!3),.!2))!78!,.!9&)1!6,7!2:*2226)/)48&(%3!($!
+78/..2/&'&'/#!1&,')/0&/!+&)&5)$#0&,)$/)*',,)/!3())
@853_15_194/1
-G2221..2123.221.03.12.2223.222.2220313222202233.22.
+T3312003232002.133223110.202022233223322222222.2222
+
-$(4&!!+&&&!%),!&&!')!&)+'!$,)!&#)&,+*&0/&'))&&!.)!
+4),('1&))2&&:!&)+2$1&&/!)'1'('1&&-)&&/')((.(#!-9*,
@853_15_359/1
-G2212..2213.102.22.20.2222.222.2221320222222220.22.
+T2312212222011.102012313.300303032222122222222.3222
+
-&*%&!!#')#!#'#!#&!&#!$#)(!)$#!##$##)&#*%$#-*##!)$!
+9-5/8.5458666!6393'5017!,5762*%')-(#$%+&&&'*&!$&0/
@853_15_384/1
-G3130..1211.331.30.21.0012.231.2221130011301120.12.
+T3133101323312.322010203.031002333220220210301.1200
+
-,)*$!!&&,,!&3'!)4!14!*)()!4)&!0,1'&,+,(:&2)&,%!),!
+)8&)&'**7&)1,!3/)#5951-!%//'&/)45)&),(18)3&,1!8%)+
@853_15_453/1
-G2022..1120.220.32.01.2212.211.2231001222222222.11.
+T1222100222231.121121231.022223111222221313200.1222
+
-+&&)!!&')(!/2&!.%!'&!5-.*!3&2!6&&(+0)-)%(357)4!&&!
+=15(&&<//1/'9!)9(',/&)8!53=1711,)<//=,'1&&('&!&),&
@853_15_528/1
-G0321..2213.230.12.10.2100.201.0222110012332122.22.
+T3310331111111.132002232.222133021031300022022.2220
+
-2,./!!'1.7!59:!35!<4!859;!66<!0:=/33(9&'2)7'&'!-)!
+2%#3$##)##,#)!&)#$2(#)%!*'))('#&##&##'$$#&#++!'$/(
@853_15_538/1
-G2303..1003.110.00.21.0212.211.3300212101131000.03.
+T3310122300211.033000210.003300000000030000000.0022
+
-(/4$!!,),#!5#)!&(!/'!.)(*!1#$!).$-&)##1#+)2*$7!3#!
+(-'#'%(,,2'%#!5,,,)*$()!,#/13,2%-2)2'*,4'(.4#!)2%$
@853_15_618/1
-G0012..2010.013.02.33.3100.023.3111210132310000.01.
+T1002211010002.200223103.321003230000312000101.0000
+
-','$!!(#&,!,,%!()!$'!+%#*!'##!#('%#$+)#$*)#$##!$(!
+,,5)%#,*##2,8!&92#&,,,#!,%'%,+,(,#,&%##**'#*)!,,*)
@853_15_671/1
-G2300..2201.033.13.23.3122.002.3220322033030210.20.
+T0223232033121.210020003.102320022213221200033.1103
+
-;:8:!!<;6:!8@?!83!94!*9<4!67=!8#<25./8<1.65455!6/!
+89:=<68:=<6<=!;1759986>!586>;:9<;989></=748@;!=<5>
@853_15_679/1
-G1020..1132.200.30.02.1132.021.3121212200022323.30.
+T2012320131021.021000301.301112021120110211121.1220
+
-><:=!!;=:<!9=>!<@!A7!?>:;!@8>!8A7=7;;/<=><:0;8!99!
+751)&16<(5;7;!88;;<>->>!65;<;7;8>;6,=9=86=<6:!<18@
@853_15_712/1
-G0113..2012.323.11.31.1013.100.3233000022131322.23.
+T1233032021200.210101331.201322333121322133331.3332
+
-::88!!<48:!<79!;A!>8!@41?!>+.!>5#849;8,289-&54!%'!
+99A;4?<5;<542!:5484::;4!<8595:>=&-7&9&(&,&1/&!%/$-
@853_15_741/1
-G2222..0003.001.31.03.2321.212.2112303213222233.10.
+T0213202132113.031320110.111002211200003100030.1031
+
-::4:!!1'&7!/71!:,!3;!1&4:!2)1!7,():6/5.9)-((5,!&#!
+;5693;6>671/9!+57%##(2,!$*30$)%/2*.'+4&),1.,,!/,'*
@853_15_817/1
-G3232..2100.113.00.32.0022.013.3012011132111200.32.
+T1320033200102.123232033.233101022211211111021.1122
+
-)(&&!!1/)3!(A7!7/!8)!)''1!66&!'9&/.6:'&=7?<;55!)5!
+()&-<,71+<32(!>1&)&5&',!'/'/1')5;)/1'))/6)/:9!16&;
@853_15_822/1
-G1112..0102.012.31.22.3311.302.2013011120011100.11.
+T3300212203112.303110100.122200020212110122111.2033
+
-3)/)!!&':'!,)3!,;!1,!/,1<!168!6)57=1=/5732&8:6!)5!
+:8,757)1,;/;6!8,6:3<65.!>5(?(&3))7&,/3(&1*:5*!1)/&
@853_15_866/1
-G0311..2102.303.01.12.1330.023.1211311332332333.33.
+T1030112000331.200012132.000200123122313020122.0031
+
-=:<=!!<:<=!;3>!<7!;3!9;=4!'1*!%%))'5$#1#1&''**!--!
+898;;<>278+;9!;06//8$&8!,#'574%(;'.$*/,-%*6/*!9,%&
@853_15_886/1
-G3120..1223.211.31.30.0222.121.2023113003020123.22.
+T2023310032313.221000120.222222222203222322222.0233
+
-;:1(!!):.1!03)!),!$(!1<5)!12:!;::,88(9927.:)2&!5*!
+503)4-(1'13&,!8;:2'1&90!99<35&8;46&/(.8)05&12!$&&'
@853_15_889/1
-G3100..1233.212.03.30.0222.222.2223112033122230.23.
+T3031023333212.331200320.002013223233002202033.3030
+
-#+$$!!(%$#!$%#!%'!#&!#,$#!$)#!'#$',,*#$%,##-*%!*$!
+&4,&,'*'(9%$&!)%%%2#,($!(.#-#+#,##''#&###),(*!(##$
@853_15_912/1
-G2032..1111.323.03.33.1122.333.3320023310033303.22.
+T3213002320031.331103330.002132020022312022120.2132
+
--/,)!!';1=!::)!+,!$2!,1.9!484!7320=85:#*3,40,6!6$!
+#62')81-#14.4!,:6-%0,/$!&222&.+5','11/(&%,)$%!2)#$
@853_15_935/1
-G3122..0121.311.32.22.1011.211.3212001211320020.21.
+T3133221102202.233332220.122011131120220022220.0212
+
-)&$+!!91<&!#&9!-%!,6!))5&!-':!+&.&&7)$),-(8&02!/7!
+$5)##08%5*$8,!,),0'#'/.!$(#&$,1$'$&/&0&%)%'.$!$/#)
@853_15_955/1
-G1320..0322.203.22.22.0220.222.1122021122302231.22.
+T2121112302133.010030202.222132131003220222330.0220
+
-95;<!!<<5:!=2,!'$!*)!#%$$!$+#!#######$#,##%)##!)#!
+'&&,0:>):),=;!:1=;5=<=6!)>=,/,2&(&),=<&):5,()!74,)
@853_15_959/1
-G3320..0322.300.00.22.3220.000.3222033222002032.33.
+T1233103213121.212133211.122132221333223212133.3121
+
-&$4#!!$$/2!,:1!&<!65!,4#0!(5;!3+,7.</49<5(5)1+!,7!
+/)8612)9,4)8/!928,*/$8%!&##),'&#.%))$$-#',&$.!(/#(
@853_15_989/1
-G0111..1113.233.33.11.1122.333.3220333130032133.30.
+T3201022000312.210110122.132113122101220032200.2220
+
-=</8!!;;;=!8:<!<<!8<!>966!949!<4%8<<4&<*5;&4(;!%2!
+<>==;>;<;<>>=!=<:>==<<<!9=<&*&)+#+%&8)$$$3)('!5/&*
@853_15_1024/1
-G1000..3002.311.32.01.2032.013.2203223131331111.00.
+T2231010331011.211302002.212322231101102132122.2322
+
-@=;<!!@>><!<?8!?@!<@!A9>?!>3:!A@9>=;=6;<==5+;7!5(!
+9;:;7938:471,!)849:5513!-20>9;5:85&94:2160$$(!'',$
@853_15_1036/1
-G1132..1213.031.01.02.1203.100.0000303001111211.21.
+T0320010231212.012322222.131131100322221212212.3200
+
-;8:5!!=959!19.!(1!&1!;:&:!:36!/3;6*)+;.20;/%&(!1.!
+8;*$46991<89;!181989:8:!7<;52::360'<78-3;9:-7!4<2&
@853_15_1098/1
-G0223..0211.202.33.01.0331.221.2022301102302130.33.
+T3312310131203.000003312.200122112101211020010.2023
+
-=AA>!!>A@A!@>A!@@!=@!>>>@!??>!=7@:;>@=:7<@A5=3!;>!
+@:;(<917>:>.@!):/=,@??>!<?;;,;><9,,<::,);::&6!91:9
@853_15_1126/1
-G3000..2022.222.02.30.2233.023.3321133221232220.33.
+T2213210223100.330321132.322121221121322321222.2222
+
-9975!!>&?7!617!#+!/)!$*,,!#%3!/-#$,).,$0%4,$/$!2&!
+&+9:).(;8&&&,!;'+1'51),!(5;9),(),10,<&,'45/*%!)').
@853_15_1180/1
-G0120..2001.223.01.33.1110.223.1211113322312120.23.
+T2100330002323.120123301.312303133200001230220.1233
+
-9=?;!!A<;<!A=>!;3!;>!1979!,:=!:1)8;<,357,):,;1!&:!
+=>):3>=::;>;>!;><;;@>:=!=8<><>3>=89<:=17=:9>8!>7<9
@853_15_1211/1
-G2012..0303.013.23.02.0003.213.0221333022021233.21.
+T3312001002231.112311121.012111020330113001012.1100
+
-5978!!)<<:!&<;!/8!<<!,69<!(95!9'579;&;;0)#)1&*!#'!
+726+4517/:848!96&0+;9%3!:/)8)61)2*76&137:,&&4!(/+/
@853_15_1220/1
-G3220..0003.031.10.21.3331.103.1200000200020000.20.
+T2110232023322.231012330.001102031322120001002.2102
+
-()%,!!*)5,!'%$!#$!%#!$%#'!(#%!),#)(,,$4-'$*,&#!%2!
+,:(=/,,,,,7)'!(,;+(1*(8!71&-0('1-'*79&58((&2%!'$&&
@853_15_1314/1
-G0211..2113.103.01.33.0213.131.1131210030013322.02.
+T1232330203102.212101301.200100023330312030031.0312
+
-,)(/!!.&&(!>(1!6,!(&!((@)!;(,!18()<35>,&./:,;(!/)!
+0(((;&A)'&&*)!(@(;6,'&<!7410/1<'7)+69:3(3,&/'!,+&(
@853_15_1319/1
-G0300..2310.200.13.03.0001.002.0010100110000221.31.
+T1023122102102.203132330.111101121221102231303.3333
+
-8;79!!<97:!>%:!==!4<!<)6;!<3:!;:&.9;9+478:&8:<!08!
+476<9<:47<5/9!68</:7:=)!3766578937454.5$2.8)3!7553
@853_15_1380/1
-G1330..2233.002.20.20.2202.133.2200021211220113.12.
+T0231133023111.310221000.300112123201303300021.2022
+
-7694!!=6:;!78<!88!=<!:977!(#.!4//9:1426;&4,7>#!)7!
+387;A;537::7;!:?585669;!15<:855<;6<;897:9;60,!8)/%
@853_15_1405/1
-G0103..2222.022.01.02.0333.321.0021301000320100.32.
+T0202221111231.111113311.011111122222002011022.3122
+
-;9;9!!=431!6(%!//!4(!4:86!8,*!/8>68<5<6&8(>.:6!91!
+3/=8/79:3=877!;:98;;97:!978:<<<8<<8<8;::939;9!.6;<
@853_15_1433/1
-G1132..3202.000.12.31.1102.233.2222333002211003.13.
+T0310100120332.312321022.221233001201223320202.3132
+
->379!!9/,-!)8:!;/!94!=27-!/*1!9;*)+78<55619.&)!%1!
+&.(8)57)475.,!'1&8-;96:!:7:.0)/0/-*.++.35:98%!&(%#
@853_15_1452/1
-G1003..0002.002.20.02.3012.111.3122000230000220.22.
+T1130220031020.113131212.210022320221233230131.0212
+
-@@>9!!?==<!><<!<<!A=!8<?<!>9?!::?>>@>;:?==7:6=!89!
+>@7=<<@A:?>>A!?>9?:@<?>!==>?<=6;><:8;<:<8?:8:!==87
@853_15_1457/1
-G0022..1221.311.20.00.0113.110.3001010121111120.12.
+T1222213333233.301233332.110013300133202300323.2213
+
-+/%+!!,,#2!*('!%&!))!,#*#!,#*!',#''&,&',(#(,,'!'+!
+&)5##&(%#349:!/-/2%&)'+!',%##)'''&(&,##8-#-&+!)$#2
@853_15_1474/1
-G2222..2211.213.21.31.0330.000.2123203002130221.32.
+T3333301013330.201032112.012122213221132221322.1222
+
-?<:<!!?<?>!@?:!?<!8:!>8:=!=<;!=<@86>4;9::989:;!33!
+:88::<:>::;<<!>=?:8>:<;!><6:=>:5*:,&,%,1*($/8!&)27
@853_15_1495/1
-G0010..1121.112.21.03.1232.112.2020222301113102.20.
+T1133321130321.223311332.023322133223233223322.1223
+
-9987!!<2;8!<4=!>=!5;!9=4;!<)3!+.8$<277%0(6;6*1!.'!
+-17729.8$#=6,!,9=#1.:%2!#1)54,#.'#)$*')#&#,/(!&#*%
@853_15_1548/1
-G0230..1300.302.13.20.3301.001.1120323133133333.03.
+T2012310310112.201020123.132222213202211011122.1020
+
-,())!!#+',!*#,!55!$#!#1(-!&6&!:,3%&((5('6&4+1-!1*!
+3;;;83173;36?!5,18;:7:5!;:<;(5,$*:<).;1;6#2'2!%1(4
@853_15_1581/1
-G1222..0003.000.32.11.1222.221.1210032122020030.00.
+T1200132101212.222300023.321110031210020113213.2202
+
-6:/5!!4$(.!3(5!,,!5)!#$/%!##3!),/9.,$)*%&$,2&4!&/!
+>9>:@<<?>>;65!8=4/5<;98!5:38/3<0826<9/);984$$!;//-
@853_15_1603/1
-G0222..3011.012.30.22.1103.110.3002200100201001.03.
+T2031103212332.223110220.302220210303221100200.0211
+
-A97<!!8=>8!@>;!4A!::!;=?7!:97!49=/&>>7885@7&6<!;$!
+<95;8@5=66:9<!=:6??;23.!%,62)=1:0'#+528)&2*4;!5*;1
@853_15_1636/1
-G0222..3110.331.21.22.2200.002.1300220220120202.02.
+T3310211303302.023111232.001011110003122322100.0223
+
-1469!!3,55!36;!<1!95!4658!.4<!9#74461643503796!53!
+5:14:9;9)<#:<!6/9;66697!<.5+8=8:&85:14$;%&219!-5-:
@853_15_1663/1
-G2220..3112.323.22.03.0233.200.2303221232100030.23.
+T2233020230232.322033111.001303213331221231303.3000
+
-%###!!%#,'!/%,!&(!'#!.*%$!%&-!###'##,$,##(#+%$!),!
+)*0,.,*;&&),4!&*3#*#%1&!'*:.%#(/7&'2$$###&#/$!)(/0
@853_15_1726/1
-G2031..2313.121.13.03.2221.133.2023021131323031.30.
+T3011022330122.113123311.003103112111110002003.0100
+
-+57/!!8.4&!15?!3&!)+!/32)!,:-!(&<.7:))8&5&,.'7!/(!
+,89*,&,.20///!),0&1/;/'!1(-933),6,);3),5(8,+3!-3&,
@853_15_1733/1
-G0031..2120.300.12.12.0002.301.3120030202312122.21.
+T1113013230021.232133122.031002212300011001000.1112
+
-998>!!?:9=!=5>!=<!=6!==4:!:9;!/=4862=297574/7%!%'!
+)/&(/)9'6#5,-!*(0')&&8&!(39&',6(%$,5&/&%((((,!,/+-
@853_15_1756/1
-G2102..1001.321.20.10.3320.321.2211211101200321.12.
+T1103222031220.212123310.011310330302303122333.2233
+
-&###!!/*,*!1''!()!$'!&&$#!'$/!#%6)#%%5$&##''#'!$'!
+,5&4;17&73(1,!&&%,*9%&#!,(+(#&+#4)$%##.#.%*,%!4,'$
@853_15_1794/1
-G1200..2020.223.22.22.2110.200.1122220321300120.20.
+T2221231303022.022023010.221322032322120332311.3213
+
-,876!!9787!:7:!;@!@;!<@?>!><:!;6A?>@87=>;<;3>0!65!
+=:@??=8%9$=/=!88>8><=?9!0?>=>,:<=8:A<;>18<7>*!5>,,
@853_15_1876/1
-G0002..3001.230.01.20.0231.002.1201113121120001.31.
+T2221311021332.101230332.111000230102222310002.1031
+
-?=9:!!::9;!<89!0:!6;!6768!8>:!4;>><77>7;9>9917!20!
+<878888@8>8:;!@<;#::;5%!9:6.>=>5-:==61;<;9#>8!9-<7
@853_15_1915/1
-G2112..0210.212.32.13.3112.120.3320203131230023.00.
+T1323002020313.110132112.012221202021132212100.0100
+
-5;05!!6<9:!7&7!52!1,!4&7*!7,5!50-:)8'#-6/2%)7/!)+!
+>*(.+++/$7.*%!:&9%5())'!'9(#%'%)19$'-&)#/4&((!$$/8
@853_15_1974/1
-G2131..0110.331.01.11.1331.123.3323103221332231.11.
+T3200002312331.022233323.021320331222211031102.2110
+
-*$%%!!#(%,!#&&!)&!$#!###(!&#$!&,&#,#&%.$2##)#*!%&!
+/&#*&-(%(&')'!&2*%1'-&%!'$#0&4$$&(.+&*'%5,.%.!&'%-
@853_16_26/1
-G2212..1122.321.32.12.2222.222.2221222222222222.22.
+T2200303003123.332202133.022202222221222222222.2222
+
-'&,&!!'%#'!%-&!&'!'$!1'$/!'+/!($)$/$$'*-2$+5*#!1%!
+1,))'')''))&)!&',,&&&)'!&$.)&2),+.)&,,-%*,%31!1-.0
@853_16_44/1
-G0002..1032.201.31.12.2222.023.2222321221222211.22.
+T1010220033031.131100202.322222222222222222222.2222
+
-1/+7!!1.14!//5!3/!76!3*&4!)0&!%6/%,#33.)%&1+)&!.'!
+2116875/16111!5/3/1/1,1!&/$%%#%##.).))..$*,2.!-*%5
@853_16_56/1
-G1222..0202.222.02.22.0112.203.3022020223320130.01.
+T2222220320012.222222222.222222222222222222222.2222
+
-1343!!,4/5!667!55!78!31,8!913!24<7669<:/.5//5'!/8!
+)&-&)%&'$(&&(!(*-#.#*(,!'*,##'#*)&3-'1,)/%/3'!%.)3
@853_16_67/1
-G1000..3303.012.00.10.1330.230.1130120322111230.22.
+T3020301230012.320302200.122222233212012222222.2222
+
-),(1!!,'&3!)+1!23!1+!)(&,!0)&!51)-/(9)&/'0)/))!54!
+,)3%2,,3*,-,5!&#,/&/#.'!+%56,$#/,/&$'&1',6'+&!9.,%
@853_16_112/1
-G0023..0033.320.22.11.1000.113.3012120222222222.22.
+T1200021122132.111211211.101321132100211222122.0222
+
-0,1.!!1,42!/44!27!13!8/36!711!,.&&'.&*'$$$4/-(!0.!
+3362355421137!65091,215!/.13303,</*/1/,$&5.&.!(92&
@853_16_155/1
-G0221..1223.122.23.21.3212.222.2222223222302322.22.
+T2211222000221.222212222.122222222222222222222.2222
+
-((*)!!,-'(!3%2!)%!1)!+(.,!(*2!-%&,%#/*$'&1#&(#!%1!
+'%)&##,''&&#'!-41%&/'#)!.+#(&.0)'&#)/&$10+!,-.*
@853_16_169/1
-G0010..0111.132.30.22.1221.211.2000023100110123.22.
+T1200213123132.220001100.311323132102222222202.2212
+
-515*!!52,1!6/2!55!60!5291!4//!-,7135,7,)1)&&7,!:(!
+)956897392246!945/,5311!./8/9/,)938%:;>;1<8('!&*(*
@853_16_319/1
-G2200..2210.221.21.13.2020.130.3222120020311111.22.
+T3212223211023.013011313.020220313111230111311.0111
+
-35.-!!92.2!71)!8:!+.!5/#)!53&!.::,1.:9'-56922&!#*!
+42378.5,8;/46!97./)/15,!957,/<4;(4>:5(.9=7$3:!5+0:
@853_16_375/1
-G2313..3001.121.12.21.3131.113.3333033333033111.32.
+T3332011121213.223022022.220021112220100221322.1222
+
-@;<>!!=;7=!<<=!>?!9=!<>7?!=>:!><3<;@=9,.6=:&<<!6+!
+><9<8<<:;8===!<>91;;;98!8;80?9<;;<81>77<;9.<'!'*71
@853_16_447/1
-G0022..1212.320.20.21.0321.211.2221121222221220.31.
+T3302130221112.123102110.022103123222122220111.0203
+
-.039!!81:2!/63!65!<3!507+!%$/!##24/&.821$#&&4,!('!
+$&&/,/&1)5++9!+,.-&5,1,!97502/&,+&),.019,,0,,!04)/
@853_16_502/1
-G2220..2012.210.10.23.1320.033.2200330301303233.30.
+T1023113011002.032210023.012230013110011223013.1000
+
-8=79!!95::!=6:!7<!9;!:*<:!8$.!&/.)%+$)##('*(#%!$'!
+5:43<8;3384::!698638762!8;87.:99428:::31886.7!5929
@853_16_506/1
-G2021..1112.110.10.22.1222.111.1212223212232232.20.
+T1022110220323.201110311.021300002020121031023.1000
+
-,&#&!!)&(4!,1$!%+!&2!#%)+!:).!/)&&)'+%&2&8('.,!'(!
+2#*)#$)(-&,'&!(*9&4$)4)!5&&)14/4,(&#+(,)+,'(#!,%%/
@853_16_513/1
-G3322..1201.302.30.31.2220.323.3120021003322223.20.
+T0332023210131.212020222.102202231311211133011.1122
+
-<59<!!?8<<!<=9!=?!;>!=;=?!<;4!9:<9@99/;+1&5+()!5(!
+7868<=;=3;;<=!;;8;9:<>;!69;<89;::4==6=>=9<3;>!8<%6
@853_16_571/1
-G2010..0222.100.13.12.3102.023.0013002222130220.01.
+T2010033331133.302200220.122102023123200012222.2222
+
-6/)'!!+;/1!8)/!/9!.0!2&79!'0/!*)(++(+5+1/)5)-'!&3!
+)'9)'.)&,/)&&!&9<4'1/&8!&')$-4(&)132+%56$)(78!6--7
@853_16_622/1
-G1003..3000.300.02.00.1031.101.0000030003310030.01.
+T0013033001233.133330200.000000330003000000000.3000
+
-6/4*!!&,,#!/23!,,!#8!,'),!(*#!2'/-,1(&0#)%#,/+!'#!
+-6%%%:)20#,44!,%#(03#'+!5(,#%/'+*'(#$+(,4#$)-!#,#$
@853_16_690/1
-G2033..2221.210.03.00.0030.201.0000223100312211.00.
+T0021310130010.202032022.110223101101310102100.0112
+
-18:.!!87;8!9:#!:9!68!=6(5!68(!4=;%-)*)76//.179!;8!
+8<5476;6);4,,!9:2:61774!=,3&18:835<5+6554+%,9!5&-4
@853_16_697/1
-G2030..0312.310.32.22.3123.022.2011323200003112.20.
+T1231230012311.132303323.310130033010101111222.1310
+
-6:5<!!<7/6!89<!;5!66!7<:;!739!689267)1:9;&62(/!6$!
+=;6545<64$65*!52:651975!&1:195236<)$9;9257,3/!+,65
@853_16_791/1
-G2323..1123.122.12.12.3121.122.3111222231112211.22.
+T1110102111131.110203033.121212111131211113111.2111
+
-##'#!!####!$##!##!##!#*##!&,#!#$%+##$)#&&&$##%!+%!
+AAA>A?AA@AA>A!@A>@>?=@>!?:@=A:?@@=<@;><9386(3!&6/:
@853_16_804/1
-G3221..3200.121.22.10.0110.232.1313110211000011.20.
+T3133010300211.330333311.122313112302002200031.2333
+
-',,#!!#$*$!##)!,,!(,!'*##!,%#!)#+#+,(,(,##*$*$!##!
+'+$(()3/*&1):!&)8)).)+5!)(3,:(+)&&'8&&4-22/71!&('0
@853_16_830/1
-G2120..2022.333.21.20.0223.223.0313200310121012.21.
+T3230012031232.130212222.012232100113320211310.1221
+
-9:<0!!1:>1!6<5!)+!/1!1/1:!38,!)98:3:3/,-&0111<!.+!
+=(&9)'7#,(((5!)+(.:)(0/!'<*&82:'$(,1+/&%5&0*)!):-'
@853_16_871/1
-G1003..1112.300.21.21.3033.033.1310310030223301.12.
+T3201000013102.303333121.003330012300022302213.2223
+
-=36>!!7:8:!798!<7!7<!55#2!&=:!/2>.:,.9>+)#>>5,!</!
+;:55688;5<903!97$::A1//!87:;6:=377:;692</96+3!*-+&
@853_16_874/1
-G0312..1312.131.23.12.2013.130.2302020022222201.02.
+T2301033231033.020002133.133030332300323313233.3133
+
-&86/!!9585!6::!23!67!:+9=!>#2!7<9::;;78:9=7:3;!'6!
+,&2$56:88378)!:(.%1(192!)8/&#+&7)#%*'2$#*''&%!)#'(
@853_16_892/1
-G2121..2130.122.13.03.1213.213.3203011112122011.33.
+T3321220311213.332101020.231311213111213212011.3011
+
-;<2:!!>82:!=33!?=!94!A479!=8+!5<:*::<48'98#(8;!,#!
+######5#/$#-#!##$#/('#*!##(#&+&&#+)##########!####
@853_16_919/1
-G0222..2212.000.11.32.2310.033.2010101230012130.21.
+T1220221133122.203221113.002222222222222213332.2212
+
-?<::!!=955!<87!9>!4:!;%58!=,4!=-#794/#9:9,#)4:!#-!
+##$####$$)##$!##%#####(!###$%##%$*##'))&#$#&$!#%#(
@853_16_941/1
-G2212..2310.011.11.03.2222.211.2222122223222221.22.
+T3310301301311.011321102.321223223120112231222.1222
+
-<>:7!!>-9=!>(/!::!1:!9(&*!$#&!*&##&$$##%$&'$#%!#$!
+,-##)2-)&')1)!$0(###&$#!##(###*####%######$##!$#$#
@853_16_1040/1
-G3101..0122.021.10.31.0220.333.1230033132002222.13.
+T3222002222223.332302032.322031103321223221212.3031
+
-713>!!=76@!6/<!75!13!/'&'!,,;!52,38<.'24.,4185!&/!
+/8+&5&&-,/+11!4/(//01)6!.)&,)$17.+%9'/)%)''0%!+&)&
@853_16_1049/1
-G3132..0121.311.02.13.3012.302.1113200103012221.12.
+T1100033003303.021320321.111301320233200033001.0000
+
-<<:9!!A<8;!;=>!?A!A:!:>=;!9A9!1.;)1:4;,6<89&87!;*!
+>?==@8:9@8948!4=,6604)4!$#/.&#*+7%(,,'%,&$&,#!%5/&
@853_16_1063/1
-G3130..2231.130.11.32.0000.002.1130332001003101.32.
+T1123202211000.302123303.122302023333231103220.1212
+
-/-?1!!,:,?!:6&!3(!(;!::)<!+)1!3,58*1:1;)1(.,71!))!
+-,1/&+))(/(+&!7*&&6>+))!93',:6',15%$(/):5+7:.!78//
@853_16_1081/1
-G1100..1113.112.21.20.1233.121.0123003133302222.22.
+T0012023221322.322222022.202022222222222222222.2222
+
-/1&4!!1#38!1#)!,A!:1!3#,&!1$,!;<#:,(*&9).2#10&!#5!
+#############!#########!#####################!####
@853_16_1142/1
-G3220..1323.110.21.21.0222.111.1133122100110022.20.
+T2222003033021.112113112.023101132021212223001.1200
+
->@:;!!?<=>!>;=!A>!<>!>8:9!?:<!=>9;6=:<=;>;;:<;!49!
+,,-)-0/%-35)*!/530/66)*!00/75502%73%#$#-#&#&0!$#,.
@853_16_1155/1
-G1330..0303.013.32.31.0102.120.0122011112122321.03.
+T3211301033030.010023021.222211203303330033130.0203
+
-4:92!!2:1<!:1:!<>!6<!159:!<*8!8984;8:).<<887<=!#$!
+442986&)1+4;)!&:41+;&0-!5/0'/5.945/06,6(475/6!3'3/
@853_16_1188/1
-G2313..1101.211.13.33.1021.232.2222212122311133.21.
+T3213220312022.213131000.032301320320100303322.3322
+
-9#$)!!92,;!9#,!(8!$2!/'#(!'+#!)*$$#$,##%,)##)2!#&!
+'&-.-44###,#(!*/)%$1'#7!###$3#*%%$,.#,%%###$(!#%)#
@853_16_1231/1
-G2301..2211.033.33.00.2210.203.0221100033000010.22.
+T0032303211001.310313100.320000200213333000302.3232
+
-7745!!8393!8,:!02!(&!,%##!,',!'#$$'('%$,#('%))!#&!
+4<7$56::%36:7!;,:82:,74!878>49/%)33435#8#160(!1)&.
@853_16_1285/1
-G1030..1000.311.20.11.2301.310.1201113132331121.12.
+T1110130123031.110222221.003111112232000001113.1113
+
-(8,-!!922/!:05!;A!45!:458!783!996./87/0(67$+/&!##!
+/*+####$####%!########)!#(#&####$############!####
@853_16_1300/1
-G1101..1122.000.12.10.1133.301.1211302223100130.23.
+T0011232200000.110012222.101002200130311033003.0300
+
-%4'%!!#*#'!.+/!,#!%%!)2,*!#.,!#3$$%''$+,,-$&+(!)$!
++2.'$)%052#4+!40/&($#-&!)%'(($$-1$&$'+,6($%*&!'#)7
@853_16_1391/1
-G0101..1330.232.02.00.1100.101.2013133213103321.23.
+T3113212223000.101202111.201002121202012103121.1121
+
-=A<A!!7;=@!?=@!?=!?A!<==>!>:>!<56;;=<67>5571,,!+'!
+>AA<AAAA?=>>=!>9=A<@@@>!@8><<A;5>A8<3?@@77:?;!>8?1
@853_16_1397/1
-G0231..0300.303.03.00.1013.132.1322212323121333.23.
+T2120211222223.012212231.032321102311221213223.3133
+
-$&))!!5/(%!.&3!37!3,!&),'!#%.!$,$&,#(&$$$$#&,&!$+!
+78/%(8/17(193!6=(:71:/1!&*('(::,6/<=&17-&&3/+!=,5=
@853_16_1528/1
-G1100..3231.300.03.10.0200.013.1213123210321100.12.
+T1011223130211.130021111.233321321121322131121.1121
+
-AA<<!!>A=A!===!>>!>?!=?=?!;@<!<>=<88<>;;:8:6<=!=1!
+>9>A>?=@<=@?A!A><8=<:@>!<<;>A:><>568:&&63)0/&!(,9)
@853_16_1574/1
-G2123..1133.031.00.23.0212.033.1300001310200300.33.
+T2103333220002.302023111.231021311232100032103.1212
+
-=:38!!<;5*!537!66!9)!>:9(!=60!:69<:<9035(6&4))!-&!
+8<5#-/4.86631!#/63'#,9%!07@08+4:'#):>//(-5+&-!8,&6
@853_16_1593/1
-G3313..2033.201.23.00.1111.120.0322310111121220.22.
+T1320102033202.110112100.103112112021110222002.2323
+
-0.$)!!..0'!*#/!$0!&#!-)'*!*2#!#5(/'*)(+/)''3;0!36!
+'&$3'&%'',&,'!%$$$,%%*%!$),$4-*/'&+&,$$'33(.,!)/'%
@853_16_1653/1
-G0000..1111.011.02.21.0111.301.3310230303100110.13.
+T0300012120022.111332202.010231221033110201300.2102
+
-==<<!!@>A=!=<A!?>!<6!<>@>!:6>!<:<62;1989;?8:;7!>6!
+=7:8:;<;:<>=8!=<:<;;=<<!=;;9;=<:89=;>:=9<=8;>!95:5
@853_16_1698/1
-G1022..0220.112.23.02.0003.202.2013020200022202.02.
+T3003323013003.033033222.211103000122022112121.1210
+
-==:?!!<>:@!@A?!@=!??!>=<>!<>9!<;=;<<<8:<9:=7:<!7:!
+96<89;;><88<;!86;7=9<:9!79<7276;:7-918;+8689,!:;;0
@853_16_1746/1
-G1221..2212.330.00.30.1111.021.2013331032213303.10.
+T3003322312011.031233000.313001220020120330301.1330
+
-AA@A!!AAA=!<<=!;=!<A!@A??!==>!@=<::<8=<;=@<=:;!;3!
+=;>;;@<<A8>=1!;:=8:;=89!:<7/=8>6/=::9/>>;88=9!=69,
@853_16_1806/1
-G2131..0221.102.21.22.3102.213.1120211103300110.12.
+T3022322013100.301112103.001112221321112001312.2012
+
-<@6?!!;6;A!;,<!;=!<<!,2=:!295!=>3?:=>8>97=6=?=!5:!
+8A;866>=<7@??!4><>?<@=5!A>=;<::4<&2/0#$0#/$0$!$&&#
@853_16_1821/1
-G2020..2233.223.12.21.2223.101.3211322223122222.23.
+T2133312220333.203003203.132322202222220113310.1220
+
-/)3:!!7:>?!//)!&/!&,!09;<!/31!<.)&)+).-2&44,(%!$4!
+:,61:5;<18;=<!:,=(294,6!/,)1+,,1-32*0$.0#,&&)!(,:)
@853_16_1842/1
-G0022..0211.010.21.03.1321.102.2020222023112220.22.
+T2022031201310.230002012.310222131210221100011.0130
+
-:>9<!!;>>?!>>=!<=!<6!8274!687!6905<:)961787=16!&5!
+6>;8A<:<>8:7?!9:@;==?96!8=89<>=3=9<=;;9==>97=!8608
@853_16_1853/1
-G2300..3303.020.11.13.2001.010.0012022112202122.11.
+T2332123123202.112200333.212101231122012220211.2203
+
-$)53!!)$#'!5'(!,-!#(!#+.4!,&5!(,#),'('0)&&/'6&!&/!
+)3)1;'3),)<9:!1<)6'7)7=!66)&/&,7/,3)&),,,,)&/!):,4
@853_16_1871/1
-G1012..0221.030.13.01.0100.112.0102100222022222.22.
+T1310331222123.031120212.231120302120122222221.2111
+
-;&9)!!&<,$!)'(!%&!)9!'<)7!,,7!)49.83)73.6,12)&!58!
+:.(6'1/)(.;,'!>5331%67&!,2+6'()'&4-)3.8.&(&),!&,&%
@853_16_1887/1
-G2001..3000.203.12.01.3230.213.0220222201230231.31.
+T3332021100203.001331023.300022222012120111033.1003
+
-?=;@!!=+=8!=4:!:=!@<!84:9!;0:!9;5<1;:7=/<5&:.7!&>!
+;:8>9<A>><>=;!==<::7>:9!4<>:;><>=>==@=?:9=+9:!=6:5
@853_16_1919/1
-G3011..0111.022.22.01.0232.021.3211120120120110.03.
+T3331012121211.303003033.131111320313213223300.0202
+
-0=8;!!4;7:!8:7!39!;<!5:44!=8:!,7:;9+;=-85&8793!:,!
+2,*:;=9:9:785!28,=67<22!;88<<951;292724291,;<!7$9+
@853_16_1924/1
-G3132..0213.321.13.32.3122.123.1021002130301210.23.
+T1201123330103.233221210.100211100211001133123.1002
+
-41'3!!)(%1!:2:!..!(0!4&&'!,#$!3),&7;**,-%.2.,,!##!
+,81.>)63.))&,!/4$/'&,//!,+3)&5>&&&)(;97>('76)!6:)-
@853_16_1982/1
-G3233..2202.022.00.01.2101.020.2312112223233330.10.
+T0331130320230.220330112.210312121022203321222.2302
+
-8789!!:==>!?;<!;>!@8!9><<!>:;!)8:2:6<<:3&64:1,!..!
+<88<;9<6<=8;<!;4::8<:@:!>:;;:=6:69===97;9:9>=!=4,<
--- a/test-data/solid2fastq_out_3.fastq Wed Jun 08 15:46:20 2011 -0400
+++ b/test-data/solid2fastq_out_3.fastq Wed Jun 08 16:25:15 2011 -0400
@@ -1,1988 +1,1988 @@
@853_7_53/2
-T..02.1120..22.2..230.22.3..033212.1.1....2221...12
+G..1...12.3.023.22.22.2.2..22..2...2222.222.2.2.22.
+
-!!14!3.15!!47!4!!8+1!$9!(!!,..1)&!3!(!!!!1/9&!!!,3
+!!0!!!10!)!)0)!,-!##!%!%!!##!!'!!!%+&)!%$/!)!$!/(!
@853_7_78/2
-T..13.2222..22.2..222.22.2..222212.2.2....2222...22
+G..2...02.2.232.22.11.2.2..12..1...2222.222.2.3.22.
+
-!!##!###$!!##!&!!#$&!$&!&!!%&)'#'!$!#!!!!&)*(!!!&*
+!!#!!!5,!$!5&+!#8!)#!5!%!!3%!!'!!!$$8+!&)%!)!(!*#!
@853_7_88/2
-T..23.2221..13.2..033.30.1..010220.1.2....2222...22
+G..3...22.2.032.13.22.2.1..23..0...2130.132.1.2.30.
+
-!!61!5551!!13!4!!.,)!/,!3!!.)/17+!&!5!!!!-'0.!!!,5
+!!1!!!42!5!,25!24!77!4!3!!81!!,!!!5147!)/6!,!,!1&!
@853_7_132/2
-T..22.2032..32.2..222.22.2..222222.2.2....2222...22
+G..2...21.2.200.21.30.1.1..30..0...2112.202.2.0.22.
+
-!!$(!,#&#!!&#!#!!#($!%$!#!!#&%#$(!#!#!!!!)(*+!!!,2
+!!&!!!5#!)!)&+!2&!',!&!'!!1)!!1!!!4()$!/&,!'!'!0$!
@853_7_141/2
-T..22.2112..10.2..221.02.1..220112.0.2....0222...22
+G..2...13.1.112.22.00.0.0..02..2...2222.200.2.2.22.
+
-!!54!9518!!1&!5!!/31!)0!6!!)533/:!5!6!!!!)/<:!!!,7
+!!,!!!),!5!3)+!//!),!3!9!!&/!!+!!!**#)!.)(!(!(!43!
@853_7_146/2
-T..12.1011..21.2..213.22.2..222222.2.2....2222...22
+G..1...12.2.212.20.11.2.1..12..2...1311.223.1.3.21.
+
-!!10!/240!!0)!2!!#&'!'5!(!!(.-*$3!*!4!!!!+#(.!!!.(
+!!1!!!33!4!#15!7(!51!1!3!!.5!!5!!!/)/,!&-/!,!.!4,!
@853_7_269/2
-T..12.2222..22.2..222.22.2..222222.2.2....2222...22
+G..1...21.2.212.02.01.2.1..21..3...2210.113.2.3.32.
+
-!!%&!('#%!!#*!#!!/##!&)!$!!'$',%,!%!2!!!!3,,*!!!,2
+!!3!!!/.!+!*4,!42!)8!2!3!!62!!0!!!84;)!)7.!5!/!&%!
@853_7_321/2
-T..20.2322..21.3..222.12.1..120012.3.0....2000...22
+G..1...01.2.202.10.11.0.2..22..2...0332.111.2.0.22.
+
-!!+$!+21(!!*-!.!!)#1!8/!9!!6,3+%6!'!,!!!!2&6,!!!&2
+!!$!!!&'!.!*##!6$!#1!+!#!!.+!!)!!!36(#!*5'!#!4!+(!
@853_7_386/2
-T..12.2302..20.2..231.12.0..200232.3.2....0002...22
+G..2...31.2.211.11.31.2.0..31..0...2030.312.1.0.22.
+
-!!31!:7-%!!:,!-!!21,!77!)!!227:9:!2!;!!!!)',%!!!86
+!!;!!!86!=!;9=!%5!58!<!2!!62!!&!!!&3:&!//8!*!7!5*!
@853_7_405/2
-T..21.0221..31.2..000.23.2..020022.0.2....0313...12
+G..2...00.0.002.31.23.0.2..32..3...1032.120.2.1.22.
+
-!!<8!8;==!!;>!:!!7:7!7;!8!!7:>48=!2!=!!!!536*!!!;:
+!!=!!!;:!>!<8=!9<!:<!=!>!!;8!!;!!!;//1!&(&!/!'!*-!
@853_7_411/2
-T..10.2000..33.2..022.02.0..200222.2.0....0000...00
+G..1...00.1.002.02.12.1.2..22..2...1020.312.2.0.21.
+
-!!,/!13;,!!&,!+!!2/%!*1!$!!%*)+#,!,!&!!!!'-'&!!!++
+!!$!!!-#!#!*#+!,&!2*!#!#!!%'!!)!!!'$)$!/-#!#!'!,+!
@853_7_445/2
-T..30.3210..01.1..120.11.3..301222.1.2....3222...22
+G..2...33.0.233.03.31.0.1..13..2...0020.222.2.2.22.
+
-!!&'!*+'#!!'%!&!!,%#!)%!(!!'##$&'!#!$!!!!$$#,!!!#$
+!!&!!!0%!#!,&'!,'!$$!&!,!!&)!!'!!!..*&!#,7!1!.!10!
@853_7_469/2
-T..22.0102..20.3..200.21.0..002202.2.2....0203...02
+G..1...10.3.313.33.33.0.3..02..1...2333.230.2.3.32.
+
-!!##!*($&!!##!#!!%))!#1!%!!(,##$.!#!(!!!!##'#!!!&$
+!!#!!!%%!$!))+!$,!*%!.!(!!.#!!#!!!#&##!##&!#!#!##!
@853_7_474/2
-T..30.1122..22.3..111.21.3..222020.2.2....2203...23
+G..2...03.2.112.23.31.1.2..21..1...2221.322.2.1.21.
+
-!!54!6464!!56!:!!97:!88!8!!7/5)4/!4!8!!!!4#45!!!#)
+!!9!!!::!:!<58!=>!>2!=!7!!2+!!$!!!&#.$!#%+!#!'!##!
@853_7_497/2
-T..10.0200..22.1..112.03.0..100121.2.2....3132...21
+G..3...02.2.221.22.12.1.2..13..0...0033.230.2.3.21.
+
-!!9:!678;!!14!9!!:<:!77!;!!.76.(<!.!/!!!!2)(9!!!14
+!!6!!!66!,!94'!7:!95!9!5!!/%!!4!!!/1).!'$(!0!$!(,!
@853_7_587/2
-T..22.2022..01.2..323.23.0..323322.1.1....2212...20
+G..0...23.2.030.01.02.0.3..33..3...2101.030.0.2.20.
+
-!!2,!,33/!!7&!7!!916!)9!<!!;,<6,1!5!/!!!!,31;!!!/>
+!!/!!!;;!&!,&)!&(!(.!-!)!!&&!!5!!!35(=!817!,!&!+)!
@853_7_630/2
-T..13.0022..11.1..213.10.0..031113.3.3....1112...20
+G..3...01.0.011.10.21.0.3..22..0...2101.020.3.0.01.
+
-!!,8!&5/=!!>)!)!!;).!)7!6!!/2>,('!5!2!!!!)=,&!!!25
+!!9!!!1<!;!&3/!8>!1>!=!5!!1&!!;!!!%1&6!'8,!(!8!/%!
@853_7_655/2
-T..01.0023..02.2..301.32.3..232113.2.2....2222...22
+G..3...33.3.113.10.20.1.1..02..2...3132.200.1.1.21.
+
-!!##!###'!!#'!#!!,##!##!$!!%$###(!#!#!!!!#'##!!!##
+!!&!!!8#!9!7&)!>5!#:!?!#!!;$!!<!!!#88&!#<;!%!8!##!
@853_7_692/2
-T..00.0122..02.3..230.21.2..301213.2.1....1122...22
+G..0...30.0.300.12.30.1.1..30..2...1022.320.3.3.33.
+
-!!04!3>66!!.1!7!!5>5!:,!,!!1:&;59!>!,!!!!5.&.!!!)8
+!!9!!!;;!9!7:<!6;!<:!9!9!!>:!!<!!!=,>7!;/<!=!<!>(!
@853_7_715/2
-T..00.0213..21.3..131.12.0..202011.1.0....0221...22
+G..3...22.1.110.22.31.2.2..21..1...1021.330.1.2.31.
+
-!!&0!,)/5!!(.!1!!)',!+&!5!!&8/263!-!#!!!!&6&&!!!&0
+!!:!!!69!9!7<;!8:!=+!6!6!!93!!5!!!(706!&:4!(!,!,$!
@853_7_719/2
-T..00.2231..02.0..122.13.0..003022.0.1....1010...02
+G..0...00.3.200.02.30.0.1..20..1...0003.301.2.2.33.
+
-!!6*!/.2+!!5(!#!!$.$!5&!,!!1,&2*.!$!#!!!!#+&#!!!$#
+!!,!!!:.!)!;#'!,,!#6!7!#!!#.!!#!!!&#&#!#$&!#!#!##!
@853_7_743/2
-T..11.0201..00.1..303.01.1..021332.3.3....3223...23
+G..3...00.0.201.11.03.2.3..30..2...1112.300.2.2.31.
+
-!!83!7>',!!45!9!!6(8!21!<!!.&=,7.!7!4!!!!.963!!!04
+!!>!!!<9!7!8:>!>;!:>!9!<!!=9!!5!!!35=,!:1=!)!/!5,!
@853_7_791/2
-T..20.3311..03.2..301.01.2..122002.2.1....3123...21
+G..1...00.2.022.02.32.1.3..21..0...0222.120.1.0.22.
+
-!!0;!3>28!!>:!4!!54&!<;!'!!9,&'88!&!+!!!!&4,.!!!',
+!!/!!!1/!>!/)?!:/!75!<!;!!,/!!=!!!:==1!:9?!7!9!,&!
@853_7_801/2
-T..00.0323..21.1..112.23.3..132022.2.1....2122...22
+G..2...11.1.232.31.01.2.1..22..1...2222.122.2.1.22.
+
-!!;=!;<6<!!=>!>!!=8@!;<!?!!8;;5@<!A!;!!!!>3;3!!!;6
+!!=!!!>7!=!==9!?=!1=!=!<!!>4!!5!!!)$5)!*'.!&!&!*$!
@853_7_845/2
-T..01.3303..01.1..102.03.1..222102.0.0....0231...12
+G..3...23.0.310.12.22.2.2..22..2...3232.303.2.2.33.
+
-!!:4!246-!!:2!5!!,62!6(!6!!25)254!6!6!!!!42/$!!!2#
+!!,!!!<2!<!;20!3)!+'!%!(!!(#!!*!!!,,(#!,#,!#!,!#*!
@853_7_868/2
-T..31.3103..12.1..211.32.2..223200.2.3....1031...21
+G..3...21.0.012.11.00.1.2..31..0...0101.022.2.3.03.
+
-!!8>!<;@9!!@>!=!!=;<!<<!:!!=:8<>:!4!1!!!!0&&.!!!))
+!!8!!!@:!<!@;8!<@!:>!@!=!!6<!!<!!!>6;;!?5=!:!7!36!
@853_7_1026/2
-T..22.3032..03.3..110.32.3..212230.3.0....1111...13
+G..2...02.1.333.11.10.2.2..21..3...1323.011.1.2.22.
+
-!!09!6;95!!'=!8!!6#&!1&!-!!3&',1)!9!*!!!!3&,(!!!(9
+!!'!!!#,!7!'&,!5.!&.!&!*!!8.!!-!!!5.)&!$'(!%!&!4&!
@853_7_1057/2
-T..30.3112..22.2..132.21.0..332122.2.2....2220...32
+G..1...22.3.333.22.22.3.1..12..2...2122.332.1.3.21.
+
-!!%$!8:1:!!=5!,!!3<9!&#!$!!&&$$&#!,!'!!!!#%&&!!!)&
+!!+!!!55!3!18=!?7!6:!/!7!!?5!!)!!!/)<3!0;,!3!5!+,!
@853_7_1066/2
-T..01.1122..00.0..131.32.0..230030.3.3....2000...30
+G..2...22.2.332.12.01.3.0..21..2...0312.122.0.1.02.
+
-!!?,!==/:!!((!(!!(.,!/&!;!!(,&6)?!1!(!!!!?/7:!!!3=
+!!:!!!;4!<!916!??!:>!5!:!!;,!!/!!!8:8/!/79!/!;!/0!
@853_7_1107/2
-T..20.0301..13.2..003.10.0..300221.2.1....3300...32
+G..1...11.0.223.12.23.2.0..11..1...2012.132.0.3.30.
+
-!!36!2805!!36!7!!468!81!7!!1/866&!5!1!!!!$##/!!!$&
+!!8!!!98!0!067!:8!&,!5!,!!.3!!:!!!*5-4!$7/!#!5!4#!
@853_7_1179/2
-T..02.3301..32.0..310.03.3..312300.3.3....1320...03
+G..3...02.1.133.00.21.1.3..20..1...3000.002.3.2.23.
+
-!!25!59:0!!6)!;!!77:!1/!)!!)899+#!,!&!!!!0),4!!!+.
+!!8!!!69!/!,85!1>!8*!<!8!!)9!!6!!!&78<!3>,!:!7!6&!
@853_7_1198/2
-T..32.2203..31.2..111.13.1..312322.2.2....1103...22
+G..3...21.2.121.00.13.0.3..01..3...1131.330.1.3.01.
+
-!!@6!<99<!!==!<!!<<=!3@!;!!$<:<82!>!;!!!!:)6:!!!9:
+!!>!!!=;!<!;/7!;;!16!>!1!!<=!!:!!!-4;<!#<>!1!=!3$!
@853_7_1261/2
-T..20.3233..32.2..223.22.3..232033.2.3....0322...23
+G..0...12.3.202.00.03.2.0..22..0...2112.021.2.3.22.
+
-!!?9!A@=:!!/&!&!!427!+8!:!!)-0101!'!,!!!!,$)'!!!6&
+!!3!!!<&!:!>+'!7>!26!<!7!!<7!!9!!!:;;&!3;6!(!>!+&!
@853_7_1321/2
-T..00.0321..22.2..100.11.1..120210.0.2....2211...02
+G..1...20.0.021.12.10.2.0..20..1...2002.012.2.1.22.
+
-!!/&!,<41!!8.!)!!):$!/$!&!!&('))(!/!-!!!!7#&,!!!((
+!!-!!!'+!)!/*/!*8!)-!)!0!!)4!!7!!!$/7'!)1$!%!&!#2!
@853_7_1406/2
-T..13.0310..13.2..031.32.0..002230.0.2....0231...11
+G..0...11.0.212.11.00.2.0..23..1...2002.102.1.0.30.
+
-!!8<!9<<;!!:=!9!!6:9!=>!<!!;=8/=8!4!8!!!!5979!!!:<
+!!7!!!;:!<!<;;!8=!:<!:!8!!:;!!=!!!9:9<!88=!=!;!;;!
@853_7_1431/2
-T..11.0032..21.1..310.00.0..321021.0.2....3030...02
+G..3...20.3.020.23.22.2.2..22..1...3302.132.0.2.02.
+
-!!>>!<A9=!!;8!?!!9?@!?@!<!!:;=679!;!7!!!!9)(>!!!,3
+!!8!!!>>!;!=9A!;:!;5!;!1!!%*!!(!!!#&%)!&&'!(!&!)#!
@853_7_1439/2
-T..20.0132..13.1..212.32.2..222110.3.0....2132...22
+G..3...12.2.013.21.20.2.1..21..2...2001.123.0.2.12.
+
-!!3/!<1/3!!A;!,!!3>=!<7!3!!:>@)/7!8!5!!!!,,,<!!!)2
+!!&!!!0,!)!;>2!46!14!=!5!!6:!!1!!!9<58!80:!4!9!7,!
@853_7_1524/2
-T..20.1110..13.3..201.33.3..320121.1.3....3321...20
+G..1...22.3.122.01.11.2.3..20..1...3021.103.2.0.32.
+
-!!##!####!!#3!*!!##(!5.!0!!.-##$#!%!-!!!!$+##!!!$%
+!!0!!!A/!5!?.4!:A!/6!?!8!!=2!!:!!!/:;#!&87!.!/!$%!
@853_7_1537/2
-T..12.1030..02.0..011.30.1..111200.0.3....2033...11
+G..0...11.1.233.22.22.1.3..22..2...3311.220.1.2.11.
+
-!!##!##$$!!$#!#!!###!##!#!!######!#!#!!!!####!!!##
+!!#!!!)$!#!&$&!#(!##!2!#!!##!!#!!!##%#!##&!#!#!##!
@853_7_1592/2
-T..21.3233..02.1..000.22.0..121233.3.1....3223...22
+G..0...10.1.033.00.33.2.1..11..3...0031.333.0.3.32.
+
-!!8;!93;3!!46!=!!96:!::!6!!9;919=!6!3!!!!)%',!!!'$
+!!8!!!<9!7!<==!<9!=<!9!;!!<3!!=!!!785;!<8<!7!&!96!
@853_7_1597/2
-T..12.3100..33.0..312.02.1..000000.3.1....1100...00
+G..3...00.2.102.11.21.2.1..00..0...0011.000.2.0.00.
+
-!!)&!&'(0!!'(!<!!4)6!7)!/!!3#-)/2!+!%!!!!.02&!!!/'
+!!%!!!+&!4!#/1!58!6&!$!&!!$'!!&!!!**0*!4:9!8!6!./!
@853_7_1650/2
-T..00.2212..12.1..203.13.3..102012.0.2....3333...30
+G..3...03.3.203.10.12.0.2..20..2...1113.121.2.1.33.
+
-!!=;!/;;,!!&.!)!!-32!+.!4!!8)6;%,!,!,!!!!)008!!!,4
+!!3!!!;<!/!)6%!(8!&)!:!=!!1&!!<!!!,<<&!&.8!9!8!(;!
@853_7_1790/2
-T..23.1021..32.0..130.13.0..012301.0.1....0001...10
+G..2...13.3.311.21.13.1.0..11..3...0212.001.0.2.22.
+
-!!0&!8)0,!!86!0!!-54!;&!9!!38,3=+!:!<!!!!93;/!!!7/
+!!+!!!,%!(!8&9!,)!,/!(!,!!7.!!'!!!;:&3!80+!'!:!06!
@853_7_1795/2
-T..22.2123..01.0..222.31.3..233211.0.1....2312...03
+G..2...02.0.222.13.22.0.1..11..1...1220.213.0.1.20.
+
-!!,)!=*,(!!,)!;!!&*1!9,!6!!,/:3)5!6!;!!!!:;9.!!!//
+!!?!!!2A!6!81;!38!<:!9!6!!;6!!4!!!/<7/!519!7!/!13!
@853_7_1807/2
-T..03.0310..02.3..121.20.1..333122.3.1....0302...12
+G..3...11.3.213.13.02.1.3..20..1...3031.033.2.1.03.
+
-!!%7!&1&(!!,,!&!!&26!%&!$!!85$)14!8!9!!!!.&&)!!!2&
+!!)!!!:5!&!+/%!(.!$&!8!:!!.,!!&!!!,*,2!&,(!,!(!,7!
@853_7_1872/2
-T..01.2331..12.2..200.02.3..302232.3.1....1203...23
+G..0...33.0.231.21.10.0.0..03..1...1323.110.0.2.01.
+
-!!5)!33-7!!:9!'!!76&!2)!2!!4;,=''!'!(!!!!)()-!!!'.
+!!/!!!3;!/!;3>!88!=8!2!;!!:'!!<!!!?1)/!>79!3!9!47!
@853_7_1885/2
-T..10.3010..11.2..331.21.2..230213.1.3....0132...32
+G..2...33.1.320.12.01.2.0..11..3...1213.332.1.3.20.
+
-!!)/!&&,/!!:&!,!!1.,!,1!&!!.')='/!3!&!!!!'7/&!!!(&
+!!/!!!/&!&!*0&!*3!)&!+!4!!))!!$!!!6,,(!5,&!(!)!)&!
@853_7_1910/2
-T..11.1002..20.1..000.20.1..111022.2.0....3311...23
+G..3...03.1.331.22.00.2.0..22..2...0120.020.1.2.02.
+
-!!6;!><@/!!/8!?!!@;<!,?!=!!(a)==9;9!6!/!!!!.8<5!!!5,
+!!4!!!>3!>!50<!1;!A>!<!;!!9+!!&!!!;9&3!&((!&!&!&&!
@853_8_43/2
-T..32100023203.2..110.31.120321022.100.1.11202..211
+G.130..11.3.030.30.00.3.2..11..1...3221.22222.2.22.
+
-!!,5)03.2,41.!3!!3/.!2/!16,/8/)88!///!,!,3),1!!,(&
+!//,!!3,!,!),1!1,!/,!)!3!!,&!!,!!!,&.&!1%2'8!*!*-!
@853_8_48/2
-T..21122022323.1..222.32.020211202.222.2.20222..222
+G.023..11.1.210.22.30.0.0..22..3...2202.22222.2.22.
+
-!!,&-+1(-+'0&!)!!#-#!-/!*+'/(&.)#!#$5!%!&(%'%!!'&'
+!&#)!!,(!,!/&&!+&!%-!)!&!!##!!&!!!$.&$!$##$'!#!''!
@853_8_57/2
-T..23231203232.2..212.22.222222232.222.2.22222..222
+G.312..02.1.302.20.00.0.0..33..2...3313.22022.3.20.
+
-!!'&#&&##%%&%!%!!%&$!(#!)#)&+$$'/!&)$!(!''-0*!!4&/
+!'$%!!&%!1!$)&!#&!$%!*!'!!/$!!&!!!')%&!#(%.%!'!&&!
@853_8_106/2
-T..23112221210.3..001.02.032222322.212.2.22222..220
+G.223..02.3.313.23.03.2.0..02..1...2232.22222.2.22.
+
-!!6)/32810/33!&!!,&1!).!/)5151'$(!+/2!5!+%##/!!/#&
+!62(!!3/!/!1/+!%5!&(!7!)!!33!!'!!!2#9&!11854!#!/*!
@853_8_196/2
-T..00233022111.0..002.20.021222222.020.0.22222..222
+G.330..21.1.220.33.12.2.2..32..2...2212.22222.2.22.
+
-!!385&)&):5&'!/!!&))!&)!&&'-&--%%!)&&!1!0+-20!!4$.
+!)+.!!3)!&!5$)!)/!,/!,!4!!'$!!(!!!'$&6!,)5(*!)!-)!
@853_8_211/2
-T..20112122111.2..112.22.220222212.122.0.21222..222
+G.012..11.1.302.10.10.1.2..02..2...2202.22222.2.21.
+
-!!690,)$/63,,!&!!)'+!#*!..&'7+7)%!(5#!)!(+2.+!!2-.
+!,+-!!,4!*!'))!18!60!9!,!!/#!!(!!!+,92!'.'#+!%!.'!
@853_8_227/2
-T..10201100320.2..302.10.312330220.312.2.02221..221
+G.221..02.1.031.02.32.1.0..21..3...2212.30100.2.22.
+
-!!1,:,,8&//71!1!!/&3!9)!)/),)17&&!1/&!)!+95(3!!))+
+!4(/!!&3!7!2,7!+.!&2!,!&!!73!!2!!!761&!.6,,&!4!%)!
@853_8_248/2
-T..21312120022.0..122.22.222222232.222.2.23222..222
+G.123..02.3.222.22.22.2.2..22..2...2222.32222.2.22.
+
-!!%'+)5,#'%#)!%!!-#%!#*!&%+$(#'#'!'()!&!(%%('!!+,(
+!-*&!!$#!#!$$#!##!##!#!$!!,,!!$!!!%*&,!#&)(%!'!*'!
@853_8_253/2
-T..21322103032.2..222.22.222222222.222.2.22222..222
+G.220..00.1.200.22.20.0.0..22..0...3222.32022.2.01.
+
-!!3.'+##,&#&$!%!!&($!#$!#'-*((%)4!'4)!'!,$,4(!!.(/
+!987!!96!7!:9<!<=!::!;!;!!8<!!9!!!,;:<!-;;=<!;!16!
@853_8_342/2
-T..13021033322.2..301.32.230300120.122.0.02112..223
+G.203..21.2.201.01.02.1.2..23..1...0111.22220.2.22.
+
-!!6:7<;/95<==!8!!:66!:9!8:)9782:,!4=7!7!,5..;!!<:)
+!94:!!:5!:!;6:!94!5>!5!8!!39!!7!!!4<79!>=<?/!=!>>!
@853_8_400/2
-T..22033300003.2..212.31.222123211.122.0.22023..221
+G.023..30.1.103.10.12.2.1..31..0...1332.10222.0.22.
+
-!!=>9>3=7<=/=!;!!=4;!:2!9;8678815!2<:!6!<7/(7!!=9(
+!7;7!!:5!;!77:!<<!87!8!1!!66!!4!!!0,8$!+/582!1!'+!
@853_8_422/2
-T..01111020122.2..201.22.120231110.221.2.22212..222
+G.222..11.2.102.31.21.2.2..12..1...2222.22322.1.22.
+
-!!1'1,&&;&))&!,!!1,0!/,!/&-&&+0)'!&)7!)!'/)&&!!1,,
+!%)*!!5%!'!)&2!+$!&$!2!%!!.#!!*!!!%$/(!/'&)$!4!1,!
@853_8_555/2
-T..02332301011.0..112.00.033000312.302.3.13300..023
+G.123..30.1.130.01.22.3.0..33..2...1322.30321.0.22.
+
-!!7/:(:;=5?=7!?!!==/!41!=;5<(&:56!697!'!196&=!!;2-
+!@=9!!;?!>!=<?!>?!=<!<!>!!9:!!5!!!86:2!;/::9!1!86!
@853_8_638/2
-T..00113230133.1..100.22.131113302.011.1.20020..320
+G.230..00.1.000.21.33.0.3..32..1...3332.33031.3.02.
+
-!!98A<@><;=:=!<!!9;<!>:!98=:8:5<7!99>!:!/<37;!!5<:
+!:95!!<=!4!58=!64!<=!6!8!!0%!!)!!!$,$(!$&&$#!+!'(!
@853_8_735/2
-T..00011213121.3..001.11.003311000.222.0.22003..303
+G.333..30.3.010.21.31.1.1..32..2...2120.20303.3.33.
+
-!!/<5=::0-3)+!-!!8:;!(9!=&.9&87;=!)3+!)!81:&5!!'.,
+!695!!::!:!>7<!:<!5<!=!:!!7'!!)!!!49:5!/-8:7!/!15!
@853_8_888/2
-T..02110321212.0..222.12.220011220.032.1.02322..333
+G.020..30.1.232.03.23.2.2..22..3...1333.23322.2.22.
+
-!!:9:<=;;9?>?!;!!<;?!>>!@=<<<<?<;!;>>!:!1;==:!!3/1
+!>?;!!>>!;!==;!<<!<:!:!:!!62!!'!!!#$')!$)/+9!'!-5!
@853_8_893/2
-T..00112301113.2..023.21.002311320.100.3.21200..012
+G.311..13.1.022.23.13.2.2..02..1...2222.22032.2.22.
+
-!!'(9,5/995'.!:!!74<!(.!<0895158/!510!1!94055!!)33
+!68,!!8;!9!:4:!<:!<8!3!;!!/1!!&!!!*+'2!52%-+!%!'&!
@853_8_898/2
-T..33330033033.3..022.31.223030333.212.1.01232..322
+G.110..33.0.233.22.03.0.3..21..1...3321.23332.0.03.
+
-!!%%-41))2.#6!:!!%(%!32!,'1%)+30,!#&(!)!&%'+)!!1$'
+!9:(!!/4!4!,79!1=!)6!,!9!!<)!!1!!!<,;4!5&7#%!$!*+!
@853_8_920/2
-T..02321113231.0..302.30.010200220.321.0.01122..130
+G.132..13.1.310.20.22.3.3..02..0...1222.23221.3.21.
+
-!!78675>:8=:6!7!!58<!>4!79&857<3/!::3!8!/;)66!!4;8
+!>;;!!8<!;!<9:!99!<=!;!8!!87!!=!!!:;=;!=9=;9!9!=5!
@853_8_958/2
-T..03321221220.3..021.12.001030231.030.3.21222..222
+G.133..23.1.021.12.02.0.1..03..1...1022.03300.1.23.
+
-!!:&>>=A93;9(!=!!</3!A6!/;<;38>=5!1?9!6!91()'!!9/'
+!A/1!!:?!@!:@?!;>!?@!<!=!!7?!!6!!!='A?!8)7<=!5!9?!
@853_8_1076/2
-T..22322100313.1..102.12.332320213.211.0.13003..112
+G.202..31.0.331.13.02.2.1..23..2...2220.03103.3.33.
+
-!!;,&>&=50.3'!,!!)&<!</!)5-&&&>,&!4<=!,!)(6:&!!8),
+!),&!!)<!5!3/)!(:!&;!)!1!!:/!!)!!!9;6,!7;1(9!=!):!
@853_8_1081/2
-T..10030322221.2..000.20.002012320.222.2.21001..102
+G.311..02.2.013.33.12.0.3..21..0...3023.23223.3.13.
+
-!!;:6::8:6:::!9!!6;9!88!8;8:99;:8!89;!;!:999:!!4+#
+!;::!!;;!:!;::!9:!;:!<!8!!;<!!4!!!6:80!)','2!&!&,!
@853_8_1134/2
-T..33002312331.0..101.03.213221112.000.3.03233..123
+G.210..12.3.333.11.31.3.3..33..3...2132.22323.3.23.
+
-!!/,7/&)&6989!/!!.$:!0#!:,-((61$=!838!5!+<)<;!!&+<
+!$##!!$'!'!,#,!##!%#!#!,!!##!!*!!!*##'!')#$#!+!)#!
@853_8_1157/2
-T..00333123321.1..100.11.112120200.230.0.21203..230
+G.113..13.1.210.02.30.0.2..03..0...1131.22300.3.32.
+
-!!,=&;+3&&()+!&!!7=,!;2!<17.1&=49!':9!9!,<)(1!!%-'
+!3><!!//!5!5=6!8>!4>!.!<!!13!!<!!!;3/5!<)3,+!;!<*!
@853_8_1173/2
-T..30202112233.3..320.02.123012201.311.2.32000..122
+G.123..31.3.102.32.11.1.3..00..0...1201.02202.2.00.
+
-!!:6=>=:6?;>=!<!!=:/!;:!5=;9>8:8?!<5?!>!9<:;@!!1?;
+!?==!!A>!@!<<:!A?!<;!>!=!!<@!!<!!!?7<8!>A>;>!7!?4!
@853_8_1215/2
-T..22310320211.2..131.10.232003230.102.2.11010..031
+G.120..31.1.212.20.03.1.0..02..1...0000.30212.1.13.
+
-!!(,-&*74'4,0!/!!01/!$3!1#*7.2&4)!(0,!'!-'&&'!!4))
+!&,$!!68!(!8*2!%(!$.!#!.!!'2!!$!!!,$%)!*$)6*!#!3$!
@853_8_1223/2
-T..10222220120.1..111.11.123301223.133.3.22333..111
+G.022..01.0.203.00.12.1.0..22..0...0213.20020.3.02.
+
-!!29:3;#,0%%(!*!!'&,!##!)###($##$!#%(!#!#$+#*!!,*$
+!?:<!!<@!A!<>;!A=!=<!A!=!!?;!!;!!!>8;:!,<>:>!;!39!
@853_8_1229/2
-T..10011030332.0..200.31.312001011.220.1.11010..131
+G.123..10.0.032.22.10.3.0..03..3...0300.32013.0.20.
+
-!!47;2184<787!<!!959!95!85,92;76:!995!5!95</;!!:38
+!;:8!!;/!/!<7:!::!<1!9!=!!;6!!8!!!-9<<!&9;,8!:!86!
@853_8_1234/2
-T..33303001323.3..211.32.311201012.323.1.21333..221
+G.333..20.3.233.21.22.2.2..20..2...0301.23003.3.23.
+
-!!39<46:6186)!&!!-&/!#6!$+5<1'#&;!)(7!&!$5,:%!!.2$
+!&,$!!'&!/!5;&!1(!9/!/!1!!&&!!&!!!)$',!,,$&2!9!,-!
@853_8_1255/2
-T..31322212222.0..003.20.121221012.212.2.03220..230
+G.321..32.1.231.20.12.2.3..31..2...2021.32202.2.22.
+
-!!3/83&10,)1/!)!!&<:!+&!(=&&9/55*!(/:!6!,;09)!!)&*
+!*)&!!&$!&!&&'!&&!+&!%!'!!&,!!%!!!+#&(!'$$',!$!',!
@853_8_1315/2
-T..32221201122.2..223.33.132223100.221.0.20222..232
+G.122..13.1.232.30.31.0.3..02..2...2300.23122.2.23.
+
-!!2915?(5@(,6!9!!68<!84!)&7&9&,/9!181!:!83:5)!!/),
+!6(,!!>;!?!@<<!<=!9<!?!:!!>7!!,!!!1&:3!+(&,,!,!-&!
@853_8_1372/2
-T..02101130220.1..113.23.121310222.233.3.12203..310
+G.020..01.0.313.03.03.2.2..11..2...2011.20122.2.00.
+
-!!;/;96:1;8:8!:!!:<6!:)!<2:39=:81!868!:!%91/9!!57/
+!5-7!!:5!:!5>9!8<!<8!8!1!!;*!!9!!!5;<4!8=:):!<!67!
@853_8_1461/2
-T..00011120113.3..213.01.030001322.203.2.32222..222
+G.130..23.0.211.33.31.2.2..01..1...0030.13010.1.22.
+
-!!:=:965=:<7>!?!!=&>!)6!3876:,7<;!6&,!5!;2/%(!!13*
+!>?;!!?@!=!=:9!@A!?>!=!;!!;9!!8!!!9;?4!9>:0,!/!34!
@853_8_1475/2
-T..21310212220.3..100.02.122303121.002.3.12213..213
+G.031..13.1.301.11.00.1.0..22..2...1200.02001.0.00.
+
-!!=?<A5:93;>;!:!!=;>!>>!?>A;7=7?8!<:=!8!/)&))!!2,,
+!<<<!!=<!A!:;@!>9!?>!2!>!!7=!!=!!!<:<<!3<);>!8!97!
@853_8_1567/2
-T..02200001131.3..311.10.132232122.322.1.23023..002
+G.122..22.2.110.33.11.0.2..22..3...0222.21031.3.22.
+
-!!&)'8<=$<&#)!&!!%<=!+;!<(0+''68:!+*8!:!4'&'%!!,;5
+!###!!#'!%!#%#!(#!(#!&!,!!#'!!)!!!(##%!'#$'#!#!)*!
@853_8_1662/2
-T..02221200121.2..022.10.310222220.231.2.12011..003
+G.030..23.0.033.00.01.0.3..11..2...1132.21021.0.20.
+
-!!99;784<4187!6!!483!:8!95:288:9.!795!7!3:-99!!,76
+!3%,!!2(!,!1)+!1;!$2!5!&!!6#!!&!!!,:#)!*/12,!)!#-!
@853_8_1669/2
-T..23233312111.0..213.12.133322002.221.1.11110..113
+G.023..00.1.000.20.03.0.3..01..0...0333.33320.0.01.
+
-!!:6/847<<3:6!:!!638!&7!1857.1)&9!1,,!9!+48=2!!775
+!<29!!;8!8!:26!76!;:!%!9!!'0!!2!!!14,5!2%#10!*!5.!
@853_8_1758/2
-T..12201012113.2..001.10.100122000.000.2.00000..220
+G.001..13.0.123.11.33.3.0..00..2...3223.32232.1.01.
+
-!!(/##&&%##$'!#!!&#$!$'!$#%)&###&!&)%!%!#$-&+!!%()
+!2<8!!51!6!4:;!:8!6;!6!7!!69!!:!!!66/5!:16:(!+!5,!
@853_8_1764/2
-T..11002002020.2..110.31.120112122.132.3.33003..102
+G.322..11.0.112.13.22.2.1..02..0...2022.33002.1.22.
+
-!!;9;;;:<9<::!:!!::;!5=!>:<;<8=88!<49!7!,39<8!!:19
+!5;:!!99!;!:7;!@8!<7!;!>!!@3!!;!!!&>6.!9->):!&!-:!
@853_8_1824/2
-T..03311120021.1..310.13.320330301.220.3.30122..132
+G.010..03.2.232.32.11.3.1..00..2...1002.02103.3.13.
+
-!!689.1.>::6.!/!!4,+!/9!**);+&+;0!,:1!%!:/353!!;/:
+!::;!!<9!9!36<!7>!?:!<!1!!:9!!9!!!,7<5!86<:1!7!31!
@853_8_1835/2
-T..21020321003.3..110.20.000022103.122.1.13220..033
+G.211..22.2.310.12.02.2.0..22..1...2222.12220.2.11.
+
-!!?=>==;?@=:<!;!!=<<!::!><<;>@5=;!@7<!=!:;9;9!!87:
+!@?9!!@@!=!<A<!7?!<4!8!.!!&%!!&!!!'&&(!&)&.&!&!-%!
@853_8_1917/2
-T..23111010120.2..232.32.121231102.101.1.21322..222
+G.011..03.2.233.33.32.2.2..22..3...1311.22132.2.02.
+
-!!65),33&6&1)!1!!,3%!3.!&.(4',5'$!//%!&!&+-,7!!*&.
+!(,(!!*,!+!$,)!+(!,'!(!$!!))!!.!!!%&#+!%(,,(!#!'&!
@853_8_1930/2
-T..31110222033.0..021.11.103010131.300.2.22212..311
+G.230..33.2.200.21.02.1.2..03..2...2220.13110.3.22.
+
-!!</,5&</>;#<!6!!4;:!49!<,:7>63$6!>12!;!$#2,#!!(&$
+!7:6!!>9!7!>*1!:(!8=!4!4!!7$!!7!!!5>;.!48919!%!/6!
@853_8_1938/2
-T..20302201110.2..211.22.132123322.120.1.31210..211
+G.300..33.3.100.13.20.3.2..32..2...3331.13321.3.23.
+
-!!,))/,+&+'')!&!!/()!':!'#,('&.'+!&#&!'!&)&0)!!+0&
+!,5#!!,)!&!$('!0'!#&!,!,!!.$!!#!!!1$#6!8$)#+!(!$%!
@853_8_1984/2
-T..13030120302.0..030.11.202121322.112.1.30000..212
+G.302..33.2.010.11.12.3.1..23..3...1303.03112.1.22.
+
-!!8(4+-</08<9!:!!889!89!8:9<0679;!8>8!<!2588:!!,:5
+!5;<!!96!<!>>@!==!@=!8!>!!98!!4!!!=498!=96=:!9!99!
@853_8_2005/2
-T..03113122102.2..101.20.002313003.110.1.01020..001
+G.010..10.1.212.02.12.1.0..20..3...3223.01201.0.02.
+
-!!(75<,4/44$2!8!!(63!:6!3527)155)!*.2!#!4(()&!!&,5
+!>>;!!<<!=!9>=!><!><!>!/!!:<!!4!!!789:!88:>6!7!9)!
@853_8_2031/2
-T..22312022312.0..002.22.223022123.001.3.02200...00
+G.002..03.3.313.13.03.2.2..03..2...11.0.33210.0.12.
+
-!!<;7A>?;:;@<!>!!:9=!:>!<=69<=;:-!@@;!/!<>.@9!!!=;
+!8=;!!68!;!:7:!@7!<6!6!=!!19!!:!!!>>!<!89'49!6!;&!
@853_9_6/2
-T3222.021.1002.223202.22.222222122.222.2222.22.222.
+G.32...21.1.122.22.22.2.22.22..2..22122222122.2.22.
+
-#&&%!$&&!)%&+!&&)%'$!*#!('##$0&%(!'$#!.'''!/.!-)%!
+!&&!!!/(!'!)(.!#,!&#!+!#+!1&!!#!!($&.*+'#&-*!'!2%!
@853_9_22/2
-T3212221120222.222223.22.222222222.222.2222222.2222
+G.222..22.2.222.12.22.2.22.22..2..22222222222.2.22.
+
--*%)&(/,%&.,(!%&&(0&!'+!$#2'-).&$!+0/!16/')-(!'/.-
+!%$%!!#&!#!%##!$'!#(!#!*$!%$!!%!!#%&))-&+2(-!#!1'!
@853_9_70/2
-T1232131203111.331113.12.211213201.221.2221222.2222
+G.330..22.3.200.02.30.3.32.01..0..00002211122.2.32.
+
-/5/52,143123,!014734!17!3738316',!37)!2(&&-+%!'-*)
+!,31!!54!5!355!38!,1!3!+7!6/!!'!!(539:////7&!,!($!
@853_9_120/2
-T2030201011012.012222.33.100032000.130.2013202.1222
+G.132..01.2.321.13.03.0.13.22..0..32222222222.2.22.
+
-05(17/1,17571!713584!0)!134))536,!/(4!2)/,3,&!1:4$
+!()/!!-,!+!)+-!1%!'#!/!,$!/0!!*!!&01(#*(#%,+!#!(#!
@853_9_156/2
-T3321020210022.132222.22.222222222.222.2222222.2222
+G.111..32.3.302.10.22.1.03.22..2..00112001122.2.22.
+
-3359-6)641+48!)&-+'#!%-!4-%%''(-1!/--!-'*014/!2912
+!,43!!3%!5!6&9!'3!;8!3!06!96!!,!!)4)88,)'&;)!(!;,!
@853_9_189/2
-T2220100322033.222211.00.111112003.313.0212203.2200
+G.333..33.1.022.22.22.0.33.22..2..20230222230.3.20.
+
-4638331567545!:99836!/)!:87148,.,!831!3907#-/!(:3)
+!1/,!!0/!-!0,3!17!83!1!/)!:4!!3!!0.56,η,!1!&&!
@853_9_243/2
-T3312311120013.312312.33.330022332.202.0202222.2222
+G.131..21.3.031.03.12.1.33.22..2..10212222222.1.22.
+
-,&<:3,1:,1/.&!,9&9&;!'&!&,6+&0,(/!/81!8)&*48&!(&<2
+!,14!!3-!/!,//!$3!19!(!/&!/.!!$!!&&3$7&'#&,.!&!)'!
@853_9_295/2
-T3322303220223.233321.20.002302222.122.2221222.2222
+G.200..02.2.120.22.32.0.11.32..3..12222222222.2.21.
+
-$-+('%(,&'*.+!(()1&+!+&!*#&)$,.72!%8)!(-'%#'#!2%'-
+!%1#!!&%!&!+)&!.%!17!)!&'!&/!!.!!,.5)-#&,,5$!.!.&!
@853_9_299/2
-T2212302322021.122112.23.102311100.121.1012120.0220
+G.100..02.0.211.11.22.2.23.21..2..02222222222.2.22.
+
-'&$#%&'&##(#(!$#$($#!')!#$$$$+&&$!#%%!'&#$&(%!&,*%
+!%#-!!'$!#!$%$!#(!#'!&!%#!+#!!$!!%#%)%)##,,*!$!##!
@853_9_311/2
-T3002321221310.212333.32.202232132.222.0222221.2222
+G.303..23.0.202.22.21.0.22.11..3..23132321132.1.22.
+
-4)()2''4&/&)&!/)141%!&&!)%(0&+&)9!56#!&5%%%,(!/78%
+!'%)!!.+!,!'$$!%5!,)!,!)2!/)!!(!!#&'**&#%*)&!%!$$!
@853_9_326/2
-T2210200022032.010112.12.121321102.222.1332222.1222
+G.330..21.1.121.11.30.2.01.21..1..21021311332.3.33.
+
-:;99:7947;7;:!05398;!55!)9176554:!&;:!93989;&!23.5
+!787!!65!8!97.!99!2'!6!&%!7)!!2!!*,78/,31:6,!;!5,!
@853_9_451/2
-T1313220202311.230012.31.313200122.100.2111321.2232
+G.203..01.1.003.33.30.2.20.20..2..33103102231.2.00.
+
-347371692:::1!</3(:8!51!3144:;15#!3+)!3,/&&8&!60&:
+!:/7!!96!:!689!:=!7:!<!47!88!!*!!98356256173!8!5-!
@853_9_485/2
-T1012221322221.213211.23.110010113.123.2132121.0222
+G.023..22.3.333.22.12.0.01.00..1..02000132132.3.12.
+
-:98588=463;:7!:9488:!64!97:857::5!855!/4+6$#'!%#()
+!><9!!=<!=!;9;!<=!<6!5!<7!<6!!<!!<8<<8679161!9!33!
@853_9_509/2
-T1112203021113.100101.20.031203011.213.2002211.1222
+G.011..01.0.100.02.31.0.21.31..0..10331320303.2.00.
+
-79;:78:657757!?28852!7)!5):738/=:!914!280<;3=!7;89
+!<;6!!8:!=!:<;!6:!;;!;!;6!1'!!$!!#8/&')&2&)$!$!%*!
@853_9_538/2
-T2230021213312.123100.00.203202301.223.0112020.3322
+G.322..20.2.212.30.00.1.32.33..3..31300332130.1.23.
+
-<91:-46,1.20/!81&55*!7/!5575;/96;!3:8!90165,6!;<:7
+!;:;!!:8!1!53>!32!;:!4!:8!;3!!/!!7<59::9)2,3!'!).!
@853_9_548/2
-T0132222011033.010321.23.303222223.222.2223322.3322
+G.320..30.2.100.02.33.3.13.13..0..31320203213.2.21.
+
-6;::<=<0:<;<:!:9:;<8!,)!'#'#))#,(!((%!3.($-4)!#&8&
+!:7:!!:7!5!?2;!:3!>=!?!;>!5>!!:!!65=8:75@95@!/!:5!
@853_9_574/2
-T0003331113101.303333.21.213311213.222.2321222.2222
+G.031..33.3.332.31.00.0.00.00..0..01003032220.3.10.
+
-%,#0(9'$274''!&)90)2!((!4&0$%&97'!0+5!%1%$%$$!&#''
+!3,(!!36!5!3:4!1/!<5!:!6/!5+!!9!!23%$&6131.+!/!&&!
@853_9_589/2
-T3020133021133.203200.02.030202120.123.0113212.0220
+G.331..13.3.100.02.00.0.13.22..0..01101000000.2.00.
+
-3#),#*))(#)$3!-$&%&'!&&!*)$')%&(&!,&(!'%'&$(*!0#%4
+!-$1!!)'!(!)'&!1%!)4!3!#8!4&!!/!!5-22#-9;&&/!&!'9!
@853_9_595/2
-T2221011230111.231023.00.021011112.330.2130120.1203
+G.323..00.1.112.13.02.0.11.22..0..20212112031.0.22.
+
-6;7;:877:;=99!8::87;!<;!<<:<8:=::!;;;!*:94)2<!39:2
+!55/!!=7!>!3:8!::!=,!@!59!72!!:!!4:,8-/91?.6!=!81!
@853_9_750/2
-T2201102121222.302002.22.221321132.332.2020223.2121
+G.223..31.2.331.23.20.3.02.33..1..32220000001.2.03.
+
-<=;:3<;:;8?:9!5<=<>6!><!6;566)'+&!&&/!,''),/+!8+&-
+!>&<!!1<!&!1)&!>?!@,!1!((!7,!!(!!5()3,,5>166!,!)8!
@853_9_783/2
-T2102221003120.330300.21.302010320.231.2133001.1202
+G.132..02.0.302.10.00.2.20.33..3..00011222222.2.23.
+
-27:7.65:87476!$67873!7<!.:8:7797;!78:!6865891!88-*
+!;8:!!:;!:!::;!;:!9:!:!9:!86!!6!!:::;99:9<:4!7!47!
@853_9_814/2
-T1200101012011.312003.00.330011010.220.0222213.3122
+G.002..33.3.300.32.31.2.32.12..0..22221121310.1.02.
+
-?<7::;88=<9=:!<8<9=;!.3!7@3<9;7;8!6>6!=(<>774!3/:&
+!97;!!<=!:!::4!>9!88!<!7=!:9!!)!!6533:-&99;)!;!40!
@853_9_924/2
-T3003021221101.202301.02.111120122.123.1010103.3110
+G.200..12.0.110.00.30.2.21.02..1..01212302222.0.20.
+
-9A5;=9==8@@?=!:><;;;!??!?;@@</<:>!88;!;/<><<1!:885
+!;=;!!<?!@!A98!8;!8;!A!99!;8!!9!!<9/=85<2)6)!#!0%!
@853_9_1019/2
-T2120212011102.211122.20.210120211.031.1301102.2021
+G.203..11.2.012.00.22.1.31.10..1..30032322222.0.13.
+
-$/+22*&:5*,(.!%.#)0-!%,!*/6)'5%.2!*)$!&%)%1,'!-,(#
+!.<,!!)(!<!&(<!,/!=>!)!&,!1,!!=!!<;(,5%=&(84!'!&/!
@853_9_1046/2
-T0101121011013.012213.12.122113221.112.0101211.1223
+G.212..11.1.222.33.22.3.10.21..2..21121331133.2.32.
+
-,9)781>/3/)?:!4:9)/6!))!1(#')#%%#!*%%!%)%/,/.!4*&)
+!988!!:7!@!=,.!#,!$2!#!)4!3.!!9!!,3)4'('*)$1!*!#'!
@853_9_1126/2
-T3320221032332.112122.11.232123121.301.1210212.2222
+G.232..31.2.232.22.11.3.32.32..3..22221223221.3.22.
+
-5@,'=,<:(316<!8<86<<!74!;883<+194!)*8!7'4-:)0!7)46
+!'+,!!&#!#!%#*!#$!&#!%!##!#2!!#!!$%&$'###$)&!#!3%!
@853_9_1192/2
-T3312212100322.301202.12.020132101.011.1011212.2232
+G.123..12.1.322.23.32.1.01.30..2..11132130123.0.11.
+
-,7)/5(A5<),A(!;>/33<!63!<1,5=7(>@!7/5!?;158&;!></<
+!&)1!!)A!(!,,,!1)!1(!(!)&!1&!!,!!?6,8?/55=?6!:!11!
@853_9_1243/2
-T2212213200232.121320.01.323212013.200.0130313.3233
+G.132..33.1.031.11.02.2.22.31..3..23023232301.2.11.
+
-3,7,)6<;894<1!/,1956!8:!=&;3/1):5!4/1!5)#3%(+!%(0*
+!+'&!!99!2!726!5>!),!+!=0!04!!,!!/#*146,12):!1!81!
@853_9_1272/2
-T3113210021031.002131.03.130002013.110.2003310.3011
+G.302..20.0.221.10.23.0.00.30..3..03300330011.0.21.
+
-6''$&0+&&5&),!813-&-!,)!1<;1):)*(!877!*.-,&)4!0(#-
+!/;)!!,3!-!48)!/5!:)!3!/9!07!!3!!8,230&149,1!3!1/!
@853_9_1339/2
-T2101230022200.310112.01.133031320.201.3331311.2012
+G.010..33.2.101.23.32.2.22.21..1..21132222321.1.22.
+
-6&&-/),<(/&(&!4/67(3!&;!/),,75/14!/12!).#,,&.!-;%)
+!##*!!,,!+!#$#!#)!%,!#!##!$0!!#!!#&####&%##%!#!$'!
@853_9_1358/2
-T3320111221222.120310.11.230202223.122.0122200.0201
+G.201..30.1.000.30.12.2.00.11..3..10202103212.2.22.
+
-2+),();9=.'89!))&7=&!))!&1)<&/9,.!:91!)88627'!;9,2
+!'%&!!6#!'!&#$!'&!%#!#!&&!##!!&!!#%#%#$&$##+!#!##!
@853_9_1364/2
-T0102331230200.010010.13.233311001.233.1100312.1222
+G.233..30.3.200.22.22.0.32.13..1..20200130210.3.12.
+
-&<=?%8A1,)*79!7.1;/6!43!&/<97:.5;!8,3!>=)7385!;<6&
+!9&5!!2(!5!,55!:=!7=!/!<>!9:!!8!!;6?0:65856;!<!,6!
@853_9_1397/2
-T2312020122101.033322.03.022121000.011.0131220.1130
+G.310..01.1.302.20.01.2.10.22..2..31002100302.3.21.
+
-)')3/'7,&(73,!6<))31!,,!&7+/&45*4!6'3!5))&&5&!/,3,
+!08/!!.&!/!,43!/4!1,!/!&7!10!!4!!30:74,)<5)+!)!8)!
@853_9_1425/2
-T1132332020203.323331.10.133320202.311.3222311.3330
+G.213..21.0.332.22.22.3.10.30..3..23002000023.2.03.
+
-1656/))&3)&9&!/,:<&7!<8!,&)=/1<.6!&,1!))/</5=!(19=
+!1,<!!86!?!)/0!,,!:&!9!,/!,1!!,!!(,/;4&11811!&!()!
@853_9_1446/2
-T1332212000022.212222.13.021232232.213.1001302.0300
+G.102..12.2.022.33.31.1.33.21..0..01130213112.0.02.
+
-(.8<63'&'$*/1!.4,0%%!8+!0%0*6)*&)!'(%!/,&(74.!&,)&
+!+<3!!;)!,!<10!,,!#)!2!#5!$$!!/!!''#+-,%,,2,!&!&*!
@853_9_1479/2
-T3031333311130.333221.02.122333123.032.2211110.2332
+G.333..13.1.232.01.30.1.02.12..2..22200100132.0.00.
+
-0'/+#6&),.-)$!#$&))&!'%!&(',#,##%!)7#!$##/(4%!$$(*
+!/#,!!#+!,!$4'!/*!'+!(!,#!+,!!,!!)&#-%#'')#)!#!$$!
@853_9_1503/2
-T2231320200020.131311.11.232031120.231.0013222.2222
+G.102..20.1.022.13.10.2.01.21..1..02222100100.3.12.
+
-3)%6(&?3688:<!<5;/8=!9>!:7<=1;?89!42/!9;:&>+0!/7/2
+!@/;!!:A!1!@,>!1-!(1!3!A3!<3!!/!!&&<8/))/,6&!+!&&!
@853_9_1512/2
-T2333032222302.121133.20.001231203.233.3020000.0200
+G.210..01.1.313.01.11.3.30.00..3..30200002000.0.00.
+
-'/+.2;(;&+&6(!'+9$&(!8%!8:)'&)--%!&23!((1)&+-!,7/3
+!*%#!!#$!#!%##!#&!##!)!#%!'&!!)!!#$'$##*##%$!&!&$!
@853_9_1530/2
-T3213220202302.221131.03.120222222.020.1131133.1313
+G.332..31.1.002.33.12.1.33.10..2..30302122021.3.10.
+
-,*9&17:/+/,+9!19;18)!9(!)?877;798!,)8!'8</&&=!,-&;
+!*16!!2<!=!&),!6)!(1!<!31!))!!,!!3<7&>37):1+!:!,5!
@853_9_1559/2
-T1110111121111.113211.01.310210020.112.1113102.0321
+G.202..03.3.220.12.20.2.13.33..3..20202031031.3.32.
+
-<.<(;;+:)&<9)!<;1)'>!19!./1,>)&77!A3;!>,15&+,!)5&9
+!:35!!#5!=!)18!//!59!)!/9!,&!!%!!$$'#)#'#*,$!$!*%!
@853_9_1601/2
-T3232030011033.203002.00.123300322.113.0010121.0331
+G.301..31.1.120.22.02.2.22.10..0..13002032122.3.31.
+
-<A,117=./5;30!=;6.;4!:9!5+19;;;/3!=3(!/7179,:!1519
+!'&.!!21!1!%5/!,'!,>!/!5<!=1!!<!!58/385)3'>8!9!.+!
@853_9_1636/2
-T0010012303222.120103.33.330322222.122.3113033.3001
+G.302..12.1.100.31.12.1.23.20..3..31213313232.3.32.
+
--=9%8/<?61&=1!)7-1:(!=8!)/1;/'&<.!&5,!3&&5.;,!5&+'
+!6(9!!4:!:!698!<<!98!4!9:!5*!!;!!:;30;=8:2:)!)!,-!
@853_9_1657/2
-T1123103213301.312223.03.133301112.222.1213233.1233
+G.120..23.3.033.01.00.1.31.30..0..21232301301.0.02.
+
-<;>9;?;=9:<>=!:5<>7<!<9!7<8;8;<>:!9:;!53897&(!&.+'
+!==;!!<:!<!=99!?<!<=!>!8?!:3!!:!!<@883:<8:49!8!65!
@853_9_1675/2
-T3313013311000.313233.11.112203113.120.2211112.1313
+G.300..30.1.223.11.11.2.33.20..3..23021302112.2.22.
+
-;<589::%5/,<,!%#;/25!-*!2-:8.9-4.!,27!0/21/*1!.'(%
+!526!!:;!@!>;<!=:!>?!<!:;!<;!!=!!<;;>;=5;8=6!8!8:!
@853_9_1709/2
-T3011001101311.031010.11.000033010.030.2032000.2000
+G.100..11.3.100.00.20.0.02.21..0..00000200300.0.00.
+
-+%3)';-$&$)>6!:558.9!+.!4),-+%9'5!5#%!)5$,)82!(2;,
+!%#,!!#%!$!%()!#%!$*!$!%$!##!!*!!,,%%%##(#($!)!))!
@853_9_1722/2
-T0021012221000.222012.20.202211312.020.3331130.3113
+G.211..31.1.122.11.01.0.10.30..2..03122202213.0.30.
+
-7@<?5>>A;>67>!?>=<>=!<<!>5=>=>=9?!<83!3<2)0+>!6,48
+!<AA!!<>!>!>>@!@=!?=!7!<>!;?!!:!!878<8:5>>4;!:!;0!
@853_9_1728/2
-T3322221032321.211112.31.012301302.333.0301101.3103
+G.211..20.3.001.21.30.2.01.12..1..20220122000.0.00.
+
-<4;6542&,01+>!2:,.73!$3!,&'###+#$!672!#6+))#&!2#+#
+!)%+!!+&!#!,,0!-,!,,!,!,#!,$!!,!!,$*,(#$#20#!#!()!
@853_9_1739/2
-T2010003210112.011000.31.320103212.122.2132333.2222
+G.132..01.3.112.13.31.0.30.20..1..31123321133.3.33.
+
-29):8)%/,0(1.!,&)'29!0%!&.()&%&/(!9,$!-($,.&-!&4-$
+!?'$!!&$!+!.,(!)&!/3!/!$1!:$!!'!!&$-,*#)/8.2!'!,/!
@853_9_1870/2
-T2212303303300.202201.02.333103031.332.0322203.2223
+G.323..23.2.100.01.00.2.13.02..1..00131301001.2.01.
+
-896897;69::9;!=1)59<!9>!7(0)#,(0%!//&!)1(3,'/!)#'6
+!6/)!!16!8!/77!<:!3;!,!.9!9;!!$!!298+<83<7:7!7!=9!
@853_9_1923/2
-T0300322132333.221111.02.233001011.000.1122132.2131
+G.101..03.3.313.21.00.3.00.01..1..31111113211.1.23.
+
-138&()/9*,1/&!&:1==&!)&!,,%&.A7)<!<,/!(;(;5&/!/1&,
+!,,/!!1#!&!&4#!/2!(/!'!((!1(!!)!!*2&3,::66#2!)!$#!
@853_9_1943/2
-T0122230112231.013112.01.202313211.020.2202120.1120
+G.311..23.3.021.33.33.0.10.21..3..00010221332.3.21.
+
-,/3<,:5=1/<97!&?65,)!13!<9,/6)=,,!&=%!46027//!)848
+!9=;!!<*!<!648!9:!68!1!0;!61!!4!!62394107:.8!4!;8!
@853_9_1970/2
-T1320210131121.331212.13.233310233.031.1111331.3020
+G.202..10.1.110.22.01.2.31.13..1..31021112122.2.33.
+
-6#0#/'&&&3/(,!,$##',!35!$-#')&$#*!'$/!*(4',$,!#%%%
+!::8!!<9!;!928!2,!.$!'!,'!'#!!*!!,$$##,)#+##!$!##!
@853_9_2024/2
-T3011020132232.011002.01.230121230.022.2320210.1220
+G.213..02.0.112.23.00.1.32.00..1..11121132311.1.11.
+
-<;)(><;)1,8,?!,1,)05!)5!53-3/)(4/!(,&!11.1/)<!)/,,
+!*-&!!40!6!52)!)&!7'!'!*8!&)!!2!!'<+52&1.&2)!0!&+!
@853_10_26/2
-T3300222111210.212222.22.220222212.222.2221122.2322
+G.222..11.0.112.12.23.1222.020.0.22222222222222.22.
+
-21&.351,,/5/%!4)&4(0!/'!%+&3(/#0$!+#0!,'.)$-#!#,$2
+!111!!,$!/!1#.!/2!/3!/%55!,$'!&!$/)%$'**##*/'#!)1!
@853_10_63/2
-T0011121023110.100223.13.210101231.103.2222222.2222
+G.232..20.0.301.22.21.2210.120.2.20220212332211.22.
+
-(1,&*./,(-1)/!1/,1+(!3(!-2)/),0'1!/'&!#&$%-4(!,,(%
+!-*+!!0'!/!)./!0-!--!-#,,!/%/!0!%//2<&&#%#%#&+!%#!
@853_10_221/2
-T2223312323322.102231.00.202132012.221.2322202.2222
+G.011..12.0.133.20.32.2222.222.1.22222223222222.22.
+
-,0&)/&/)1+#)2!+(%))+!&'!2-&+,&&&%!$%#!&&%&+&3!&(.,
+!+,0!!-.!+!6/,!-)!,*!%'&&!$#$!$!$%%%)%($.(,.($!/0!
@853_10_254/2
-T2011202101022.222222.20.202222222.122.2222222.2222
+G.220..00.1.200.22.20.0002.222.0.21222213202222.01.
+
-#4,'#&%(*%%'3!&&(#1%!.)!,$,*&$'$1!&51!('-#/1*!$*&+
+!3'1!!/0!%!#35!)0!(5!288'!,*(!2!2'(,$2,#+/,2,,!+%!
@853_10_285/2
-T1000220221200.132200.01.232221210.032.2101130.1132
+G.112..02.0.203.10.21.2222.203.1.00222233222222.22.
+
-7679<;7<;1:95!37<962!17!218>:(731!&58!84,803)!;//+
+!/33!!(0!7!545!,,!46!9;;5!555!2!8134'$##&0*,$8!)'!
@853_10_317/2
-T0020230210321.031322.31.032332100.200.2212002.2022
+G.223..10.3.003.22.11.3331.302.2.12233301212312.22.
+
-%(4(,,)'2+)%,!9)&,2.!($!',*#(1'))!$01!($##-$%!%8$(
+!3&2!!6%!3!*$)!,:!./!8+(&!7&8!'!*/&59&.-&1&*(+!+1!
@853_10_329/2
-T2010200322033.310112.12.011220102.222.1332221.1222
+G.030..11.0.121.11.22.2312.213.1.20002102132221.32.
+
-#&-'*##(6#$#&!)#(11#!($!/%(&%'&4#!*#,!$$$%5*&!%+&7
+!)#0!!'$!&!*$)!##!(&!-()&!(%&!&!0'3*#$)''*$,(&!#&!
@853_10_349/2
-T3031031031312.133031.31.220312113.213.3222320.1212
+G.311..31.2.312.21.12.2212.232.2.12312032212222.01.
+
-<.954><546;9<!,&8-37!<1!3'5<15&79!7)&!9'3&4&(!&6&2
+!6:5!!91!7!=8;!>8!:5!7690!&2=!'!,;1).)9'877<,&!'/!
@853_10_354/2
-T1320122002030.212221.12.232210122.222.2222222.2222
+G.332..01.2.022.02.10.0222.112.2.02223232102222.22.
+
-9)).&&)#'#+0)!+&%%$)!&&!1&6&$&)&3!#$(!&$0:4+$!)7/%
+!0$-!!&#!,!))'!)%!#)!)#*-!'(/!,!&%410,$))3&'%8!0#!
@853_10_370/2
-T2322231103221.011031.13.231332301.312.0232122.1233
+G.300..23.3.212.00.02.2123.322.2.23322223220021.31.
+
-:;5:9;3885;>8!79:+:6!98!8;9=<=8*:!/(9!8<3;/;;!633,
+!7',!!76!:!:'8!'8!48!;/7<!51:!&!589'4;84.41+0'!,5!
@853_10_464/2
-T3330010000212.300131.13.112322331.023.0331120.2221
+G.222..00.0.012.02.33.1121.010.1.02031212012111.31.
+
-9-398,=<8<.::!3;),(4!76!9;&.086&,!:6)!175&(2;!)+%/
+!758!!<8!;!97-!7<!41!>215!957!<!+0<8<'1':=+1);!&)!
@853_10_491/2
-T3223302200011.023222.32.031020232.233.3211222.2222
+G.202..03.0.331.11.01.1111.111.0.23111222122221.21.
+
-<4,.28//:1752!839:46!9/!&0(%$$)&&!5,&!&5%/-5$!&5%.
+!722!!5;!9!79/!19!8:!=;;7!<56!7!,&4,8(1$2,&&&,!5)!
@853_10_512/2
-T1210222121121.222302.02.321102023.201.0332212.1212
+G.210..31.3.002.22.11.0221.112.3.21022233103211.23.
+
--1'(41)1+'-&4!&)'&(5!&&!&30,.),&)!7/1!2/&($&&!4(.0
+!&$'!!)%!,!&%3!/'!,%!))&(!4.&!&!,/0,*20)&#*,(&!.+!
@853_10_517/2
-T0000201333120.213001.30.020133111.031.1111133.1133
+G.202..20.0.320.02.21.2020.022.2.10003031203122.02.
+
-8/,915)-+&/*5!84*3:,!0*!<&,)1197#!/),!'40%1(%!$%(&
+!,:)!!,3!=!147!5=!,3!9<,<!:47!5!(<<2,=*3';*265!70!
@853_10_560/2
-T3230002002001.210031.11.103301002.122.1220320.2123
+G.002..31.0.122.13.02.2010.220.2.33311223103010.10.
+
-A>@<8:>:5A;7;!=784?6!<7!<:?=<5::;!1@A!8>=6;=2!>);>
+!86?!!?;!;!=>>!;@!5>!=7?;!;9:!;!<A?</<6:94?9::!5.!
@853_10_604/2
-T1032122022103.222321.22.012232132.321.1010201.0302
+G.301..01.0.013.00.23.2021.230.1.30002020213231.00.
+
-3:01<,&/5:)@5!1,'2.6!:/!?=,),,(,&!'9&!)5/)27)!8.:)
+!6,&!!,&!/!)',!(&!(&!)+):!(&.!:!9&?>26,7*,//85!7,!
@853_10_659/2
-T1201100030102.223301.21.332202113.022.2221012.0011
+G.032..03.1.003.21.20.0003.230.0.33333232030303.22.
+
-<=><9=@A8<<><!:<9;=<!:<!6:89<7<94!9=9!=9=76<-!:>86
+!68:!!8:!/!<:6!59!64!8440!36'!,!*522/#*/,-1$7(!$'!
@853_10_684/2
-T1330201102202.321002.10.333002110.222.0221111.1000
+G.133..31.2.020.30.21.3110.230.2.10202321232100.21.
+
-,;%>?=.1;4=;&!-+9051!41!2&:587'69!;*4!7&42'$/!%,6&
+!89;!!;5!A!48:!7:!9<!5=71!8(4!,!##(0&,)/,:+1))!4-!
@853_10_703/2
-T1022030001113.000331.01.111001102.001.2102023.1120
+G.132..12.2.132.03.22.2202.300.3.32220020201120.02.
+
-%/#$/%44502.,!,*5)#+!1*!5*%0/1-7)!33(!$%6#1#$!##'2
+!@*2!!?-!)!@,4!7>!24!<+72!<96!4!*-*'>/,6,<#-+*!4#!
@853_10_707/2
-T1223030002221.033223.00.023213111.032.0333020.2200
+G.130..10.1.022.13.12.2220.221.2.21220202102121.22.
+
-&858%3)&.)=,(!7,&&))!'8!.119)/)5,!%&:!),6(%4)!&,,0
+!#,)!!,0!.!(13!($!3+!$2&8!2)0!3!.'72$-&5-#(2-&!+$!
@853_10_728/2
-T2213112011111.130322.02.321122031.002.1110333.2202
+G.033..13.0.111.00.13.3000.010.3.00333322102111.20.
+
-<0;;(:1<;69;=!3<1=>6!:7!)/3;,)/.;!0(/!7;'))5)!&.,0
+!5<;!!,<!;!<;<!@=!:9!<>=<!=:<!;!=61&,8/&1,7;&3!/8!
@853_10_761/2
-T3302220103103.220211.11.111230232.012.2022220.0222
+G.311..31.0.233.23.23.2200.013.1.33002022001312.23.
+
-8.=,;@(,+6>)3!6((+<<!5<!<9?7;;:>>!:5,!:9<:<><!6;>=
+!,)$!!'#!)!&7%!%&!$(!%-)+!,(,!'!&)1#%&#%)/&$#/!6#!
@853_10_875/2
-T1313213021302.023221.30.130212021.222.0213121.3212
+G.210..31.3.110.11.22.0111.110.1.32320123323231.11.
+
-(,%,2&1226:/5!64/6%4!4/!42.339,$'!4/-!22/5###!-$#%
+!75*!!43!-!4/1!.7!08!>,,&!70+!*!$'&#$$$$#'#*'#!#&!
@853_10_914/2
-T3110012323223.012101.21.100223330.121.2211222.3322
+G.223..32.2.300.02.33.1122.333.1.00311010110021.33.
+
--,2')(<6)5@(,!;7>;&6!3,!),)(4(336!,)/!31);;(5!/9/<
+!<69!!7/!7!/(6!/,!56!//5<!0,5!:!(,9=,=34/8)39&!15!
@853_10_955/2
-T3332010100311.122131.30.220001131.301.2221110.0231
+G.311..23.1.021.31.10.0011.032.1.11231220120010.22.
+
-$)7(/,$5*,62,!6,1*05!)/!2)3#)66%1!3&,!1436-7.!72)+
+!$.)!!&+!2!%#,!/'!+)!,$#2!,$$!#!#()81($%)$($*&!#&!
@853_10_966/2
-T3000010112221.310121.01.010103222.210.2222222.2122
+G.131..21.1.211.32.22.3120.023.3.23000312120231.11.
+
-8A/11)6</<=;<!,/)79/!/0!&)<(,7/0&!&,.!::/),8)!3)38
+!::8!!:4!3!71<!/7!5:!=73?!9;2!1!6).></))83-685!:&!
@853_10_971/2
-T3300220331100.110110.23.321023321.330.0101321.2221
+G.030..10.1.100.32.30.3213.003.0.00333303300331.23.
+
-<::<5;7:;1;:>!@56?@?!>9!05<;@7991!955!>1&=<>3!59>,
+!(86!!17!7!,>?!<,!:@!&<5;!/?:!6!>9::)369453<:&!96!
@853_10_982/2
-T1223223121032.232303.23.022302133.233.3332013.2332
+G.213..33.2.130.21.33.3333.011.3.20220033201033.32.
+
-8)'.-8,2$(:+(!29860;!'(!#*1644+49!*<:!67:%#&3!-2)'
+!14:!!79!9!1-&!)>!<6!A+=<!6(7!3!411)1&:74:/1;#!/.!
@853_10_990/2
-T2021031201033.133023.11.213012011.102.2221322.0123
+G.203..32.0.322.12.11.1020.033.1.22303223112103.22.
+
-1786685;25'9:!9::65>!5:!9$<9-98:<!8)6!;<,97&:!:191
+!A<>!!<<!&!<==!77!=5!7:>/!,;;!8!:9),029#:)#1'#!(2!
@853_10_1038/2
-T0110022322300.202330.22.230120310.313.3121231.2300
+G.322..30.3.312.01.21.0311.302.1.00301201130032.22.
+
-<A?>;A?>>=?=:!?:<<>?!=<!<<=8?;@>5!A/<!=7993;?!=75=
+!==;!!>1!<!>7?!>=!=>!;9=>!>8=!<!39==/8:<>:;=<:!<=!
@853_10_1097/2
-T1301300302122.001100.21.032120300.322.2222102.2000
+G.022..22.2.222.22.00.0000.122.0.22332201132223.22.
+
-,#&=,&(9,/8)'!,/1889!75!&,&)1;)/1!/5+!972=,/&!)'83
+!,'<!!:8!3!(1'!=/!5=!>363!1+$!,!,%#460&&7/2,&(!%&!
@853_10_1144/2
-T3000003202132.300013.00.120002011.121.2021010.2012
+G.023..21.3.220.33.32.2320.123.3.00113012333003.03.
+
-%-27<2(-:'.$8!%74:3%!6<!232:8%8&3!1-*!18-&8.(!#8/&
+!A7,!!>:!9!862!69!%8!7(+8!3,'!1!9;86%<)24,#971!4#!
@853_10_1153/2
-T1112233202031.033032.20.313112310.232.0001211.1101
+G.002..03.0.103.00.31.0113.222.2.12002200000010.12.
+
-091#%&5:#'6'5!(2755-!01!4*0.)20)#!)%)!.+(20&4!3,%*
+!331!!88!;!9.7!97!43!7618!86:!:!417<75/9;=:857!75!
@853_10_1219/2
-T0220020211300.110223.13.032102023.003.3212322.2120
+G.130..30.1.321.31.12.0012.131.0.00200121003011.11.
+
-0;:63/<=849;;!69=<:<!>:!55>=<;6<:!74;!48)<:47!>;97
+!8=7!!;;!:!%3;!>2!7.!97=1!379!/!8548:9:854:37/!5=!
@853_10_1415/2
-T3310131131130.303220.33.131331311.111.2133111.3111
+G.211..11.3.331.03.31.2100.113.0.11011113011110.03.
+
-:9?>?<@@:>?<@!9>9>9>!<9!<<9;;=<&,!<7(!&5))<9,!4:1;
+!445!!2<!:!36=!8;!69!==:#!.&$!#!#)$%$,,#$(,%#%!%$!
@853_10_1466/2
-T2122033302111.121230.02.303030131.101.1301001.0023
+G.002..00.1.002.02.11.0201.132.1.31012021112221.22.
+
-856&7;:5286:5!46:158!-9!986-3<45(!2<2!-78:$.4!)1-3
+!;7/!!,2!+!$(#!+#!##!&&'#!$&#!)!$*%,#,#,,%#)#)!'+!
@853_10_1684/2
-T1101100223023.110012.22.110331022.303.3211320.1223
+G.033..30.0.222.13.20.2223.222.1.21313113102231.22.
+
-<><AA=7A??<9>!@<.;@>!,A!<=;??<<9;!<)8!;5&7=,<!1,59
+!;@>!!@<!>!@>>!&)!1&!&#),!&'+!$!&+&,&+6&&)012&!7&!
@853_10_1774/2
-T3003300312003.222212.22.001103322.002.3232312.0101
+G.020..02.0.232.22.20.2212.022.0.11222022012122.02.
+
->&)&979<:;;9>!75:=/,!(&!;/5)7,1,7!;1,!3&5)3?(!'<>&
+!1(5!!==!5!3&(!61!<1!6/&;!1,1!7!)'975),8;=,&+<!84!
@853_10_1797/2
-T0103231100311.103321.01.112002201.000.0202000.3120
+G.030..01.1.221.00.31.0030.232.0.21200300220003.20.
+
-=;=<<<<5=>>?:!@<<58@!94!:59));63.!692!6352'42!/%/+
+!5;8!!65!>!82<!9;!==!4&=/!;/5!;!,38=7'59<6,6;:!+%!
@853_10_1964/2
-T3230330222203.033201.21.111313022.322.0133330.0333
+G.211..00.1.332.20.11.0130.303.3.03302311301300.13.
+
-88$&*55045884!081/71!/2!.6/9,+&7)!(1#!'%(&(#%!('%.
+!.9&!!,5!&!9)&!#2!<'!7/26!4##!'!525*7/9(,:&&:3!)8!
@853_11_36/2
-T3022220202000.222222322.2123223222222.2222222.2222
+G.210..2211.232.22.22.3231.220.0.21222212212222.22.
+
-&&0,,)*)/*,,)!+)058*&)#!#)%&)#&-)2(,+!*)+(,.#!#0/+
+!)'&!!&)33!)'*!4/!,+!'5)&!,7&!'!2,3.+&(/+&),*$!'*!
@853_11_179/2
-T2133203212003.201322101.2232122223212.2222222.2222
+G.312..1020.220.01.10.2131.023.1.00022322130320.22.
+
-5)(1&-50/$'&,!$,),7))'&!(9.&)&,3.(+)%!)',&(.0!',,)
+!317!!3,:0!79.!01!3+!71/4!+51!5!+209:3'81</3:/!&:!
@853_11_291/2
-T3233110200122.212330222.0002020221323.2112222.1222
+G.233..0011.220.33.22.2032.231.3.12200320102323.23.
+
-5*'27/'#(124%!9.:$715/&!75+':714&/67,!4+30'*;!++((
+!7##!!5'#)!.#+!##!*5!)##4!,##!1!%')3&)#&$2')+0!$#!
@853_11_304/2
-T3312200211122.122122233.2222332232222.2211222.2222
+G.022..2200.322.23.20.2222.222.1.21233222112320.22.
+
-2'$')%#)%%'#+!&%#(#%#)/!##$%+.$-$''%,!#)(&$$%!&(#)
+!6$#!!##%)!'')!,$!((!%*#,!,(+!#!#$+/###+%%+&6#!&$!
@853_11_339/2
-T3133232330333.203330202.0202230222222.2322222.2222
+G.200..2113.123.10.10.1222.002.0.20112110300212.12.
+
-95('.)#&('%&&!#$%$%&%#,!.0###&$+'(5#,!2&'##0#!*'#2
+!347!!618:!458!<9!75!7:58!864!1!5.65.42)7733,'!/$!
@853_11_377/2
-T2232022322002.122222221.3110121200111.2221320.1220
+G.333..1213.132.22.23.2320.232.3.23032213222221.22.
+
-<+)99&&/&(&&=!&2,;<.:)5!),2+)/21-)393!423)&&,!,(&)
+!#+$!!/##&!*(%!65!+&!,&%&!'&#!$!#$+$(.*&$/*20#!&%!
@853_11_392/2
-T3330233333233.312000222.3223022221103.2302223.3222
+G.102..2201.210.31.10.1303.220.0.23020023223100.23.
+
-1/&&),,&()7(&!'1)/&),,5!&/18,:(&,',&3!)//310,!3&17
+!/)/!!3581!,+,!2(!:)!'&30!787!&!<//>&(10,;5)-'!3&!
@853_11_436/2
-T1220231200111.330211130.3010200210200.1222222.1222
+G.022..2230.001.23.11.2003.211.1.21112332222122.23.
+
-&('*45(,())&(!0,821)./1!&,&(1&2&,(&/)!&,1(44&!,(;5
+!6&%!!%$.-!'$)!)%!(/!#'$&!/&'!%!%%)0%#$'5,)$$#!*'!
@853_11_440/2
-T1022000003021.200322201.3112033122232.1312322.3321
+G.020..2231.100.20.21.2001.230.3.33102331020021.02.
+
-&78)5/&=/'/,,!35+&,47/)!&,/&4',<3:,,0!,68663(!2,+&
+!2(;!!11&3!)4/!),!))!)/9)!239!,!/1,1,23)3895),!<)!
@853_11_502/2
-T1320301323013.110212102.2302221322213.2213203.3222
+G.233..0230.222.21.10.3200.220.0.20122201313002.11.
+
-><;==>;>>><;>!@?:;:?(</!<::1:=/+,&)'%!&'%%)'$!()'(
+!485!!94<:!698!:1!3;!2980!85:!;!1689:=5;873<87!,4!
@853_11_522/2
-T3332013001310.001310133.1012022011001.3121103.1212
+G.020..0203.201.01.12.0011.200.2.00002232002220.20.
+
-)3&)1)4,,)';;!7,&2<;8.1!27:6:(9;3,*=<!1,7(69.!*5:'
+!1+3!!><A&!(1)!5<!71!@7<4!.37!*!(')-$##'$.(#*3!$0!
@853_11_544/2
-T0323022233033.102122100.1130233202331.2210033.3200
+G.010..2310.033.13.10.1301.100.2.11212220323322.31.
+
-$5<'#32'((*4*!&-2%,'15*!4%9',52/)3=3&!-2*%#)2!#'%(
+!934!!;829!5:<!39!86!497:!826!3!3:8+504-'25#$$!*%!
@853_11_580/2
-T3312132311002.110012113.0213220112200.1321321.3101
+G.203..2303.003.21.30.1221.120.2.12232300202233.00.
+
->=@>@>@>=?>>?!@>>=?=?==!=>;>@5??>><><!=6=:<:8!5('&
+!><=!!;?=>!;=>!;1!=<!6<<<!3<>!;!:8;>1>:;81:9<:!:6!
@853_11_616/2
-T1332213010203.120213203.2213012200111.0300131.0010
+G.033..0030.010.21.33.0310.112.3.22011002320100.02.
+
-<==<>=@=?=A<A!@@;?=?><>!>@<A<?>=;>@<@!5>:;:(<!;8&9
+!<><!!<>@?!<>>!?:!;>!>=:=!<;8!9!<8;=9=54:);,;=!;8!
@853_11_625/2
-T0010021110212.131001310.0001030012000.0003021.3001
+G.320..1010.210.01.00.0121.113.0.12010131110021.21.
+
-$).,)11)39')/!1)1&//&')!3$1/%'1110/8'!##4.:1'!*&,%
+!.2.!!5&/$!1&=!/3!$&!),65!6()!%!%/%6.&,,+6)52%!87!
@853_11_698/2
-T2021201222011.300201111.0001200022100.2132213.3200
+G.211..2301.023.01.21.2200.210.2.20222000002100.32.
+
-39&:3),:3,/,1!)5),:/761!(,),/45&(,,..!(0&,'))!&&&&
+!&02!!322&!&+*!.,!+&!+4'0!5,)!'!)1()&96742),'5!))!
@853_11_744/2
-T1103030333000.223330300.0233312013201.2323220.2022
+G.212..2011.022.00.20.1222.210.0.30333033300200.20.
+
-=A<;29:=9>987!:1>;69:99!5,:8;,4;::83>!.2,=7%2!88)6
+!7=:!!589=!:/:!==!<<!<<>8!<98!7!758<::3892649<!:6!
@853_11_768/2
-T2010000023112.321122031.1201231012221.2221221.1222
+G.123..2203.010.01.20.3110.013.3.02022112011131.02.
+
-:/A=><?A9;@@>!1:<3+%10,!%3(&+*+&+'!5'+&+/+!&27&
+!AA<!!A@>>!>@@!A?!<?!<>>A!>?<!=!<9?8>@><@??=;8!8<!
@853_11_775/2
-T3022212131313.111232231.3201330022122.1321131.0231
+G.112..1133.212.20.11.0123.113.2.21033003332111.20.
+
-5>::>;?>;?<>>!@:?=;>9=@!;:<><=<A=99:=!,97,/))!('(,
+!???!!A>==!>@=!=?!=?!=><=!?;<!=!7<;===7<;<1>6(!6;!
@853_11_794/2
-T3010320001322.013320113.0011023210312.1120000.0331
+G.021..2210.110.33.10.0110.110.1.11002112301121.20.
+
-()123,3&,,6&&!2)&*#,&'$!.(#$)-$'.)+&(!'&&)$*&!)&&&
+!,&#!!,)&$!#$#!&#!''!,#*#!*,'!%!#,*&'$%*02)#+,!-&!
@853_11_835/2
-T0010311130231.213113121.2113330010220.0012232.2203
+G.111..1103.000.32.01.2031.031.1.32322123021202.23.
+
-418(9;/6&42:4!1:71&861,!),'(#,-#&%#)*!%$-#$%'!##%$
+!8<8!!;54?!:98!:8!7:!;5:$!;95!0!:7%6=722/=78&/!77!
@853_11_845/2
-T0000322301231.022100321.2310021301230.1301222.2132
+G.330..0321.113.03.12.2220.202.2.21320023033012.03.
+
-<67>:<6<;=;94!>>6;9=<:>!<:977<4.;'<8%!1<-,:=:!/;,<
+!:9=!!@;=>!=<8!?=!;>!>::=!=9>!=!<8:9;87=6;;39>!,;!
@853_11_860/2
-T3021012320013.223233220.0033302203300.0223020.3033
+G.013..1031.231.01.12.0000.231.2.32220001132002.33.
+
-5793268:17;39!>38998<:9!918;57=</+769!,8::0(6!:2/,
+!@?:!!69;;!;;8!<3!89!.>.<!9;.!5!<&:8)=8>=)81=8!<;!
@853_11_879/2
-T1113233212112.300121022.1330101220021.3220122.1123
+G.333..1233.133.13.30.1123.131.0.02111103332232.13.
+
-@/>8768=)<;/9!68/=6/3=6!(95/,9,>6=,3,!/:61=1,!?,&,
+!&=2!!(@,*!<3>!&>!))!,/,&!;1=!?!951)()&83(/&4/!)&!
@853_11_900/2
-T3211213110233.130330101.0121003010022.2110222.3202
+G.202..2320.333.23.21.0022.221.1.31022122322110.22.
+
-8&,'&&,',,)&'!1',)&1&,8!/8,&)&&&'17/*!)&1&&)&!&1&/
+!)&1!!/(&%!,%+!3)!'&!%/))!.+&!&!,',)*&)&15/'/&!,&!
@853_11_930/2
-T0000222120013.020111211.3202200113012.1301232.1111
+G.113..3132.032.31.20.1122.002.0.33110003032021.20.
+
-,7+/8=:,4,,:8!':/<5/:,&!/3'/7//;0));)!'7',/'&!</)5
+!@@9!!;;;<!7=9!::!>9!<2:=!;,:!<!3;8;<$96<1'<:;!7<!
@853_11_997/2
-T3212210001220.212002102.2112002012100.2131301.0030
+G.221..1221.110.22.10.1310.323.3.10200203222031.11.
+
-6949666:68<92!6/=1/<967!:5372855:1773!/6446*8!.4&4
+!=8;!!8?>6!=19!8=!85!>6>6!9'9!:!8:::259=:3<:<3!4:!
@853_11_1002/2
-T3330000113300.313312102.0312030330311.3331201.1213
+G.302..2013.230.21.21.0122.323.1.13011030131000.11.
+
-;:7>>@<=@;<==!:=::A:<=>!:<;=>:399><:9!;<2<8>3!=539
+!;><!!=@@<!<<;!=9!?@!=>=<!9:9!9!=;@>7><<=6;9@9!=;!
@853_11_1113/2
-T2000122331220.122030022.0122330113102.2113130.2321
+G.211..3122.001.12.32.0112.311.2.31122133130202.21.
+
-.89&&,:8)/0)+!*)%78&)7:!+,/,#/0,&'25<!:),.);,!)9/1
+!<=/!!A265!/3>!,5!46!13;:!84,!6!4,'9=31*.3-,&&!8+!
@853_11_1130/2
-T3200012120032.002200332.0031111122002.3312202.0020
+G.230..1132.031.02.31.3102.033.0.12103220322033.33.
+
-4/:,$:1&%#<2'!7%;+'3<'.!;%95)2&>%&8:,!:;93.)5!=5-6
+!,6$!!.&$8!//7!,&!40!1<,<!,.3!,!&+),:73/570&14!9:!
@853_11_1160/2
-T2121233002001.210312301.2213313001313.3211202.1232
+G.121..1233.110.30.00.1013.011.0.11101002321211.10.
+
-/(/3&5)(,.,52!,&)295)6/!*01,4&(.6))(*!.8+*:4/!':&,
+!%8)!!'):5!4&$!73!1$!-#&)!5*>!)!3(%,&6/#8,)6'&!17!
@853_11_1289/2
-T3202030030000.322322200.2212223121322.1232113.2302
+G.021..2133.321.02.12.1200.030.1.00012010301321.31.
+
-4,0;,1,/3354-!,&$,*'$&'!+'%+:1-#'*%$#!)3%$&21!(,&'
+!+)>!!,2,1!-81!%,!/0!&%(:!4$1!)!'58&,';9&1+.02!/+!
@853_11_1294/2
-T3012121230122.112212223.3101330211122.2332331.2011
+G.202..0122.123.23.22.2323.313.1.22133232332222.23.
+
-9,)-5=3:9,3>,!<;=<,>>>8!7<,.9<5:,).9;!/(?5)&6!)&75
+!71;!!;$<6!<7<!,<!3-!7)13!*/5!&!%//2%5,&%#534-!.*!
@853_11_1308/2
-T1313222031123.213112233.3132330320321.2220233.3322
+G.122..2102.132.22.03.3103.020.2.00323320311230.10.
+
-115356<:/)&>3!<.<&@')13!8&&:),5&;'&).!',&/'&4!&&&,
+!,?/!!)715!*,&!&,!&&!1).<!3//!7!)()&,&8',&)&*'!,)!
@853_11_1324/2
-T2222132323301.120330302.1323202011301.1113110.1332
+G.110..1202.131.12.23.1123.122.1.11311113111131.12.
+
-9A9?,1'67<895!=71<:<=:=!451<<755;,=,<!3:+2),/!/2*9
+!@A=!!<=@;!A=A!=;!><!1&$>!,$%!#!*,)/5&#.)1.(/.!(#!
@853_11_1333/2
-T1313122003300.033223031.2201232301222.3212022.3102
+G.000..0232.111.12.22.0232.030.1.03300032102311.02.
+
-@512&<75/48/?!>=2=<6>:,!7>:=//<::)/91!<:6&&3:!,,/:
+!@>@!!?A<>!AA@!A?!@?!8A8'!1)9!)!?;+,<=;.,(17(+!&&!
@853_11_1346/2
-T2332133022333.022120203.3322113331122.1133233.2212
+G.312..1203.321.11.22.3213.001.2.21012132122023.22.
+
-)'&2.,1/+09,6!-)34$,%$&!)/&,4#3225%$%!,*+,(&,!82'#
+!3&'!!#&(,!/,,!$#!+)!9%#/!.''!$!(-#0%$$0+)#.2*!2-!
@853_11_1352/2
-T3322311331130.202323023.3100113032320.2313223.0312
+G.101..2020.210.13.10.2120.102.3.00022031120322.21.
+
-3&9(&6>)9)7.(!.);,1&)94!3'5+((.0(45',!&++-',,!)('&
+!,*,!!;8'5!8,,!:5!)8!)/:;!9<&!4!(/72;&&8/)).83!/)!
@853_11_1409/2
-T3000220011111.020033110.2210210002000.2312312.1222
+G.232..1232.220.10.21.1201.333.2.11021221001111.23.
+
-:-130:=6=1.2<!.5.*9:1<)!:78+>5,8551.6!;?84,7.!5478
+!.<5!!45/8!06;!/5!/1!84.:!3/1!,!3>.08#26$:'(:*!'1!
@853_11_1420/2
-T2013221030202.321222212.2213212021222.2222222.3222
+G.021..0123.022.30.30.1310.001.1.10110132000232.23.
+
-#<####9####:#!##@####<#!##<####<####>!#######!##%%
+!=><!!<:<>!<<<!>3!6;!&6=;!&8:!>!66<=&4968,+&#'!##!
@853_11_1517/2
-T2120330010112.111203322.0111322233311.1302100.2333
+G.020..3131.221.02.20.0230.212.1.21023100300201.32.
+
-//,(6$1=&)8/6!(,.5.#393!#3441-+><'+).!3,.))56!928,
+!2,)!!59)5!15/!5:!/8!181$!8,#!&!5%885)1(/4&'%5!,)!
@853_11_1553/2
-T2100002220130.022031233.0323211101000.1213332.1321
+G.220..0121.102.11.10.0232.222.0.11002020211222.22.
+
-%*)140+868927!&%2:2024+!642/'42181899!8)85*18!.%2#
+!95<!!95;9!>;:!<;!69!7445!/(-!&!#'('##$,(#$#'-!($!
@853_11_1571/2
-T1311202212210.203333311.0032311112120.0021233.1232
+G.313..2333.202.33.30.1113.021.2.02033121221110.03.
+
-&&5A5,6>@@>=(!?3;:9=>,;!=1;9):;@>&==,!&8:53,6!=)&)
+!(18!!9:8:!0:8!6&!7>!59.?!%98!8!97:&17698':1<;!5:!
@853_11_1594/2
-T2303312230022.320123233.0110003313310.0312023.1002
+G.333..0221.200.20.22.2023.333.0.31213330303211.12.
+
-32/32,>7((;;;!/:89));8<!:;18?>=6=,/;(!)684))/!/.')
+!59<!!)5-<!?83!=.!/?!)2<:!,=7!<!<596(=57:6:'11!9.!
@853_11_1616/2
-T1313130323223.231222330.0322213112101.3223122.2222
+G.213..3031.332.30.12.1223.221.1.03222220202202.03.
+
-&17/276),&4(:!5,&>(;3/&!(7)<'&,4,;)''!58,&1',!)):)
+!,&7!!)(&/!'*&!51!/,!398,!6,&!.!;,1315>)&&&)&8!&8!
@853_11_1621/2
-T1100000112201.030113022.0032000002303.3330222.2223
+G.333..1233.123.30.30.1211.211.1.13132113113333.33.
+
-;=:=:;<?8<<9=!9<4@/;<;:!283&):97&$38/!(4:4*5(!+)18
+!6;9!!6<%2!2=#!8;!);!4:82!75#!5!80:995$(,38*7:!3&!
@853_11_1630/2
-T3010033021202.301000112.2111320021311.2010121.2211
+G.312..0123.211.02.20.2232.112.2.01300030100122.23.
+
-,,2%%#:%#&%/$!22+&&8#55!7)8342*:(2%&2!*%52&'#!/*##
+!86,!!2086!8/.!68!,+!:93%!5-0!7!307*''4&82%)5,!*5!
@853_11_1700/2
-T3023132213003.332000022.0321030333311.2312301.1020
+G.323..0221.122.22.21.2233.221.2.13032200121302.22.
+
-#0469$&38)211!&'=&/,5<6!21/%.'6'&0;,)!(:,'&39!2&18
+!,)%!!%#),!.$#!#)!$%!&#'*!(#/!#!#$1.,#&#-)$'##!)'!
@853_11_1732/2
-T2230101330100.230100230.0023010023001.0230100.0103
+G.032..0213.003.31.30.2201.112.1.22021222203002.00.
+
->?8<?<<::<9=>!<<<:<<7;4!=:799/>>1.=37!:)+7,<9!8)/0
+!99>!!>==<!:8;!;;!9?!=;<=!=3@!=!:><:=:=;=91;:?!58!
@853_11_1746/2
-T1022030110123.110220002.0032200021021.2012223.2031
+G.001..0111.332.02.30.3333.222.1.23332132203333.32.
+
-5-(22/9456;,.!27:40898*!(2'4'%(6'21&+!%214)$.!5%)(
+!5,2!!,%#9!,#5!25!(,!7#$)!**#!#!#,,'##),#,()#*!#$!
@853_11_1751/2
-T1321123132330.322312233.0002212012222.2303232.1332
+G.301..0112.210.22.13.2020.002.2.22302222002131.22.
+
-8&:3/(442=.(:!//#0,;:)+!2(#*35,+//;,.!3,'(+%4!,3(=
+!&)&!!<,)=!,>(!,,!&(!>:>,!(=)!4!1,2,1/;1<8&&08!9/!
@853_11_1789/2
-T3120220123221.330223010.3032333132232.0320331.0222
+G.212..3313.202.02.02.3231.333.2.11333023322001.00.
+
-#1;9,*+/2%9(.!/20(,/2*)!,()(''/3'47/3!,)3)#51!/77,
+!)7'!!)+%%!%),!&)!5)!(/%,!125!,!',6%/++82.)$',!)$!
@853_11_1808/2
-T2200210320103.302111322.1213332020311.0102302.0001
+G.121..0010.223.00.02.1100.123.1.00000103130320.03.
+
-,;4+&/.'(/&&-!,*$$33(.,!8.).,'3<0/&0+!/)4)%&&!&>(;
+!,27!!8#,+!,'4!')!9$!).):!,##!6!*#16.''#,%(%8)!7'!
@853_11_1885/2
-T3102132020013.301111332.0012211010132.2121220.1020
+G.010..1030.323.12.12.1123.001.3.12000303120110.01.
+
-+<0'12'&,.)3$!##4,,$-&,!*0:'4)8,&)$$1!4-)14.,!2&1&
+!574!!;;.6!*3)!<5!99!69&3!391!.!9)?9:+/6)578,&!<&!
@853_11_1895/2
-T3010323301021.211001312.3132133230000.1121113.0211
+G.122..2311.033.03.20.0010.113.1.03033122301131.22.
+
-23('15&),&*71!,&,&&&&)4!5;&)2&)53)(&3!,7&:),&!/871
+!,&)!!(*-.!'+&!&+!)0!*8%&!7,+!.!)74-(2(8&)*(0&!*(!
@853_11_1917/2
-T3213333130023.122312102.3210303123011.3111222.1112
+G.211..0331.133.11.30.1322.221.0.12011121113212.00.
+
-4)85;986:5983!38;:/5793!9666914;4451:!699;602!=57.
+!<47!!5958!<::!5;!=3!5<05!:/2!2!556:6428885/87!.&!
@853_11_1972/2
-T3320202011222.332212311.0210023130323.1101303.3020
+G.102..0322.311.02.01.2133.123.2.22222110222212.12.
+
-99:07:;+&2>14!=(7>=).5,!,,;5:1(,<)5'&!+&'69(9!-7)2
+!224!!&9:;!4:9!64!7:!5=#:!$-'!5!)1#%$.$)#&'3)/!%4!
@853_12_125/2
-T0122203032010.301211220.2020123011223.0222212.0112
+G.111..0012.100.02.03.1213.122.0.21012222001101.22.
+
-0538-',/.0,2.!&',54&,#)!%&,)1&$'/,0/&!/',4')1!&(,2
+!121!!+&.4!)')!,3!)/!/1,/!)0/!'!%&17##%8)1&&&5!41!
@853_12_145/2
-T3022203001220.023331221.1200322220021.1221211.2222
+G.230..2123.312.12.22.3222.222.3.22222222232221.22.
+
-+$5+2&&,&)##-!)#%,,&#&)!2$%),,(481(,+!13*&&,&!0;50
+!)&&!!#%$'!#&#!$&!#+!#,*'!*&%!#!&#%$'%'%##&),&!)$!
@853_12_163/2
-T1222103312023.230232332.1020022122222.2222222.2222
+G.323..2213.331.21.03.3020.312.2.22131220312233.22.
+
-)&'1)&7,)11),!7,1,)'/,)!).5),,/&+84)2!0/0++12!4*0.
+!'&'!!)+13!),)!()!/&!6&/3!,)4!)!&$),&,%))&+&)1!-5!
@853_12_185/2
-T0023122233030.011210213.3131331233020.3110223.3222
+G.022..0101.311.03.21.1330.120.0.10212122222222.22.
+
-).7/.482.4)1'!&/3#1,64,!(,0+1104*))6,!,0.0:%'!1:3'
+!147!!.,*2!'+/!)5!4/!3,0'!/1)!'!)),)%+'52*'1/0!*+!
@853_12_204/2
-T1222222123232.232222212.2222222222222.2222222.2222
+G.212..2223.222.23.22.2222.222.2.22221222222222.22.
+
-,,(*&'(&$&.%#!.&7(/%(&'!5&.#%)'521,%$!)'&%%)0!#$+*
+!+##!!()'(!'$$!$#!##!,$$$!(*$!'!+$%#&*-$)3#%#'!&#!
@853_12_237/2
-T0000022331132.222222333.3311033000030.2221220.2222
+G.223..2101.001.10.23.2201.311.2.21211222222221.21.
+
-)757*1::/6/;:!88;=961;5!58)36.1,+/,3/!7<8&8:&!&--+
+!9:7!!777;!66;!>:!79!:<37!3,&!)!-&%-&$)%&$1($)!8'!
@853_12_267/2
-T2230202310213.023211312.1121133021300.2222223.2222
+G.022..3220.310.11.02.0100.301.0.30003222203213.22.
+
-4;&=/9=&1)(;(!++'2,&&(/!5.782,,,1+.5,!47.&$''!*0-&
+!):.!!,/98!.$,!,)!7*!&3/3!,&,!7!&/:;,&8(.1)&)3!52!
@853_12_447/2
-T3112110011111.111121122.2222000122212.2222221.2222
+G.222..3122.232.00.32.1213.013.2.23032302222300.13.
+
-)/''+801&+.&,!1''&/,*,&!3,2))')'8,&).!&%%)).&!&+3+
+!,&'!!',)'!6&&!)-!1/!(,/&!)5,!,!,';)34')&1/16)!&&!
@853_12_470/2
-T3021111321322.210201112.2212222222222.2221221.1212
+G.010..1013.113.00.03.3013.110.0.20030312220020.20.
+
-+9.(5-/3-<)1#!(+%$.,0#(!-#('#1(+*,1$.!3$+#(%&!$$%#
+!5;3!!/)38!,82!)&!90!/7=5!,/3!,!331/6).'33</-6!75!
@853_12_590/2
-T3022110011033.233210110.0121122213113.1310111.2312
+G.332..0123.021.22.11.1110.200.1.30220000000001.02.
+
-;574<9;98787:!:::<1<;:9!875:43&40(<;8!9390.-8!1/21
+!;=:!!<:;;!<<>!=:!=:!:?;;!:;9!6!6&&''&/,2%'&,&!&&!
@853_12_673/2
-T1220213321222.322102301.2030210300221.2020011.3011
+G.111..1130.111.02.30.1230.012.2.23011111030330.33.
+
-<77=5<9?79>/:!<<;94:</9!97<8585:99:<2!4,574;:!57<8
+!;:8!!>8<<!>5:!:<!:<!;6;<!68-!<!.=8<=(/:+;8<97!59!
@853_12_716/2
-T2122001013310.011201310.0123302301200.0010021.1200
+G.130..3011.022.33.00.3111.031.3.13311222131010.22.
+
-</2/86;;8868<!66/2929%=!%<26/</.<2166!<=,4;6<!33(:
+!86:!!=<;2!99<!>@!=8!@2=<!;)&!0!(*&7:1.%.2#,+)!%)!
@853_12_779/2
-T2133001332023.213122231.3012102322222.2212023.2222
+G.112..1123.212.20.12.1123.113.3.32023223113212.13.
+
-&&&&$&$1##$&#!##&$#####!##$##$#%#####!#######!####
+!###!!,###!###!#'!%$!.###!###!$!#$#######%####!##!
@853_12_889/2
-T3303031221020.331221220.0200133301322.1012132.3031
+G.113..1233.210.00.31.2211.020.2.23132133121300.33.
+
-5$)210),++12.!+2./$.0+&!/$22#577$+,&#!$1+#&.'!%#$/
+!#%.!!%%#(!##(!/*!/5!%(&+!.',!#!2$4)&+.#6#,%&1!#,!
@853_12_904/2
-T3213212303022.313222231.0132221322032.2113303.3332
+G.203..2033.210.23.33.2003.233.2.32133231222003.11.
+
-5.'-%*()$'&)'!+0:%,--5#!#'')**3,'#'&4!##-4(#)!3&)%
+!'*1!!'.)%!*)'!.:!%$!+%*4!4/2!)!%+;44#34)4*&&7!,4!
@853_12_937/2
-T0000223011112.023212222.1122101321330.1021310.0111
+G.303..3223.323.11.10.2222.332.3.31111112111333.21.
+
-<@<;?;=><>@?>!<>;=>>==@!>9>?=;<<<?=<;!<7:A7<>!8@==
+!:22!!=<%<!==&!??!-2!9<#%!84#!5!:%*756$#86/0))!(2!
@853_12_1024/2
-T1123310321001.131333011.1101132121120.1321103.1223
+G.000..3122.321.11.00.2231.333.3.13223031331111.02.
+
-,6&)/)-/)&))(!<&/)1,9/&!(&/&6385)1,/)!(3&&&&&!/5&&
+!255!!#9=4!55:!(/!61!$=$,!8;7!/!>%$2395#)*:721!/5!
@853_12_1133/2
-T3322011120232.200100233.1000213211000.1300202.0020
+G.210..1233.323.11.11.1231.102.3.12211002232223.11.
+
-8:5;985<7>;6<!7=<<<=8;;!,<37,64/&'2,*!'#%%')+!*,/.
+!99;!!:=<:!<9<!<=!=8!?69=!,/<!3!,=6?=&,<6+:/86!/4!
@853_12_1138/2
-T3120320131023.003333230.0023011210011.2221222.2122
+G.313..3130.332.12.11.2323.033.0.33213333300322.31.
+
-9)28)8(%+&&'&!2&*7,%)$1!/)&5)(+/3#$0+!###'%##!$'%#
+!:&&!!5$,;!5%'!((!,%!&.)1!948!9!#3*%,'24+,&/%*!$&!
@853_12_1200/2
-T3310231310102.021130312.1032221320310.3323230.2311
+G.132..3102.123.33.22.0121.322.2.32122203133110.20.
+
-14/52995.(5+-!(2.',7#3,!-3$#',/.7$55*!/:)'5%0!')%4
+!542!!64,8!&55!$/!34!$,22!-#9!.!5(9)*#(/12(22.!''!
@853_12_1216/2
-T0102231310023.331220320.2302130333302.2232233.3003
+G.320..0033.302.11.23.1033.213.1.01122313020111.13.
+
-8:68::7719:9<!8;8228:82!89<7,5)7296,9!6,94)08!86%7
+!:;6!!<59>!>:9!>>!:9!@::;!=<7!:!713;A9496><699!,2!
@853_12_1258/2
-T1012002321300.200321333.1113322211001.0221102.2003
+G.302..2200.023.02.20.3031.022.2.21023202322220.20.
+
-&/A,3,&))71)&!/:1&,1,'<!6//(1/:893713!,//&&&3!//63
+!556!!54&8!607!41!25!)97&!3&+!&!3--)40)$&966-&!'(!
@853_12_1269/2
-T3113010302021.230122003.3012223330113.0011022.2221
+G.003..3000.111.10.20.2010.323.0.10213223100300.21.
+
-))/9&&13):8)3!),1,;?+59!=<6,=:19+/;:,!57))8<7!&/?,
+!&,,!!#%)(!%&'!#$!##!&$,#!$(7!%!'(&%&-##&$&1&$!$%!
@853_12_1277/2
-T0012022113033.123022220.3300123212111.0332000.0333
+G.120..3012.332.01.01.1222.010.2.00130301302013.13.
+
-7?:1;:?9-<=9<!<>9<9<=:>!6;9<8/=:<79:;!4>:9':7!8199
+!76;!!<798!;56!69!6:!+453!2)9!.!4751&/=96%+;=#!'9!
@853_12_1302/2
-T1230301120223.101200120.3100322101322.2222320.2322
+G.302..3210.112.12.20.2321.111.1.31110021333331.21.
+
-><;5;7:1;1<9%!*/5+)-&5$!#3<&;09:#2#:8!319<'%0!<$34
+!;8>!!>=7@!;><!:5!=8!=:66!1>8!:!<;/?:88,(<(&((!'&!
@853_12_1376/2
-T3030320223230.132032232.2221221200220.2133111.1012
+G.120..1103.220.10.22.0002.110.1.20232202202023.22.
+
-)3%19//1;.&)(!&5/+&)9/(!9'&.8.%$1,::7!&6164&,!21&9
+!:;5!!/8<<!9=9!76!<<!/658!>;:!/!=5<318&:.//)*3!+%!
@853_12_1405/2
-T3012222112131.231011301.1001120002210.2012022.3122
+G.103..0222.222.10.00.0323.321.3.23300203302020.31.
+
-%3098-:)%&%/$!&&,$0/9)5!2.1600)'%)&15!*$2+147!*524
+!.#6!!,4+&!7::!$'!8&!0,&%!363!%!'(0#'&76-+.7)#!+'!
@853_12_1460/2
-T0112221311210.003030231.2300123012202.2100122.1102
+G.022..1222.311.22.00.0213.120.3.01000121111123.12.
+
-=>;==?<<?<?</!:<;5=2=?1!;::5@=;<7=;7=!=2;;9?;!@;6)
+!:@9!!>??<!A9:!>A!>>!<A>A!?:6!/!<<9$;;=98:;6?1!3<!
@853_12_1471/2
-T3330022331201.122130030.3120120330033.1011230.2321
+G.223..0020.031.11.11.1301.101.1.33123203222212.30.
+
-2'2678/9:::)<!:=4<#+508!62'851,94158-!563$)2/!,(3(
+!675!!33<8!19;!71!69!:27=!@53!7!;1974403;8;6,&!4)!
@853_12_1525/2
-T0013020211211.010100221.1122001210211.3121111.2111
+G.003..3331.200.33.21.3332.103.2.22100231312123.02.
+
--)03.1-;98352!257)(19?2!5859/86,<,79/!)*/()&5!69))
+!,'8!!,92(!5,#!8+!+,!/.*.!*)$!,!4)*2/1$*,9##**!('!
@853_12_1581/2
-T1200133101202.221322233.3212130022200.2212222.0222
+G.113..2023.000.32.00.1311.212.0.32011003120000.32.
+
-#7#%*2)&#$/=%!#*?&#$'3.!1(:##$,,##$#8!#%$6#%$!7##%
+!5=4!!<><:!<<;!8;!@@!>/?@!:1<!>!89;==999<;::9;!-0!
@853_12_1588/2
-T0012021002110.031022122.2033113112102.0332203.1111
+G.011..1021.210.11.12.0120.222.0.30222130001132.11.
+
-9)3313A3,>571!6:3:)<1=/!=;08&>8::&;96!.==39,=!9>7<
+!<>A!!><@>!>@=!=>!@;!9;=9!<:@!:!8/<</9>;89/=::!19!
@853_12_1651/2
-T3020020112212.230113122.3012330121130.3300302.3111
+G.030..0021.300.31.11.0111.333.0.31101203300010.03.
+
-;&&*&4>.)()&0!):35//&,+!4&5-%<(,<()%;!))%15'/!,;18
+!&#'!!'+($!$$-!&5!3$!#*,#!+'%!)!(##)/3#*'$##&#!$$!
@853_12_1655/2
-T3300132113212.231120102.3101302222222.2222223.3230
+G.313..3303.222.13.33.0202.332.3.22232230310010.33.
+
-##045%+$'#396!2/324'5%.!$%241,&%,*$32!*+)0')3!(8)&
+!1',!!5),4!,,<!(/!,/!.#,.!%)*!%!'44*4#/%0$#.)#!&2!
@853_12_1678/2
-T3222013101022.312110110.1021122231022.1122202.1213
+G.300..2221.233.11.11.3033.201.2.21201230112212.22.
+
-49&%#########!#########!#######$#####!#######!####
+!,%,!!(#%#!###!%%!'#!$#,#!$##!%!####$###'#####!##!
@853_12_1690/2
-T3003002211333.100013020.2201200311003.1130022.0322
+G.030..1200.110.30.21.1310.120.0.32233333300220.13.
+
-7*&+,553/'63-!395260883!#74#&&85)&$64!($13$##!)$##
+!>::!!><<@!?<?!9@!8>!>7;=!=4=!<!47698729:=)0*;!57!
@853_12_1779/2
-T0102310313122.202100330.3103121320021.0202000.1203
+G.230..1023.312.23.31.3131.332.0.21212000202120.00.
+
-<<::6?>74:5=<!=>==%<:9:!97>:&:;99$699!%:;=-(7!98#*
+!<:=!!>A><!8=>!?:!7A!;>7>!99<!7!:<99;?==/:>8=9!>1!
@853_12_1813/2
-T2212223211313.231233331.0033022201031.0000120.1113
+G.030..2022.312.11.12.1331.222.2.20300030132321.22.
+
-863,37338/69-!6999,064:!//$*12753365:!%)7//2+!,:;(
+!9.3!!/937!,/9!:6!,/!:-25!8,/!1!/1&5<5,4%)#5(&!*(!
@853_12_1826/2
-T1222312110312.213033300.1000031111002.3110021.3002
+G.001..3322.310.21.01.1003.300.1.13300002010200.01.
+
-/<<=/<733*.,3!')&60&96,!5&'96579;,>&,!098'/)<!&1(2
+!*/5!!&$,4!-<8!33!)5!=&1.!/#9!4!3',#,3(%.-,&3&!+2!
@853_12_1848/2
-T2021222331213.113303133.1233222332222.1221321.1222
+G.032..2203.121.32.33.2233.023.0.11201311011120.31.
+
-:><>;::8;=<9:!3,%$'2%'#!#&#'&,'*)#()#!,#*#-%(!&#)#
+!=:=!!=>=<!?>?!9<!:8!<:8<!>=8!>!?>:><5:5=?9;;=!97!
@853_12_1868/2
-T1222000220021.123301000.0333030322132.2112221.2221
+G.000..3111.301.11.31.3312.001.1.00032131111103.11.
+
-;8=8?9><4??69!?879%)<%%!/929,&;'&2'*.!#-'$+#%!--'-
+!<;:!!;>==!888!36!46!:96;!7?8!8!6)4&:2112<+480!(7!
@853_12_1929/2
-T1103313131131.222012212.0312030312000.1222202.0101
+G.330..0313.012.13.21.2031.230.0.20310031021023.23.
+
-=<?;88<;<;;<;!67=<?;:9<!<<::=599:==:9!;87<;>7!1:58
+!557!!<5;<!6;:!<:!1=!<:59!1:5!?!;-33=<)8<;9-67!2+!
@853_12_1932/2
-T2123313131211.020220311.2211002200130.0211000.1201
+G.130..2002.023.01.10.3021.013.3.10001031021303.23.
+
-82;%46$5#61.5!5417*:-70!2.73#37(6)6.7!621:)%3!9*07
+!;#2!!<&6*!;5)!=6!2>!97&9!:&)!3!+#35)$$#*#''#)!'(!
@853_12_1989/2
-T2213232100320.012011212.0303100120321.2203122.1312
+G.300..0000.212.03.01.1231.331.0.11301130011100.22.
+
-+&1$1:3A/911/!7>/<&;:/8!3;/73>8:<99:9!;5345<9!?/,4
+!9:<!!>>=;!789!>6!=>!>96<!75;!9!=>.:5=059<:;77!94!
@853_12_1993/2
-T1233001233011.122013222.1113220033221.2113123.1322
+G.211..1230.203.13.20.2100.221.0.00001311031110.22.
+
-851293;5445<0!;554:2252!;,<2459:/4)25!,7+###%!%1##
+!166!!<958!7<+!<8!6<!55,8!)(1!7!<+,56(2/6)9(/7!4+!
@853_12_1998/2
-T1313020112301.300013200.0002121033113.2023230.0200
+G.303..3303.032.02.01.3120.101.0.20101133223201.01.
+
-;5?2:8A?:57<#!0;?5,26?9!><>))7;8*%??1!1>;15#=!923=
+!5>4!!82<8!?4:!?8!>>!59<;!<;;!:!6;=&:=+5)5,59,!:9!
@853_13_229/2
-T3032130221003.212100220.1322333123123.3323221.2222
+G2021..2000.132.20.20.1010.220.0.10002020122032.12.
+
-3(85.)-/.,&-3!2&4)),:7%!-/:313'-#,&,1!/)#3-5)!805(
+6)0'!!7+)4!885!:4!42!3%4-!85+!+!/,67;':)3<;':8!,%!
@853_13_261/2
-T3223332332112.021201132.2212032220222.2211222.2222
+G2302..0231.122.12.12.1220.022.1.22222221222222.22.
+
-18&&1'(-#6&4$!)%,.0&&35!,&/+,)&(2')')!*&&(3'2!%4)3
+'(('!!($#)!)%&!&&!#&!+)%)!&#'!+!.%,%)4'#(03*#$!'$!
@853_13_287/2
-T3002301011111.300132221.3022223012231.2202122.3222
+G2303..0330.120.33.31.0212.122.0.03332233211103.22.
+
-.1-,&02,,*+1)!&-&3%$46#!&(6'##1,&%002!,0%1'./!)-.%
+12&6!!8196!8*+!7:!/6!7#&1!5*-!&!/44/6665*5)),*!./!
@853_13_298/2
-T3310133113333.333222212.3002221122001.0012122.1222
+G2022..0331.110.13.01.2221.121.2.32210322310223.22.
+
-96,06697)56,3!7734%38&#!)9+&&3;4$$31)!(,,%�!%)'/
+9,&,!!'))0!1&&!14!(/!2/2,!.3)!*!'##-1,8*,0&&+5!*&!
@853_13_308/2
-T1330000332213.203321132.0230322332222.2022222.2222
+G0112..2001.231.23.21.0122.222.3.12103222101022.22.
+
-'/01):78+5/,,!&)%&$%(,$!(%#&#&%#%#$#%!&&#&-$$!#%%*
+1271!!2555!443!65!,8!5752!98;!-!82.314&.533&&0!/6!
@853_13_366/2
-T0030302032002.002300202.0221333220013.0003331.3322
+G1230..1010.121.22.11.1221.222.1.01112110202010.32.
+
-56-,)0&528/&'!,5&((8&<(!/4&35)0/(;;11!98)1&-,!)))&
+),''!!0,&#!&),!)%!6.!&%,)!''6!,!*5-/&/3&+6'3)&!'+!
@853_13_396/2
-T0223210101303.230033113.3012132123322.3222222.2322
+G0310..2231.222.03.01.2023.320.2.21310022321201.32.
+
-0>?:;4;:8:98=!=;98><3:>!60/5,15+()$'/!&)/2%)'!5&)1
+7884!!16+:!5>1!44!,<!8/5=!37#!:!9(;822'5=13&):!1%!
@853_13_414/2
-T3321112211211.011012222.3012121222112.2200320.2222
+G1330..3130.301.20.20.1322.103.2.20202223220200.22.
+
-*%28-6/,.72((!:;*8183*3!#6&%-8#2%5<7/!#''2%2(!4%+$
+/251!!6713!629!:1!57!/)5/!;15!:!/9&81$3*639,:1!8%!
@853_13_479/2
-T0032301322021.222001320.0203221022200.0033131.2111
+G2211..2300.030.10.31.2323.132.1.22210213322222.02.
+
-1&4,(%.%%%*#2!+%#%#&+.%!'%2'#$'-)#*&#!%-%)$(,!.%#%
+&&*:!!07,$!(9*!%*!2#!,62&!5.5!*!3#%&52&'$05/$#!,1!
@853_13_531/2
-T3301031311101.221031311.2122220110102.3031313.2121
+G0111..2030.222.32.10.2110.201.0.22112212332110.21.
+
-;;<;5<:?>89:8!@:66=:?&/!71457877:)/33!11>16/*!0..0
+7<<:!!:8<7!8/:!%)!##!)#&%!(*#!*!+%$#&&')#$2%%&!1(!
@853_13_553/2
-T0102021320313.221012301.1232102100010.0113221.1010
+G0000..3202.201.03.32.0012.000.0.30330221301320.30.
+
-939:/:<6:76;8!/4>15:6=:!54/;1-><;7*8<!;-0495&!;;8'
+;8=,!!89<7!5:1!96!%5!17/8!9:5!9!/48595'87=729;!3#!
@853_13_594/2
-T2012000102023.201011200.0212232221120.2230010.0002
+G2322..0013.023.22.11.0111.200.0.01001210002200.21.
+
-:8<%#),6'9.9'!))'(-1&-1!%%8)&/.7&),)1!8'&81)2!;5&$
+##$#!!,$#%!,'%!#%!,*!#,#%!',#!$!'''###&%##4+#)!+(!
@853_13_602/2
-T0032210202213.213101232.0022021020220.2020202.0222
+G1330..0103.311.23.20.2001.120.2.03022200301131.12.
+
-;6274=;;;2-/1!#$#'2%%'%!)$#$#&#')&$$$!(##(-$#!'($$
+>6:;!!<;:<!;9=!;:!9<!:;?8!>76!2!6/%994<$4>:;,6!5*!
@853_13_638/2
-T3130021123000.023312112.0303100120000.0031212.3210
+G1021..1221.321.20.31.2112.201.1.01033111121101.11.
+
-<A;;>>AA<7<>>!=8<>578?<!=6<>7@>:=):>7!>8563/(!15&'
+?>?>!!=>==!;<>!;A!+;!<?<:!;>@!>!)/;=<1:=>93&/<!,5!
@853_13_648/2
-T1231301002302.211020211.1110213202321.2112223.1222
+G2300..2111.321.00.31.1231.210.1.11300213220010.03.
+
-:8684:9<98:;;!3:9:982<=!85886670'%)#&!$%#$&$#!&%(#
+>>::!!?;=;!=8=!==!9:!<<;;!=:<!-!;999;<9818;97'!:2!
@853_13_721/2
-T3333230132303.100130302.0233233332233.0030320.1133
+G1331..3120.221.02.20.1102.113.3.30221120323323.31.
+
-A+94,511),&&1!,)&/&/1&,!,5;///&7,&168!;)/,,,,!)(,,
+9&:9!!&(>:!()'!-1!$4!1/)/!=8,!,!&/9,;/'1'/5/)5!3)!
@853_13_809/2
-T0003331131002.130231211.1113311200111.3100131.1331
+G0012..2002.113.21.23.0130.232.3.32200221300211.00.
+
-28366.7;8=::1!?);;7:$74!4/3+&'#3,#$)0!-.(68-&!58./
+8:,2!!7,:2!:27!79!3-!:#98!7':!(!/2+,9%74-:#:8%!(;!
@853_13_850/2
-T1031012102222.202211131.0311102002103.1122003.0000
+G1131..1132.103.00.00.1301.201.0.00033023120211.00.
+
-1%$%2%$&%/$5*!/+$2(,7&:!8$&98+%)7).7%!((%9)5%!3&3)
+<135!!,1/,!4;4!2'!6>!/*:-!)57!'!;7#*'8,#),4.(.!&%!
@853_13_1030/2
-T3132033320122.112200201.1121312211221.2133221.1222
+G0121..2122.221.01.22.0332.102.3.21212113201120.23.
+
-&)-#&&&&+'&&*!')&&)&2&4!&&-&&*$),%%$&!#&&1##&!,%#&
+&)//!!6&&9!7.1!73!(7!&&6+!>1&!9!0/),;;+)372.&)!/&!
@853_13_1042/2
-T3212332011113.232102322.2022221122232.3221322.2332
+G2200..1312.122.30.33.0111.233.3.33330232122131.23.
+
-$%&)')2,))&)%!)&53%&,(,!&*&2+,%7,$6'.!.0,('0&!&.2)
+',#*!!&&(#!/-/!/(!#,!$0+$!&&'!5!&4##),1#&54)%'!')!
@853_13_1092/2
-T0112000212200.122210020.3102222201222.1122222.2222
+G3022..0232.101.01.32.2111.222.3.20020100032322.11.
+
-.851+/36;8925!&0(/&$./&!53.51#2/#,-3/!'#(&/&#!**)$
+;;<<!!89<=!9:?!;<!<;!<4:<!&'4!<!#:>=5(6:=5+6=:!'0!
@853_13_1171/2
-T0223320230220.021233321.2333222302221.0312131.0002
+G2222..3222.202.32.32.2121.232.0.22223222122213.22.
+
-<=>9=16;8;=?6!,='6<85<;!:7/9;?=**9>7,!7;/):;>!:8,5
+AA;?!!*#8&!%,%!'#!,#!$#%%!+,*!'!$%(#,*,''%4),%!0+!
@853_13_1222/2
-T2112021113011.311011302.0231220013331.1311020.0013
+G3031..0033.311.10.10.1102.000.1.00000202000013.00.
+
-&6,&0'&)'1&/.!#','-1,)-!%(%#&+%&'-4+&!'/&))*'!,&3&
+#%#$!!30+4!)$#!'/!$'!%0&(!&1.!,!.#2*5%)#$%:%,#!5*!
@853_13_1226/2
-T2302002311200.321000031.3213001222231.2320023.3321
+G2011..1112.011.03.11.1300.120.3.13221111122110.30.
+
-<=994:=<:;<84!4:###%(7#!(2,0&(15',+1&!/#1/$#%!55'2
+;;<=!!>>:=!8>>!;<!'>!:<7:!A1.!;!:1<;@<)>953<91!=%!
@853_13_1245/2
-T0313130301321.113221002.2122101210030.0133321.2011
+G3132..1021.222.32.30.2102.011.1.20301232312233.23.
+
--+$*'7,8()3$%!,/2/$$$,+!'.10'((,%&%5+!(#141(+!,%#.
+A<99!!>253!:52!<>!63!:5-6!91)!1!/#2#:*)+'#%(#'!##!
@853_13_1280/2
-T3311003112132.133322131.3233121321313.3002103.2123
+G3123..0033.002.03.10.2103.021.3.23120222003303.03.
+
-78687898-1753!#/22,,,;2!()9,,#/5/&-59!$&)3-%'!24'2
+>::8!!;:<=!;=;!;:!<<!;=<>!:;<!<!?:9;6<7=:=:<&9!/-!
@853_13_1306/2
-T1111012002203.213122200.3102300123331.3000003.0021
+G3203..0122.112.22.23.3333.021.2.00333323002200.31.
+
-$#*63+%5,$),#!28%<%.162!'8*1%53#(+551!.574$*#!5+##
+(&#,!!<'.4!6'5!2/!4'!&0##!3).!7!'(',)&$',%*%,'!.&!
@853_13_1341/2
-T2201013101110.100213022.0101123000210.0330211.2211
+G1010..3322.201.03.32.2222.232.2.21213222122201.12.
+
-96557:<57:695!94765;1;6!877::75:4699.!6:930:7!::89
+A<;8!!=<:>!A5<!?=!8=!>699!0)4!&!&(&9&,&-6)&1&1!&5!
@853_13_1365/2
-T3011300013211.312033311.3111110223013.0120021.0212
+G2222..3313.201.21.21.3010.212.3.31003112123021.32.
+
-@;?7<==<;>;=?!?;=3@<<9;!=6;;:4:<;8/+=!304;741!<38,
+?:??!!:==;!;7@!9?!;@!=;@>!=<<!;!;=:=;1;;,7<4;9!8:!
@853_13_1443/2
-T2031033110030.011112022.0222013110331.3123310.1203
+G3110..3121.131.22.30.1000.101.0.20210022233112.12.
+
-=<:::><=7;8<8!<<>;2>::;!8==;1<>:968=<!,:9<9<:!;7,6
+>:<9!!===9!68;!8=!8;!:;:8!<:=!;!77<8:;=<7889)2!18!
@853_13_1483/2
-T2023323133131.221222333.2233223222212.2222222.2222
+G3202..2332.210.01.10.0213.122.0.10213202123222.21.
+
-#0####1####8#!##($###(#!#####$#%####$!###%###!&#$'
+AA4=!!A>><!@:4!<@!56!<:7=!@<:!7!9)=8=;,<46:897!42!
@853_13_1505/2
-T2212120300302.233033312.3331132111123.0311133.3322
+G3311..2133.103.22.20.3032.301.0.10231121301130.03.
+
-.:;<,>*/%65))!546(:7)<3!>3431;,38),/=!&:'&&,;!5&/1
+',93!!&:/A!>%6!(,!54!67(7!.78!)!/$4*/4'('04)6#!)2!
@853_13_1606/2
-T3023123012222.002233113.3322021002022.1010213.2211
+G2223..3101.320.32.21.1320.101.3.22332200223123.23.
+
-89&49;;7;:5&4!71&08:;33!8<<9;<?A61;<;!5?:78:5!'0%&
+=9:3!!9=19!987!:=!86!72<7!8<<!:!=7799;:9:=3755!86!
@853_13_1626/2
-T2222233330012.310032221.3331333323222.3130233.3331
+G3123..1303.133.13.33.2021.021.1.21022333322322.32.
+
-',11/=+1<6&&1!&,5/:78$#!+,&1)*(&##$##!$'##,(,!$1,#
+9959!!4778!?:9!:9!94!4165!/55!9!5#,/+60/1-14*/!/$!
@853_13_1672/2
-T1211030213021.221113110.1011132211011.1122232.0112
+G2100..3230.031.11.32.1133.300.2.22220102230322.23.
+
-.139+97,57;3:!72)%'&2#0!$*)).++2*.%,'!4.&$(&%!/%1(
+6735!!:(34!939!,)!;:!'?7@!(<)!<!&&)&,4(1(:);+1!$)!
@853_13_1784/2
-T3221322232101.010013222.2111212100011.3320301.0103
+G0101..3330.211.30.30.2233.211.1.02003010101132.01.
+
-===A:@@>>=<:>!9>;9==>@A!=>>;>;=>8:3=<!@??4<8;!/:7;
+9=;:!!<<>9!A7?!=6!::!739<!;.;!<!3;89'-9293(7<3!,:!
@853_13_1840/2
-T0103222320012.203013210.1202132132102.1100001.1030
+G0301..0003.123.00.20.1311.010.0.21310233133333.32.
+
-;;;49:<74=<;=!585484999!1<95:,:81/'##!#$$#(%'!''$#
+75;;!!59:9!>9/!A?!53!84=7!6<1!>!:3&60-&,/)8:-*!8&!
@853_13_1892/2
-T0110000330022.322133222.2220120031001.0111211.3212
+G2031..2211.123.13.00.0013.033.0.03120120311132.22.
+
-+/5:58)&)/87&!)74:#&33)!5%4).&9:1(361!0)'60&5!9/#%
+)6./!!/&<&!/&*!)/!/&!>&,<!<($!2!2/>),=6);5:779!46!
@853_13_1911/2
-T2023023111022.110102003.1223000300012.0112322.2200
+G2210..3120.123.12.32.3130.130.0.20012133120021.02.
+
-)/#$',&/.%%0-!,+1&8*'4.!6$5664%+8(+7&!&-#&(6&!'0,*
+02,'!!.'#2!.#,!<6!4,!21%6!/'%!4!)%5141/%4&%$#.!3/!
@853_13_1937/2
-T2100301201111.021111300.2301022012322.0220011.2011
+G1300..3321.102.03.21.3213.022.0.00212022301133.20.
+
-8<8;2;>:=:=<8!<:A=>=7;.!6:94;<<=3:5=8!:7<<+:8!51>;
+?688!!:6:=!A6=!:9!=;!48;2!55=!>!9=.;;8:6-879/6!67!
@853_13_1983/2
-T2333131330231.222331021.1113022200202.3322312.1322
+G3033..2103.122.21.10.2020.220.0.20011223133331.02.
+
-2*.,58>,.47+;!#7:+-386'!,88154:$525(%!,-60(&4!)5/4
+91,5!!5/22!;65!9;!9;!8(83!;)1!5!*,3;(%5+/83*.1!'.!
@853_14_48/2
-T1200133320202.222220223.1212221322000.3012231.2222
+G3220..2020.202.32.30.2301.231.2.30210000113023.33.
+
-.61./,3/4)/'0!//226)41&!/$).96,))5),)!)&/5))&!::9+
+,35.!!8125!713!29!,1!8,/3!;,,!1!1/7565,,1)1)83!/&!
@853_14_65/2
-T0132320111332.332322222.2222222332222.2222222.2222
+G3130..0211.312.31.11.3302.201.1.10320000112200.22.
+
-)3&3+,*$&))+%!*%'$(#()#!(++(,&(%%0#'(!,(,#+*%!&-*+
+,&,4!!)33)!,85!/)!51!/3*4!.',!1!,+,56,,&,&63).!'7!
@853_14_88/2
-T1222321012121.132322223.0110021222222.2222202.2222
+G2102..0002.130.12.20.2220.022.1.20122222222212.22.
+
-,&/')&'&&,'&+!',&,#.*&)!&&($&#&%&('(,!/)-*%&*!*3+2
+-$+#!!&&'%!$#&!'%!#+!%%'+!&'#!&!$'#$$*)$'$(##$!-%!
@853_14_129/2
-T1030102022000.222212020.2232133311322.3222231.1223
+G3212..3022.312.10.12.3020.212.3.13132122031323.22.
+
-2/355'5#98+1,!:98#-:,8%!<663.7/3),8&5!5:9;41)!(:$(
+1428!!3188!758!74!38!6/95!259!1!/,15/188&61&.)!+3!
@853_14_191/2
-T3322213232222.222220202.2022121222221.2222222.2222
+G2021..2323.102.12.22.3211.022.1.21203222222222.22.
+
-/+#'*'/##(&',!&%#*+&#%#!%'.#(##%####(!,2##$-(!$'*,
+#/(%!!9(#'!/##!(3!$,!+)&$!00%!'!$0,'0%)02$'$##!')!
@853_14_225/2
-T1311131021200.002331101.0001113222223.2112202.2121
+G2300..2023.011.21.23.3032.213.0.13312223132001.02.
+
-3479956788564!178855446!69;::62$75%-$!;&(#5-#!()9(
+:625!!55:9!177!56!36!35/6!4/4!3!41666:342,8.38!,9!
@853_14_247/2
-T1222033303221.012110303.0013002222323.0220200.2222
+G2100..0200.100.02.10.0233.313.2.20321222222212.22.
+
-:3,,&///)1<:/!,8<,&)/,5!1,)&/,313,'<'!),&1<'7!=&;:
+,&68!!8))/!&7/!&<!6&!73,8!3,'!=!5*&,,1,9&(%(,)!0(!
@853_14_273/2
-T3110012100211.021213220.1003201011303.2221223.3222
+G2221..2222.222.21.22.2222.222.2.21211222222222.22.
+
-:(5/5(&,&8)&&!,3'5148,,!1.1)6:,//&1*&!0;:,&.,!);:&
++,#%!!##%#!()%!#&!'#!2*&#!+/%!4!%&#)+/446&00.2!25!
@853_14_291/2
-T2212211010122.200332220.0032221222221.2212222.2222
+G1033..0113.022.33.11.0032.232.0.20212023130023.33.
+
-&=1,,1&&&5&%/!4&+6)&(#'!'%'),2&1)6)*)!7&$,&61!.),%
+&)<2!!%),&!141!;/!1/!819$!9/8!,!5-&3.)8)1)/301!33!
@853_14_322/2
-T1222231312023.212123103.0120023021202.0211221.2222
+G2021..0002.011.03.32.3120.011.3.32231122313313.22.
+
-8;<87865.69<3!<6=-=:87.!78:(87434%;(8!.<#5&/)!;#*(
+<83/!!8438!2-5!:4!18!9684!562!;!+55:14:&92,6&7!-9!
@853_14_333/2
-T2113030021111.333123121.0312222222220.2222222.2222
+G2213..2122.322.23.22.2222.222.3.21223222222222.22.
+
-&.#%+'&((3/)2!%&0&4&)8&!%(25*(%+'%$00!/0&)$')!)34*
+$('&!!$##$!%$+!#)!$#!/###!#)#!+!$#46%,/&('$-&#!&%!
@853_14_371/2
-T1132033302002.000330102.2200023002210.0220322.0222
+G3302..2011.112.21.21.0222.230.2.30303323233332.32.
+
-1,4+'576'#38+!$338%%156!$452)#'6-&+%<!,##98##!55()
+5*5/!!/243!.2.!8&!2/!&830!#&)!.!1/&,%#%%/#$%**!#)!
@853_14_386/2
-T2203002323130.122020200.2301310000200.0020221.0210
+G1030..3202.132.00.31.0220.200.1.13220221202020.20.
+
-,&,&))417&&)/!+/175+523!'&13&&2'6,&20!)+,2,/*!)3))
+&0(4!!&&12!*.'!&8!$8!6,&)!%)/!$!',)0)+-2&,(*&%!+(!
@853_14_391/2
-T3102012032121.202022221.2232022221222.2202222.2322
+G3213..2310.113.32.32.3220.220.1.23020222022200.22.
+
-3,/(/0#).30..!1/4#),5.(!/82015**#$$''!#0&'3&%!#.('
+21,/!!71,:!901!69!1/!85,2!:4$!#!,#%'$((#*4##'*!%#!
@853_14_488/2
-T1013032122031.323122131.2213223222323.2303122.0132
+G2033..2112.003.23.12.0022.310.0.13012211322032.22.
+
-44812*-.4;%<9!*-7++/&61!35#1/&/58/,0-!%7+46$(!*/#/
+,=3/!!&16)!)53!,/!61!/,2;!=*(!7!248/2%/893,0<6!*+!
@853_14_541/2
-T1310230100230.033020233.0122003300003.0000001.3022
+G3102..3203.310.23.11.3330.310.2.20022021022000.01.
+
-,,1.&&&);4((&!10,/5993.!>):439,,&7=96!*&49*8&!9($/
+/74&!!/1%8!33:!91!,9!1&,6!3),!&!,.()6*'4(-+%/*!,+!
@853_14_549/2
-T0100211221012.332212330.1002102011102.0000202.3233
+G2020..2220.210.12.03.2000.300.0.31130030321320.00.
+
-2%))%;#&%%#%0!&'*-54$&;!643,&1'/33)=1!#,,'#'%!9&.,
+<0&$!!)(.,!,)2!/)!)%!,&'8!'6'!#!$#*#+*-,#%#,##!83!
@853_14_563/2
-T0300003000002.133233321.2033020322131.2220022.3321
+G0002..0200.122.10.01.3310.200.1.33312232003010.30.
+
-,/1$,#5(,$)#)!#)&##'#')!%,,,)#*&$.('$!#$##$#,!%##$
+#+$#!!*%%*!,*&!#(!##!(,#,!,#)!1!,###(#)#$,%%#'!#)!
@853_14_609/2
-T0112010212213.123122102.2212222212221.2221222.2222
+G2212..2131.003.30.03.1122.112.3.12133032203121.33.
+
-:=9=9;<<;=<<8!'&:+&$&/0!(1'.'-0&)32-&!.+)*#8&!&86/
+;::>!!;77<!96=!><!7<!>9<3!=;=!?!&;9>:6786=)/53!)7!
@853_14_644/2
-T1232102010211.211310312.2130100202312.1231220.2002
+G2100..2111.221.32.31.2231.210.1.12210213322011.03.
+
-$92:&%&$451.,!-%4,&4&#.!28)%548&+(,90!01,0)))!3%&4
+%%*,!!#*,#!&,$!(#!,$!#(%%!#1'!'!,&,%##'#&#*)##!)(!
@853_14_654/2
-T3012012111203.233111132.3101012122021.0300020.0033
+G2231..0211.022.00.01.0222.112.0.00100212310110.03.
+
-<<?=<<<;<=;<<!<=::;><=9!8;;;;<6:87=>7!<78;5,=!=81/
+59/2!!;9;<!;65!89!1;!:665!5:5!8!5.9%44:2036555!:2!
@853_14_687/2
-T1132111102002.323112212.3011013103112.2131111.1312
+G0320..2131.220.32.22.1010.220.0.10220020201332.20.
+
-<:8:7:>;48;7>!8<4>79<:<!7<@;:5<>71&:5!6$:9;=)!>4;5
+=;8<!!8:<:!7><!<6!<;!=9<<!9:@!<!<>65<>):7=3/,7!)(!
@853_14_694/2
-T3322322210122.302210121.0300201331001.2030333.3221
+G3210..3002.113.20.12.3123.002.2.00300110020000.20.
+
-)274.&#%05.&0!'1$%/:*/#!/)#((60$-(88%!&<&')%1!0%))
+()2-!!)&,%!3*-!/,!'/!)&',!+&/!'!+&*)0&++',193$!(6!
@853_14_758/2
-T1321202301222.033210210.0300011121321.3133211.1223
+G2321..0102.003.22.01.0320.101.1.00200022201312.03.
+
-><;?;:=>9>>?;!<;;:6>;<.!<A=;<<;@:1=77!#,%4*'&!%/#$
+=>>=!!=><>!&4<!@6!;=!&9:;!)<?!=!;;:=.;=:</<<2=!9<!
@853_14_833/2
-T3310213023021.332021213.0322322002222.2210132.2323
+G2320..1011.022.21.21.3333.222.1.02302110021100.22.
+
-$&.-&-&:7&)8*!1&3/3,&/.!&7''))),+,2,/!'&41*0=!&)3&
+85$3!!%+/)!%')!)$!38!&/..!).4!&!,/2.',8+((2&'2!3)!
@853_14_870/2
-T3222123013233.301333303.3033000223000.0312223.3222
+G1113..1112.303.23.11.3333.133.1.11311332233331.12.
+
-98)6#/)37)1+7!6()(&253)!&+07+#%3&/23%!)4&4-(0!)/.'
+2)*+!!22,,!2%+!%$!$%!%%)#!%42!(!(#7#0(1)%%65+%!-#!
@853_14_924/2
-T1220222233220.203302213.2112031122312.2213133.3222
+G3230..3221.003.20.11.1320.133.0.11032210302331.22.
+
-842*,&/0%#-3&!%#2#(&'-(!2#*,%2-/%*,#*!'#''##'!,)$#
+2%&%!!&,$1!8$,!(0!#$!,##$!$#,!#!%))))%'#).'%#&!##!
@853_14_976/2
-T1032120002200.311210210.3032321231302.2331110.0330
+G2232..0311.132.11.02.3002.012.1.02300033003003.32.
+
-:<=>A<=96?<;9!<;9==>=:7!=::9>?:7=6?;=!===;8=;!5<>9
+:A??!!=;<@!@:<!<?!7>!?79>!<8;!9!9><7,36;4/:65-!):!
@853_14_985/2
-T2330202321123.210122222.2102123311021.0331200.1230
+G1320..0333.220.33.23.0020.220.1.11211010202323.22.
+
-,7)&&&6/,1/3/!&.8$/,/,)!5/&,3;75,&/6)!3&)&&58!),*6
+,)(2!!(%,%!9,&!#.!:#!)&)3!&,&!0!/6&5)8,*90(&,&!()!
@853_14_1006/2
-T1020022101000.021103331.0011301103002.2222121.2113
+G1001..3200.220.02.00.2222.120.3.11113100223332.22.
+
-69788<59;=::8!;<=<5>===!<;;@<>=<346;9!;<<9<94!75%)
+9=28!!<=><!:>8!:<!>3!;=55!<6;!:!5>86:<;,;98:8:!;:!
@853_14_1016/2
-T3222110230210.020130020.0121012210231.2231230.1111
+G3112..0111.211.22.10.2002.330.1.11100032210313.01.
+
-&&&,%)&0&&)'3!72'4%'+-,!&&*62&5,4&$3)!4&211&)!110'
+635,!!,<,1!&),!&>!+,!>,2%!7(0!.!5$(9,)&(.)/,)/!1'!
@853_14_1065/2
-T1200000033013.000213311.2210300303333.0133030.1330
+G2120..2212.121.11.12.1320.202.1.32332332313101.22.
+
-;:/0/.1/(+<7:!(.794'983!.8>&.3(1)'991!1038,.7!441<
+72/6!!6569!63;!84!9-!:(&#!%#%!2!#)#/))'#1%#&#%!&)!
@853_14_1070/2
-T2210231200211.131133030.2113003032212.0222000.2222
+G0022..0222.331.22.21.2102.202.1.11220230302200.22.
+
-'9:::+&&9,)/,!35(5)$(''!0)'(&&'.$')%%!&&&)#&&!&&1'
+%#2)!!#*$#!2&%!'(!&%!$,2%!$%#!,!1,)#&-#%#)%.*-!4$!
@853_14_1075/2
-T1301000111303.233202012.0010210032211.1002020.1122
+G2032..3112.200.20.10.2111.232.2.21102211022222.22.
+
->8><>>9<<>;=9!>;8<<=>>=!>==<<>>=8:76<!:3<859:!<:;7
+<@::!!::=<!<=?!<?!<>!<>=:!42,!3!5)&&&#(,1%%$(&!%'!
@853_14_1087/2
-T0033302301333.331323333.0013311000030.3002121.0301
+G2212..0000.110.12.13.3213.100.0.32312220112232.21.
+
-7/2459;829815!:8539:5&,!40(/37&<436(1!87/6);6!,'&7
+=,92!!3>=:!46<!)4!+,!29':!&,4!4!/07,):6:0&%-9)!&4!
@853_14_1103/2
-T0302301222002.200211200.1323333123222.2221330.1322
+G2122..1002.011.22.00.0230.033.1.32030000202311.33.
+
--28$,8+-7*/48!4.6-+&*51!.43&/-142-12'!)/,&,$,!-'05
+;<'9!!>&86!20'!:<!28!0'%6!9$$!2!%#.8*&#'.%($'0!'#!
@853_14_1119/2
-T1323221321202.202330220.0213000012122.1123300.3121
+G0231..0021.001.20.01.2322.322.1.20311011111112.32.
+
-==A=?;<=9==8=!=:9<>8<;(!8=5;==2,<>,=;!:67;791!:&55
+;<>;!!;:=?!8<8!:<!:>!=<=9!=8<!;!<8<8>9<=<=<<:6!;7!
@853_14_1165/2
-T2202001222101.001211000.2020003223112.2220001.2223
+G1012..2310.202.02.30.1312.132.2.31203122123322.01.
+
-;;>8::>;>>88?!<<;@@A==;!=:;,981>5:A9@!?@562:7!:3=5
+;8<>!!<?:9!<,<!<;!9;!8165!'$2!&!)#,$+*'($*2,)%!%*!
@853_14_1197/2
-T2210132120322.222202312.1032111313110.2003210.2211
+G1332..3120.220.30.00.3111.221.1.13031201132112.20.
+
-61&8,&1):2&83!:3)@3&6'>!&&/6&71/3+1&,!5,&:7,7!7)99
+@,,=!!+.,@!&/>!,,!>>!/>/=!&=)!/!8//(/3)>//95<5!<.!
@853_14_1241/2
-T1313001021202.323010312.2300022210121.0321321.1120
+G1003..2230.202.03.13.2111.230.0.10300330110211.32.
+
-78379:853;:8:!382,?;767!><;(:5=<,>=7;!@:)/';=!:&=7
+>:59!!7/5:!8/:!7;!/9!.73:!=,5!:!3;5;:349/2=,88!98!
@853_14_1250/2
-T2022213132230.323230322.2200233022232.0112100.1332
+G0321..1211.130.20.11.1202.102.0.31001233130122.02.
+
-39@)3)1;16:8(!/=0,15)1/!3/</,?,19;>,=!:3&141<!,1?8
+<9;>!!8:9;!:@;!;<!=7!=:6:!<2;!>!;7.51/93''/;5&!)8!
@853_14_1327/2
-T2021212110222.202111130.1221321203223.1312322.0330
+G0222..1122.320.33.30.0220.222.0.22203221332223.22.
+
-;=;?@>?A@<AAA!>>A>A@@>;!<@?>?@9@9<@@<!1=>==;@!8<<<
+=>A>!!:=?9!>@>!=@!>=!=>?:!788!)!-5',&0;&*/:3*$!5<!
@853_14_1347/2
-T2222103002313.002121202.0110110201212.2132213.0211
+G3022..1203.321.11.02.1011.101.2.11002232001001.00.
+
-:9677<96988=6!9982882:9!;<<5:;8;:<-7;!<;6=;:0!;:99
+=?<;!!?>9=!;<>!A@!?:!@&56!9:=!9!35>::8;:=</<91!8;!
@853_14_1352/2
-T0322130022232.212111203.2300331000221.1313103.1112
+G1322..3022.223.01.30.3010.300.0.21210001322111.00.
+
-=&,5(&53))&+,!,,%=&1&&+!'5-,31&+&,):9!))))5&9!5/4(
+:<'2!!,6,?!52(!52!,2!6,9'!.)*!)!&$,&:(9&4*2)2(!%&!
@853_14_1385/2
-T3002203302022.232012021.2301122110223.3321002.0322
+G0320..3022.211.20.32.3322.132.0.12230210121023.32.
+
-<708'%253*07:!$:027#$:9!%&45/##474$#2!6##524$!/97&
+:;;4!!A:=@!?;=!98!<=!?:;8!,8;!4!69?>)8/3;8/,=8!)8!
@853_14_1447/2
-T3223303110002.312133012.0302223122311.0133331.0233
+G2320..1001.132.20.31.1130.200.2.00313111310201.30.
+
-?</<1######&#!$#(%+##$'!#''*'##,#)###!#%',).#!#+$*
+?:85!!;6::!:7:!9>!8?!7/<8!94;!@!:5:887=<:3325:!<'!
@853_14_1515/2
-T2333131102123.201103020.2221212033022.1101011.0313
+G0102..3213.300.13.20.1230.012.2.21201101201101.11.
+
-5/':6:;&,/+),!9,</)8</6!(99&1<8,)(,&)!2&3://5!)112
+;5;8!!8:<;!1<:!,8!;7!1:;8!8=<!9!;?731=9585=>08!??!
@853_14_1541/2
-T1111101123332.122331031.1223132131011.1311103.1310
+G1312..0311.200.20.33.3031.202.2.13220211222312.31.
+
-$6//478$#7<5'!$2#292&,6!64094/4(7'%&/!,%-)#*#!%($.
+=<1:!!9=6=!>5:!;;!>;!>0>4!9;:!=!8>;?6;2::&'385!)&!
@853_14_1569/2
-T0220201200303.303332030.0312201221000.0332222.2330
+G1113..0132.002.12.12.1211.021.2.01030131101300.00.
+
-'9//&&&)41)&4!($'$0:&-&!'()0:)#&2,,%$!$))%4.&!).0(
+3368!!468)!&1#!<)!&)!,%,)!'$$!*!&2%46%(,,,.).$!$'!
@853_14_1658/2
-T3002130113102.030003322.2100333012212.1230002.0002
+G1112..3021.113.13.32.1222.021.0.03221230110030.12.
+
-:>6;8:;::7;96!77:=A7:8:!9:5=69;7<;551!947;9<6!(<=6
+;;><!!:><=!A=7!>:!8;!><=<!><(!;!<78;?;87;;<-24!9.!
@853_14_1702/2
-T3023332100011.230103102.0021330322202.1112000.2001
+G2123..3021.210.01.21.1030.320.0.33011200122002.20.
+
-98:58=9=568>:!?99;5:<:8!88;9<;.<=953=!378:,9<!<+;7
+?>9>!!@;99!8#%!#,!;:!3,=5!562!'!844(7#024#(.)+!0,!
@853_14_1707/2
-T1021012301213.223013112.0313221002030.1231310.0102
+G0220..0123.030.02.00.1202.212.1.12112113231030.30.
+
-63<2669)+&:.-!&3#&,+1>;!(;<-&0=/1./87!:#/,15:!77)%
+:;8=!!=<;<!895!?@!>;!)>?=!:9=!<!8>@A8<=<7)=88:!25!
@853_14_1715/2
-T2113210211313.302011010.3323021122011.2011010.1303
+G2011..2030.001.10.13.0233.213.1.11302212120021.21.
+
-0+5.3=,/331)7!3(4(17),.!:5=/,>,&9>)>)!1,6,'6>!>2,&
+8657!!24+7!:83!52!<5!#$&)!##&!8!()+,%'(44$('2-!#(!
@853_14_1721/2
-T2122222110233.120020211.3121231211322.3220112.2211
+G2031..1103.120.30.21.1022.011.0.12332103301221.22.
+
-$&'&),.&%#,42!&4%#,&.(%!1/3-&3#1(#6(1!5,/),$,!,###
+=;>8!!>$)<!-*4!66!1(!;'08!9+/!7!#1:<11)<;4#4(*!#%!
@853_14_1736/2
-T0001320013111.210012202.2131100023332.1200020.0022
+G2122..1120.312.02.21.2122.301.3.21311222230111.21.
+
-&-')::)())<70!:,&9/3:)1!()+38,(2-.(,7!,+'+3&8!2-1;
+$'&%!!68&$!%>,!+%!)7!,)+.!.+%!$!%-&,))-33',/<,!32!
@853_14_1855/2
-T2332103123212.102220233.0311122321223.0021222.0203
+G3100..3303.021.32.11.2033.010.0.11002211020233.11.
+
-4+52)+&$'-0*#!'#2+2$11.!-'$915#)6$%(1!5&%&5*&!/6)&
+;;3;!!::,;!7<6!:<!73!=<&8!458!/!<'&)(-39&))1,0!4'!
@853_14_1861/2
-T1122213220202.311333312.1223022302333.1013211.2222
+G2122..2221.330.21.13.2201.223.1.11031233222013.11.
+
-35?91:89:0917!:48;;33(,!$/9<(/'),6%2)!/$)54,&!-)5+
+;<=<!!<=?<!:<8!5:!5<!=<68!<<;!5!)123=85;1:9-24!.)!
@853_14_1879/2
-T3221111322332.330311001.1012211322102.1112011.0121
+G1101..0201.230.21.11.0211.011.2.21133221120011.31.
+
-,6.1)684536&5!2,7(39/1/!71:9;;*416?&6!,,/6876!,9)5
+=;//!!,936!&&6!/1!94!:1)6!9/,!)!,$#&4##,''#%-(!)'!
@853_14_1958/2
-T2113133021300.233021221.3023103100111.3111001.0022
+G0132..0333.322.03.10.0333.031.3.31131021200322.31.
+
-4*78552;66:.7!27(+%$,&#!%%,('-630-%)-!#)'/*,$!(''-
+:<<;!!;9;=!=;<!9=!:<!:::=!;93!=!:;,6:-858:1<#:!5,!
@853_14_1978/2
-T2001220322202.232020003.3211201203030.1031200.1223
+G2232..3003.321.33.21.1213.220.2.32102202110203.11.
+
-9;<6:=667<9:?!:;;+;338:!9;<8:<-7)<619!..37-25!=;20
+;94;!!9824!62:!75!76!<::6!953!:!745<55&.<36):(!5&!
@853_14_2006/2
-T3322031101221.331303002.3321303220010.2200031.1002
+G2110..3212.333.23.02.0300.113.2.03212302332113.21.
+
-56819<<<83999!.7$2#8<66!6<9:6:879%0;5!9*%<0*)!7;..
+7(&.!!,538!(&,!+6!$&!9,%+!7)(!,!(9&4+&,###(13#!$)!
@853_14_2011/2
-T1213110110222.111222112.0012223103322.1112110.3113
+G2120..1132.132.31.03.0223.333.3.20333332333122.32.
+
-6A&%9=4/199+=!)5+.&,5'4!//:.&)6/0/4+)!:&1+51+!')8'
+2!!0'%0!)*6!4'!23!(48/!7,2!4!#$.52.5#4)%'3%!7#!
@853_15_108/2
-T1020223212222.121222222.202322012221222222222.1222
+G0223..3233.322.32.22.2232.223.3222222222232222.22.
+
-(&$(/0'(&%/)'!)/+#..*)#!&$#%'&%&-'*,##(-)#'+%!),#*
+(//(!!)($(!#+$!$#!&&!%-&#!(%&!&%1&%$&,#'-&'%..!..!
@853_15_149/2
-T3223001220022.212201222.111221222222222222222.2222
+G1221..1030.313.13.11.3001.212.3102221222333223.22.
+
-78/..2/&'&'/#!1&,')/0&/!+&)&5)$#0&,)$/)*',,)/!3())
+/2+/!!3),.!2))!78!,.!9&)1!6,7!2:*2226)/)48&(%3!($!
@853_15_194/2
-T3312003232002.133223110.202022233223322222222.2222
+G2221..2123.221.03.12.2223.222.2220313222202233.22.
+
-4),('1&))2&&:!&)+2$1&&/!)'1'('1&&-)&&/')((.(#!-9*,
+$(4&!!+&&&!%),!&&!')!&)+'!$,)!&#)&,+*&0/&'))&&!.)!
@853_15_359/2
-T2312212222011.102012313.300303032222122222222.3222
+G2212..2213.102.22.20.2222.222.2221320222222220.22.
+
-9-5/8.5458666!6393'5017!,5762*%')-(#$%+&&&'*&!$&0/
+&*%&!!#')#!#'#!#&!&#!$#)(!)$#!##$##)&#*%$#-*##!)$!
@853_15_384/2
-T3133101323312.322010203.031002333220220210301.1200
+G3130..1211.331.30.21.0012.231.2221130011301120.12.
+
-)8&)&'**7&)1,!3/)#5951-!%//'&/)45)&),(18)3&,1!8%)+
+,)*$!!&&,,!&3'!)4!14!*)()!4)&!0,1'&,+,(:&2)&,%!),!
@853_15_453/2
-T1222100222231.121121231.022223111222221313200.1222
+G2022..1120.220.32.01.2212.211.2231001222222222.11.
+
-=15(&&<//1/'9!)9(',/&)8!53=1711,)<//=,'1&&('&!&),&
++&&)!!&')(!/2&!.%!'&!5-.*!3&2!6&&(+0)-)%(357)4!&&!
@853_15_528/2
-T3310331111111.132002232.222133021031300022022.2220
+G0321..2213.230.12.10.2100.201.0222110012332122.22.
+
-2%#3$##)##,#)!&)#$2(#)%!*'))('#&##&##'$$#&#++!'$/(
+2,./!!'1.7!59:!35!<4!859;!66<!0:=/33(9&'2)7'&'!-)!
@853_15_538/2
-T3310122300211.033000210.003300000000030000000.0022
+G2303..1003.110.00.21.0212.211.3300212101131000.03.
+
-(-'#'%(,,2'%#!5,,,)*$()!,#/13,2%-2)2'*,4'(.4#!)2%$
+(/4$!!,),#!5#)!&(!/'!.)(*!1#$!).$-&)##1#+)2*$7!3#!
@853_15_618/2
-T1002211010002.200223103.321003230000312000101.0000
+G0012..2010.013.02.33.3100.023.3111210132310000.01.
+
-,,5)%#,*##2,8!&92#&,,,#!,%'%,+,(,#,&%##**'#*)!,,*)
+','$!!(#&,!,,%!()!$'!+%#*!'##!#('%#$+)#$*)#$##!$(!
@853_15_671/2
-T0223232033121.210020003.102320022213221200033.1103
+G2300..2201.033.13.23.3122.002.3220322033030210.20.
+
-89:=<68:=<6<=!;1759986>!586>;:9<;989></=748@;!=<5>
+;:8:!!<;6:!8@?!83!94!*9<4!67=!8#<25./8<1.65455!6/!
@853_15_679/2
-T2012320131021.021000301.301112021120110211121.1220
+G1020..1132.200.30.02.1132.021.3121212200022323.30.
+
-751)&16<(5;7;!88;;<>->>!65;<;7;8>;6,=9=86=<6:!<18@
+><:=!!;=:<!9=>!<@!A7!?>:;!@8>!8A7=7;;/<=><:0;8!99!
@853_15_712/2
-T1233032021200.210101331.201322333121322133331.3332
+G0113..2012.323.11.31.1013.100.3233000022131322.23.
+
-99A;4?<5;<542!:5484::;4!<8595:>=&-7&9&(&,&1/&!%/$-
+::88!!<48:!<79!;A!>8!@41?!>+.!>5#849;8,289-&54!%'!
@853_15_741/2
-T0213202132113.031320110.111002211200003100030.1031
+G2222..0003.001.31.03.2321.212.2112303213222233.10.
+
-;5693;6>671/9!+57%##(2,!$*30$)%/2*.'+4&),1.,,!/,'*
+::4:!!1'&7!/71!:,!3;!1&4:!2)1!7,():6/5.9)-((5,!&#!
@853_15_817/2
-T1320033200102.123232033.233101022211211111021.1122
+G3232..2100.113.00.32.0022.013.3012011132111200.32.
+
-()&-<,71+<32(!>1&)&5&',!'/'/1')5;)/1'))/6)/:9!16&;
+)(&&!!1/)3!(A7!7/!8)!)''1!66&!'9&/.6:'&=7?<;55!)5!
@853_15_822/2
-T3300212203112.303110100.122200020212110122111.2033
+G1112..0102.012.31.22.3311.302.2013011120011100.11.
+
-:8,757)1,;/;6!8,6:3<65.!>5(?(&3))7&,/3(&1*:5*!1)/&
+3)/)!!&':'!,)3!,;!1,!/,1<!168!6)57=1=/5732&8:6!)5!
@853_15_866/2
-T1030112000331.200012132.000200123122313020122.0031
+G0311..2102.303.01.12.1330.023.1211311332332333.33.
+
-898;;<>278+;9!;06//8$&8!,#'574%(;'.$*/,-%*6/*!9,%&
+=:<=!!<:<=!;3>!<7!;3!9;=4!'1*!%%))'5$#1#1&''**!--!
@853_15_886/2
-T2023310032313.221000120.222222222203222322222.0233
+G3120..1223.211.31.30.0222.121.2023113003020123.22.
+
-503)4-(1'13&,!8;:2'1&90!99<35&8;46&/(.8)05&12!$&&'
+;:1(!!):.1!03)!),!$(!1<5)!12:!;::,88(9927.:)2&!5*!
@853_15_889/2
-T3031023333212.331200320.002013223233002202033.3030
+G3100..1233.212.03.30.0222.222.2223112033122230.23.
+
-&4,&,'*'(9%$&!)%%%2#,($!(.#-#+#,##''#&###),(*!(##$
+#+$$!!(%$#!$%#!%'!#&!#,$#!$)#!'#$',,*#$%,##-*%!*$!
@853_15_912/2
-T3213002320031.331103330.002132020022312022120.2132
+G2032..1111.323.03.33.1122.333.3320023310033303.22.
+
-#62')81-#14.4!,:6-%0,/$!&222&.+5','11/(&%,)$%!2)#$
+-/,)!!';1=!::)!+,!$2!,1.9!484!7320=85:#*3,40,6!6$!
@853_15_935/2
-T3133221102202.233332220.122011131120220022220.0212
+G3122..0121.311.32.22.1011.211.3212001211320020.21.
+
-$5)##08%5*$8,!,),0'#'/.!$(#&$,1$'$&/&0&%)%'.$!$/#)
+)&$+!!91<&!#&9!-%!,6!))5&!-':!+&.&&7)$),-(8&02!/7!
@853_15_955/2
-T2121112302133.010030202.222132131003220222330.0220
+G1320..0322.203.22.22.0220.222.1122021122302231.22.
+
-'&&,0:>):),=;!:1=;5=<=6!)>=,/,2&(&),=<&):5,()!74,)
+95;<!!<<5:!=2,!'$!*)!#%$$!$+#!#######$#,##%)##!)#!
@853_15_959/2
-T1233103213121.212133211.122132221333223212133.3121
+G3320..0322.300.00.22.3220.000.3222033222002032.33.
+
-/)8612)9,4)8/!928,*/$8%!&##),'&#.%))$$-#',&$.!(/#(
+&$4#!!$$/2!,:1!&<!65!,4#0!(5;!3+,7.</49<5(5)1+!,7!
@853_15_989/2
-T3201022000312.210110122.132113122101220032200.2220
+G0111..1113.233.33.11.1122.333.3220333130032133.30.
+
-<>==;>;<;<>>=!=<:>==<<<!9=<&*&)+#+%&8)$$$3)('!5/&*
+=</8!!;;;=!8:<!<<!8<!>966!949!<4%8<<4&<*5;&4(;!%2!
@853_15_1024/2
-T2231010331011.211302002.212322231101102132122.2322
+G1000..3002.311.32.01.2032.013.2203223131331111.00.
+
-9;:;7938:471,!)849:5513!-20>9;5:85&94:2160$$(!'',$
+@=;<!!@>><!<?8!?@!<@!A9>?!>3:!A@9>=;=6;<==5+;7!5(!
@853_15_1036/2
-T0320010231212.012322222.131131100322221212212.3200
+G1132..1213.031.01.02.1203.100.0000303001111211.21.
+
-8;*$46991<89;!181989:8:!7<;52::360'<78-3;9:-7!4<2&
+;8:5!!=959!19.!(1!&1!;:&:!:36!/3;6*)+;.20;/%&(!1.!
@853_15_1098/2
-T3312310131203.000003312.200122112101211020010.2023
+G0223..0211.202.33.01.0331.221.2022301102302130.33.
+
-@:;(<917>:>.@!):/=,@??>!<?;;,;><9,,<::,);::&6!91:9
+=AA>!!>A@A!@>A!@@!=@!>>>@!??>!=7@:;>@=:7<@A5=3!;>!
@853_15_1126/2
-T2213210223100.330321132.322121221121322321222.2222
+G3000..2022.222.02.30.2233.023.3321133221232220.33.
+
-&+9:).(;8&&&,!;'+1'51),!(5;9),(),10,<&,'45/*%!)').
+9975!!>&?7!617!#+!/)!$*,,!#%3!/-#$,).,$0%4,$/$!2&!
@853_15_1180/2
-T2100330002323.120123301.312303133200001230220.1233
+G0120..2001.223.01.33.1110.223.1211113322312120.23.
+
-=>):3>=::;>;>!;><;;@>:=!=8<><>3>=89<:=17=:9>8!>7<9
+9=?;!!A<;<!A=>!;3!;>!1979!,:=!:1)8;<,357,):,;1!&:!
@853_15_1211/2
-T3312001002231.112311121.012111020330113001012.1100
+G2012..0303.013.23.02.0003.213.0221333022021233.21.
+
-726+4517/:848!96&0+;9%3!:/)8)61)2*76&137:,&&4!(/+/
+5978!!)<<:!&<;!/8!<<!,69<!(95!9'579;&;;0)#)1&*!#'!
@853_15_1220/2
-T2110232023322.231012330.001102031322120001002.2102
+G3220..0003.031.10.21.3331.103.1200000200020000.20.
+
-,:(=/,,,,,7)'!(,;+(1*(8!71&-0('1-'*79&58((&2%!'$&&
+()%,!!*)5,!'%$!#$!%#!$%#'!(#%!),#)(,,$4-'$*,&#!%2!
@853_15_1314/2
-T1232330203102.212101301.200100023330312030031.0312
+G0211..2113.103.01.33.0213.131.1131210030013322.02.
+
-0(((;&A)'&&*)!(@(;6,'&<!7410/1<'7)+69:3(3,&/'!,+&(
+,)(/!!.&&(!>(1!6,!(&!((@)!;(,!18()<35>,&./:,;(!/)!
@853_15_1319/2
-T1023122102102.203132330.111101121221102231303.3333
+G0300..2310.200.13.03.0001.002.0010100110000221.31.
+
-476<9<:47<5/9!68</:7:=)!3766578937454.5$2.8)3!7553
+8;79!!<97:!>%:!==!4<!<)6;!<3:!;:&.9;9+478:&8:<!08!
@853_15_1380/2
-T0231133023111.310221000.300112123201303300021.2022
+G1330..2233.002.20.20.2202.133.2200021211220113.12.
+
-387;A;537::7;!:?585669;!15<:855<;6<;897:9;60,!8)/%
+7694!!=6:;!78<!88!=<!:977!(#.!4//9:1426;&4,7>#!)7!
@853_15_1405/2
-T0202221111231.111113311.011111122222002011022.3122
+G0103..2222.022.01.02.0333.321.0021301000320100.32.
+
-3/=8/79:3=877!;:98;;97:!978:<<<8<<8<8;::939;9!.6;<
+;9;9!!=431!6(%!//!4(!4:86!8,*!/8>68<5<6&8(>.:6!91!
@853_15_1433/2
-T0310100120332.312321022.221233001201223320202.3132
+G1132..3202.000.12.31.1102.233.2222333002211003.13.
+
-&.(8)57)475.,!'1&8-;96:!:7:.0)/0/-*.++.35:98%!&(%#
+>379!!9/,-!)8:!;/!94!=27-!/*1!9;*)+78<55619.&)!%1!
@853_15_1452/2
-T1130220031020.113131212.210022320221233230131.0212
+G1003..0002.002.20.02.3012.111.3122000230000220.22.
+
->@7=<<@A:?>>A!?>9?:@<?>!==>?<=6;><:8;<:<8?:8:!==87
+@@>9!!?==<!><<!<<!A=!8<?<!>9?!::?>>@>;:?==7:6=!89!
@853_15_1457/2
-T1222213333233.301233332.110013300133202300323.2213
+G0022..1221.311.20.00.0113.110.3001010121111120.12.
+
-&)5##&(%#349:!/-/2%&)'+!',%##)'''&(&,##8-#-&+!)$#2
++/%+!!,,#2!*('!%&!))!,#*#!,#*!',#''&,&',(#(,,'!'+!
@853_15_1474/2
-T3333301013330.201032112.012122213221132221322.1222
+G2222..2211.213.21.31.0330.000.2123203002130221.32.
+
-:88::<:>::;<<!>=?:8>:<;!><6:=>:5*:,&,%,1*($/8!&)27
+?<:<!!?<?>!@?:!?<!8:!>8:=!=<;!=<@86>4;9::989:;!33!
@853_15_1495/2
-T1133321130321.223311332.023322133223233223322.1223
+G0010..1121.112.21.03.1232.112.2020222301113102.20.
+
--17729.8$#=6,!,9=#1.:%2!#1)54,#.'#)$*')#&#,/(!&#*%
+9987!!<2;8!<4=!>=!5;!9=4;!<)3!+.8$<277%0(6;6*1!.'!
@853_15_1548/2
-T2012310310112.201020123.132222213202211011122.1020
+G0230..1300.302.13.20.3301.001.1120323133133333.03.
+
-3;;;83173;36?!5,18;:7:5!;:<;(5,$*:<).;1;6#2'2!%1(4
+,())!!#+',!*#,!55!$#!#1(-!&6&!:,3%&((5('6&4+1-!1*!
@853_15_1581/2
-T1200132101212.222300023.321110031210020113213.2202
+G1222..0003.000.32.11.1222.221.1210032122020030.00.
+
->9>:@<<?>>;65!8=4/5<;98!5:38/3<0826<9/);984$$!;//-
+6:/5!!4$(.!3(5!,,!5)!#$/%!##3!),/9.,$)*%&$,2&4!&/!
@853_15_1603/2
-T2031103212332.223110220.302220210303221100200.0211
+G0222..3011.012.30.22.1103.110.3002200100201001.03.
+
-<95;8@5=66:9<!=:6??;23.!%,62)=1:0'#+528)&2*4;!5*;1
+A97<!!8=>8!@>;!4A!::!;=?7!:97!49=/&>>7885@7&6<!;$!
@853_15_1636/2
-T3310211303302.023111232.001011110003122322100.0223
+G0222..3110.331.21.22.2200.002.1300220220120202.02.
+
-5:14:9;9)<#:<!6/9;66697!<.5+8=8:&85:14$;%&219!-5-:
+1469!!3,55!36;!<1!95!4658!.4<!9#74461643503796!53!
@853_15_1663/2
-T2233020230232.322033111.001303213331221231303.3000
+G2220..3112.323.22.03.0233.200.2303221232100030.23.
+
-)*0,.,*;&&),4!&*3#*#%1&!'*:.%#(/7&'2$$###&#/$!)(/0
+%###!!%#,'!/%,!&(!'#!.*%$!%&-!###'##,$,##(#+%$!),!
@853_15_1726/2
-T3011022330122.113123311.003103112111110002003.0100
+G2031..2313.121.13.03.2221.133.2023021131323031.30.
+
-,89*,&,.20///!),0&1/;/'!1(-933),6,);3),5(8,+3!-3&,
++57/!!8.4&!15?!3&!)+!/32)!,:-!(&<.7:))8&5&,.'7!/(!
@853_15_1733/2
-T1113013230021.232133122.031002212300011001000.1112
+G0031..2120.300.12.12.0002.301.3120030202312122.21.
+
-)/&(/)9'6#5,-!*(0')&&8&!(39&',6(%$,5&/&%((((,!,/+-
+998>!!?:9=!=5>!=<!=6!==4:!:9;!/=4862=297574/7%!%'!
@853_15_1756/2
-T1103222031220.212123310.011310330302303122333.2233
+G2102..1001.321.20.10.3320.321.2211211101200321.12.
+
-,5&4;17&73(1,!&&%,*9%&#!,(+(#&+#4)$%##.#.%*,%!4,'$
+&###!!/*,*!1''!()!$'!&&$#!'$/!#%6)#%%5$&##''#'!$'!
@853_15_1794/2
-T2221231303022.022023010.221322032322120332311.3213
+G1200..2020.223.22.22.2110.200.1122220321300120.20.
+
-=:@??=8%9$=/=!88>8><=?9!0?>=>,:<=8:A<;>18<7>*!5>,,
+,876!!9787!:7:!;@!@;!<@?>!><:!;6A?>@87=>;<;3>0!65!
@853_15_1876/2
-T2221311021332.101230332.111000230102222310002.1031
+G0002..3001.230.01.20.0231.002.1201113121120001.31.
+
-<878888@8>8:;!@<;#::;5%!9:6.>=>5-:==61;<;9#>8!9-<7
+?=9:!!::9;!<89!0:!6;!6768!8>:!4;>><77>7;9>9917!20!
@853_15_1915/2
-T1323002020313.110132112.012221202021132212100.0100
+G2112..0210.212.32.13.3112.120.3320203131230023.00.
+
->*(.+++/$7.*%!:&9%5())'!'9(#%'%)19$'-&)#/4&((!$$/8
+5;05!!6<9:!7&7!52!1,!4&7*!7,5!50-:)8'#-6/2%)7/!)+!
@853_15_1974/2
-T3200002312331.022233323.021320331222211031102.2110
+G2131..0110.331.01.11.1331.123.3323103221332231.11.
+
-/&#*&-(%(&')'!&2*%1'-&%!'$#0&4$$&(.+&*'%5,.%.!&'%-
+*$%%!!#(%,!#&&!)&!$#!###(!&#$!&,&#,#&%.$2##)#*!%&!
@853_16_26/2
-T2200303003123.332202133.022202222221222222222.2222
+G2212..1122.321.32.12.2222.222.2221222222222222.22.
+
-1,))'')''))&)!&',,&&&)'!&$.)&2),+.)&,,-%*,%31!1-.0
+'&,&!!'%#'!%-&!&'!'$!1'$/!'+/!($)$/$$'*-2$+5*#!1%!
@853_16_44/2
-T1010220033031.131100202.322222222222222222222.2222
+G0002..1032.201.31.12.2222.023.2222321221222211.22.
+
-2116875/16111!5/3/1/1,1!&/$%%#%##.).))..$*,2.!-*%5
+1/+7!!1.14!//5!3/!76!3*&4!)0&!%6/%,#33.)%&1+)&!.'!
@853_16_56/2
-T2222220320012.222222222.222222222222222222222.2222
+G1222..0202.222.02.22.0112.203.3022020223320130.01.
+
-)&-&)%&'$(&&(!(*-#.#*(,!'*,##'#*)&3-'1,)/%/3'!%.)3
+1343!!,4/5!667!55!78!31,8!913!24<7669<:/.5//5'!/8!
@853_16_67/2
-T3020301230012.320302200.122222233212012222222.2222
+G1000..3303.012.00.10.1330.230.1130120322111230.22.
+
-,)3%2,,3*,-,5!&#,/&/#.'!+%56,$#/,/&$'&1',6'+&!9.,%
+),(1!!,'&3!)+1!23!1+!)(&,!0)&!51)-/(9)&/'0)/))!54!
@853_16_112/2
-T1200021122132.111211211.101321132100211222122.0222
+G0023..0033.320.22.11.1000.113.3012120222222222.22.
+
-3362355421137!65091,215!/.13303,</*/1/,$&5.&.!(92&
+0,1.!!1,42!/44!27!13!8/36!711!,.&&'.&*'$$$4/-(!0.!
@853_16_155/2
-T2211222000221.222212222.122222222222222222222.2222
+G0221..1223.122.23.21.3212.222.2222223222302322.22.
+
-'%)&##,''&&#'!-41%&/'#)!.+#(&.0)'&#)/&$10+!,-.*
+((*)!!,-'(!3%2!)%!1)!+(.,!(*2!-%&,%#/*$'&1#&(#!%1!
@853_16_169/2
-T1200213123132.220001100.311323132102222222202.2212
+G0010..0111.132.30.22.1221.211.2000023100110123.22.
+
-)956897392246!945/,5311!./8/9/,)938%:;>;1<8('!&*(*
+515*!!52,1!6/2!55!60!5291!4//!-,7135,7,)1)&&7,!:(!
@853_16_319/2
-T3212223211023.013011313.020220313111230111311.0111
+G2200..2210.221.21.13.2020.130.3222120020311111.22.
+
-42378.5,8;/46!97./)/15,!957,/<4;(4>:5(.9=7$3:!5+0:
+35.-!!92.2!71)!8:!+.!5/#)!53&!.::,1.:9'-56922&!#*!
@853_16_375/2
-T3332011121213.223022022.220021112220100221322.1222
+G2313..3001.121.12.21.3131.113.3333033333033111.32.
+
-><9<8<<:;8===!<>91;;;98!8;80?9<;;<81>77<;9.<'!'*71
+@;<>!!=;7=!<<=!>?!9=!<>7?!=>:!><3<;@=9,.6=:&<<!6+!
@853_16_447/2
-T3302130221112.123102110.022103123222122220111.0203
+G0022..1212.320.20.21.0321.211.2221121222221220.31.
+
-$&&/,/&1)5++9!+,.-&5,1,!97502/&,+&),.019,,0,,!04)/
+.039!!81:2!/63!65!<3!507+!%$/!##24/&.821$#&&4,!('!
@853_16_502/2
-T1023113011002.032210023.012230013110011223013.1000
+G2220..2012.210.10.23.1320.033.2200330301303233.30.
+
-5:43<8;3384::!698638762!8;87.:99428:::31886.7!5929
+8=79!!95::!=6:!7<!9;!:*<:!8$.!&/.)%+$)##('*(#%!$'!
@853_16_506/2
-T1022110220323.201110311.021300002020121031023.1000
+G2021..1112.110.10.22.1222.111.1212223212232232.20.
+
-2#*)#$)(-&,'&!(*9&4$)4)!5&&)14/4,(&#+(,)+,'(#!,%%/
+,&#&!!)&(4!,1$!%+!&2!#%)+!:).!/)&&)'+%&2&8('.,!'(!
@853_16_513/2
-T0332023210131.212020222.102202231311211133011.1122
+G3322..1201.302.30.31.2220.323.3120021003322223.20.
+
-7868<=;=3;;<=!;;8;9:<>;!69;<89;::4==6=>=9<3;>!8<%6
+<59<!!?8<<!<=9!=?!;>!=;=?!<;4!9:<9@99/;+1&5+()!5(!
@853_16_571/2
-T2010033331133.302200220.122102023123200012222.2222
+G2010..0222.100.13.12.3102.023.0013002222130220.01.
+
-)'9)'.)&,/)&&!&9<4'1/&8!&')$-4(&)132+%56$)(78!6--7
+6/)'!!+;/1!8)/!/9!.0!2&79!'0/!*)(++(+5+1/)5)-'!&3!
@853_16_622/2
-T0013033001233.133330200.000000330003000000000.3000
+G1003..3000.300.02.00.1031.101.0000030003310030.01.
+
--6%%%:)20#,44!,%#(03#'+!5(,#%/'+*'(#$+(,4#$)-!#,#$
+6/4*!!&,,#!/23!,,!#8!,'),!(*#!2'/-,1(&0#)%#,/+!'#!
@853_16_690/2
-T0021310130010.202032022.110223101101310102100.0112
+G2033..2221.210.03.00.0030.201.0000223100312211.00.
+
-8<5476;6);4,,!9:2:61774!=,3&18:835<5+6554+%,9!5&-4
+18:.!!87;8!9:#!:9!68!=6(5!68(!4=;%-)*)76//.179!;8!
@853_16_697/2
-T1231230012311.132303323.310130033010101111222.1310
+G2030..0312.310.32.22.3123.022.2011323200003112.20.
+
-=;6545<64$65*!52:651975!&1:195236<)$9;9257,3/!+,65
+6:5<!!<7/6!89<!;5!66!7<:;!739!689267)1:9;&62(/!6$!
@853_16_791/2
-T1110102111131.110203033.121212111131211113111.2111
+G2323..1123.122.12.12.3121.122.3111222231112211.22.
+
-AAA>A?AA@AA>A!@A>@>?=@>!?:@=A:?@@=<@;><9386(3!&6/:
+##'#!!####!$##!##!##!#*##!&,#!#$%+##$)#&&&$##%!+%!
@853_16_804/2
-T3133010300211.330333311.122313112302002200031.2333
+G3221..3200.121.22.10.0110.232.1313110211000011.20.
+
-'+$(()3/*&1):!&)8)).)+5!)(3,:(+)&&'8&&4-22/71!&('0
+',,#!!#$*$!##)!,,!(,!'*##!,%#!)#+#+,(,(,##*$*$!##!
@853_16_830/2
-T3230012031232.130212222.012232100113320211310.1221
+G2120..2022.333.21.20.0223.223.0313200310121012.21.
+
-=(&9)'7#,(((5!)+(.:)(0/!'<*&82:'$(,1+/&%5&0*)!):-'
+9:<0!!1:>1!6<5!)+!/1!1/1:!38,!)98:3:3/,-&0111<!.+!
@853_16_871/2
-T3201000013102.303333121.003330012300022302213.2223
+G1003..1112.300.21.21.3033.033.1310310030223301.12.
+
-;:55688;5<903!97$::A1//!87:;6:=377:;692</96+3!*-+&
+=36>!!7:8:!798!<7!7<!55#2!&=:!/2>.:,.9>+)#>>5,!</!
@853_16_874/2
-T2301033231033.020002133.133030332300323313233.3133
+G0312..1312.131.23.12.2013.130.2302020022222201.02.
+
-,&2$56:88378)!:(.%1(192!)8/&#+&7)#%*'2$#*''&%!)#'(
+&86/!!9585!6::!23!67!:+9=!>#2!7<9::;;78:9=7:3;!'6!
@853_16_892/2
-T3321220311213.332101020.231311213111213212011.3011
+G2121..2130.122.13.03.1213.213.3203011112122011.33.
+
-######5#/$#-#!##$#/('#*!##(#&+&&#+)##########!####
+;<2:!!>82:!=33!?=!94!A479!=8+!5<:*::<48'98#(8;!,#!
@853_16_919/2
-T1220221133122.203221113.002222222222222213332.2212
+G0222..2212.000.11.32.2310.033.2010101230012130.21.
+
-##$####$$)##$!##%#####(!###$%##%$*##'))&#$#&$!#%#(
+?<::!!=955!<87!9>!4:!;%58!=,4!=-#794/#9:9,#)4:!#-!
@853_16_941/2
-T3310301301311.011321102.321223223120112231222.1222
+G2212..2310.011.11.03.2222.211.2222122223222221.22.
+
-,-##)2-)&')1)!$0(###&$#!##(###*####%######$##!$#$#
+<>:7!!>-9=!>(/!::!1:!9(&*!$#&!*&##&$$##%$&'$#%!#$!
@853_16_1040/2
-T3222002222223.332302032.322031103321223221212.3031
+G3101..0122.021.10.31.0220.333.1230033132002222.13.
+
-/8+&5&&-,/+11!4/(//01)6!.)&,)$17.+%9'/)%)''0%!+&)&
+713>!!=76@!6/<!75!13!/'&'!,,;!52,38<.'24.,4185!&/!
@853_16_1049/2
-T1100033003303.021320321.111301320233200033001.0000
+G3132..0121.311.02.13.3012.302.1113200103012221.12.
+
->?==@8:9@8948!4=,6604)4!$#/.&#*+7%(,,'%,&$&,#!%5/&
+<<:9!!A<8;!;=>!?A!A:!:>=;!9A9!1.;)1:4;,6<89&87!;*!
@853_16_1063/2
-T1123202211000.302123303.122302023333231103220.1212
+G3130..2231.130.11.32.0000.002.1130332001003101.32.
+
--,1/&+))(/(+&!7*&&6>+))!93',:6',15%$(/):5+7:.!78//
+/-?1!!,:,?!:6&!3(!(;!::)<!+)1!3,58*1:1;)1(.,71!))!
@853_16_1081/2
-T0012023221322.322222022.202022222222222222222.2222
+G1100..1113.112.21.20.1233.121.0123003133302222.22.
+
-#############!#########!#####################!####
+/1&4!!1#38!1#)!,A!:1!3#,&!1$,!;<#:,(*&9).2#10&!#5!
@853_16_1142/2
-T2222003033021.112113112.023101132021212223001.1200
+G3220..1323.110.21.21.0222.111.1133122100110022.20.
+
-,,-)-0/%-35)*!/530/66)*!00/75502%73%#$#-#&#&0!$#,.
+>@:;!!?<=>!>;=!A>!<>!>8:9!?:<!=>9;6=:<=;>;;:<;!49!
@853_16_1155/2
-T3211301033030.010023021.222211203303330033130.0203
+G1330..0303.013.32.31.0102.120.0122011112122321.03.
+
-442986&)1+4;)!&:41+;&0-!5/0'/5.945/06,6(475/6!3'3/
+4:92!!2:1<!:1:!<>!6<!159:!<*8!8984;8:).<<887<=!#$!
@853_16_1188/2
-T3213220312022.213131000.032301320320100303322.3322
+G2313..1101.211.13.33.1021.232.2222212122311133.21.
+
-'&-.-44###,#(!*/)%$1'#7!###$3#*%%$,.#,%%###$(!#%)#
+9#$)!!92,;!9#,!(8!$2!/'#(!'+#!)*$$#$,##%,)##)2!#&!
@853_16_1231/2
-T0032303211001.310313100.320000200213333000302.3232
+G2301..2211.033.33.00.2210.203.0221100033000010.22.
+
-4<7$56::%36:7!;,:82:,74!878>49/%)33435#8#160(!1)&.
+7745!!8393!8,:!02!(&!,%##!,',!'#$$'('%$,#('%))!#&!
@853_16_1285/2
-T1110130123031.110222221.003111112232000001113.1113
+G1030..1000.311.20.11.2301.310.1201113132331121.12.
+
-/*+####$####%!########)!#(#&####$############!####
+(8,-!!922/!:05!;A!45!:458!783!996./87/0(67$+/&!##!
@853_16_1300/2
-T0011232200000.110012222.101002200130311033003.0300
+G1101..1122.000.12.10.1133.301.1211302223100130.23.
+
-+2.'$)%052#4+!40/&($#-&!)%'(($$-1$&$'+,6($%*&!'#)7
+%4'%!!#*#'!.+/!,#!%%!)2,*!#.,!#3$$%''$+,,-$&+(!)$!
@853_16_1391/2
-T3113212223000.101202111.201002121202012103121.1121
+G0101..1330.232.02.00.1100.101.2013133213103321.23.
+
->AA<AAAA?=>>=!>9=A<@@@>!@8><<A;5>A8<3?@@77:?;!>8?1
+=A<A!!7;=@!?=@!?=!?A!<==>!>:>!<56;;=<67>5571,,!+'!
@853_16_1397/2
-T2120211222223.012212231.032321102311221213223.3133
+G0231..0300.303.03.00.1013.132.1322212323121333.23.
+
-78/%(8/17(193!6=(:71:/1!&*('(::,6/<=&17-&&3/+!=,5=
+$&))!!5/(%!.&3!37!3,!&),'!#%.!$,$&,#(&$$$$#&,&!$+!
@853_16_1528/2
-T1011223130211.130021111.233321321121322131121.1121
+G1100..3231.300.03.10.0200.013.1213123210321100.12.
+
->9>A>?=@<=@?A!A><8=<:@>!<<;>A:><>568:&&63)0/&!(,9)
+AA<<!!>A=A!===!>>!>?!=?=?!;@<!<>=<88<>;;:8:6<=!=1!
@853_16_1574/2
-T2103333220002.302023111.231021311232100032103.1212
+G2123..1133.031.00.23.0212.033.1300001310200300.33.
+
-8<5#-/4.86631!#/63'#,9%!07@08+4:'#):>//(-5+&-!8,&6
+=:38!!<;5*!537!66!9)!>:9(!=60!:69<:<9035(6&4))!-&!
@853_16_1593/2
-T1320102033202.110112100.103112112021110222002.2323
+G3313..2033.201.23.00.1111.120.0322310111121220.22.
+
-'&$3'&%'',&,'!%$$$,%%*%!$),$4-*/'&+&,$$'33(.,!)/'%
+0.$)!!..0'!*#/!$0!&#!-)'*!*2#!#5(/'*)(+/)''3;0!36!
@853_16_1653/2
-T0300012120022.111332202.010231221033110201300.2102
+G0000..1111.011.02.21.0111.301.3310230303100110.13.
+
-=7:8:;<;:<>=8!=<:<;;=<<!=;;9;=<:89=;>:=9<=8;>!95:5
+==<<!!@>A=!=<A!?>!<6!<>@>!:6>!<:<62;1989;?8:;7!>6!
@853_16_1698/2
-T3003323013003.033033222.211103000122022112121.1210
+G1022..0220.112.23.02.0003.202.2013020200022202.02.
+
-96<89;;><88<;!86;7=9<:9!79<7276;:7-918;+8689,!:;;0
+==:?!!<>:@!@A?!@=!??!>=<>!<>9!<;=;<<<8:<9:=7:<!7:!
@853_16_1746/2
-T3003322312011.031233000.313001220020120330301.1330
+G1221..2212.330.00.30.1111.021.2013331032213303.10.
+
-=;>;;@<<A8>=1!;:=8:;=89!:<7/=8>6/=::9/>>;88=9!=69,
+AA@A!!AAA=!<<=!;=!<A!@A??!==>!@=<::<8=<;=@<=:;!;3!
@853_16_1806/2
-T3022322013100.301112103.001112221321112001312.2012
+G2131..0221.102.21.22.3102.213.1120211103300110.12.
+
-8A;866>=<7@??!4><>?<@=5!A>=;<::4<&2/0#$0#/$0$!$&&#
+<@6?!!;6;A!;,<!;=!<<!,2=:!295!=>3?:=>8>97=6=?=!5:!
@853_16_1821/2
-T2133312220333.203003203.132322202222220113310.1220
+G2020..2233.223.12.21.2223.101.3211322223122222.23.
+
-:,61:5;<18;=<!:,=(294,6!/,)1+,,1-32*0$.0#,&&)!(,:)
+/)3:!!7:>?!//)!&/!&,!09;<!/31!<.)&)+).-2&44,(%!$4!
@853_16_1842/2
-T2022031201310.230002012.310222131210221100011.0130
+G0022..0211.010.21.03.1321.102.2020222023112220.22.
+
-6>;8A<:<>8:7?!9:@;==?96!8=89<>=3=9<=;;9==>97=!8608
+:>9<!!;>>?!>>=!<=!<6!8274!687!6905<:)961787=16!&5!
@853_16_1853/2
-T2332123123202.112200333.212101231122012220211.2203
+G2300..3303.020.11.13.2001.010.0012022112202122.11.
+
-)3)1;'3),)<9:!1<)6'7)7=!66)&/&,7/,3)&),,,,)&/!):,4
+$)53!!)$#'!5'(!,-!#(!#+.4!,&5!(,#),'('0)&&/'6&!&/!
@853_16_1871/2
-T1310331222123.031120212.231120302120122222221.2111
+G1012..0221.030.13.01.0100.112.0102100222022222.22.
+
-:.(6'1/)(.;,'!>5331%67&!,2+6'()'&4-)3.8.&(&),!&,&%
+;&9)!!&<,$!)'(!%&!)9!'<)7!,,7!)49.83)73.6,12)&!58!
@853_16_1887/2
-T3332021100203.001331023.300022222012120111033.1003
+G2001..3000.203.12.01.3230.213.0220222201230231.31.
+
-;:8>9<A>><>=;!==<::7>:9!4<>:;><>=>==@=?:9=+9:!=6:5
+?=;@!!=+=8!=4:!:=!@<!84:9!;0:!9;5<1;:7=/<5&:.7!&>!
@853_16_1919/2
-T3331012121211.303003033.131111320313213223300.0202
+G3011..0111.022.22.01.0232.021.3211120120120110.03.
+
-2,*:;=9:9:785!28,=67<22!;88<<951;292724291,;<!7$9+
+0=8;!!4;7:!8:7!39!;<!5:44!=8:!,7:;9+;=-85&8793!:,!
@853_16_1924/2
-T1201123330103.233221210.100211100211001133123.1002
+G3132..0213.321.13.32.3122.123.1021002130301210.23.
+
-,81.>)63.))&,!/4$/'&,//!,+3)&5>&&&)(;97>('76)!6:)-
+41'3!!)(%1!:2:!..!(0!4&&'!,#$!3),&7;**,-%.2.,,!##!
@853_16_1982/2
-T0331130320230.220330112.210312121022203321222.2302
+G3233..2202.022.00.01.2101.020.2312112223233330.10.
+
-<88<;9<6<=8;<!;4::8<:@:!>:;;:=6:69===97;9:9>=!=4,<
+8789!!:==>!?;<!;>!@8!9><<!>:;!)8:2:6<<:3&64:1,!..!
--- a/tools/next_gen_conversion/solid2fastq.py Wed Jun 08 15:46:20 2011 -0400
+++ b/tools/next_gen_conversion/solid2fastq.py Wed Jun 08 16:25:15 2011 -0400
@@ -59,14 +59,19 @@
line = f.readline().rstrip( '\n\r' )
while line.startswith( '#' ):
line = f.readline().rstrip( '\n\r' )
- lines.append( line )
+ lines.append( line )
+
- if lines[0].startswith( '>' ):
+ if lines[0].startswith( '>' ) and lines[1].startswith( '>' ):
+
+ if lines[0] != lines[1]:
+ stop_err('Files reads and quality score files are out of sync and likely corrupted. Please, check your input data')
+
defline = lines[0][1:]
if trim_name and ( defline[ len( defline )-3: ] == "_F3" or defline[ len( defline )-3: ] == "_R3" ):
defline = defline[ : len( defline )-3 ]
- else:
+ elif ( not lines[0].startswith( '>' ) and not lines[1].startswith( '>' ) and len( lines[0] ) > 0 and len( lines[1] ) > 0 ):
if trim_first_base:
lines[0] = lines[0][1:]
@@ -190,7 +195,7 @@
cur.execute('create index f3_name on f3( name )')
cur.execute('create index r3_name on r3( name )')
- cur.execute('select * from r3,f3 where f3.name = r3.name')
+ cur.execute('select * from f3,r3 where f3.name = r3.name')
for item in cur:
f_out.write( "@%s%s\n%s\n+\n%s\n" % (item[0], "/1", item[1], item[2]) )
r_out.write( "@%s%s\n%s\n+\n%s\n" % (item[3], "/2", item[4], item[5]) )
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: greg: Fix sample tracking to correctly import samples from a csv file.
by Bitbucket 08 Jun '11
by Bitbucket 08 Jun '11
08 Jun '11
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/81a5c317d909/
changeset: 81a5c317d909
user: greg
date: 2011-06-08 21:46:20
summary: Fix sample tracking to correctly import samples from a csv file.
affected #: 4 files (4.3 KB)
--- a/lib/galaxy/web/controllers/requests_common.py Wed Jun 08 15:35:36 2011 -0400
+++ b/lib/galaxy/web/controllers/requests_common.py Wed Jun 08 15:46:20 2011 -0400
@@ -826,7 +826,9 @@
displayable_sample_widgets = self.__get_sample_widgets( trans, request, request.samples, **kwd )
if params.get( 'import_samples_button', False ):
# Import sample field values from a csv file
- return self.__import_samples( trans, cntrller, request, displayable_sample_widgets, libraries, **kwd )
+ # TODO: should this be a mapper?
+ workflows = [ w.latest_workflow for w in trans.user.stored_workflows if not w.deleted ]
+ return self.__import_samples( trans, cntrller, request, displayable_sample_widgets, libraries, workflows, **kwd )
elif params.get( 'add_sample_button', False ):
return self.add_sample( trans, cntrller, request_id, **kwd )
elif params.get( 'save_samples_button', False ):
@@ -905,17 +907,17 @@
folder_id=folder_id,
**kwd )
history_select_field = self.__build_history_select_field( trans=trans,
- user=request.user,
- sample_index=len( displayable_sample_widgets ),
- history_id=history_id,
- **kwd)
+ user=request.user,
+ sample_index=len( displayable_sample_widgets ),
+ history_id=history_id,
+ **kwd )
workflow_select_field = self.__build_workflow_select_field( trans=trans,
- user=request.user,
- request=request,
- sample_index=len( displayable_sample_widgets ),
- workflow_id=workflow_id,
- history_id=history_id,
- **kwd)
+ user=request.user,
+ request=request,
+ sample_index=len( displayable_sample_widgets ),
+ workflow_id=workflow_id,
+ history_id=history_id,
+ **kwd )
# Append the new sample to the current list of samples for the request
displayable_sample_widgets.append( dict( id=None,
name=name,
@@ -1045,47 +1047,99 @@
transfer_status=transfer_status,
message=message,
status=status )
- def __import_samples( self, trans, cntrller, request, displayable_sample_widgets, libraries, **kwd ):
+ def __import_samples( self, trans, cntrller, request, displayable_sample_widgets, libraries, workflows, **kwd ):
"""
Reads the samples csv file and imports all the samples. The format of the csv file is:
- SampleName,DataLibrary,DataLibraryFolder,Field1,Field2....
+ SampleName,DataLibraryName,DataLibraryFolderName,HistoryName,WorkflowName,FieldValue1,FieldValue2...
"""
params = util.Params( kwd )
+ current_user_roles = trans.get_current_user_roles()
+ is_admin = trans.user_is_admin() and cntrller == 'requests_admin'
file_obj = params.get( 'file_data', '' )
try:
reader = csv.reader( file_obj.file )
for row in reader:
library_id = None
+ library = None
folder_id = None
- # FIXME: this is bad - what happens when multiple libraries have the same name??
- lib = trans.sa_session.query( trans.model.Library ) \
- .filter( and_( trans.model.Library.table.c.name==row[1],
- trans.model.Library.table.c.deleted==False ) ) \
- .first()
- if lib:
- folder = trans.sa_session.query( trans.model.LibraryFolder ) \
- .filter( and_( trans.model.LibraryFolder.table.c.name==row[2],
- trans.model.LibraryFolder.table.c.deleted==False ) ) \
- .first()
+ folder = None
+ history_id = None
+ history = None
+ workflow_id = None
+ workflow = None
+ # Get the library
+ library = trans.sa_session.query( trans.model.Library ) \
+ .filter( and_( trans.model.Library.table.c.name==row[1],
+ trans.model.Library.table.c.deleted==False ) ) \
+ .first()
+ if library:
+ # Get the folder
+ for folder in trans.sa_session.query( trans.model.LibraryFolder ) \
+ .filter( and_( trans.model.LibraryFolder.table.c.name==row[2],
+ trans.model.LibraryFolder.table.c.deleted==False ) ):
+ if folder.parent_library == library:
+ break
if folder:
- library_id = lib.id
- folder_id = folder.id
+ library_id = trans.security.encode_id( library.id )
+ folder_id = trans.security.encode_id( folder.id )
library_select_field, folder_select_field = self.__build_library_and_folder_select_fields( trans,
request.user,
- len( displayable_sample_widgets ),
+ len( displayable_sample_widgets ),
libraries,
None,
library_id,
folder_id,
**kwd )
+ # Get the history
+ history = trans.sa_session.query( trans.model.History ) \
+ .filter( and_( trans.model.History.table.c.name==row[3],
+ trans.model.History.table.c.deleted==False,
+ trans.model.History.user_id == trans.user.id ) ) \
+ .first()
+ if history:
+ history_id = trans.security.encode_id( history.id )
+ else:
+ history_id = 'none'
+ history_select_field = self.__build_history_select_field( trans=trans,
+ user=request.user,
+ sample_index=len( displayable_sample_widgets ),
+ history_id=history_id )
+ # Get the workflow
+ workflow = trans.sa_session.query( trans.model.StoredWorkflow ) \
+ .filter( and_( trans.model.StoredWorkflow.table.c.name==row[4],
+ trans.model.StoredWorkflow.table.c.deleted==False,
+ trans.model.StoredWorkflow.user_id == trans.user.id ) ) \
+ .first()
+ if workflow:
+ workflow_id = trans.security.encode_id( workflow.id )
+ else:
+ workflow_id = 'none'
+ workflow_select_field = self.__build_workflow_select_field( trans=trans,
+ user=request.user,
+ request=request,
+ sample_index=len( displayable_sample_widgets ),
+ workflow_id=workflow_id,
+ history_id=history_id )
+ field_values = {}
+ field_names = row[5:]
+ for field_name in field_names:
+ field_values[ field_name ] = ''
displayable_sample_widgets.append( dict( id=None,
- name=row[0],
+ name=row[0],
bar_code='',
- library=None,
- folder=None,
+ library=library,
+ library_id=library_id,
library_select_field=library_select_field,
+ folder=folder,
+ folder_id=folder_id,
folder_select_field=folder_select_field,
- field_values=row[3:] ) )
+ history=history,
+ history_id=history_id,
+ history_select_field=history_select_field,
+ workflow=workflow,
+ workflow_id=workflow_id,
+ workflow_select_field=workflow_select_field,
+ field_values=field_values ) )
except Exception, e:
if str( e ) == "'unicode' object has no attribute 'file'":
message = "Select a file"
@@ -1488,7 +1542,7 @@
library_select_field=library_select_field,
folder_select_field=folder_select_field,
history_select_field=history_select_field,
- workflow_select_field=workflow_select_field, ) )
+ workflow_select_field=workflow_select_field ) )
# There may be additional new samples on the form that have not yet been associated with the request.
# TODO: factor this code so it is not duplicating what's above.
index = len( samples )
--- a/lib/galaxy/webapps/community/controllers/repository.py Wed Jun 08 15:35:36 2011 -0400
+++ b/lib/galaxy/webapps/community/controllers/repository.py Wed Jun 08 15:46:20 2011 -0400
@@ -269,9 +269,6 @@
category_ids = util.listify( params.get( 'category_id', '' ) )
selected_categories = [ trans.security.decode_id( id ) for id in category_ids ]
if params.get( 'create_repository_button', False ):
- # TODOS:
- # 1. Make sure we can update the version column in the repository table when new change set are pushed.
- # If it's triclky, eliminate the column.
error = False
message = self.__validate_repository_name( name, trans.user )
if message:
--- a/templates/requests/common/add_samples.mako Wed Jun 08 15:35:36 2011 -0400
+++ b/templates/requests/common/add_samples.mako Wed Jun 08 15:46:20 2011 -0400
@@ -61,7 +61,7 @@
<form id="add_samples" name="add_samples" action="${h.url_for( controller='requests_common', action='add_samples', cntrller=cntrller, id=trans.security.encode_id( request.id ) )}" method="post">
%if displayable_sample_widgets:
<%
- grid_header = '<h3>Add Samples to Sequencing Request "%s"</h3>' % request.name
+ grid_header = '<h3>Add samples to sequencing request "%s"</h3>' % request.name
%>
${render_samples_grid( cntrller, request, displayable_sample_widgets, action='edit_samples', adding_new_samples=True, encoded_selected_sample_ids=[], render_buttons=False, grid_header=grid_header )}
<div class="toolParamHelp" style="clear: both;">
@@ -89,8 +89,6 @@
%endif
<p/><div class="form-row">
- ## hidden element to make twill work.
- ## Greg will fix this
<input type="hidden" name="twill" value=""/>
%if ( request.samples or displayable_sample_widgets ) and len( displayable_sample_widgets ) > len( request.samples ):
<input type="submit" name="add_sample_button" value="Add sample" />
@@ -111,22 +109,19 @@
</div>
%if is_unsubmitted:
<p/>
- ##<div class="toolForm">
- ##<div class="toolFormTitle">Import samples from csv file</div>
- <h4><img src="/static/images/silk/resultset_next.png" alt="Hide" onclick="showContent(this);" style="cursor:pointer;"/> Import samples from csv file</h4>
- <div style="display:none;">
- <div class="toolFormBody">
- <form id="import" name="import" action="${h.url_for( controller='requests_common', action='add_samples', cntrller=cntrller, id=trans.security.encode_id( request.id ) )}" enctype="multipart/form-data" method="post" >
- <div class="form-row">
- <input type="file" name="file_data" />
- <input type="submit" name="import_samples_button" value="Import samples"/>
- <div class="toolParamHelp" style="clear: both;">
- The csv file must be in the following format:<br/>
- SampleName,DataLibrary,DataLibraryFolder,FieldValue1,FieldValue2...
- </div>
+ <h4><img src="/static/images/silk/resultset_next.png" alt="Hide" onclick="showContent(this);" style="cursor:pointer;"/>Import samples from csv file</h4>
+ <div style="display:none;">
+ <div class="toolFormBody">
+ <form id="import" name="import" action="${h.url_for( controller='requests_common', action='add_samples', cntrller=cntrller, id=trans.security.encode_id( request.id ) )}" enctype="multipart/form-data" method="post" >
+ <div class="form-row">
+ <input type="file" name="file_data" />
+ <input type="submit" name="import_samples_button" value="Import samples"/>
+ <div class="toolParamHelp" style="clear: both;">
+ The csv file must be in the following format:<br/>
+ SampleName,DataLibraryName,DataLibraryFolderName,HistoryName,WorkflowName,FieldValue1,FieldValue2...
</div>
- </form>
- </div>
+ </div>
+ </form></div>
- ##</div>
+ </div>
%endif
--- a/test/functional/test_sample_tracking.py Wed Jun 08 15:35:36 2011 -0400
+++ b/test/functional/test_sample_tracking.py Wed Jun 08 15:46:20 2011 -0400
@@ -465,7 +465,7 @@
request_id=self.security.encode_id( request1.id ),
sample_value_tuples=sample_value_tuples,
folder_options=folder_options,
- strings_displayed=[ 'Add Samples to Sequencing Request "%s"' % request1.name,
+ strings_displayed=[ 'Add samples to sequencing request "%s"' % request1.name,
'<input type="text" name="sample_0_name" value="Sample_1" size="10"/>' ], # sample name input field
strings_displayed_after_submit=strings_displayed_after_submit )
# check the new sample field values on the request page
@@ -704,7 +704,7 @@
self.add_samples( cntrller='requests_admin',
request_id=self.security.encode_id( request2.id ),
sample_value_tuples=sample_value_tuples,
- strings_displayed=[ 'Add Samples to Sequencing Request "%s"' % request2.name,
+ strings_displayed=[ 'Add samples to sequencing request "%s"' % request2.name,
'<input type="text" name="sample_0_name" value="Sample_1" size="10"/>' ], # sample name input field
strings_displayed_after_submit=strings_displayed_after_submit )
# Submit the request
@@ -869,6 +869,7 @@
sample1_dataset.transfer_status.NOT_STARTED ]
self.view_sample_dataset( sample_dataset_id=self.security.encode_id( sample1_dataset.id ),
strings_displayed=strings_displayed )
+ '''
def test_999_reset_data_for_later_test_runs( self ):
"""Reseting data to enable later test runs to pass"""
# Logged in as admin_user
@@ -934,3 +935,4 @@
# Manually delete the group from the database
refresh( group )
delete_obj( group )
+ '''
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/2ad3ef1aecc6/
changeset: 2ad3ef1aecc6
user: natefoo
date: 2011-06-08 21:35:36
summary: Uploading a compressed library dataset using either the server directory or path paste methods was previously overwriting the input file, which should never happen. This changeset also makes it possible to upload compressed files that remain compressed (by choosing to "link files only"), however, Galaxy does not yet open the compressed file to properly set metadata on its contents.
affected #: 1 file (1.1 KB)
--- a/tools/data_source/upload.py Wed Jun 08 15:30:40 2011 -0400
+++ b/tools/data_source/upload.py Wed Jun 08 15:35:36 2011 -0400
@@ -129,25 +129,29 @@
file_err( 'The gzipped uploaded file contains inappropriate content', dataset, json_file )
return
elif is_gzipped and is_valid:
- # We need to uncompress the temp_name file, but BAM files must remain compressed in the BGZF format
- CHUNK_SIZE = 2**20 # 1Mb
- fd, uncompressed = tempfile.mkstemp( prefix='data_id_%s_upload_gunzip_' % dataset.dataset_id, dir=os.path.dirname( dataset.path ), text=False )
- gzipped_file = gzip.GzipFile( dataset.path, 'rb' )
- while 1:
- try:
- chunk = gzipped_file.read( CHUNK_SIZE )
- except IOError:
- os.close( fd )
- os.remove( uncompressed )
- file_err( 'Problem decompressing gzipped data', dataset, json_file )
- return
- if not chunk:
- break
- os.write( fd, chunk )
- os.close( fd )
- gzipped_file.close()
- # Replace the gzipped file with the decompressed file
- shutil.move( uncompressed, dataset.path )
+ if link_data_only == 'copy_files':
+ # We need to uncompress the temp_name file, but BAM files must remain compressed in the BGZF format
+ CHUNK_SIZE = 2**20 # 1Mb
+ fd, uncompressed = tempfile.mkstemp( prefix='data_id_%s_upload_gunzip_' % dataset.dataset_id, dir=os.path.dirname( output_path ), text=False )
+ gzipped_file = gzip.GzipFile( dataset.path, 'rb' )
+ while 1:
+ try:
+ chunk = gzipped_file.read( CHUNK_SIZE )
+ except IOError:
+ os.close( fd )
+ os.remove( uncompressed )
+ file_err( 'Problem decompressing gzipped data', dataset, json_file )
+ return
+ if not chunk:
+ break
+ os.write( fd, chunk )
+ os.close( fd )
+ gzipped_file.close()
+ # Replace the gzipped file with the decompressed file if it's safe to do so
+ if dataset.type in ( 'server_dir', 'path_paste' ):
+ dataset.path = uncompressed
+ else:
+ shutil.move( uncompressed, dataset.path )
dataset.name = dataset.name.rstrip( '.gz' )
data_type = 'gzip'
if not data_type and bz2 is not None:
@@ -157,78 +161,86 @@
file_err( 'The gzipped uploaded file contains inappropriate content', dataset, json_file )
return
elif is_bzipped and is_valid:
- # We need to uncompress the temp_name file
- CHUNK_SIZE = 2**20 # 1Mb
- fd, uncompressed = tempfile.mkstemp( prefix='data_id_%s_upload_bunzip2_' % dataset.dataset_id, dir=os.path.dirname( dataset.path ), text=False )
- bzipped_file = bz2.BZ2File( dataset.path, 'rb' )
- while 1:
- try:
- chunk = bzipped_file.read( CHUNK_SIZE )
- except IOError:
- os.close( fd )
- os.remove( uncompressed )
- file_err( 'Problem decompressing bz2 compressed data', dataset, json_file )
- return
- if not chunk:
- break
- os.write( fd, chunk )
- os.close( fd )
- bzipped_file.close()
- # Replace the gzipped file with the decompressed file
- shutil.move( uncompressed, dataset.path )
+ if link_data_only == 'copy_files':
+ # We need to uncompress the temp_name file
+ CHUNK_SIZE = 2**20 # 1Mb
+ fd, uncompressed = tempfile.mkstemp( prefix='data_id_%s_upload_bunzip2_' % dataset.dataset_id, dir=os.path.dirname( output_path ), text=False )
+ bzipped_file = bz2.BZ2File( dataset.path, 'rb' )
+ while 1:
+ try:
+ chunk = bzipped_file.read( CHUNK_SIZE )
+ except IOError:
+ os.close( fd )
+ os.remove( uncompressed )
+ file_err( 'Problem decompressing bz2 compressed data', dataset, json_file )
+ return
+ if not chunk:
+ break
+ os.write( fd, chunk )
+ os.close( fd )
+ bzipped_file.close()
+ # Replace the bzipped file with the decompressed file if it's safe to do so
+ if dataset.type in ( 'server_dir', 'path_paste' ):
+ dataset.path = uncompressed
+ else:
+ shutil.move( uncompressed, dataset.path )
dataset.name = dataset.name.rstrip( '.bz2' )
data_type = 'bz2'
if not data_type:
# See if we have a zip archive
is_zipped = check_zip( dataset.path )
if is_zipped:
- CHUNK_SIZE = 2**20 # 1Mb
- uncompressed = None
- uncompressed_name = None
- unzipped = False
- z = zipfile.ZipFile( dataset.path )
- for name in z.namelist():
- if name.endswith('/'):
- continue
- if unzipped:
- stdout = 'ZIP file contained more than one file, only the first file was added to Galaxy.'
- break
- fd, uncompressed = tempfile.mkstemp( prefix='data_id_%s_upload_zip_' % dataset.dataset_id, dir=os.path.dirname( dataset.path ), text=False )
- if sys.version_info[:2] >= ( 2, 6 ):
- zipped_file = z.open( name )
- while 1:
+ if link_data_only == 'copy_files':
+ CHUNK_SIZE = 2**20 # 1Mb
+ uncompressed = None
+ uncompressed_name = None
+ unzipped = False
+ z = zipfile.ZipFile( dataset.path )
+ for name in z.namelist():
+ if name.endswith('/'):
+ continue
+ if unzipped:
+ stdout = 'ZIP file contained more than one file, only the first file was added to Galaxy.'
+ break
+ fd, uncompressed = tempfile.mkstemp( prefix='data_id_%s_upload_zip_' % dataset.dataset_id, dir=os.path.dirname( output_path ), text=False )
+ if sys.version_info[:2] >= ( 2, 6 ):
+ zipped_file = z.open( name )
+ while 1:
+ try:
+ chunk = zipped_file.read( CHUNK_SIZE )
+ except IOError:
+ os.close( fd )
+ os.remove( uncompressed )
+ file_err( 'Problem decompressing zipped data', dataset, json_file )
+ return
+ if not chunk:
+ break
+ os.write( fd, chunk )
+ os.close( fd )
+ zipped_file.close()
+ uncompressed_name = name
+ unzipped = True
+ else:
+ # python < 2.5 doesn't have a way to read members in chunks(!)
try:
- chunk = zipped_file.read( CHUNK_SIZE )
+ outfile = open( uncompressed, 'wb' )
+ outfile.write( z.read( name ) )
+ outfile.close()
+ uncompressed_name = name
+ unzipped = True
except IOError:
os.close( fd )
os.remove( uncompressed )
file_err( 'Problem decompressing zipped data', dataset, json_file )
return
- if not chunk:
- break
- os.write( fd, chunk )
- os.close( fd )
- zipped_file.close()
- uncompressed_name = name
- unzipped = True
- else:
- # python < 2.5 doesn't have a way to read members in chunks(!)
- try:
- outfile = open( uncompressed, 'wb' )
- outfile.write( z.read( name ) )
- outfile.close()
- uncompressed_name = name
- unzipped = True
- except IOError:
- os.close( fd )
- os.remove( uncompressed )
- file_err( 'Problem decompressing zipped data', dataset, json_file )
- return
- z.close()
- # Replace the zipped file with the decompressed file
- if uncompressed is not None:
- shutil.move( uncompressed, dataset.path )
- dataset.name = uncompressed_name
+ z.close()
+ # Replace the zipped file with the decompressed file if it's safe to do so
+ if uncompressed is not None:
+ if dataset.type in ( 'server_dir', 'path_paste' ):
+ dataset.path = uncompressed
+ else:
+ shutil.move( uncompressed, dataset.path )
+ dataset.name = uncompressed_name
data_type = 'zip'
if not data_type:
if check_binary( dataset.path ):
@@ -253,7 +265,7 @@
if data_type != 'binary':
if link_data_only == 'copy_files':
in_place = True
- if dataset.type in ( 'server_dir', 'path_paste' ):
+ if dataset.type in ( 'server_dir', 'path_paste' ) and data_type not in [ 'gzip', 'bz2', 'zip' ]:
in_place = False
if dataset.space_to_tab:
line_count, converted_path = sniff.convert_newlines_sep2tabs( dataset.path, in_place=in_place )
@@ -277,7 +289,7 @@
'<b>Copy files into Galaxy</b> instead of <b>Link to files without copying into Galaxy</b> so grooming can be performed.'
file_err( err_msg, dataset, json_file )
return
- if link_data_only == 'copy_files' and dataset.type in ( 'server_dir', 'path_paste' ):
+ if link_data_only == 'copy_files' and dataset.type in ( 'server_dir', 'path_paste' ) and data_type not in [ 'gzip', 'bz2', 'zip' ]:
# Move the dataset to its "real" path
if converted_path is not None:
shutil.copy( converted_path, output_path )
@@ -362,7 +374,7 @@
add_file( dataset, registry, json_file, output_path )
# clean up paramfile
try:
- os.remove( sys.argv[1] )
+ os.remove( sys.argv[3] )
except:
pass
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
1 new changeset in galaxy-central:
http://bitbucket.org/galaxy/galaxy-central/changeset/92fb946f5c7b/
changeset: 92fb946f5c7b
user: kanwei
date: 2011-06-08 21:30:40
summary: Workflows:
- Fix for postjob rename not escaping quotes. Closes #511
- Tabs->Spaces
- Slight reordering to have Save as first option, renamed Layout to Auto Re-layout for clarity
affected #: 2 files (210 bytes)
--- a/lib/galaxy/jobs/actions/post.py Wed Jun 08 15:16:20 2011 -0400
+++ b/lib/galaxy/jobs/actions/post.py Wed Jun 08 15:30:40 2011 -0400
@@ -10,16 +10,16 @@
if on_output:
form = """
if (pja.action_type == "%s"){
- p_str = "<div class='pjaForm toolForm'><span class='action_tag' style='display:none'>"+ pja.action_type + pja.output_name + "</span><div class='toolFormTitle'> %s <br/> on " + pja.output_name + "\
- <div style='float: right;' class='buttons'><img src='/static/images/delete_icon.png'></div></div><div class='toolFormBody'>";
+ p_str = "<div class='pjaForm toolForm'><span class='action_tag' style='display:none'>"+ pja.action_type + pja.output_name + "</span><div class='toolFormTitle'> %s <br/> on " + pja.output_name + "\
+ <div style='float: right;' class='buttons'><img src='/static/images/delete_icon.png'></div></div><div class='toolFormBody'>";
%s
p_str += "</div><div class='toolParamHelp'>%s</div></div>";
}""" % (action_type, title, content, help)
else:
- form = """
+ form = """
if (pja.action_type == "%s"){
- p_str = "<div class='pjaForm toolForm'><span class='action_tag' style='display:none'>"+ pja.action_type + "</span><div class='toolFormTitle'> %s \
- <div style='float: right;' class='buttons'><img src='/static/images/delete_icon.png'></div></div><div class='toolFormBody'>";
+ p_str = "<div class='pjaForm toolForm'><span class='action_tag' style='display:none'>"+ pja.action_type + "</span><div class='toolFormTitle'> %s \
+ <div style='float: right;' class='buttons'><img src='/static/images/delete_icon.png'></div></div><div class='toolFormBody'>";
%s
p_str += "</div><div class='toolParamHelp'>%s</div></div>";
}""" % (action_type, title, content, help)
@@ -75,8 +75,8 @@
@classmethod
def get_config_form(cls, trans):
form = """
- p_str += "<label for='pja__"+pja.output_name+"__EmailAction'>There are no additional options for this action. You will be emailed upon job completion.</label>\
- <input type='hidden' value='%s' name='pja__"+pja.output_name+"__EmailAction__host'/><input type='hidden' name='pja__"+pja.output_name+"__EmailAction'/>";
+ p_str += "<label for='pja__"+pja.output_name+"__EmailAction'>There are no additional options for this action. You will be emailed upon job completion.</label>\
+ <input type='hidden' value='%s' name='pja__"+pja.output_name+"__EmailAction__host'/><input type='hidden' name='pja__"+pja.output_name+"__EmailAction'/>";
""" % trans.request.host
return get_form_template(cls.name, cls.verbose_name, form, "This action will send an email notifying you when the job is done.", on_output = False)
@@ -105,14 +105,14 @@
for dt_name in dtnames:
dt_list += """<option id='pja__"+pja.output_name+"__ChangeDatatypeAction__newtype__%s' value='%s'>%s</option>""" % (dt_name, dt_name, dt_name)
ps = """
- p_str += "<label for='pja__"+pja.output_name+"__ChangeDatatypeAction__newtype'>New Datatype:</label>\
- <select id='pja__"+pja.output_name+"__ChangeDatatypeAction__newtype' name='pja__"+pja.output_name+"__ChangeDatatypeAction__newtype'>\
- %s\
- </select>";
- if (pja.action_arguments !== undefined && pja.action_arguments.newtype !== undefined){
+ p_str += "<label for='pja__"+pja.output_name+"__ChangeDatatypeAction__newtype'>New Datatype:</label>\
+ <select id='pja__"+pja.output_name+"__ChangeDatatypeAction__newtype' name='pja__"+pja.output_name+"__ChangeDatatypeAction__newtype'>\
+ %s\
+ </select>";
+ if (pja.action_arguments !== undefined && pja.action_arguments.newtype !== undefined){
p_str += "<scrip" + "t type='text/javascript'>$('#pja__" + pja.output_name + "__ChangeDatatypeAction__newtype').val('" + pja.action_arguments.newtype + "');</scrip" + "t>";
- }
- """ % dt_list
+ }
+ """ % dt_list
# Note the scrip + t hack above. Is there a better way?
return get_form_template(cls.name, cls.verbose_name, ps, 'This action will change the datatype of the output to the indicated value.')
@@ -140,15 +140,16 @@
@classmethod
def get_config_form(cls, trans):
form = """
- if ((pja.action_arguments !== undefined) && (pja.action_arguments.newname !== undefined)){
- p_str += "<label for='pja__"+pja.output_name+"__RenameDatasetAction__newname'>New output name:</label>\
- <input type='text' name='pja__"+pja.output_name+"__RenameDatasetAction__newname' value='"+pja.action_arguments.newname + "'/>";
- }
- else{
- p_str += "<label for='pja__"+pja.output_name+"__RenameDatasetAction__newname'>New output name:</label>\
- <input type='text' name='pja__"+pja.output_name+"__RenameDatasetAction__newname' value=''/>";
- }
- """
+ if ((pja.action_arguments !== undefined) && (pja.action_arguments.newname !== undefined)){
+ p_str += "<label for='pja__"+pja.output_name+"__RenameDatasetAction__newname'>New output name:</label>\
+ <input type='text' name='pja__"+pja.output_name+"__RenameDatasetAction__newname' value=\\"" + pja.action_arguments.newname.replace(/"/g, """) + "\\"/>";
+ }
+
+ else{
+ p_str += "<label for='pja__"+pja.output_name+"__RenameDatasetAction__newname'>New output name:</label>\
+ <input type='text' name='pja__"+pja.output_name+"__RenameDatasetAction__newname' value=''/>";
+ }
+ """
return get_form_template(cls.name, cls.verbose_name, form, "This action will rename the result dataset.")
@classmethod
@@ -195,8 +196,8 @@
@classmethod
def get_config_form(cls, trans):
form = """
- p_str += "<label for='pja__"+pja.output_name+"__DeleteDatasetAction'>There are no additional options for this action. This dataset will be marked deleted.</label>\
- <input type='hidden' name='pja__"+pja.output_name+"__DeleteDatasetAction'/>";
+ p_str += "<label for='pja__"+pja.output_name+"__DeleteDatasetAction'>There are no additional options for this action. This dataset will be marked deleted.</label>\
+ <input type='hidden' name='pja__"+pja.output_name+"__DeleteDatasetAction'/>";
"""
return get_form_template(cls.name, cls.verbose_name, form, "This action will rename the result dataset.")
--- a/templates/workflow/editor.mako Wed Jun 08 15:16:20 2011 -0400
+++ b/templates/workflow/editor.mako Wed Jun 08 15:30:40 2011 -0400
@@ -242,13 +242,13 @@
});
make_popupmenu( $("#workflow-options-button"), {
- ##"Create New" : create_new_workflow_dialog,
- "Edit Attributes" : edit_workflow_attributes,
+ "Save" : save_current_workflow,
+ ##"Create New" : create_new_workflow_dialog,
+ "Edit Attributes" : edit_workflow_attributes,
##"Edit Workflow Outputs": edit_workflow_outputs,
- "Layout": layout_editor,
- "Save" : save_current_workflow,
- ##"Load a Workflow" : load_workflow,
- "Close": close_editor
+ "Auto Re-layout": layout_editor,
+ ##"Load a Workflow" : load_workflow,
+ "Close": close_editor
});
function edit_workflow_outputs(){
@@ -556,8 +556,6 @@
}
}
-
-
function show_form_for_tool( text, node ) {
$('.right-content').hide();
$("#right-content").show().html( text );
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0