<xs:schema attributeFormDefault='unqualified' elementFormDefault='qualified' targetNamespace='http://*****/mvd/clients/epgu/request' xmlns:ds='http://www. w3.org/2000/09/xmldsig#' xmlns:tns='http://*****/mvd/clients/epgu/request' xmlns:xs='http://www. w3.org/2001/XMLSchema'>

<xs:import namespace='http://www. w3.org/2000/09/xmldsig#' schemaLocation='http://develop. *****/services/EPGUService? wsdl&amp;resource=../common/xmldsig-core-schema. xsd'/>

<xs:include schemaLocation='http://develop. *****/services/EPGUService? wsdl&amp;resource=request. xsd'/>

<xs:complexType name='AppDataType'>

<xs:all>

<xs:element minOccurs='0' ref='ds:Signature'/>

<xs:element ref='tns:Message'/>

</xs:all>

</xs:complexType>

<xs:element name='Message'>

<xs:complexType>

<xs:all>

<xs:element ref='tns:Header'/>

</xs:all>

</xs:complexType>

</xs:element>

</xs:schema>

Приведенный файл XSD request_ID. xsd содержит ссылку на следующий файлы:

¾  xmldsig-core-schema. xsd

¾  request. xsd

Описание xmldsig-core-schema. xsd

<schema elementFormDefault='qualified' targetNamespace='http://www. w3.org/2000/09/xmldsig#' version='0.1' xmlns='http://www. w3.org/2001/XMLSchema' xmlns:ds='http://www. w3.org/2000/09/xmldsig#'>

<!-- Basic Types Defined for Signatures -->

<simpleType name='CryptoBinary'>

<restriction base='base64Binary'></restriction>

</simpleType>

<!-- Start Signature -->

<element name='Signature' type='ds:SignatureType'/>

<complexType name='SignatureType'>

<sequence>

<element ref='ds:SignedInfo'/>

<element ref='ds:SignatureValue'/>

<element minOccurs='0' ref='ds:KeyInfo'/>

<element maxOccurs='unbounded' minOccurs='0' ref='ds:Object'/>

</sequence>

<attribute name='Id' type='ID' use='optional'/>

</complexType>

<element name='SignatureValue' type='ds:SignatureValueType'/>

<complexType name='SignatureValueType'>

<simpleContent>

<extension base='base64Binary'>

<attribute name='Id' type='ID' use='optional'/>

</extension>

</simpleContent>

</complexType>

<!-- Start SignedInfo -->

<element name='SignedInfo' type='ds:SignedInfoType'/>

<complexType name='SignedInfoType'>

<sequence>

<element ref='ds:CanonicalizationMethod'/>

<element ref='ds:SignatureMethod'/>

<element maxOccurs='unbounded' ref='ds:Reference'/>

</sequence>

<attribute name='Id' type='ID' use='optional'/>

</complexType>

<element name='CanonicalizationMethod' type='ds:CanonicalizationMethodType'/>

<complexType mixed='true' name='CanonicalizationMethodType'>

<sequence>

<any maxOccurs='unbounded' minOccurs='0' namespace='##any'/>

<!-- (0,unbounded) elements from (1,1) namespace -->

</sequence>

<attribute name='Algorithm' type='anyURI' use='required'/>

</complexType>

<element name='SignatureMethod' type='ds:SignatureMethodType'/>

<complexType mixed='true' name='SignatureMethodType'>

<sequence>

<element minOccurs='0' name='HMACOutputLength' type='ds:HMACOutputLengthType'/>

<any maxOccurs='unbounded' minOccurs='0' namespace='##other'/>

<!-- (0,unbounded) elements from (1,1) external namespace -->

</sequence>

<attribute name='Algorithm' type='anyURI' use='required'/>

</complexType>

<!-- Start Reference -->

<element name='Reference' type='ds:ReferenceType'/>

<complexType name='ReferenceType'>

<sequence>

<element minOccurs='0' ref='ds:Transforms'/>

<element ref='ds:DigestMethod'/>

<element ref='ds:DigestValue'/>

</sequence>

<attribute name='Id' type='ID' use='optional'/>

<attribute name='URI' type='anyURI' use='optional'/>

<attribute name='Type' type='anyURI' use='optional'/>

