Skip navigation links
A C D E F G H I M N O P R S V W 

A

accepts(Class<? extends IChemObject>) - Method in class org.openscience.cdk.io.MDLReader
Deprecated.
 
accepts(Class<? extends IChemObject>) - Method in class org.openscience.cdk.io.MDLRXNReader
Deprecated.
 
accepts(IChemObject) - Method in class org.openscience.cdk.io.MDLRXNReader
Deprecated.
 
accepts(Class<? extends IChemObject>) - Method in class org.openscience.cdk.io.MDLRXNV2000Reader
 
accepts(IChemObject) - Method in class org.openscience.cdk.io.MDLRXNV2000Reader
 
accepts(Class<? extends IChemObject>) - Method in class org.openscience.cdk.io.MDLRXNV3000Reader
 
accepts(IChemObject) - Method in class org.openscience.cdk.io.MDLRXNV3000Reader
 
accepts(Class<? extends IChemObject>) - Method in class org.openscience.cdk.io.MDLRXNWriter
 
accepts(Class<? extends IChemObject>) - Method in class org.openscience.cdk.io.MDLV2000Reader
 
accepts(Class<? extends IChemObject>) - Method in class org.openscience.cdk.io.MDLV2000Writer
 
accepts(Class<? extends IChemObject>) - Method in class org.openscience.cdk.io.MDLV3000Reader
 
accepts(Class<? extends IChemObject>) - Method in class org.openscience.cdk.io.MDLV3000Writer
accepts(Class<? extends IChemObject>) - Method in class org.openscience.cdk.io.random.RandomAccessSDFReader
 
accepts(Class<? extends IChemObject>) - Method in class org.openscience.cdk.io.RGroupQueryReader
 
accepts(Class<? extends IChemObject>) - Method in class org.openscience.cdk.io.RGroupQueryWriter
Returns true for accepted input types.
accepts(Class<? extends IChemObject>) - Method in class org.openscience.cdk.io.SDFWriter
 

C

close() - Method in class org.openscience.cdk.io.iterator.IteratingSDFReader
 
close() - Method in class org.openscience.cdk.io.MDLReader
Deprecated.
 
close() - Method in class org.openscience.cdk.io.MDLRXNReader
Deprecated.
 
close() - Method in class org.openscience.cdk.io.MDLRXNV2000Reader
 
close() - Method in class org.openscience.cdk.io.MDLRXNV3000Reader
 
close() - Method in class org.openscience.cdk.io.MDLRXNWriter
Flushes the output and closes this object.
close() - Method in class org.openscience.cdk.io.MDLV2000Reader
 
close() - Method in class org.openscience.cdk.io.MDLV2000Writer
Flushes the output and closes this object.
close() - Method in class org.openscience.cdk.io.MDLV3000Reader
 
close() - Method in class org.openscience.cdk.io.MDLV3000Writer
close() - Method in class org.openscience.cdk.io.RGroupQueryReader
 
close() - Method in class org.openscience.cdk.io.RGroupQueryWriter
Flushes the output and closes this object.
close() - Method in class org.openscience.cdk.io.SDFWriter
Flushes the output and closes this object.
createChemObjectReader() - Method in class org.openscience.cdk.io.random.RandomAccessSDFReader
 
customizeJob() - Method in class org.openscience.cdk.io.iterator.IteratingSDFReader
 
customizeJob() - Method in class org.openscience.cdk.io.MDLReader
Deprecated.
 
customizeJob() - Method in class org.openscience.cdk.io.MDLV2000Reader
 
customizeJob() - Method in class org.openscience.cdk.io.MDLV2000Writer
 
customizeJob() - Method in class org.openscience.cdk.io.SDFWriter
 

D

DECIMAL_FORMAT - Static variable in class org.openscience.cdk.io.MDLV3000Writer
 

E

exhaustStringTokenizer(StringTokenizer) - Method in class org.openscience.cdk.io.MDLV3000Reader
 

F

formatMDLFloat(float) - Static method in class org.openscience.cdk.io.MDLV2000Writer
Formats a float to fit into the connectiontable and changes it to a String.
formatMDLInt(int, int) - Static method in class org.openscience.cdk.io.MDLV2000Writer
Formats an integer to fit into the connection table and changes it to a String.
formatMDLString(String, int) - Static method in class org.openscience.cdk.io.MDLV2000Writer
Formats a String to fit into the connectiontable.

