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



Yüklə 28,67 Mb.
səhifə363/383
tarix17.01.2019
ölçüsü28,67 Mb.
#98988
1   ...   359   360   361   362   363   364   365   366   ...   383

GRAFTMNT TREND.TAPEMNTS. GRAFTMNT builds graphics catalog TAPEMNTS

TRNDTMNT from data either in PDB or TREND database.

Oct 17, 1989

Thanks to Chuck Hopf, Hopf Consulting, USA.


Change 07.155 Variable TMNTMTPY in line 004900 should have been spelled

VMACTMNT TMNTMTYP. In MXG 7.1 Beta only.

Oct 17, 1989
Change 07.154 This change eliminates a compatibility exposure between

BUILDPDB MXG 6.6 and 7. The SPIN6 dataset built by MXG 6.6 may not

BUILDPD3 be in order expected by MXG 7 (it depends on whether the

Oct 17, 1989 site added PRENTIME to the BY list in BUILDPDB/3 in its

implementation of MXG 6.6). This change inserts a PROC

SORT of the SPIN6 dataset before combining it with the

new TYPE6 dataset to avoid the possibility of the "out

of sort order" condition.


Change 07.153 In what is believed to be the final revision for VTOC

VMXGVTOC measurement, VMXGVTOC was again INCOMPATIBLY changed.

Oct 16, 1989 Previous users will need to change their reporting.

The MXG VTOC-reading facility now creates three datasets:

VTOCLIST - one obs per dataset, tracks allocated, tracks

used, creation, expiration dates, etc. This

was previously named VMXGVTOC.

VTOCMAP - one obs per extent/free space. A map of the

DASD volume. Previously named VMXGFREE.

VTOCINFO - one obs per volume, from the DSCB4. Size of

the volume, and VTOC flags such as Indexed

VTOC, Available DSCB0s, Available tracks,

System Managed Storage status, etc. New.

The description of this VTOC facility for DASD space

management and accounting is contained in extensive

comments at the beginning of the member itself.

Thanks to Don Wensel, Philip Morris, USA.
Change 07.152 IMS log processing variable MSGLEN (message length) may

VMACIMS be wrong. The LOC=MSGPRFLL in MXG 6.6 was changed in

Oct 16, 1989 MXG 7.0 to LOC=MSGPRFLL+1 to locate where MSGLEN is to

be INPUTed. It appears this change in 7.0 was wrong and

the MXG 6.6 logic is restored. Please look at the value

of variable MSGLEN for message size of a known IMS tran

and confirm if this LOC= logic is correct for your site.

Thanks to Pete Shepard, Ashland Oil, USA.


Change 07.151 IMS log processing logic which merges datasets PRG and

TYPEIMS INOUT was incorrectly changed in MXG 7.0. The PROC SORTs

Oct 16, 1989 of PRG and INOUT just before the MERGE (lines 107610 to

107670) were deleted, and the BY variable of TRANSACT

for the merge was changed to the original DTOKEN. This

merge was more robust than the initial 7.0 change. All

other logic changes in 7.0 appear to be correct. A nit

was also noted: the format for ARRVTIME should be 19.2

for consistency with other DATETIME formats.

Thanks to Pete Shepard, Ashland Oil, USA.


Change 07.150 -EXPLORE/VM variable SERIAL should be input as $CHAR4.

TYPEVMXP and formatted as $HEX8. in member VMACVMXP.

VMACVMXP -The %INCLUDE SOURCLIB(IMACVMXP) in member VMACVMXP

Oct 16, 1989 was moved to member TYPEVMXP.

Thanks to Pete Shepard, Ashland Oil, USA.
Change 07.149 Variable OTH0CPU was not in the KEEP= list for dataset

GRAFTRND ALLCPU.

Oct 16, 1989

Thanks to Pete Shepard, Ashland Oil, USA.


Change 07.148 VM/XA Monitor dataset VXIODDEV variables AVGCONMS,

VMACVMXA AVGDISMS and AVGPNDMS are 1000 times to large. The 1000*

Oct 12, 1989 in lines 686900-687100 was removed. This dataset is not

typically kept, and all three values are correct in the

VXDEVDET, VXDEVTOT, VXSUMIOD datasets that are used in

MXG VM/XA report examples (because these averages were

recalculated correctly in building those datasets).