</complexType>

<element name='Transforms' type='ds:TransformsType'/>

<complexType name='TransformsType'>

<sequence>

<element maxOccurs='unbounded' ref='ds:Transform'/>

</sequence>

</complexType>

<element name='Transform' type='ds:TransformType'/>

<complexType mixed='true' name='TransformType'>

<choice maxOccurs='unbounded' minOccurs='0'>

<any namespace='##other' processContents='lax'/>

<!-- (1,1) elements from (0,unbounded) namespaces -->

<element name='XPath' type='string'/>

</choice>

<attribute name='Algorithm' type='anyURI' use='required'/>

</complexType>

<!-- End Reference -->

<element name='DigestMethod' type='ds:DigestMethodType'/>

<complexType mixed='true' name='DigestMethodType'>

<sequence>

<any maxOccurs='unbounded' minOccurs='0' namespace='##other' processContents='lax'/>

</sequence>

<attribute name='Algorithm' type='anyURI' use='required'/>

</complexType>

<element name='DigestValue' type='ds:DigestValueType'/>

<simpleType name='DigestValueType'>

<restriction base='base64Binary'/>

</simpleType>

<!-- End SignedInfo -->

<!-- Start KeyInfo -->

<element name='KeyInfo' type='ds:KeyInfoType'/>

<complexType mixed='true' name='KeyInfoType'>

<choice maxOccurs='unbounded'>

<element ref='ds:KeyName'/>

<element ref='ds:KeyValue'/>

<element ref='ds:RetrievalMethod'/>

<element ref='ds:X509Data'/>

<element ref='ds:PGPData'/>

<element ref='ds:SPKIData'/>

<element ref='ds:MgmtData'/>

<any namespace='##other' processContents='lax'/>

<!-- (1,1) elements from (0,unbounded) namespaces -->

</choice>

<attribute name='Id' type='ID' use='optional'/>

</complexType>

<element name='KeyName' type='string'/>

<element name='MgmtData' type='string'/>

<element name='KeyValue' type='ds:KeyValueType'/>

<complexType mixed='true' name='KeyValueType'>

<choice>

<element ref='ds:DSAKeyValue'/>

<element ref='ds:RSAKeyValue'/>

<any namespace='##other' processContents='lax'/>

</choice>

</complexType>

<element name='RetrievalMethod' type='ds:RetrievalMethodType'/>

<complexType name='RetrievalMethodType'>

<sequence>

<element minOccurs='0' ref='ds:Transforms'/>

</sequence>

<attribute name='URI' type='anyURI'/>

<attribute name='Type' type='anyURI' use='optional'/>

</complexType>

<!-- Start X509Data -->

<element name='X509Data' type='ds:X509DataType'/>

<complexType name='X509DataType'>

<sequence maxOccurs='unbounded'>

<choice>

<element name='X509IssuerSerial' type='ds:X509IssuerSerialType'/>

<element name='X509SKI' type='base64Binary'/>

<element name='X509SubjectName' type='string'/>

<element name='X509Certificate' type='base64Binary'/>

<element name='X509CRL' type='base64Binary'/>

<any namespace='##other' processContents='lax'/>

</choice>

</sequence>

</complexType>

<complexType name='X509IssuerSerialType'>

<sequence>

<element name='X509IssuerName' type='string'/>

<element name='X509SerialNumber' type='integer'/>

</sequence>

</complexType>

<!-- End X509Data -->

<!-- Begin PGPData -->

<element name='PGPData' type='ds:PGPDataType'/>

<complexType name='PGPDataType'>

<choice>

<sequence>

<element name='PGPKeyID' type='base64Binary'/>

<element minOccurs='0' name='PGPKeyPacket' type='base64Binary'/>

<any maxOccurs='unbounded' minOccurs='0' namespace='##other' processContents='lax'/>

</sequence>

<sequence>

<element name='PGPKeyPacket' type='base64Binary'/>

<any maxOccurs='unbounded' minOccurs='0' namespace='##other' processContents='lax'/>

</sequence>

</choice>

</complexType>

<!-- End PGPData -->

<!-- Begin SPKIData -->

<element name='SPKIData' type='ds:SPKIDataType'/>