G

getFormat() - Method in class org.openscience.cdk.io.iterator.IteratingSDFReader
 
getFormat() - Method in class org.openscience.cdk.io.MDLReader
Deprecated.
 
getFormat() - Method in class org.openscience.cdk.io.MDLRXNReader
Deprecated.
 
getFormat() - Method in class org.openscience.cdk.io.MDLRXNV2000Reader
 
getFormat() - Method in class org.openscience.cdk.io.MDLRXNV3000Reader
 
getFormat() - Method in class org.openscience.cdk.io.MDLRXNWriter
 
getFormat() - Method in class org.openscience.cdk.io.MDLV2000Reader
 
getFormat() - Method in class org.openscience.cdk.io.MDLV2000Writer
 
getFormat() - Method in class org.openscience.cdk.io.MDLV3000Reader
 
getFormat() - Method in class org.openscience.cdk.io.MDLV3000Writer
getFormat() - Method in class org.openscience.cdk.io.random.RandomAccessSDFReader
 
getFormat() - Method in class org.openscience.cdk.io.RGroupQueryReader
 
getFormat() - Method in class org.openscience.cdk.io.RGroupQueryWriter
Returns output format.
getFormat() - Method in class org.openscience.cdk.io.SDFWriter
 
getSingleElectrons() - Method in enum org.openscience.cdk.io.MDLV2000Writer.SPIN_MULTIPLICITY
The number of single electrons that correspond to the spin multiplicity.
getValue() - Method in enum org.openscience.cdk.io.MDLV2000Writer.SPIN_MULTIPLICITY
Radical value for the spin multiplicity in the properties block.

H

hasNext() - Method in class org.openscience.cdk.io.iterator.IteratingSDFReader
Returns true if another IAtomContainer can be read.
HEADER_DATE_FORMAT - Static variable in class org.openscience.cdk.io.MDLV3000Writer
 

I

isReady() - Method in class org.openscience.cdk.io.MDLV3000Reader
 
isRecordEnd(String) - Method in class org.openscience.cdk.io.random.RandomAccessSDFReader
 
IteratingSDFReader - Class in org.openscience.cdk.io.iterator
Iterating MDL SDF reader.
IteratingSDFReader(Reader, IChemObjectBuilder) - Constructor for class org.openscience.cdk.io.iterator.IteratingSDFReader
Constructs a new IteratingMDLReader that can read Molecule from a given Reader.
IteratingSDFReader(InputStream, IChemObjectBuilder) - Constructor for class org.openscience.cdk.io.iterator.IteratingSDFReader
Constructs a new IteratingMDLReader that can read Molecule from a given InputStream.
IteratingSDFReader(InputStream, IChemObjectBuilder, boolean) - Constructor for class org.openscience.cdk.io.iterator.IteratingSDFReader
Constructs a new IteratingMDLReader that can read Molecule from a given a InputStream.
IteratingSDFReader(Reader, IChemObjectBuilder, boolean) - Constructor for class org.openscience.cdk.io.iterator.IteratingSDFReader
Constructs a new IteratingMDLReader that can read Molecule from a given a Reader.

M

MDLReader - Class in org.openscience.cdk.io
Deprecated.
This reader is only for molfiles without a version tag, typically the most common molfile now encountered is V2000 and the MDLV2000Reader should be used instead. The V2000 reader can actually read files missing the version tag when in relaxed mode.
MDLReader() - Constructor for class org.openscience.cdk.io.MDLReader
Deprecated.
 
MDLReader(InputStream) - Constructor for class org.openscience.cdk.io.MDLReader
Deprecated.
Constructs a new MDLReader that can read Molecule from a given InputStream.
MDLReader(InputStream, IChemObjectReader.Mode) - Constructor for class org.openscience.cdk.io.MDLReader
Deprecated.
 
MDLReader(Reader) - Constructor for class org.openscience.cdk.io.MDLReader
Deprecated.
Constructs a new MDLReader that can read Molecule from a given Reader.
MDLReader(Reader, IChemObjectReader.Mode) - Constructor for class org.openscience.cdk.io.MDLReader
Deprecated.
 