Thanks to Jeff Goodfellow, GTE Services, USA.


Change 07.147 Numerous discoveries during testing 7.1 Beta DB2 reports.

ANALDB2R All but subpart 4 apply only to ANALDB2R reporting and

VMACDB2 only to the STATISTICS reports.

Oct 12, 1989

-All QSDCKPT changed to QWSDCKPT.

-Second WRITE OUTPUT LOG BUFFERS lines 945200-945300 are

replaced by semicolon and line 944600 should be QJSTBFWR.

-After DB2 COMMANDS, lines containing @ 85 PUOR 'N/A'

should contain only @85 'N/A'.

-The Buffer Pool variables DB2ACCT QBnC... and DB2STAT1

QBnT... (where n is 1, 2, 3, 4) now correctly contain the

data corresponding with buffer pool id values 0, 1, 2, 80

for BP0, BP1, BP2, and BP32. Previously, n=1 variables

contained whatever BP was in the first segment. No data

was lost, but now the variable name n=1 to 4 does match

the contents correctly. (This was the VMACDB2 part).

The Buffer Pool reporting now uses a DO loop instead of

repetitive code, and only prints reports for pools with

activity. (This was the ANALDB2R part).

-QWHSSTCK (time stamp) in the DB2STAT1 dataset might not

be exactly the same ast QWHSSTCK in the DB2STAT0 dataset,

but DB2 reporting requires MERGE of those separate data.

Now, QWHSSTCK will be retained from subtype 0 to subtype

1 of the DB2 Type 100 SMF record so that the MERGE will

not fail. This change also compares the STCK value in a

subtype 1 with the previously retained STCK from the 0,

and PUTs error if out of sequence data is encountered.

-Variables QISEPAGE, QISECTS, QISEFREE, QISESKCT, QTDSOPN,

QISEDBD, QB1TCBA, QB2TCBA, QB3TCBA and QB4TCBA values are

end-of-interval values, but MXG summed their values. Now,

the MXG summarization calculates the average value of the

end-of interval data values for the interval.

-CORRNMBR and CORRNUM were redundantly named, and were not

parsed correctly for IMS connections. Now, CORRNUM is the

only variable used in ANALDB2R, and the values of the

QWHCCN (=:IMS,=:CICS, all else) is used to decide how to

parse CORRNAME and CORRNUM from QWHCCV.

-Second occurrence of DATABASE SERVICES in summary CPU

report (QJS3 variables) are actually for the IRLM, and

now the heading is correct.

-Macro variables were defined both in the ANALDB2R macro

definition, and in the macros called by ANALDB2R. This

redundant code added unnecessary lines and required care

in making redundant changes. Now, all macro variables are

defined only in the ANALDB2R definition and are no longer

explicitly defined in the actual report macro.

-QJST.... variables IDEN,CTHD,SIGN,TERM,ABRT,PREP,COMM,

INDT,RIUR,SYNC,CTHW should have been Q3ST in ANALDB2R.

Thanks to Jan van Lent, Fokker, NETHERLANDS.
Change 07.146 Variables QBnTPFDC, QBnTWKPD, QBnTWMAX, added by Change

DIFFDB2 7.130 to DB2STAT1 dataset were not deaccumulated. Now the

Oct 12, 1989 dozen variables are DIF()'d. Only MXG 7.1 Beta.

Thanks to Bob Olah, Dun and Bradstreet, USA.


Change 07.145 Line 942200 should be ARCHIVE LOG instead of ACTIVE LOG,

ANALDB2R Line 459300 NODUPKEY (PC syntax) should be NODUP for the

Oct 12, 1989 mainframe syntax. Only MXG 7.1 Beta.

Thanks to Pete Galaveri, Readers Digest, USA.


Change 07.144 Change 7.137 new line 012301 mistyped SMF6LN1 as SMFLN1,

VMAC6 causing "UNINITIALIZED" message and missing values. This

Oct 12, 1989 only affected the 7.1 Beta code.

Thanks to Chuck Hopf, Hopf Consulting, USA.


Change 07.143 Line inserted by Change 7.008 after line 23610 did not

BUILDPDB agree with Change. Line 023610 should be IF LAST.JESNR as

Oct 12, 1989 stated in the Change, replacing FIRST.JPURTIME in code.

Thanks to Debby Blackey, Marshalls, USA.


Change 07.142 PR/SM environment TYPE70 CPUWAITM and PCTCPUBY were wrong

VMAC7072 if the number of logical processors was greater than the

Oct 11, 1989 number of real processors. An MVS 3090-400 was given six

logical processors by PR/SM. The type 70 record shows MVS

NRCPUS is four, shows CPUs1-4 are online (CAI1-CAI4 are

'01'B, online-for-entire-interval), shows CPUSER1-CPUSER4

with the real serial numbers, and shows other CAIn and

CPUSERn values are blank. For the PARTISHN in which this

MXG is executing, there are six Logical Processor Data

Sections, creating six TYPE70PR observations, but the

only four that have non-zero LCPUPDTM PR/SM Dispatch also

have LCPUADDR values 1-4 matching the online CAIn values!

MXG correctly calculated individual CPU percent busy and

CPU wait in PCTCPBY0-8 and CPUWAIT0-8 variables using the

duration minus dispatch DURATM-LCPUPDTM, but MXG did not

correctly calculate CPUWAITM and PCTCPUBY in TYPE70 when

6 PR/SM Logical Processors are assigned to a 4-CPU MVS!

MXG summed wait time for all 6 LPARS, causing actual CPU

busy to be much lower than accurate. This change precedes

each of the nine CPUWAIT=CPUWAIT+CPUWAITM; statements in

lines 141300 to 146800 (logic for SHARED, WAIT=NO) with

IF CAIn EQ '......01'B THEN CPUWAIT=CPUWAIT+CPUWAITM;

and then changed n in CAIn to 0 thru 8 respectively.
IBM RMF reporting was also wrong with this data. Their

RMF Summary Report CPU BUSY reported an average 54% busy

(they used CPU0-3) instead of the true 65% busy from CPU

1-4 values. The CPU ACTIVITY report was also wrong with

CPU1s printed value taken from CPU0 (of 0%) and with the

2-4 CPU values taken incorrectly from CPU1-3 fields to

incorrectly report 61.4% busy when 78.5% was correct.

Thanks to O. V. Hanger, A. C. Nielsen Co., USA.

Thanks to Tim Klevar, General Electric Plastics, USA.
Change 07.141 Change 7.070 (only in MXG 7.0 BETA) was incorrect. The

ANALDSET lines of code after DATA DSETOPEN.DSETOPEN; from "IF" to

Oct 11, 1989 "DROP" must be moved to after TYPETASK=TYPETASZ;

Thanks to Debby Blackey, Marshalls, USA.


========Changes thru 7.140 were on the 7.1 Beta Tape===================
Change 07.140 IBM's Cache DASD RMF Reporter created SMF records do not

VMACACHE agree with documentation. GSLEN is 40, but the SD1IDCU is

Sep 14, 1989 in SD2ID instead of SD1ID. I am still researching when

this change occurred (this user is at CRR 1.3). The fix

is at line 028200-28300: change SD1ID=SD1IDCU to

(SD1ID=SD1IDCU OR SD2ID=SD1IDCU)

Thanks to Tom Healy, Chemnet, USA.
Change 07.139 SYNCSORT SMF record SIRECFM/SORECFM were decoded wrong,

VMACSYNC because SIRFM and SORFM were input as PIB1. but they are

Sep 14, 1989 actually EBCDIC numerics and should have been inputted

as 1. instead of PIB1. The CPUTCBTM in the SYNCSORT

record is sometimes wrong; values of 15 hrs 32 minutes

have been found by two different sites on SYNCSORT 3.2