<complexType name='SPKIDataType'>

<sequence maxOccurs='unbounded'>

<element name='SPKISexp' type='base64Binary'/>

<any minOccurs='0' namespace='##other' processContents='lax'/>

</sequence>

</complexType>

<!-- End SPKIData -->

<!-- End KeyInfo -->

<!-- Start Object (Manifest, SignatureProperty) -->

<element name='Object' type='ds:ObjectType'/>

<complexType mixed='true' name='ObjectType'>

<sequence maxOccurs='unbounded' minOccurs='0'>

<any namespace='##any' processContents='lax'/>

</sequence>

<attribute name='Id' type='ID' use='optional'/>

<attribute name='MimeType' type='string' use='optional'/>

<!-- add a grep facet -->

<attribute name='Encoding' type='anyURI' use='optional'/>

</complexType>

<element name='Manifest' type='ds:ManifestType'/>

<complexType name='ManifestType'>

<sequence>

<element maxOccurs='unbounded' ref='ds:Reference'/>

</sequence>

<attribute name='Id' type='ID' use='optional'/>

</complexType>

<element name='SignatureProperties' type='ds:SignaturePropertiesType'/>

<complexType name='SignaturePropertiesType'>

<sequence>

<element maxOccurs='unbounded' ref='ds:SignatureProperty'/>

</sequence>

<attribute name='Id' type='ID' use='optional'/>

</complexType>

<element name='SignatureProperty' type='ds:SignaturePropertyType'/>

<complexType mixed='true' name='SignaturePropertyType'>

<choice maxOccurs='unbounded'>

<any namespace='##other' processContents='lax'/>

<!-- (1,1) elements from (1,unbounded) namespaces -->

</choice>

<attribute name='Target' type='anyURI' use='required'/>

<attribute name='Id' type='ID' use='optional'/>

</complexType>

<!-- End Object (Manifest, SignatureProperty) -->

<!-- Start Algorithm Parameters -->

<simpleType name='HMACOutputLengthType'>

<restriction base='integer'/>

</simpleType>

<!-- Start KeyValue Element-types -->

<element name='DSAKeyValue' type='ds:DSAKeyValueType'/>

<complexType name='DSAKeyValueType'>

<sequence>

<sequence minOccurs='0'>

<element name='P' type='ds:CryptoBinary'/>

<element name='Q' type='ds:CryptoBinary'/>

</sequence>

<element minOccurs='0' name='G' type='ds:CryptoBinary'/>

<element name='Y' type='ds:CryptoBinary'/>

<element minOccurs='0' name='J' type='ds:CryptoBinary'/>

<sequence minOccurs='0'>

<element name='Seed' type='ds:CryptoBinary'/>

<element name='PgenCounter' type='ds:CryptoBinary'/>

</sequence>

</sequence>

</complexType>

<element name='RSAKeyValue' type='ds:RSAKeyValueType'/>

<complexType name='RSAKeyValueType'>

<sequence>

<element name='Modulus' type='ds:CryptoBinary'/>

<element name='Exponent' type='ds:CryptoBinary'/>

</sequence>

</complexType>

<!-- End KeyValue Element-types -->

<!-- End Signature -->

</schema>

Описание request. xsd

НЕ нашли? Не то? Что вы ищете?

<xs:schema attributeFormDefault='unqualified' elementFormDefault='qualified' xmlns:xs='http://www. w3.org/2001/XMLSchema'>

<xs:include schemaLocation='http://develop. *****/services/EPGUService? wsdl&amp;resource=../common/common. xsd'/>

<xs:element name='Header' type='BaseHeaderType'/>

</xs:schema>

Приведенный request. xsd содержит ссылку на следующий файлы:

¾  common. xsd

Описание common. xsd

<xs:schema attributeFormDefault='unqualified' elementFormDefault='qualified' xmlns:xs='http://www. w3.org/2001/XMLSchema'>

<xs:include schemaLocation='http://develop. *****/services/EPGUService? wsdl&amp;resource=../common/dictionaries. xsd'/>

<xs:element name='Acknowledgement' type='AcknowledgementType'/>

<xs:complexType name='BaseHeaderType'>

<xs:sequence>

<xs:element name='InitialRegNumber'>