MDLRXNReader - Class in org.openscience.cdk.io
Deprecated.
Use V2000 or V3000
MDLRXNReader(Reader) - Constructor for class org.openscience.cdk.io.MDLRXNReader
Deprecated.
Constructs a new MDLReader that can read Molecule from a given Reader.
MDLRXNReader(Reader, IChemObjectReader.Mode) - Constructor for class org.openscience.cdk.io.MDLRXNReader
Deprecated.
 
MDLRXNReader(InputStream) - Constructor for class org.openscience.cdk.io.MDLRXNReader
Deprecated.
 
MDLRXNReader(InputStream, IChemObjectReader.Mode) - Constructor for class org.openscience.cdk.io.MDLRXNReader
Deprecated.
 
MDLRXNReader() - Constructor for class org.openscience.cdk.io.MDLRXNReader
Deprecated.
 
MDLRXNV2000Reader - Class in org.openscience.cdk.io
Reads a molecule from an MDL RXN file [Dalby, A. and Nourse, J. G. and Hounshell, W. D. and Gushurst, A. K. and Grier, D. L. and Leland, B. A. and Laufer, J., Description of Several Chemical Structure File Formats Used by Computer Programs Developed at Molecular Design Limited, Journal of Chemical Information and Computer Sciences, 1992, 32:244-255].
MDLRXNV2000Reader(Reader) - Constructor for class org.openscience.cdk.io.MDLRXNV2000Reader
Constructs a new MDLReader that can read Molecule from a given Reader.
MDLRXNV2000Reader(Reader, IChemObjectReader.Mode) - Constructor for class org.openscience.cdk.io.MDLRXNV2000Reader
 
MDLRXNV2000Reader(InputStream) - Constructor for class org.openscience.cdk.io.MDLRXNV2000Reader
 
MDLRXNV2000Reader(InputStream, IChemObjectReader.Mode) - Constructor for class org.openscience.cdk.io.MDLRXNV2000Reader
 
MDLRXNV2000Reader() - Constructor for class org.openscience.cdk.io.MDLRXNV2000Reader
 
MDLRXNV3000Reader - Class in org.openscience.cdk.io
Class that implements the new MDL mol format introduced in August 2002.
MDLRXNV3000Reader(Reader) - Constructor for class org.openscience.cdk.io.MDLRXNV3000Reader
 
MDLRXNV3000Reader(Reader, IChemObjectReader.Mode) - Constructor for class org.openscience.cdk.io.MDLRXNV3000Reader
 
MDLRXNV3000Reader(InputStream) - Constructor for class org.openscience.cdk.io.MDLRXNV3000Reader
 
MDLRXNV3000Reader(InputStream, IChemObjectReader.Mode) - Constructor for class org.openscience.cdk.io.MDLRXNV3000Reader
 
MDLRXNV3000Reader() - Constructor for class org.openscience.cdk.io.MDLRXNV3000Reader
 
MDLRXNWriter - Class in org.openscience.cdk.io
Writes a reaction to a MDL rxn or SDF file.
MDLRXNWriter(Writer) - Constructor for class org.openscience.cdk.io.MDLRXNWriter
Constructs a new MDLWriter that can write an array of Molecules to a Writer.
MDLRXNWriter(OutputStream) - Constructor for class org.openscience.cdk.io.MDLRXNWriter
Constructs a new MDLWriter that can write an array of Molecules to a given OutputStream.
MDLRXNWriter() - Constructor for class org.openscience.cdk.io.MDLRXNWriter
 
MDLV2000Reader - Class in org.openscience.cdk.io
Reads content from MDL molfiles and SD files.
MDLV2000Reader() - Constructor for class org.openscience.cdk.io.MDLV2000Reader
 
MDLV2000Reader(InputStream) - Constructor for class org.openscience.cdk.io.MDLV2000Reader
Constructs a new MDLReader that can read Molecule from a given InputStream.
MDLV2000Reader(InputStream, IChemObjectReader.Mode) - Constructor for class org.openscience.cdk.io.MDLV2000Reader
 
MDLV2000Reader(Reader) - Constructor for class org.openscience.cdk.io.MDLV2000Reader
Constructs a new MDLReader that can read Molecule from a given Reader.
MDLV2000Reader(Reader, IChemObjectReader.Mode) - Constructor for class org.openscience.cdk.io.MDLV2000Reader
 
MDLV2000Writer - Class in org.openscience.cdk.io
Writes MDL molfiles, which contains a single molecule (see [Dalby, A. and Nourse, J. G. and Hounshell, W. D. and Gushurst, A. K. and Grier, D. L. and Leland, B. A. and Laufer, J., Description of Several Chemical Structure File Formats Used by Computer Programs Developed at Molecular Design Limited, Journal of Chemical Information and Computer Sciences, 1992, 32:244-255]).
MDLV2000Writer(Writer) - Constructor for class org.openscience.cdk.io.MDLV2000Writer
Constructs a new MDLWriter that can write an IAtomContainer to the MDL molfile format.
MDLV2000Writer(OutputStream) - Constructor for class org.openscience.cdk.io.MDLV2000Writer
Constructs a new MDLWriter that can write an IAtomContainer to a given OutputStream.
MDLV2000Writer() - Constructor for class org.openscience.cdk.io.MDLV2000Writer
 
MDLV2000Writer.SPIN_MULTIPLICITY - Enum in org.openscience.cdk.io
Enumeration of all valid radical values.
MDLV3000Reader - Class in org.openscience.cdk.io
Class that implements the MDL mol V3000 format.
MDLV3000Reader(Reader) - Constructor for class org.openscience.cdk.io.MDLV3000Reader
 
MDLV3000Reader(Reader, IChemObjectReader.Mode) - Constructor for class org.openscience.cdk.io.MDLV3000Reader
 
MDLV3000Reader(InputStream) - Constructor for class org.openscience.cdk.io.MDLV3000Reader
 
MDLV3000Reader(InputStream, IChemObjectReader.Mode) - Constructor for class org.openscience.cdk.io.MDLV3000Reader
 
MDLV3000Reader() - Constructor for class org.openscience.cdk.io.MDLV3000Reader
 
MDLV3000Writer - Class in org.openscience.cdk.io
Ctab V3000 format output.
MDLV3000Writer(Writer) - Constructor for class org.openscience.cdk.io.MDLV3000Writer
Create a new V3000 writer, output to the provided JDK writer.
MDLV3000Writer(OutputStream) - Constructor for class org.openscience.cdk.io.MDLV3000Writer
Create a new V3000 writer, output to the provided JDK output stream.
MDLV3000Writer() - Constructor for class org.openscience.cdk.io.MDLV3000Writer
Default empty constructor.

N

next() - Method in class org.openscience.cdk.io.iterator.IteratingSDFReader
Returns the next IAtomContainer.

O

ofValue(int) - Static method in enum org.openscience.cdk.io.MDLV2000Writer.SPIN_MULTIPLICITY
Create a SPIN_MULTIPLICITY instance for the specified value.
org.openscience.cdk.io - package org.openscience.cdk.io
 
org.openscience.cdk.io.iterator - package org.openscience.cdk.io.iterator
 
org.openscience.cdk.io.random - package org.openscience.cdk.io.random
 

P

processContent() - Method in class org.openscience.cdk.io.random.RandomAccessSDFReader
 

R

RandomAccessSDFReader - Class in org.openscience.cdk.io.random
Random access of SDF file.
RandomAccessSDFReader(File, IChemObjectBuilder) - Constructor for class org.openscience.cdk.io.random.RandomAccessSDFReader
 
RandomAccessSDFReader(File, IChemObjectBuilder, IReaderListener) - Constructor for class org.openscience.cdk.io.random.RandomAccessSDFReader
 
rdFields - Variable in class org.openscience.cdk.io.MDLRXNWriter
 
read(T) - Method in class org.openscience.cdk.io.MDLReader
Deprecated.
Takes an object which subclasses IChemObject, e.g.
read(T) - Method in class org.openscience.cdk.io.MDLRXNReader
Deprecated.
Takes an object which subclasses IChemObject, e.g.Molecule, and will read this (from file, database, internet etc).
read(T) - Method in class org.openscience.cdk.io.MDLRXNV2000Reader
Takes an object which subclasses IChemObject, e.g.Molecule, and will read this (from file, database, internet etc).
read(T) - Method in class org.openscience.cdk.io.MDLRXNV3000Reader
 
read(T) - Method in class org.openscience.cdk.io.MDLV2000Reader
Takes an object which subclasses IChemObject, e.g.
read(T) - Method in class org.openscience.cdk.io.MDLV3000Reader
 
