* copyright (C) 1984-2019 merrill consultants dallas texas usa



Yüklə 28,67 Mb.
səhifə251/383
tarix17.01.2019
ölçüsü28,67 Mb.
#98988
1   ...   247   248   249   250   251   252   253   254   ...   383

measurements, if you use the PDB.TYPE70PR detail dataset

you will want to revise your reporting to exclude the

ICF CPUs from your capacity counts and measurements.


Change 17.161 Support for APAR OW37816 adds data for new 2105 cache

VMAC74 subsystem to dataset TYPE74CA, and the data looks very

Jul 11, 1999 interesting with these new variables:

R7451AID='DEVICE*ADAPTER*ID'

R7451DVN='DEVICE*NUMBER'

R7451FLG='0=NO INFO*1=RAID RANK DATA'

R7451HDD='NUMBER OF*HDDS IN*RAID RANK'

R7451HSS='HDD*SECTOR*SIZE'

R7451NVS='NVS*SPACE*ALLOCATION'

R7451RID='RAID*RANK*ID'

R7451RMR='RECORD*MODE*READ*REQUESTS'

R7451RRQ='RAID*RANK*READ*REQUESTS'

R7451RRT='RAID*RANK*READ*RESPONSE*(MILLISEC)'

R7451RSV='R7451RSV*LOWER*IO*MILLISEC'

R7451SR ='RAID*RANK*FB SECTORS*READ'

R7451SW ='RAID*RANK*FB SECTORS*WRITTEN'

R7451TSP='TRACKS XFERED*TO SECONDARY*PPRC VOL'

R7451WRQ='RAID*RANK*WRITE*REQUESTS'

R7451WRT='RAID*RANK*WRITE*RESPONSE*(MILLISEC)'

R7451XCW='XRC OR CC*CONTAMINATED*WRITES'

R7451XSF='XRC OR CC*SIDEFILE*READ*REQUEST'

The change also populates field R745XRSV, which has been

in dataset TYPE74CA as MXG variable RSV for some time:

RSV ='LOWER*INTERFACE*IO*(MILLISEC)'

And the Real Control Unit ID, R745CUID/R745DCID was added

to both the Cache Control Section and the Cache Device

Data Sections.

This change has been syntax checked, but not yet tested

with records with the PTF installed. This note will be

deleted when the change has been validated with data.


Change 17.160 SAS requires all BY list variables to be in the 1st 4092

ANALRMFR bytes of the physical record, a SAS restriction that I

Jul 11, 1999 had not hit before, but this RMF report program failed

when many reports were requested, as it creates a single

dataset with many variables. By creating a copy of the

data with an added RETAIN statement (as suggested by the

text of the SAS Error message!!):

DATA newcopy; RETAIN list-of-BY-variables; SET oldcopy;

the zY variables are located at the front of the newcopy.

Thanks to Jon Whitcomb, Great Lakes Higher Education Corporation, USA


Change 17.159 RMF Type 99 Subtype 2 variable PCDCLOCK was input as PIB

VMAC99 but it can be negative, so it should have been input IB,

Jul 11, 1999 and it was input from the wrong location, and new fields

added by OS/390 R2.6 are now decoded in dataset TYPE99_2.

Thanks to Ralph Acorn, Safeway, USA.
Change 17.158 Top Secret writes TYPE80 SMF records with RACFTYPE values

VMAC80A of 0,103-105,109, and 255 that caused "SEGMENT SKIPPED"

Jul 11, 1999 messages on the MXG log. This change revised the MXG

logic so only five messages will be printed on the log:


INPUT +RACFDLN @; old

NSKPRACF+1; new

IF NSKPRACF LE 5 THEN new

PUT /' SKIPPED SEGMENT ' RACFEVNT= .... old

Fortunately, the TYPE80xx datasets created are valid.

I'm awaiting test data to decode these TSS-only events,

and this text will be updated when MXG is enhanced to

deal with the TSS-only data records and fields.

Thanks to Marc Matthys, Hudson Williams Europe, BELGIUM.
Change 17.157 The new _STY30TD sort macro for TYPE30TD had SMFTIME in

VMAC30 the BY statement, but it is not kept in the dataset, and

Jul 9, 1999 the BY list is now READTIME JOB JESNR DEVNR INITTIME.