and 3.3 (one site found one record per day, the second

found 50 such records in a month's SMF data). SYNCSORT

says this can happen if a SORT EXIT routine issues the

STIMER macro, but one site thinks the problem still

exists even when exits were not used. Still open.

Thanks to Sam Sheinfeld, Kraft General Foods, USA.

Thanks to Russ Berlin, Time-Life, USA.

Thanks to Sal Fazzino, General Electric Capital, USA.

who reported this first, but who was not listed in Newsletter 15!
Change 07.138 This user contribution creates a SAS Function, FMXGSID,

FMXGSID which can be invoked from a SAS program and returns the

Sep 13, 1989 character variable of the SMF System Id (SMCASID, MXG's

variable SYSTEM) on which the job executed. This was

used to add SYSTEM to MXG VTOC datasets.

Thanks to Gerald Baxter, British Telecom (Red Lion Square), ENGLAND.


Change 07.137 This two-line JES2 system modification stores in a batch

ASMsysmod job's SMF type 6 record the time that that print file was

VMAC6 released to print. This permits direct measurement of the

Sep 18, 1989 printer queue duration for help print jobs. The mod was

originally coded by Carol Toll, Sun Company, and then it

was re-designed by Dean Tesar of Hewitt, who reduced it

to the following system modification:
In macro IFASMFR

after field SMF6RET

and before field SMF6END2.

add new line:

SMF6JTME DS BL4 JOE CREATE TIME
In source HASPPRPU (near label PPSMFBLD)

after MVC SMF6OWC,JOECURCL-JOE(R2)

and just before USING DCT,R2

add new line:

MVC SMF6JTME,JOECRTME-JOE(R2)
As with all system modifications, you accept liability

for all testing and validation of this enhancement to

your SMF data records. VMAC6 was modified to use the

type 6 length fields and will create RLSETIME if it

exists in your type 6 record.

Thanks to Dan Kaberon, Hewitt Associates, USA.


Change 07.136 Variables CPUSER0-CPUSER9, CPU Serial Number from TYPE70,

RMFINTRV have been added to RMFINTRV, as they may be useful to

Sep 13, 1989 know which operating system was on which hardware when.

Thanks to Dave Clarke, British Airways, ENGLAND.


Change 07.135 NETSPY Versions earlier than 3.1 miscounted transactions

VMACNSPY because missing value of character variable (hex 40) just

Sep 13, 1989 happened to be the bit that 3.1 started using. Insert a

new line 038010 ELSE X2='00'X;

in case your NETSPY is an old version.

Thanks to Maria Clarke, Telecom Australia, AUSTRALIA.


Change 07.134 NETVIEW NPM Type 28 record subtype 41x (DRN Command, in

VMAC28 MXG dataset NPMCMDNC) are not structured as documented by

Sep 13, 1989 IBM. There is no TOF segment, and the AOF pointers point

to a PMC segment! This required relocation of the tests

for NPMSUBTY EQ 41X, and copying the present PMC handler

to before AOFTYPE='SAA' processing, and changing TOF to

AOF in that new PMC handler.

Thanks to Anthony P. Lobley, EDS, ENGLAND.


Change 07.133 IDMS 10.2 Monitor dataset IDMSTAS variables TASBFLD1-3

VMACIDMS should have been TASUFLD. The Batch Account Codes will be

Sep 13, 1989 decoded in the next MXG. See unfinished changes, above.

Thanks to Dick Whiting, Precision Castparts, USA.


Change 07.132 The new 3480-IDRC "Improved Data Recording Capability"

VMAC1415 mode should be decodable from TYPE1415 variable TRTCH.

Sep 13, 1989 This change creates a new variable IDRC='Y' or 'N' for

tape data sets to indicate if IDRC was in effect. This

has not been verified. The new logic is:

IF TRTCH=08X THEN IDRC='Y';

ELSE IF TRTCH=04X THEN IDRC='N';

Thanks to Gene Tolini, IBM Vendor Support, USA.


Change 07.131 NETVIEW "Pseudo-SMF" records can be written to a journal

TYPE39J log file instead of SMF. These pseudo-SMF records do not

VMACSMF have legitimate VBS architecture, and do not have the

Sep 13, 1989 data in the standard SMF header (MVSXA, SMFTIME, SYSTEM).

This change adds a new macro named _NETVLOG which is used

in TYPE39J (J for Journal Log) in place of the _SMF macro

normally used. For a quick fix, make a copy of _SMF macro

and name it _NETVLOG. Therein, 1) Change RECFM on the

INFILE statement from VBS to U, and add BLKSIZE=32760.

2) Insert just before the INPUT statement a new line:

OFFSMF=4;

to align the rest of the record with normal SMF format.

3) Create TYPE39J from TYPE39, but replace _SMF with

_NETVLOG.

The actual fix is more extensive, as unnecessary code in

SMF was removed. Better still, put NETVIEW data in SMF!

Thanks to Gary Korkowski, The St. Paul Companies, USA.
Change 07.130 The DB2 DSECTS for DB2 Dated 11/17/88, which were used to

VMACDB2 add support for DB2 Version 2.1 (and which were supplied

Sep 13, 1989 by IBM) have been changed! There were three additional

fields in the buffer manager statistics (DB2STAT1) which

MXG did not know about, and which caused subsequent data

about buffers to be wrong. MXG added three new variables

QBnTPFDC, QBnTWKPD, and QBnTWMAX (where "n" is 1 thru 4,

for each of the four buffer pools), by adding logic for

LENBUFM GE 116, just like the LENBUFM GE 104 logic took

care of the last IBM change. The support for DB2 2.2

will add protection (with +SKIP logic) to eliminate this

exposure in the future.

Thanks to Bob Olah, Dun and Bradstreet, USA.
Change 07.129 Additional summarization routines for the DOS/VSE POWER

ASUMDOS and VM/370 Monitor data, a daily sample job for DOS/VSE

ASUMVDEV CICS journal and VM/Monitor processing, upgrading of the

ASUMVMON GRAF.... members to use PROC PLOT instead of PROC GPLOT

ASUMVMON if you do not have SAS/GRAF, additonal REXX examples for

DALY110J MXG under CMS version of SAS, Trending for DOS POWER, VM

DALYVMON Device data and VM/370 Monitor. These are preliminary

GRAFREGR examples and are subject to change.

GRAFTRND

GRAFVMON


REXXDALZ

REXXDOS


REXXWKLY

TRNDDOS


TRNDVDEV

TRNDVMON


WKLYVMON

Sep 12, 1989

Thanks to Chuck Hopf, Hopf Consulting, USA.
Change 07.128 The validation of 7.0 Beta uncovered many opportunities:

FORMATS 1.VMACVMON, line 256000 set LENDV2=2 for RELEASVM EQ '05'.

VMACIDMS 2.TYPERTEJ, added MISSOVER on INFILE statement because IDMS

VMACRTE 10.1 writes short records.

VMACVMON 3.VMACRTE (IDMS 10.1 only) line 1301 added colon to now

TYPERTEJ read DBKFILE : $CHAR16. to protect for occasional short

Sep 12, 1989 IDMS record.

4.VMACIDMS: all PIB4.4 inputted variables are now formatted

TIME14.4 (180+ variables!). Variable SMFHDCVN was labeled

'DC SYSTEM*VERSION*NUMBER' and added to all KEEP= lists.

INSTIMSY and INSTIMUS changed from PIB4. to PIB4.4 and

added to TIME14.4 format list. DELTATM formatted TIME12.2

and variables PGMTYPE, TASPTYPE, TASTTYPE are now format

$MGIDMPP., $MGRTEPT., and $MGIDMTT. respectively.

5.FORMATS: values 6420 and 0A420 added to $MGVM6TY with

formatted value of 3380. (Appeared in VM HPO 5.0). New

formats $MGIDMPP and $MGIDMTT added.

Thanks to Dick Whiting, Precision Castparts, USA.


Change 07.127 The validation of 7.0 Beta DB2 processing uncovered more

VMACDB2 cleanup. Labels for QWHCOPID and QXSETSQL were corrected,

Sep 11, 1989 the order in which QWHCOPID and QWHCPREV are INPUT was

reversed, DB2ACCT CPU times are now validated and set to

missing if Begin is greater than End, or if the End time

is missing (see INFO/MVS E321145), and the second INPUT

of QTXANPL was deleted, correcting subsequent QTXA....

Thanks to Stan Majka, Virginia Power, USA.


Change 07.126 The 7.0 Beta changes to the Audit report from RACF TYPE80

ANALAUDT had minor glitches. Line 168 should be OUTPUT SUF and not

Sep 11, 1989 INSUF, and lines 77-79 were replicated and INSUF changed

to SUF (to create SUF with same variables as INSUF).

Thanks to Raymond Zieverink, Belk Stores Services, USA.
Change 07.125 This major contribution supports the ARBITER product from

ANALARB Tangram Systems which creates eleven different SMF record

EXARB... types with a total of thirty datasets created from the

IMACARB many subtypes.

TYPEARB

EXARBamm


Sep 10, 1989

Thanks to J-P Tonnieau, GMF System Team SARAN, FRANCE.


Change 07.124 MVS/370 CACHE DASD analysis report was updated for XA &

ANALCACH MVS/ESA. (MVS/370 TYPE74 variables LCHAN and DEVBUSY are

Sep 10, 1989 logically LCU and PCTDVUSE in MVS/XA and MVS/ESA). You

you still have to tailor this report as described in the

comments therein. The report combines RMF TYPE74 device

statistics with RMF Cache DASD Reporter TYPECACH data.

Thanks to Bruce L. Green, Medical Information Bureau, USA.
Change 07.123 DB2 APAR PL29461 PTF UL34399 added new data to a segment

FORMATS of the IFCID 0001 (Subtype 0, Type 100 SMF record) which

VMACDB2 MXG did not compatibly handle ("+SKIP" logic was missing

VMAC102 for this particular data segment in MXG code). This made

Sep 8, 1989 CPU variables for the 2nd and 3rd Address Space to be

wrong: QWS2PROC,EJST,SRBT and QWS3PROC,EJST,SRBT, and the

sum of all 3 address spaces cpu, CPUTM, when the above

PTF is installed on your DB2 Version 2.1 Systems. The PTF

new variables QWSnASID and QWSnASCB, the ASID and ASCB

respectively, are now added to the DB2STAT0 dataset, new

values for format MGD140P in member FORMATS were added,

and labels for trace variables QW0083QD,QW0087QD,QW0140SC

and QW140TC were changed based on IBM comment changes.

Only the change to member VMACDB2 is critical: You must

make the following change in member VMACDB2 if you have

the above PTF installed on any of your DB2 systems:

Find the line:

IF 0 LT OFFASID LT LENGTH AND NRASID GT 0 THEN DO;

Insert a new line following that line, containing:

SKIP=LENASID-20;

Find the next three occurrences of a line containing only

"@;". Insert the following new line after each of these

"trailing at-signs" (only three times, not four):

IF SKIP GT 0 THEN INPUT +SKIP @;

Thanks to Chun-Heng Liu, Brooklyn Union Gas, USA.
Change 07.122 DB2 trace records read from GTF (instead of SMF) do not

VMAC102 create observations because the reset was mislocated; in

Sep 8, 1989 addition, SMF102SSI was incorrect.

Find the present line:

IF OFFSMF=12 THEN OFFSMF=0;

Change that line so that it reads:

IF OFFSMF=12 THEN INPUT @29 SM102SSI $CHAR4. @;

Immediately before the present line containing:

OUTPUT SUBTYPES;

Insert this new line:

IF OFFSMF=12 THEN OFFSMF=0;

Thanks to Susan Marshall, SAS Institute Europe, GERMANY.


Change 07.121 GRAFRMFI-produced graphs of RMF data gave funny-looking

GRAFRMFI graphs if your RMFINTRV dataset INTERVAL was less than

Sep 7, 1989 one hour. This change still produces plots versus hour,

but uses fractional values to plot between hours if

necessary. New line 009310 inserted

HOURPART=TIMEPART(STARTIME)/3600;

and change *HOUR= to *HOURPART in all occurrences.

Thanks to Joseph Ng Khek Uak, Port of Singapore Authority, SINGAPORE.


Change 07.120 Was accidentally skipped, and was never used.
Change 07.119 Boole & Babbage RMF replacement CMF product's SMF records

VMAC7072 can be created simultaneously with RMF records. This will

VMAC71 cause MXG datasets to contain essentially duplicate data

VMAC73 for the intervals when both monitors were running. This

VMAC74 change decodes the IBM reserved field at OFFRMFP+28 and

VMAC75 sets variable PRODUCT's value (normally "RMF") to either

VMAC76 "CMF-CPM" or "CMF-IPM", depending on the CMF mode that

VMAC77 created the record. This allows CMF and RMF records to

VMAC78 be separated, if both should exist. Since the variable

Sep 7, 1989 PRODUCT exists only in MVS/XA and later, this change does

not support identification of MVS/370 CMF from RMF data.

On the subject of CMF, though not related to this change,

CMF creates a PR/SM data segment in its type 70 record

under either IBM's PR/SM or Amdahl's MDF hardware. MXG


Yüklə 28,67 Mb.

Dostları ilə paylaş:
1   ...   359   360   361   362   363   364   365   366   ...   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