<xs:complexType>

<xs:simpleContent>

<xs:extension base='xs:unsignedLong'>

<xs:attribute name='regtime' type='xs:dateTime' use='required'/>

</xs:extension>

</xs:simpleContent>

</xs:complexType>

</xs:element>

<xs:element name='Service'>

<xs:complexType>

<xs:simpleContent>

<xs:extension base='xs:string'>

<xs:attribute name='code' type='xs:unsignedShort' use='required'/>

<xs:attribute name='name' type='xs:string' use='required'/>

</xs:extension>

</xs:simpleContent>

</xs:complexType>

</xs:element>

<xs:element name='Reason' type='xs:string'/>

<xs:element name='Originator'>

<xs:complexType>

<xs:attribute name='name' type='xs:string' use='required'/>

<xs:attribute name='code' type='xs:string' use='required'/>

<xs:attribute name='region' type='RegionCode' use='required'/>

<xs:attribute name='fio' type='xs:string' use='required'/>

</xs:complexType>

</xs:element>

</xs:sequence>

<xs:attribute name='msg_type' use='required'>

<xs:simpleType>

<xs:restriction base='xs:string'>

<xs:enumeration value='REQUEST'/>

<xs:enumeration value='ACKNOWLEDGEMENT'/>

<xs:enumeration value='REQUEST_ID'/>

<xs:enumeration value='RESPONSE'/>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name='msg_vid' type='xs:string' use='required'/>

<xs:attribute name='from_foiv_id' type='xs:string' use='required'/>

<xs:attribute name='from_foiv_name' type='xs:string' use='required'/>

<xs:attribute name='from_system' type='xs:string' use='required'/>

<xs:attribute name='from_system_id' type='xs:string' use='required'/>

<xs:attribute name='to_foiv_id' type='xs:string' use='required'/>

<xs:attribute name='to_foiv_name' type='xs:string' use='required'/>

<xs:attribute name='to_system' type='xs:string' use='required'/>

<xs:attribute name='to_system_id' type='xs:string' use='required'/>

<xs:attribute name='version' type='xs:string' use='optional'/>

</xs:complexType>

<xs:complexType name='HeaderType'>

<xs:complexContent>

<xs:extension base='BaseHeaderType'>

<xs:sequence>

<xs:element name='RegNumber'>

<xs:complexType>

<xs:simpleContent>

<xs:extension base='xs:unsignedLong'>

<xs:attribute name='regtime' type='xs:dateTime' use='required'/>

</xs:extension>

</xs:simpleContent>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:extension>

</xs:complexContent>

</xs:complexType>

<xs:simpleType name='DateType'>

<xs:restriction base='xs:string'>

<xs:pattern value='\d{2}.\d{2}.\d{4}'/>

</xs:restriction>

</xs:simpleType>

<xs:simpleType name='String250Type'>

<xs:restriction base='xs:string'>

<xs:maxLength value='250'/>

</xs:restriction>

</xs:simpleType>

<xs:simpleType name='String40000Type'>

<xs:restriction base='xs:string'>

<xs:maxLength value='40000'/>

</xs:restriction>

</xs:simpleType>

<xs:simpleType name='SNILSType'>

<xs:restriction base='xs:string'>

<xs:length value='14'/>

</xs:restriction>

</xs:simpleType>

<xs:complexType name='PlaceOfBirthType'>

<xs:simpleContent>

<xs:extension base='String250Type'>

<xs:attribute name='code' type='RegionCode' use='required'/>

</xs:extension>

</xs:simpleContent>

</xs:complexType>

<xs:complexType name='PrivatePersonType'>

<xs:sequence>

<xs:element name='FirstName' type='xs:string'/>

<xs:element minOccurs='0' name='FathersName' type='xs:string'/>

<xs:element name='SecName' type='xs:string'/>

<xs:element name='DateOfBirth' type='DateType'/>

</xs:sequence>

</xs:complexType>

<xs:complexType name='AcknowledgementType'>

<xs:all>

<xs:element name='Code' type='ReturnCode'/>

<xs:element name='Result' type='String250Type'/>

</xs:all>

</xs:complexType>

</xs:schema>

Приведенный common. xsd содержит ссылку на следующий файлы:

¾  c dictionaries. xsd

Описание dictionaries. xsd

<xs:schema attributeFormDefault='unqualified' elementFormDefault='qualified' xmlns:xs='http://www. w3.org/2001/XMLSchema'>

<xs:simpleType name='RegionCode'>

<xs:restriction base='xs:string'>

<xs:enumeration value='077'/>

<xs:enumeration value='001'/>

<xs:enumeration value='002'/>

<xs:enumeration value='003'/>

<xs:enumeration value='004'/>

<xs:enumeration value='005'/>

<xs:enumeration value='006'/>

<xs:enumeration value='007'/>

<xs:enumeration value='008'/>

<xs:enumeration value='009'/>

<xs:enumeration value='010'/>

<xs:enumeration value='011'/>

<xs:enumeration value='012'/>

<xs:enumeration value='013'/>

<xs:enumeration value='014'/>

<xs:enumeration value='015'/>

<xs:enumeration value='016'/>

<xs:enumeration value='017'/>

<xs:enumeration value='018'/>

<xs:enumeration value='019'/>

<xs:enumeration value='021'/>

<xs:enumeration value='022'/>

<xs:enumeration value='023'/>

<xs:enumeration value='024'/>

<xs:enumeration value='025'/>

<xs:enumeration value='026'/>

<xs:enumeration value='027'/>

<xs:enumeration value='028'/>

<xs:enumeration value='029'/>

<xs:enumeration value='030'/>

<xs:enumeration value='031'/>

<xs:enumeration value='032'/>

<xs:enumeration value='033'/>

<xs:enumeration value='034'/>

<xs:enumeration value='035'/>

<xs:enumeration value='036'/>

<xs:enumeration value='037'/>

<xs:enumeration value='038'/>

<xs:enumeration value='039'/>

<xs:enumeration value='040'/>

<xs:enumeration value='041'/>

<xs:enumeration value='042'/>

<xs:enumeration value='043'/>

<xs:enumeration value='044'/>

<xs:enumeration value='045'/>

<xs:enumeration value='046'/>

<xs:enumeration value='047'/>

<xs:enumeration value='048'/>

<xs:enumeration value='049'/>

<xs:enumeration value='050'/>

<xs:enumeration value='051'/>

<xs:enumeration value='052'/>

<xs:enumeration value='053'/>

<xs:enumeration value='054'/>

<xs:enumeration value='055'/>

<xs:enumeration value='056'/>

<xs:enumeration value='057'/>

<xs:enumeration value='058'/>

<xs:enumeration value='059'/>

<xs:enumeration value='060'/>

<xs:enumeration value='061'/>

<xs:enumeration value='062'/>

<xs:enumeration value='063'/>

<xs:enumeration value='064'/>

<xs:enumeration value='065'/>

<xs:enumeration value='066'/>

<xs:enumeration value='067'/>

<xs:enumeration value='068'/>

<xs:enumeration value='069'/>

<xs:enumeration value='070'/>

<xs:enumeration value='071'/>

<xs:enumeration value='072'/>

<xs:enumeration value='073'/>

<xs:enumeration value='074'/>

<xs:enumeration value='075'/>

<xs:enumeration value='076'/>

<xs:enumeration value='079'/>

<xs:enumeration value='083'/>

<xs:enumeration value='086'/>

<xs:enumeration value='087'/>

<xs:enumeration value='089'/>

<xs:enumeration value='095'/>

<xs:enumeration value='099'/>

</xs:restriction>

</xs:simpleType>

<xs:simpleType name='ReturnCode'>

<xs:restriction base='xs:unsignedShort'>

<xs:enumeration value='1'/>

<xs:enumeration value='2'/>

<xs:enumeration value='3'/>

<xs:enumeration value='4'/>

<xs:enumeration value='5'/>

<xs:enumeration value='6'/>

<xs:enumeration value='7'/>

<xs:enumeration value='8'/>

<xs:enumeration value='9'/>

<xs:enumeration value='10'/>

<xs:enumeration value='11'/>

<xs:enumeration value='12'/>

<xs:enumeration value='13'/>

<xs:enumeration value='14'/>

<xs:enumeration value='15'/>

</xs:restriction>

</xs:simpleType>

</xs:schema>