Thanks to Chuck Hopf, MBNA, USA.


Change 17.156 Support for CICS TS 1.3 new field TRNGRPID which was

IMACEXCL inserted in the CICSTRAN record (INCOMPATIBLY), causing

VMAC110 many fields to have incorrect values. IBM did not

Jul 7, 1999 automatically refresh my documentation when they added

the field (which happens to reuse a previously used field

number, 082 decimal). To just skip over the new field,

insert a line with +28 after CLIPADDR $EBCDIC16.

Thanks to Dirk Frijlink, Shell Services International, NETHERLANDS.


Change 17.155 Support for Connect Direct Release 3.2 record 'CT'.

VMACNDM The documentation is wrong in their Appendix pages,

Jul 6, 1999 but MXG tolerates the 3.2 record. There are three

fields added in existing location, one of which,

MXG variable NDMCTDOF, is an offset to a new table,

but I have no example record with that offset present,

so the CTDTOTAL table cannot be decoded until a data

record with that event (process was restarted) is

available.

Thanks to Fiona Crane, IBM United Kingdom, ENGLAND.


Change 17.154 Zero observations in dataset NSPYTIC3 and non-zero in

VMACNSPY NSPYETHR is the result of Change 16.147 overriding

Jul 6, 1999 Change 15.268. The tests for NSPYRECI have been again

corrected, so that for NSPYREL 4.5 and higher, only the

NSPYRECI is used to select ETHERNET versus TIC3, but

4.4 and earlier are protected by using the other flags,

but only for R 4.4.

Thanks to Simon D. Briggs, Allied Irish Bank, IRELAND.


Change 17.153 Variable MCBSCRD, Uncatalog Date, is now created in HSM

VMXGHSM dataset set in dataset MCB from the HSM control file.

Jul 6, 1999

Thanks to Stephen Hahne, Capital One Financial Services, USA.


Change 17.152 Support for MIM's user SMF record is enhanced, and a new

EXTYMIMD dataset is now created, with GDIF benefit counts at the

VMACMIM MIIPLEX LPAR level. The new dataset keeps the old name

Jul 6, 1999 of MIMGDBE, but is at a higher level of detail now, and

the lower level of detail at the enqueue QNAME level that

was MIMGDBE is now created as dataset MIMGDBC.

Thanks to Martyn A. Jones, Chase, ENGLAND.
Change 17.151 TMS records containing DENX='DE'x are undocumented, but

VMACTMS5 appear to be stored in records for Deleted VOLSERs, as

Jul 6, 1999 none of the dates are populated, and Create Job Name is

Jul 11, 1999 DELETE, and Stepname is EBCDIC zeroes. This unexpected

DENX value caused MXG to print a note and a hex dump on

the SAS log, because Density is used to estimate the feet

of tape used, but this note has no real impact on the TMS

datasets created by MXG. To suppress the notes, I added

ELSE IF DENX=0DEX THEN DEN=0; after ELSE IF DENX=0E8X...

-The %%INCLUDE SOURCLIB(EXdddddd); statements should have

been replaced with their _Edddddd macro invocations in

the 16.04 re-architecture; they are now revised so that

those MXG dataset exits can be overridden with MACKEEP=.

Thanks to Andre van de Riet, Hudson Williams Europe, THE NETHERLANDS.

Thanks to Chuck Hopf, MBNA, USA.
Change 17.150 While support for CICS TS 1.3 was in member VMAC110, the

IMACEXCL support for excluded fields was not added to IMACEXCL

Jul 5, 1999 until this change.

Thanks to Harald Seifert, Huk-Coburg, GERMANY.


Change 17.149 The VVDS Key Cluster Name was not converted to blanks

VMACVVDS if the fieldname contained '80'x or '00'x, but now, like

Jul 5, 1999 the other names, the TRANSLATE function converts.

Thanks to Tom Benson, Amdahl U.K., ENGLAND.


Change 17.148 Cosmetic. Label for variables DSG32NAM and DVL32NAM

VMACDCOL are now 'DSG FLAG*SMS 8-WAY OR*32 WAY?' and 'DVL ....'

Jul 5, 1999

Thanks to Grahm West, NPI, ENGLAND.


Change 17.147 MXG 17.03, "BY VARIABLES NOT SORTED IN WORK.SPIN30TD"