read(T) - Method in class org.openscience.cdk.io.RGroupQueryReader
Check input IChemObject and proceed to parse.
readAtomBlock(IAtomContainer) - Method in class org.openscience.cdk.io.MDLV3000Reader
Reads the atoms, coordinates and charges.
readBondBlock(IAtomContainer) - Method in class org.openscience.cdk.io.MDLV3000Reader
Reads the bond atoms, order and stereo configuration.
readConnectionTable(IChemObjectBuilder) - Method in class org.openscience.cdk.io.MDLV3000Reader
 
readHeader(IAtomContainer) - Method in class org.openscience.cdk.io.MDLV3000Reader
 
readLine() - Method in class org.openscience.cdk.io.MDLV3000Reader
 
readMolecule(IChemObjectBuilder) - Method in class org.openscience.cdk.io.MDLV3000Reader
 
readSGroup(IAtomContainer) - Method in class org.openscience.cdk.io.MDLV3000Reader
Reads labels.
remove() - Method in class org.openscience.cdk.io.iterator.IteratingSDFReader
 
remove() - Method in class org.openscience.cdk.io.random.RandomAccessSDFReader
 
RGroupQueryReader - Class in org.openscience.cdk.io
A reader for Symyx' Rgroup files (RGFiles).
RGroupQueryReader() - Constructor for class org.openscience.cdk.io.RGroupQueryReader
Default constructor, input not set.
RGroupQueryReader(InputStream) - Constructor for class org.openscience.cdk.io.RGroupQueryReader
Constructs a new RgroupQueryReader that can read RgroupAtomContainerSet from a given InputStream.
RGroupQueryReader(Reader) - Constructor for class org.openscience.cdk.io.RGroupQueryReader
Constructs a new RgroupQueryReader that can read RgroupAtomContainerSet from a given Reader.
RGroupQueryWriter - Class in org.openscience.cdk.io
A writer for Symyx' Rgroup files (RGFiles).
An RGfile describes a single molecular query with Rgroups.
RGroupQueryWriter(Writer) - Constructor for class org.openscience.cdk.io.RGroupQueryWriter
Constructs a new writer that can write an IRGroupQuery to the Symx RGFile format.
RGroupQueryWriter() - Constructor for class org.openscience.cdk.io.RGroupQueryWriter
Zero argument constructor.

S

SDFWriter - Class in org.openscience.cdk.io
Writes MDL SD files ([Dalby, A. and Nourse, J. G. and Hounshell, W. D. and Gushurst, A. K. and Grier, D. L. and Leland, B. A. and Laufer, J., Description of Several Chemical Structure File Formats Used by Computer Programs Developed at Molecular Design Limited, Journal of Chemical Information and Computer Sciences, 1992, 32:244-255]).
SDFWriter(BufferedWriter) - Constructor for class org.openscience.cdk.io.SDFWriter
Create an SDfile writer that will output directly to the provided buffered writer.
SDFWriter(Writer) - Constructor for class org.openscience.cdk.io.SDFWriter
Create an SDfile writer, the provided writer is buffered if it's not an instance of BufferedWriter.
SDFWriter(OutputStream) - Constructor for class org.openscience.cdk.io.SDFWriter
Create an SDfile writer, the provided output stream is wrapped in a UTF-8 buffered writer.
SDFWriter() - Constructor for class org.openscience.cdk.io.SDFWriter
 
SDFWriter(Writer, Set<String>) - Constructor for class org.openscience.cdk.io.SDFWriter
Constructs a new SDFWriter that writes to the given Writer.
SDFWriter(OutputStream, Set<String>) - Constructor for class org.openscience.cdk.io.SDFWriter
Constructs a new SdfWriter that can write to a given OutputStream.
SDFWriter(Set<String>) - Constructor for class org.openscience.cdk.io.SDFWriter
Writes SD-File to a String including the given properties
setAlwaysV3000(boolean) - Method in class org.openscience.cdk.io.SDFWriter
 
setRdFields(Map<String, Object>) - Method in class org.openscience.cdk.io.MDLRXNWriter
Here you can set a map which will be used to build rd fields in the file.
setReader(Reader) - Method in class org.openscience.cdk.io.iterator.IteratingSDFReader
 
setReader(InputStream) - Method in class org.openscience.cdk.io.iterator.IteratingSDFReader
 
setReader(Reader) - Method in class org.openscience.cdk.io.MDLReader
Deprecated.
 
setReader(InputStream) - Method in class org.openscience.cdk.io.MDLReader
Deprecated.
 
setReader(Reader) - Method in class org.openscience.cdk.io.MDLRXNReader
Deprecated.
 
setReader(InputStream) - Method in class org.openscience.cdk.io.MDLRXNReader
Deprecated.
 
setReader(Reader) - Method in class org.openscience.cdk.io.MDLRXNV2000Reader
 
setReader(InputStream) - Method in class org.openscience.cdk.io.MDLRXNV2000Reader
 
setReader(Reader) - Method in class org.openscience.cdk.io.MDLRXNV3000Reader
 
setReader(InputStream) - Method in class org.openscience.cdk.io.MDLRXNV3000Reader
 
setReader(Reader) - Method in class org.openscience.cdk.io.MDLV2000Reader
 
setReader(InputStream) - Method in class org.openscience.cdk.io.MDLV2000Reader
 
setReader(Reader) - Method in class org.openscience.cdk.io.MDLV3000Reader
 
setReader(InputStream) - Method in class org.openscience.cdk.io.MDLV3000Reader
 
setReader(Reader) - Method in class org.openscience.cdk.io.random.RandomAccessSDFReader
 
setReader(InputStream) - Method in class org.openscience.cdk.io.random.RandomAccessSDFReader
 
setReader(Reader) - Method in class org.openscience.cdk.io.RGroupQueryReader
Sets the input Reader.
setReader(InputStream) - Method in class org.openscience.cdk.io.RGroupQueryReader
 
setSkip(boolean) - Method in class org.openscience.cdk.io.iterator.IteratingSDFReader
Indicate whether the reader should skip over SDF records that cause problems.
setWriteAromaticBondTypes(boolean) - Method in class org.openscience.cdk.io.MDLV2000Writer
Convenience method to set the option for writing aromatic bond types.
setWriter(Writer) - Method in class org.openscience.cdk.io.MDLRXNWriter
 
setWriter(OutputStream) - Method in class org.openscience.cdk.io.MDLRXNWriter
 
setWriter(Writer) - Method in class org.openscience.cdk.io.MDLV2000Writer
 
setWriter(OutputStream) - Method in class org.openscience.cdk.io.MDLV2000Writer
 
setWriter(Writer) - Method in class org.openscience.cdk.io.MDLV3000Writer
setWriter(OutputStream) - Method in class org.openscience.cdk.io.MDLV3000Writer
setWriter(OutputStream) - Method in class org.openscience.cdk.io.RGroupQueryWriter
Sets the writer to given output stream.
setWriter(Writer) - Method in class org.openscience.cdk.io.RGroupQueryWriter
Sets the writer.
setWriter(Writer) - Method in class org.openscience.cdk.io.SDFWriter
 
setWriter(OutputStream) - Method in class org.openscience.cdk.io.SDFWriter
 

V

valueOf(String) - Static method in enum org.openscience.cdk.io.MDLV2000Writer.SPIN_MULTIPLICITY
Returns the enum constant of this type with the specified name.
values() - Static method in enum org.openscience.cdk.io.MDLV2000Writer.SPIN_MULTIPLICITY
Returns an array containing the constants of this enum type, in the order they are declared.

W

write(IChemObject) - Method in class org.openscience.cdk.io.MDLRXNWriter
Writes a IChemObject to the MDL RXN file formated output.
write(IChemObject) - Method in class org.openscience.cdk.io.MDLV2000Writer
Writes a IChemObject to the MDL molfile formated output.
write(IChemObject) - Method in class org.openscience.cdk.io.MDLV3000Writer
Writes a molecule to the V3000 format.
write(IChemObject) - Method in class org.openscience.cdk.io.RGroupQueryWriter
The actual writing of the output.
write(IChemObject) - Method in class org.openscience.cdk.io.SDFWriter
Writes a IChemObject to the MDL SD file formated output.
writeMolecule(IAtomContainer) - Method in class org.openscience.cdk.io.MDLV2000Writer
Writes a Molecule to an OutputStream in MDL sdf format.
A C D E F G H I M N O P R S V W 
Skip navigation links

Copyright © 2017. All rights reserved.