Описание response_EPGU. xsd

<xs:schema attributeFormDefault='unqualified' elementFormDefault='qualified' targetNamespace='http://*****/mvd/clients/epgu/response' xmlns:ds='http://www. w3.org/2000/09/xmldsig#' xmlns:pgu='http://*****/services/pgu' xmlns:tns='http://*****/mvd/clients/epgu/response' xmlns:xs='http://www. w3.org/2001/XMLSchema'>

<xs:import namespace='http://www. w3.org/2000/09/xmldsig#' schemaLocation='http://develop. *****/services/EPGUService? wsdl&amp;resource=../common/xmldsig-core-schema. xsd'/>

<xs:import namespace='http://*****/services/pgu' schemaLocation='http://develop. *****/services/EPGUService? wsdl&amp;resource=response. xsd'/>

<xs:complexType name='AppDataType'>

<xs:all>

<xs:element minOccurs='0' ref='ds:Signature'/>

<xs:element ref='tns:Message'/>

</xs:all>

</xs:complexType>

<xs:element name='Message'>

<xs:complexType>

<xs:all>

<xs:element ref='pgu:changeOrderInfo'/>

</xs:all>

</xs:complexType>

</xs:element>

</xs:schema>

Приведенный файл XSD request. xsd содержит ссылку на следующий файлы:

¾  xmldsig-core-schema. xsd

¾  response. xsd

Описание response. xsd

<xs:schema attributeFormDefault='unqualified' elementFormDefault='qualified' targetNamespace='http://*****/services/pgu' xmlns:xs='http://www. w3.org/2001/XMLSchema'>

<xs:element name='changeOrderInfo'>

<xs:complexType>

<xs:annotation>

<xs:documentation>

Информация для изменения статуса заявки в ЛК

</xs:documentation>

</xs:annotation>

<xs:sequence>

<xs:element name='orderId'>

<xs:annotation>

<xs:documentation>

Cтатус заявки

</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:choice>

<xs:element name='pguId' type='xs:string'>

<xs:annotation>

<xs:documentation>

Id заявки на портале

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name='orgId' type='xs:string'>

<xs:annotation>

<xs:documentation>

Id заявки в ведомстве

</xs:documentation>

</xs:annotation>

</xs:element>

</xs:choice>

</xs:complexType>

</xs:element>

<xs:element name='statusCode'>

<xs:annotation>

<xs:documentation>

Новый статус заявки

</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:choice>

<xs:element name='orgCode' type='xs:string'>

<xs:annotation>

<xs:documentation>

Код статуса ведомства

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element name='techCode' type='xs:string'>

<xs:annotation>

<xs:documentation>

Код статуса ЕПГУ

</xs:documentation>

</xs:annotation>

</xs:element>

</xs:choice>

</xs:complexType>

</xs:element>

<xs:element minOccurs='0' name='comment' type='xs:string'>

<xs:annotation>

<xs:documentation>

Комментарий

</xs:documentation>

</xs:annotation>

</xs:element>

<xs:element minOccurs='0' name='cancelAllowed' type='xs:boolean'>

<xs:annotation>

<xs:documentation>

Возможность отмены

</xs:documentation>

</xs:annotation>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>

Приведенный файл XSD response_GIAC. xsd содержит ссылку на следующий файлы:

¾  response. xsd

¾  xmldsig-core-schema. xsd

Описание response. xsd

<?xml version="1.0" encoding="utf-8"?>

<xs:schema attributeFormDefault="unqualified"

elementFormDefault="qualified"

xmlns:xs="http://www. w3.org/2001/XMLSchema">

<xs:include schemaLocation="giacCommon. xsd"/>

<xs:element name="Header" type="HeaderType"/>

</xs:schema>

5.2 Описание общих структур данных

1.  tns:RequestEPGU

Сообщения request_EPGU. xsd имеют структуру, представленную ниже.

Код параметра

Описание параметра

Обязательность

Способ заполнения/Тип

Комментарий

1

Message

Зона сообщения «Сообщения»

+

xs:complexType

Описание элемента приведено в п.1.1

2

DSignature

Зона сообщения «Электронная подпись»

-

1.1.  Параметр комплексного типа: xs:complexType Message

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9