BUILD005 error is corrected by moving these two existing lines:

BUIL3005 PROC SORT %VMXGFOR DATA=CVRT30TD OUT=CVRT30TD ;

Jun 30, 1999 BY READTIME JOB JESNR INITTIME DEVTYPE DEVNR;

from before the DATA SPIN30TD; statement, to after the

PROC DELETE DATA=CVRT30TD; statement, and then change

the CVRT30TD in both places in the PROC SORT to SPIN30TD.

Thanks to Dirk Frijlink, Shell Services International, NETHERLANDS.


Change 17.146 Inconsistencies and typos were corrected.

MONTHBLD -The BY list in WEEKBLD-MONTHBLD for TYPE89 caused NOT

WEEKBLD SORTED error because SYSPLEX should have been added as

WEEKBLDT the first var in the BY list after Change 16.xxx was made

VMAC25 to its VMAC.

VMAC80A -The BY list for TYPE70PR caused no error, but was changed

VMACRMFV in WEEKBLD-MONTHBLD by adding LPARNUM LCPUADDR, so as to

VMACTMO2 be consistent with its VMAC.

VMACTMV2 -The BY list for TYPE30_6 could error, so it was changed

Jun 28, 1999 in WEEKBLD-MONTHBLD by inserting SYSTEM after JESNR so as

to be consistent with its VMAC.

-Typo WTY24 was changed to WTY25 in member VMAC25.

-Typo WTY8025 and WTY8X25 were changed to WTY8X24 in

member VMAC80A.

-Typo ZRBSDSIH was changed to ZRBBDSIH in VMACRMFV.

-Typo MONIDBD was changed to MONIDBDS in VMACTMO2.

-Type TMVSSSW was changed to TMVSYSSW in VMACTMV2.

Thanks to Fredie Arie, Lone Star Gas, USA.


Change 17.145 SYNCSORT variables COREREQ and COREUSED are now format as

VMACSYNC MGBYTES (to print KB/MB/GB etc), and their stored length

Jun 28, 1999 is increased from 4 to 8 bytes (because memory values of

16MB or larger cannot be stored exactly in 4 bytes).

If you use PROC APPEND to combine datasets with variables

of different length, you will get an error if you do not

specify FORCE, and even when you specify FORCE (which I

recommend: I think FORCE should be PROC APPEND's default)

you will still end up with the variables as 4-bytes. You

must recreate your "BASE" dataset with corrected lengths:

DATA BASE; LENGTH list-of-variables 8; SET BASE; and then

PROC APPEND won't fail and will have correct length 8.

The TYPESYNC variables that are now length 8 are:

SYNCAVLA SYNCAVLT SYNCREQT SYNCUSEA SYNCUSET SYNDSMVL

SYNVSCOR SYNVSCRT COREREQ COREUSED
Change 17.144 Cosmetic. The deaccumulation logic that was still in the

DIFFNTCP DIFFNTCP member was moved into the _SNTCPSY macro in the

Jun 28, 1999 VMACNTCP member; now, DIFFNTCP member invokes _SNTCPSY.
Change 17.143 The BY list was insufficiently specified and might not

VMAC42 remove duplicates for dataset TYPE42VL (variable SMF42VOL

Jun 24, 1999 was added to _BTY42VL), and for dataset TYPE74PA (macro

_BTY74PA has variables R742PTCN R742PDEV R742PODV added).

Thanks to Chuck Hopf, MBNA, USA.
Change 17.142 VMXGRMFI creates PDB.RMFINTRV with up to 115 workloads,

VMXGRMFI but had uninitialized and missing values if you used the

Jun 24, 1999 new WORKn= variables; those ommissions are now corrected.

-New option PDB=PDB or SMF lets you create RMFINTRV from

either an existing PDB library, or directly from SMF.

-Comments have examples of how to create new workloads:


%VMXGRMFI(WORK1=OMVS/OMVS/66 67/OMVS);

xxxx yyyy nn aaaa


where xxxx = prefix of the variable names to be created,

yyyy = prefix of the label of the created variables

nn = for Compatibility Mode: list of PERFGRPs

that make up this workload.

aaaa = for Goal Mode: list of Service Class Names

that make up this workload.

will create 17 variables named OMVSCPU,OMVSIOTM,... from

PERGRPS=66 or 67 or from SRV records.


Comments in the member show how you can invoke %VMXGRMFI

multiple times with different INTERVAL= values to create

multiple "RMFINTRV,RMFINTHR,RMFINTDY..." hourly, daily,

summary datasets in the same PDB library, and more.


Change 17.141 -The utility to create the SYSIN for a tailored BUILDPDB

UTILBLDP did not null the _Sdddddd sort macro when you suppressed

Jun 24, 1999 an SMF record. Also, while most product's ID macro name

Jul 9, 1999 is of the form _IDxxxx, a few members had the _xxxxID,

and these exceptions are now known by UTILBLDP logic,

so the correct macro name will be generated.

-We recommend that the ID macros for your user SMF records

be defined in member IMACKEEP, so that anyone running an

MXG TYPExxxx program will get the right records selected.

If you use UTILBLDP and specify USERADD=XXXX/NNN, it will

create the _ID macro, but if you use only USERADD=xxxx,

UTILBLDP will not generate an _ID macro for product xxxx,

and instead expects to find your _ID macro in IMACKEEP.
-A new parameter, IMACKEEP=, has been added, so you can

write all _IDxxxx and _xxxxID macro definitions to a

file, and then use that file as your IMACKEEP member, if

you have not already created the IMACKEEP definitions.

-New parameter RMFINTRV will suppress creation of RMFINTRV

dataset, and is used: if TYPE7072 is suppressed, RMFINTRV

won't be built and warning message will be printed; if

other datasets needed by RMFINTRV are suppressed, the

PDB.RMFINTRV will be built, but warning messages will be

printed on the SAS log.

-If TYPE70PR dataset is detected, ASUM70PR will be added.

-Only the _DIFFxxx's that exist will be created.

-USERADD=6, 30, or 26 caused BUILD005 to fail because the

datasets were deleted; now they are kept for BUILD005.

-IMACKEEP= option will create an IMACKEEP member with your

optional records added, etc.

Thanks to Simon Briggs, Allied Irish Bank, IRELAND.
Change 17.140 The PROC SORT of TYPE30_D had SMFTIME specified twice; in

VMAC30 the _BTY30UD macro and at the end of the BY statement.

Jun 24, 1999 This is not really an error, but now SAS Version 7 will

not permit repeats in the BY list, so the SMFTIME in the

BY statement was removed to satisfy SAS syntax.

Thanks to Andre van de Riet, Hudson Williams Europe, THE NETHERLANDS.

Thanks to Ed Powers, Pearson, USA.
Change 17.139 Documentation. One of the examples had a LIST; statement

SENDDATA that should have been after the FILE LOG; statement, but

Jun 23, 1999 it was after the FILE SMFOUT; statement.

Thanks to Solomon Baker, The Prudential, USA.


Change 17.138 Support for APAR OW37254 "Capacity Upgrade on Demand" for

VMAC7072 type 70 record (COMPATIBLE) adds flag variable STSICPC=Y

Jun 23, 1999 if the STSI facility is available for the CPC, and adds

CPCMODEL (CPC Model Identifier) to TYPE70PR dataset.

A "CPC" is a Central Processing Complex (previous IBM

name: "CEC" for Central Electronic Complex), for example,

a parallel enterprise server 9672 is a CPC, and variable

CPUTYPE='9672'X. An RX6 is a model of 9672, so the new

variable would contain CPCMODEL='RX6' in TYPE70PR.

Note: Change 18.258 added CPCMODEL to TYPE70 dataset.

Thanks to Bob Falla, The Mutual Group, CANADA.
Change 17.137 Format $MG039SN for type 39 Netview record has new value

FORMATS '5'='5:CP-CP' now created; the value is not new but had

Jun 23, 1999 been overlooked.

Thanks to Chris Taylor, Wachovia, USA.


Drove 990 miles to Telluride BlueGrass Festival, Telluride, Colorado.

Four days, forty groups, four hundred tunes - a great show!


Change 17.136 TCP TELNET Server variable TELLOGFT in dataset TYPETCPT

VMACTCP is created by IBM with date format of yyyydddF, which is

Jun 15, 1999 not supported by the SMFSTAMP8. format (which expects

Jul 29, 1999 the IBM SMF "century bit" format of 0cyydddF). With a

raw value 1999099F, SMFSTAMP8 creates year 3899 for date!

The SMFSTAMP8. input was replaced with the algorithm from

member YEAR2000 to support the unexpected date value.

Jul 29: Removed PUT TELLOGTM= ; debugging statement.

Thanks to Colin Bowen, Old Mutual, SOUTH AFRICA.

Thanks to Freddie Arie, Lone Star Gas, USA.


Change 17.135 Support for NETSPY type I Telnet Session record creates

EXNSPYTE new NSPYTELN dataset with written at interval and session

FORMATS end, with bytes in/out, smooth time, IP addresses and the

IMACNSPY LUNAME of the session.

VMACNSPY

VMXGINIT


Jun 10, 1999

Thanks to Stuart Robertson, GIO, AUSTRALIA.


Change 17.134 MXG message ERROR - STID=123 FOUND WITH SKIPPED FIELDS

VMAC110 is an MXG error. The statement SKIP=STILEN-100; in the

Jun 10, 1999 ELSE IF STID=123 THEN DO; must be SKIP=STILEN-104;

Thanks to Jean-Pierre Ravera, Michelin, FRANCE.


Change 17.133 Using TYPSCIMS caused errors (but TYPECIMS was okay).

VMACCIMS The _BIMFDB2 by-list macro must have PLANNAME instead

Jun 10, 1999 of DBDNAME, and variable DBDSEQNR must be added to the

KEEP= list for the CIMSDB2 dataset

Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 17.132 Cosmetic. Temporary variables MNSMFTME and MXSMFTME are

VMACSMF now formatted DATETIME21.2, so they will be readable if

Jun 10, 1999 printed on the SAS log due to an error condition.
Change 17.131 If you used VMXGSUM with the NORM= argument to normalize

VMXGSUM values, and if the denominator was zero, you got DIVIDE

Jun 10, 1999 BY ZERO. Now, the divide is protected. No error was

reported; the exposure was observed and protected.

Thanks to Chuck Hopf, MBNA, USA.
Change 17.130 RMM Extract EDGHSKP, support for its four date formats:

IMACEDGR Julian 1999/365 YYYY/DDD JULIAN7.

VMACEDGR ISO 1999/12/31 YYYY/MM/DD YYMMDD10.

Jun 9, 1999 European 31/12/1999 DD/MM/YYYY DDMMYY10.

Jun 24, 1999 American 12/31/1999 MM/DD/YYYY MMDDYY10.

Jun 29, 1999 is implemented in this revision. Originally, dates were

Jul 9, 1999 stored as character fields, and MXG 16.16 converted them

into date variables (so you can count number-of-days),

but MXG 16.16 only supported the ISO format. All four

date formats are now supported, but only JULIAN and ISO

are supported automatically, by default. So if your RMM

extract dates are European or American format, you must

update member IMACEDGR and change the default definition

of MACRO _EDGRDTE YYMMDD10. % to the desired format (or

you could put that redefinition in member IMACKEEP).

-RMM Extract Type='V' records (EDGHSKP utility) caused

INVALID DATA FOR RVLCDATE. MXG was off by 6 bytes. The

line with RVCFTIME $EBCDIC6. /*DSN*CREATE*TIME*/

must be deleted (it's decoded by the following HH/MM/SS).

-Variables RDRETDAT/RVRETDAT may contain a date, but can

be CYCL/nnnnn or WHILECATLG, so new variables RDRETCHR/

RVRETCHR now contain the character string of their date.

If the RDRETDAT/RVRETDAT are not valid dates, they will

be missing values, but RDRETCHR and RVRETCHR will

contain the original string value.

-Times are now calculated IF SS GE 0 THEN ... instead of

IF SS GT 0 THEN ... as zero is a valid value for SS; the

test is to protect if SS/HH/MM are missing, not zero.

-Variables RVSTBIN and RVOBIN are changed from character

to numberic, as they are bin numbers.

Thanks to Darlene E. Wnukowski, Schreiber Foods, Inc, USA.

Thanks to Jan van Lent, Hudson Williams Europe, GERMANY.


Change 17.129 SAP R/2 5.0i under CICS 4.1 at one site created type 110

VMAC110 subtype 0 journal records with JCRLL=30, which was not

Jun 9, 1999 not expected nor protected in VMAC110 for 4.1, so the

three statements IF JCRUTRID='SA' THEN DO; are changed

to IF JCRUTRID='SA' AND JCRLL GE 250 THEN DO;

Thanks to W. Weber, V.I.S. Informationssysteme Gmbh, GERMANY.


Change 17.128 Utility to produce EBCDIC hex dumps under ASCII SAS was

UDUMPEBC enhanced with OUTPAGES= operand to limit the number of

Jun 9, 1999 pages printed. I needed this so I don't have to print

all 32760 bytes of a type 110 record if I don't need it!


Change 17.127 Support for APAR OW29849, which adds variables counting

VMAC88 writes and suspends by the system logger; this APAR also

Jun 9, 1999 improves the write performance of IXGWRITE by offloading

asynchronously to overlap I/O.


======Changes thru 17.126 were in MXG 17.03 dated Jun 8, 1999======
Change 17.126 Boole and Babbage has provided an enhancement to their

ASMMNVW MainView history file decompression SAS Infile Exit that

Jun 7, 1999 decompresses on the data on the fly. The new algorithm

supports both the original implementation as well as the

current compression implementation.
Change 17.125 Sample ANALPATH report expected no more than 16 LCUIDs on

ANALPATH on CHPID, and was revised in MXG 17.03 to handle up to 32

Jun 7, 1999 but the report was revised after 17.03 was built to only

Jun 9, 1999 print a line for LCU17-LCU32 if there were 17 LCUIDs.

Thanks to Bruce Koelker, Gates Rubber Company, USA.
Change 17.124 Support for TYPE 42 Subtypes 7 NFS File Usage and subtype

EXTY42NF 8 NFS User Session Statistics, creates new TYPE42NF and

EXTY42NU TYPE42NU. TYPE42NF File has only the end time; there is

FORMATS no OPEN/Start time, but includes counts in bytes and I/O

IMAC42 blocks. TYPE42NU User Session interval record has start

VMAC42 and session end times, elapsed/active durations, bytes

VMXGINIT read/written for network/files during the session. Both

Jun 5, 1999 TYPE42NF and TYPE42NU contain RACFUSER,RACFGRUP, the unix

Process and Group Ids, IP Address of the client host and

the client host name. Some field names in subtype 7 are

the same as existing subtype 15 field names, so some new

variables are named S42xxx instead of SMF42xxx. Two new

formats were added to decode NFS variables. These two

subtypes have existed since 1994, but no one noticed, as

they are only documented in "NFS Customization and Ops"

manual; they are not listed in the SMF manual!

Thanks to Mat J.H. Elbersen, Rabobank, THE NETHERLANDS.
Change 17.123 Support for SoftAudit Version 7.1 COMPATIBLY added the

VMACSFTA CPU Product Group and CPU Product Version variables to

Jun 4, 1999 the SOFTPROD Installed Products dataset.
Change 17.122 Support for STK's NearOAM V2.2 COMPATIBLY added variables

VMACNOAM like intercept and scheduling datetimestamps, the name of

Jun 4, 1999 the requesting job, name of the object, ... to TYPENOAM.

Thanks to Fiona Crane, Sun Alliance Insurance Group, ENGLAND.


Change 17.121 Variable SMF88AWB was mis-documented by IBM as RB8., but

VMAC88 it is a PIB8. Variable SMF88AIT was a character string,

Jun 4, 1999 but is actually a TODSTAMP value, so it is now decoded as

numeric and formatted as DATETIME21.2. The subtype 11

record has an observation written at the end of each

interval with blank SMF88STN (structure name), with only

SMF88ALS (log streams connnected at end of interval).

The TYPE8811 dataset now has variable SMF88LTD (interval

end datetimestamp) kept from the preceding subtype one,

since there is no interval end value in TYPE8811. Also,

there is no interval start nor interval duration in the

subtype 1, so the rates cannot be calculated without an

extra de-accumulation step to construct the duration of

the interval. Pending IBM's reply as to whether they

will correct the problem, and due to overwhelming nonuse

thus far, I have not added deacculumulation yet.

Since SMF88LTD is on the GMT clock and since there is no

GMT offset in the record, the times cannot be converted

to local time of day.


Yüklə 28,67 Mb.

Dostları ilə paylaş:
1   ...   247   248   249   250   251   252   253   254   ...   383




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin