Pemusatan Data

Mean, Median, Modus

Praktikum 1

Membuat tabel data

Tabel Data Kelompok untuk
Berat_Badan Frekuensi
45 - 50 10
51 - 60 8
61 - 70 12
71 - 80 6
81 - 90 2

Mean (Rata-rata)

Mean atau rata-rata adalah ukuran pemusatan data yang diperoleh dengan menjumlahkan semua nilai dalam kumpulan data, lalu membaginya dengan jumlah data tersebut. Mean menggambarkan posisi rata-rata dari data secara keseluruhan.

Rumus untuk menghitung mean adalah sebagai berikut:

\[ \bar{Mean} = \frac{\sum x}{n} \]

dimana:

  1. ∑ 𝑋 adalah jumlah dari semua nilai data.

  2. 𝑛 adalah jumlah data.

Langkah-langkah untuk menghitung mean:

Step 1: Jumlahkan semua nilai dalam data.

Titik tengah:

45 - 50: (45 + 50) / 2 = 47.5

51 - 60: (51 + 60) / 2 = 55.5

61 - 70: (61 + 70) / 2 = 65.5

71 - 80: (71 + 80) / 2 = 75.5

81 - 90: (81 + 90) / 2 = 85.5

Step 2: Kalikan titik tengah dengan frekuensi dan menjumlahkan semua hasil:

(47.5 * 10) + (55.5 * 8) + (65.5 * 12) + (75.5 * 6) + (85.5 * 2)

475 + 444 + 786 + 453 + 171 = 2329

Step 3: Bagi hasil jumlah dengan banyaknya data.

Diketahui kita memiliki data sebagai berikut:

  • Jumlahkan semua nilai:

    10 + 8 + 12 + 6 + 2 = 38

  • Bagi dengan jumlah data (𝑛 = 38):

\[ \frac{2329}{38} = 61.29 \]

Jadi, mean dari data tersebut adalah 61.29.

Median (Nilai Tengah)

Median adalah nilai tengah dari data yang telah diurutkan. Jika jumlah data ganjil, maka median adalah nilai di tengah. Jika genap, maka median adalah rata-rata dari dua nilai tengah.

Rumus dan Cara Menghitung Median:

  1. Urutkan data dari yang terkecil hingga yang terbesar.

  2. Tentukan posisi median:

  • Jika jumlah data ganjil, median adalah nilai di posisi tengah. ∗ Posisi median = \[ \text{Median} = \frac{n + 1}{2} \]

  • Jika jumlah data genap, median adalah rata-rata dari dua nilai tengah.

    ∗ Posisi median = \[ \frac{n}{2} \] dan \[ \frac{n}{2} + 1 \] Median \[ \text{Median} = \frac{X_{n/2} + X_{n/2 + 1}}{2} \]

Contoh Perhitungan Median untuk Data Ganjil dan Genap

  1. Contoh Data Ganjil:

45, 50, 55, 60, 65

  • Urutkan data:

    45, 50, 55, 60, 65

  • Jumlah data = 5 (ganjil)

  • Posisi median = \[ \frac{5 + 1}{2} = 3 \]

  • Jadi, median adalah nilai ke-3, yaitu 55.

  1. Contoh Data Genap:

45, 50, 55, 60, 65, 70

  • Urutkan data: 45, 50, 55, 60, 65, 70

  • Jumlah data = 6 (genap)

  • Posisi median: \[ \frac{6}{2} = 3 \] dan \[ \frac{6}{2} + 1 = 4 \]

  • Median = \[ \frac{55 + 60}{2} = 57,5 \]

Modus (Frekuensi Tertinggi)

Modus adalah nilai yang paling sering muncul dalam data. Modus digunakan untuk mengetahui nilai yang paling dominan atau paling sering terjadi dalam suatu kumpulan data. Modus bisa ditemukan dalam data kuantitatif maupun kategorikal. \[ \text{Modus} = \text{Nilai yang sering muncul} \]

Contohnya:

Misalnya, kita memiliki data pengukuran berat badan berikut:

45 - 50 (10 orang)

51 - 60 (8 orang)

61 - 70 (12 orang)

71 - 80 (6 orang)

81 - 90 (2 orang)

Modus adalah nilai yang paling sering muncul dalam data.

Interval dengan frekuensi tertinggi adalah 61 - 70 dengan frekuensi 12. Jadi, Modus adalah interval 61 - 70.

Visualisasi Data Berat Badan dengan dan tanpa Outliers

Praktikum 2

Bisnis

Studi Kasus: “Analisis Produksi Telur Ayam”

Pendahuluan

Dalam studi kasus ini, kita akan menganalisis data produksi telur dari usaha ternak ayam selama 7 hari.

Tabel Produksi Telur Harian

Kita akan membuat tabel yang berisi data produksi telur. Kemudian menghitung mean, median, dan modus dari data tersebut.

Tabel Produksi Telur Harian
Hari Produksi_Telur
1 20
2 22
3 25
4 23
5 24
6 21
7 19

Menghitung Mean:

Step 1:

Jumlahkan semua nilai dalam data: 20 + 22 + 25 + 23 + 24 + 21 + 19 = 154

Step 2:

Bagi hasil jumlah dengan banyaknya data:

154 ; 7 = 22

Menghitung Median:

Step 1:

Urutkan data: 19, 20, 21, 22, 23, 24, 25

Step 2:

Temukan nilai tengah: 22

Menghitung Modus:

Tidak ada modus yang signifikan karena semua nilai muncul dengan frekuensi yang sama.

Kesehatan

Studi Kasus: “Analisis Aktivitas Gym dan Kesehatan”

Pendahuluan

Dalam studi kasus ini, kita akan menganalisis data kalori yang dibakar ketika aktivitas gym di lakukan.

Tabel Aktivitas Gym

Kita akan membuat tabel yang berisi data aktivitas gym. Kemudian menghitung mean, median, dan modus dari data tersebut.

Tabel Kalori yang Dibakar per Jam
Jam Kalori_Dibakar
1 300
2 320
3 290
4 310
5 330
6 280
7 350

Menghitung Mean:

Step 1:

Jumlahkan semua nilai kalori yang dibakar:

300 + 320 + 290 + 310 + 330 + 280 + 350 = 2180

Step 2:

Bagi hasil jumlah dengan banyaknya data:

2180 ; 7 = 311.43

Menghitung Median:

Step 1:

Urutkan data: 300, 320, 290, 310, 330, 280, 350

Step 2:

Temukan nilai tengah: 310

Menghitung Modus:

Tidak ada modus yang signifikan karena semua nilai muncul dengan frekuensi yang sama.

Pendidikan

Studi Kasus: “Analisis Durasi Waktu Online Course”

Pendahuluan

Dalam studi kasus ini, kita akan menganalisis data waktu penyelesaian course oleh beberapa peserta selama seminggu.

Tabel Waktu Penyelesaian Course

Kita akan membuat tabel yang berisi data peserta online course. Kemudian menghitung mean, median, dan modus dari data tersebut.

Tabel Waktu Penyelesaian Online Course
Peserta Waktu_Penyelesaian_.Jam.
A 5
B 6
C 7
D 4
E 6
F 5
G 6

Perhitungan Mean:

Step 1:

Jumlahkan semua nilai waktu penyelesaian: 5 + 6 + 7 + 4 + 6 + 5 + 6 = 39

Step 2

Bagi hasil jumlah dengan banyaknya peserta (7 peserta): 39 ; 7 = 5.57

Jadi, mean (rata-rata) waktu penyelesaian kursus adalah sekitar 5.57 jam.

Perhitungan Median:

Step 1:

Urutkan data waktu penyelesaian dari yang terkecil hingga terbesar:

4, 5, 5, 6, 6, 6, 7

Step 2:

Temukan nilai tengah

karena jumlah data ganjil, nilai tengah adalah yang ke-4: Median adalah 6.

Jadi, median waktu penyelesaian kursus adalah 6 jam.

Perhitungan Modus:

Identifikasi nilai yang paling sering muncul dalam data waktu penyelesaian:

Waktu 6 jam muncul tiga kali.

Jadi, modus dari waktu penyelesaian kursus adalah 6 jam.

LS0tDQp0aXRsZTogIlBlbXVzYXRhbiBEYXRhIg0Kc3VidGl0bGU6ICJNZWFuLCBNZWRpYW4sIE1vZHVzIg0KYXV0aG9yOiANCiAgLSAiTXVoYW1tYWQgTmFiaWwgUHJhdGFtYSINCiAgLSAiTklNXzUyMjQwMDE2Ig0KZGF0ZTogIlJhYnUsIDIwLzExLzIwMjQiDQpvdXRwdXQ6DQogIHJtZGZvcm1hdHM6OnJlYWR0aGVkb3duOg0KICAgIHNlbGZfY29udGFpbmVkOiB0cnVlDQogICAgdGh1bWJuYWlsczogdHJ1ZQ0KICAgIGxpZ2h0Ym94OiB0cnVlDQogICAgZ2FsbGVyeTogdHJ1ZQ0KICAgIG51bWJlcl9zZWN0aW9uczogZmFsc2UNCiAgICBsaWJfZGlyOiBsaWJzDQogICAgM2RmX3ByaW50OiAicGFnZWQiDQogICAgY29kZV9mb2xkaW5nOiAic2hvdyINCiAgICBjb2RlX2Rvd25sb2FkOiB5ZXMNCiAgICBjc3M6ICJzdHlsZS5jc3MiDQotLS0NCg0KIyBQcmFrdGlrdW0gMQ0KDQojIyBNZW1idWF0IHRhYmVsIGRhdGENCg0KYGBge3IgZWNobz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0NCiMgTWVtYnVhdCBkYXRhIGtlbG9tcG9rDQpsaWJyYXJ5KGtuaXRyKQ0KDQpkYXRhIDwtIGRhdGEuZnJhbWUoDQogICJCZXJhdF9CYWRhbiIgPSBjKCI0NSAtIDUwIiwgIjUxIC0gNjAiLCAiNjEgLSA3MCIsICI3MSAtIDgwIiwgIjgxIC0gOTAiKSwNCiAgIkZyZWt1ZW5zaSIgPSBjKDEwLCA4LCAxMiwgNiwgMikNCikNCg0KIyBNZW5hbXBpbGthbiB0YWJlbA0Ka2FibGUoZGF0YSwgYWxpZ24gPSAiYyIsIGNhcHRpb24gPSAiVGFiZWwgRGF0YSBLZWxvbXBva8KgdW50dWsiKQ0KDQpgYGANCg0KIyMgTWVhbiAoUmF0YS1yYXRhKQ0KDQpNZWFuIGF0YXUgcmF0YS1yYXRhIGFkYWxhaCB1a3VyYW4gcGVtdXNhdGFuIGRhdGEgeWFuZyBkaXBlcm9sZWggZGVuZ2FuIG1lbmp1bWxhaGthbiBzZW11YSBuaWxhaSBkYWxhbSBrdW1wdWxhbiBkYXRhLCBsYWx1IG1lbWJhZ2lueWEgZGVuZ2FuIGp1bWxhaCBkYXRhIHRlcnNlYnV0LiBNZWFuIG1lbmdnYW1iYXJrYW4gcG9zaXNpIHJhdGEtcmF0YSBkYXJpIGRhdGEgc2VjYXJhIGtlc2VsdXJ1aGFuLg0KDQpSdW11cyB1bnR1ayBtZW5naGl0dW5nIG1lYW4gYWRhbGFoIHNlYmFnYWkgYmVyaWt1dDoNCg0KJCQNClxiYXJ7TWVhbn0gPSBcZnJhY3tcc3VtIHh9e259DQokJA0KDQpkaW1hbmE6DQoNCjEuICDiiJEg8J2RiyBhZGFsYWgganVtbGFoIGRhcmkgc2VtdWEgbmlsYWkgZGF0YS4NCg0KMi4gIPCdkZsgYWRhbGFoIGp1bWxhaCBkYXRhLg0KDQpMYW5na2FoLWxhbmdrYWggdW50dWsgbWVuZ2hpdHVuZyBtZWFuOg0KDQpTdGVwIDE6IEp1bWxhaGthbiBzZW11YSBuaWxhaSBkYWxhbSBkYXRhLg0KDQpUaXRpayB0ZW5nYWg6DQoNCjQ1IC0gNTA6ICg0NSArIDUwKSAvIDIgPSA0Ny41DQoNCjUxIC0gNjA6ICg1MSArIDYwKSAvIDIgPSA1NS41DQoNCjYxIC0gNzA6ICg2MSArIDcwKSAvIDIgPSA2NS41DQoNCjcxIC0gODA6ICg3MSArIDgwKSAvIDIgPSA3NS41DQoNCjgxIC0gOTA6ICg4MSArIDkwKSAvIDIgPSA4NS41DQoNClN0ZXAgMjogS2FsaWthbiB0aXRpayB0ZW5nYWggZGVuZ2FuIGZyZWt1ZW5zaSBkYW4gbWVuanVtbGFoa2FuIHNlbXVhIGhhc2lsOg0KDQooNDcuNSAqIDEwKSArICg1NS41ICogOCkgKyAoNjUuNSAqIDEyKSArICg3NS41ICogNikgKyAoODUuNSAqIDIpDQoNCjQ3NSArIDQ0NCArIDc4NiArIDQ1MyArIDE3MSA9IDIzMjkNCg0KU3RlcCAzOiBCYWdpIGhhc2lsIGp1bWxhaCBkZW5nYW4gYmFueWFrbnlhIGRhdGEuDQoNCkRpa2V0YWh1aSBraXRhIG1lbWlsaWtpIGRhdGEgc2ViYWdhaSBiZXJpa3V0OiANCg0KLSAgIEp1bWxhaGthbiBzZW11YSBuaWxhaToNCg0KICAgIDEwICsgOCArIDEyICsgNiArIDIgPSAzOA0KDQotICAgQmFnaSBkZW5nYW4ganVtbGFoIGRhdGEgKPCdkZsgPSAzOCk6DQoNCiQkDQpcZnJhY3syMzI5fXszOH0gPSA2MS4yOQ0KJCQNCg0KSmFkaSwgbWVhbiBkYXJpIGRhdGEgdGVyc2VidXQgYWRhbGFoIDYxLjI5Lg0KDQojIyBNZWRpYW4gKE5pbGFpIFRlbmdhaCkNCg0KTWVkaWFuIGFkYWxhaCBuaWxhaSB0ZW5nYWggZGFyaSBkYXRhIHlhbmcgdGVsYWggZGl1cnV0a2FuLiBKaWthIGp1bWxhaCBkYXRhIGdhbmppbCwgbWFrYSBtZWRpYW4gYWRhbGFoIG5pbGFpIGRpIHRlbmdhaC4gSmlrYSBnZW5hcCwgbWFrYSBtZWRpYW4gYWRhbGFoIHJhdGEtcmF0YSBkYXJpIGR1YSBuaWxhaSB0ZW5nYWguDQoNClJ1bXVzIGRhbiBDYXJhIE1lbmdoaXR1bmcgTWVkaWFuOg0KDQoxLiAgVXJ1dGthbiBkYXRhIGRhcmkgeWFuZyB0ZXJrZWNpbCBoaW5nZ2EgeWFuZyB0ZXJiZXNhci4NCg0KMi4gIFRlbnR1a2FuIHBvc2lzaSBtZWRpYW46DQoNCi0gICBKaWthIGp1bWxhaCBkYXRhIGdhbmppbCwgbWVkaWFuIGFkYWxhaCBuaWxhaSBkaSBwb3Npc2kgdGVuZ2FoLiDiiJcgUG9zaXNpIG1lZGlhbiA9ICQkDQogICAgXHRleHR7TWVkaWFufSA9IFxmcmFje24gKyAxfXsyfQ0KICAgICQkDQoNCi0gICBKaWthIGp1bWxhaCBkYXRhIGdlbmFwLCBtZWRpYW4gYWRhbGFoIHJhdGEtcmF0YSBkYXJpIGR1YSBuaWxhaSB0ZW5nYWguDQoNCiAgICDiiJcgUG9zaXNpIG1lZGlhbiA9ICQkDQogICAgXGZyYWN7bn17Mn0NCiAgICAkJCBkYW4gJCQNCiAgICBcZnJhY3tufXsyfSArIDENCiAgICAkJCAqTWVkaWFuKiAkJA0KICAgIFx0ZXh0e01lZGlhbn0gPSBcZnJhY3tYX3tuLzJ9ICsgWF97bi8yICsgMX19ezJ9DQogICAgJCQNCg0KQ29udG9oIFBlcmhpdHVuZ2FuIE1lZGlhbiB1bnR1ayBEYXRhIEdhbmppbCBkYW4gR2VuYXANCg0KMS4gIENvbnRvaCBEYXRhIEdhbmppbDoNCg0KNDUsIDUwLCA1NSwgNjAsIDY1DQoNCi0gICBVcnV0a2FuIGRhdGE6DQoNCiAgICA0NSwgNTAsIDU1LCA2MCwgNjUNCg0KLSAgIEp1bWxhaCBkYXRhID0gNSAoZ2FuamlsKQ0KDQotICAgUG9zaXNpIG1lZGlhbiA9ICQkDQogICAgXGZyYWN7NSArIDF9ezJ9ID0gMw0KICAgICQkDQoNCi0gICBKYWRpLCBtZWRpYW4gYWRhbGFoIG5pbGFpIGtlLTMsIHlhaXR1IDU1Lg0KDQoyLiAgQ29udG9oIERhdGEgR2VuYXA6DQoNCjQ1LCA1MCwgNTUsIDYwLCA2NSwgNzANCg0KLSAgIFVydXRrYW4gZGF0YTogNDUsIDUwLCA1NSwgNjAsIDY1LCA3MA0KDQotICAgSnVtbGFoIGRhdGEgPSA2IChnZW5hcCkNCg0KLSAgIFBvc2lzaSBtZWRpYW46ICQkDQogICAgXGZyYWN7Nn17Mn0gPSAzDQogICAgJCQgZGFuICQkDQogICAgXGZyYWN7Nn17Mn0gKyAxID0gNA0KICAgICQkDQoNCi0gICBNZWRpYW4gPSAkJA0KICAgIFxmcmFjezU1ICsgNjB9ezJ9ID0gNTcsNQ0KICAgICQkDQoNCiMjIE1vZHVzIChGcmVrdWVuc2kgVGVydGluZ2dpKQ0KDQpNb2R1cyBhZGFsYWggbmlsYWkgeWFuZyBwYWxpbmcgc2VyaW5nIG11bmN1bCBkYWxhbSBkYXRhLiBNb2R1cyBkaWd1bmFrYW4gdW50dWsgbWVuZ2V0YWh1aSBuaWxhaSB5YW5nIHBhbGluZyBkb21pbmFuIGF0YXUgcGFsaW5nIHNlcmluZyB0ZXJqYWRpIGRhbGFtIHN1YXR1IGt1bXB1bGFuIGRhdGEuIE1vZHVzIGJpc2EgZGl0ZW11a2FuIGRhbGFtIGRhdGEga3VhbnRpdGF0aWYgbWF1cHVuIGthdGVnb3Jpa2FsLg0KJCQNClx0ZXh0e01vZHVzfSA9IFx0ZXh0e05pbGFpIHlhbmcgc2VyaW5nIG11bmN1bH0NCiQkDQoNCkNvbnRvaG55YToNCg0KTWlzYWxueWEsIGtpdGEgbWVtaWxpa2kgZGF0YSBwZW5ndWt1cmFuIGJlcmF0IGJhZGFuIGJlcmlrdXQ6DQoNCjQ1IC0gNTAJKDEwIG9yYW5nKQ0KDQo1MSAtIDYwCSg4ICBvcmFuZykNCg0KNjEgLSA3MAkoMTIgb3JhbmcpDQoNCjcxIC0gODAJKDYgIG9yYW5nKQ0KDQo4MSAtIDkwCSgyICBvcmFuZykNCg0KTW9kdXMgYWRhbGFoIG5pbGFpIHlhbmcgcGFsaW5nIHNlcmluZyBtdW5jdWwgZGFsYW0gZGF0YS4NCg0KSW50ZXJ2YWwgZGVuZ2FuIGZyZWt1ZW5zaSB0ZXJ0aW5nZ2kgYWRhbGFoIDYxIC0gNzAgZGVuZ2FuIGZyZWt1ZW5zaSAxMi4NCkphZGksIE1vZHVzIGFkYWxhaCBpbnRlcnZhbCA2MSAtIDcwLg0KDQojIyBWaXN1YWxpc2FzaSBEYXRhIEJlcmF0IEJhZGFuIGRlbmdhbiBkYW4gdGFucGEgT3V0bGllcnMNCmBgYHtyIGVjaG89RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9DQojIE1lbXVhdCBsaWJyYXJ5DQpsaWJyYXJ5KHBsb3RseSkNCg0KIyBEYXRhIGJlcmF0IGJhZGFuIGRhbiBmcmVrdWVuc2kNCmRhdGFfYXNsaSA8LSBkYXRhLmZyYW1lKA0KICBCZXJhdF9CYWRhbiA9IGMocmVwKCI0NSAtIDUwIiwgMTApLCByZXAoIjUxIC0gNjAiLCA4KSwgcmVwKCI2MSAtIDcwIiwgMTIpLCByZXAoIjcxIC0gODAiLCA2KSwgcmVwKCI4MSAtIDkwIiwgMikpLA0KICBOaWxhaSA9IGMocmVwKDQ3LjUsIDEwKSwgcmVwKDU1LjUsIDgpLCByZXAoNjUuNSwgMTIpLCByZXAoNzUuNSwgNiksIHJlcCg4NS41LCAyKSkNCikNCg0KIyBNZW5hbWJhaGthbiBvdXRsaWVycyBrZSBkYWxhbSBkYXRhc2V0DQpkYXRhX2Rlbmdhbl9vdXRsaWVycyA8LSByYmluZChkYXRhX2FzbGksIGRhdGEuZnJhbWUoQmVyYXRfQmFkYW4gPSAiT3V0bGllciIsIE5pbGFpID0gYygzMCwgMTAwKSkpDQoNCiMgTWVuZ2hpdHVuZyBtZWFuIHVudHVrIGtlZHVhIGRhdGFzZXQNCm1lYW5fYXNsaSA8LSBtZWFuKGRhdGFfYXNsaSROaWxhaSkNCm1lYW5fZGVuZ2FuX291dGxpZXJzIDwtIG1lYW4oZGF0YV9kZW5nYW5fb3V0bGllcnMkTmlsYWkpDQoNCiMgTWVuZ2dhYnVuZ2thbiBkYXRhIGtlIGRhbGFtIHNhdHUgZGF0YSBmcmFtZSB1bnR1ayB2aXN1YWxpc2FzaQ0KZGF0YSA8LSBkYXRhLmZyYW1lKA0KICBOaWxhaSA9IGMoZGF0YV9hc2xpJE5pbGFpLCBkYXRhX2Rlbmdhbl9vdXRsaWVycyROaWxhaSksDQogIEtlbG9tcG9rID0gcmVwKGMoIlRhbnBhIE91dGxpZXJzIiwgIkRlbmdhbiBPdXRsaWVycyIpLCANCiAgICAgICAgICAgICAgICAgdGltZXMgPSBjKGxlbmd0aChkYXRhX2FzbGkkTmlsYWkpLCBsZW5ndGgoZGF0YV9kZW5nYW5fb3V0bGllcnMkTmlsYWkpKSkNCikNCg0KIyBNZW1idWF0IGJveHBsb3QgbWVuZ2d1bmFrYW4gUGxvdGx5IGRlbmdhbiBvdXRsaWVycyBkaXRhbXBpbGthbg0KcGxvdCA8LSBwbG90X2x5KA0KICBkYXRhLCANCiAgeSA9IH5OaWxhaSwgDQogIGNvbG9yID0gfktlbG9tcG9rLCANCiAgdHlwZSA9ICJib3giLCANCiAgYm94cG9pbnRzID0gImFsbCIgICMgTWVuYW1waWxrYW4gdGl0aWsgb3V0bGllcnMNCikgJT4lDQogIGxheW91dCgNCiAgICB0aXRsZSA9ICJQZW5nYXJ1aCBPdXRsaWVycyB0ZXJoYWRhcCBNZWFuIiwNCiAgICB5YXhpcyA9IGxpc3QodGl0bGUgPSAiTmlsYWkgQmVyYXQgQmFkYW4gKGtnKSIpLA0KICAgIHhheGlzID0gbGlzdCh0aXRsZSA9ICJLZWxvbXBvayBCZXJhdCBCYWRhbiIpLA0KICAgIGFubm90YXRpb25zID0gbGlzdCgNCiAgICAgIGxpc3QoDQogICAgICAgIHggPSAiVGFucGEgT3V0bGllcnMiLA0KICAgICAgICB5ID0gbWVhbl9hc2xpLA0KICAgICAgICB0ZXh0ID0gcGFzdGUoIk1lYW46Iiwgcm91bmQobWVhbl9hc2xpLCAyKSksDQogICAgICAgIHNob3dhcnJvdyA9IFRSVUUsDQogICAgICAgIGFycm93aGVhZCA9IDINCiAgICAgICksDQogICAgICBsaXN0KA0KICAgICAgICB4ID0gIkRlbmdhbiBPdXRsaWVycyIsDQogICAgICAgIHkgPSBtZWFuX2Rlbmdhbl9vdXRsaWVycywNCiAgICAgICAgdGV4dCA9IHBhc3RlKCJNZWFuOiIsIHJvdW5kKG1lYW5fZGVuZ2FuX291dGxpZXJzLCAyKSksDQogICAgICAgIHNob3dhcnJvdyA9IFRSVUUsDQogICAgICAgIGFycm93aGVhZCA9IDINCiAgICAgICkNCiAgICApDQogICkNCg0KIyBNZW5hbXBpbGthbiBwbG90DQpwbG90DQoNCg0KYGBgDQoNCiMgUHJha3Rpa3VtIDINCg0KIyMgQmlzbmlzDQoNClN0dWRpIEthc3VzOiAiQW5hbGlzaXMgUHJvZHVrc2kgVGVsdXIgQXlhbSINCg0KIyMgUGVuZGFodWx1YW4NCg0KRGFsYW0gc3R1ZGkga2FzdXMgaW5pLCBraXRhIGFrYW4gbWVuZ2FuYWxpc2lzIGRhdGEgcHJvZHVrc2kgdGVsdXIgZGFyaSB1c2FoYSB0ZXJuYWsgYXlhbSBzZWxhbWEgNyBoYXJpLg0KDQojIyBUYWJlbCBQcm9kdWtzaSBUZWx1ciBIYXJpYW4NCg0KS2l0YSBha2FuIG1lbWJ1YXQgdGFiZWwgeWFuZyBiZXJpc2kgZGF0YSBwcm9kdWtzaSB0ZWx1ci4gS2VtdWRpYW4gbWVuZ2hpdHVuZyBtZWFuLCBtZWRpYW4sIGRhbiBtb2R1cyBkYXJpIGRhdGEgdGVyc2VidXQuDQoNCmBgYHtyIGVjaG89RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9DQojIE1lbWJ1YXQgZGF0YSBwcm9kdWtzaSB0ZWx1ciANCmxpYnJhcnkoa25pdHIpDQoNCmRhdGFfdGVsdXIgPC0gZGF0YS5mcmFtZSgNCiAgIkhhcmkiID0gYygxLCAyLCAzLCA0LCA1LCA2LCA3KSwNCiAgIlByb2R1a3NpX1RlbHVyIiA9IGMoMjAsIDIyLCAyNSwgMjMsIDI0LCAyMSwgMTkpDQopDQoNCiMgTWVuYW1waWxrYW4gdGFiZWwNCmthYmxlKGRhdGFfdGVsdXIsIGFsaWduID0gImMiLCBjYXB0aW9uID0gIlRhYmVsIFByb2R1a3NpIFRlbHVyIEhhcmlhbiIpDQoNCg0KYGBgDQoNCk1lbmdoaXR1bmcgTWVhbjoNCg0KU3RlcCAxOg0KDQpKdW1sYWhrYW4gc2VtdWEgbmlsYWkgZGFsYW0gZGF0YTogMjAgKyAyMiArIDI1ICsgMjMgKyAyNCArIDIxICsgMTkgPSAxNTQNCg0KU3RlcCAyOg0KDQpCYWdpIGhhc2lsIGp1bWxhaCBkZW5nYW4gYmFueWFrbnlhIGRhdGE6DQoNCjE1NCA7IDcgPSAyMg0KDQpNZW5naGl0dW5nIE1lZGlhbjoNCg0KU3RlcCAxOg0KDQpVcnV0a2FuIGRhdGE6IDE5LCAyMCwgMjEsIDIyLCAyMywgMjQsIDI1DQoNClN0ZXAgMjoNCg0KVGVtdWthbiBuaWxhaSB0ZW5nYWg6IDIyDQoNCk1lbmdoaXR1bmcgTW9kdXM6DQoNClRpZGFrIGFkYSBtb2R1cyB5YW5nIHNpZ25pZmlrYW4ga2FyZW5hIHNlbXVhIG5pbGFpIG11bmN1bCBkZW5nYW4gZnJla3VlbnNpIHlhbmcgc2FtYS4NCg0KIyMgS2VzZWhhdGFuDQoNClN0dWRpIEthc3VzOiAiQW5hbGlzaXMgQWt0aXZpdGFzIEd5bSBkYW4gS2VzZWhhdGFuIg0KDQojIyBQZW5kYWh1bHVhbg0KDQpEYWxhbSBzdHVkaSBrYXN1cyBpbmksIGtpdGEgYWthbiBtZW5nYW5hbGlzaXMgZGF0YSBrYWxvcmkgeWFuZyBkaWJha2FyIGtldGlrYSBha3Rpdml0YXMgZ3ltIGRpIGxha3VrYW4uDQoNCiMjIFRhYmVsIEFrdGl2aXRhcyBHeW0NCg0KS2l0YSBha2FuIG1lbWJ1YXQgdGFiZWwgeWFuZyBiZXJpc2kgZGF0YSBha3Rpdml0YXMgZ3ltLiBLZW11ZGlhbiBtZW5naGl0dW5nIG1lYW4sIG1lZGlhbiwgZGFuIG1vZHVzIGRhcmkgZGF0YSB0ZXJzZWJ1dC4NCg0KYGBge3IgZWNobz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0NCiMgTWVtYnVhdCBkYXRhIGFrdGl2aXRhcyBneW0NCmxpYnJhcnkoa25pdHIpDQoNCmRhdGFfZ3ltIDwtIGRhdGEuZnJhbWUoDQogICJKYW0iID0gYygiMSIsICIyIiwgIjMiLCAiNCIsICI1IiwgIjYiLCAiNyIpLA0KICAiS2Fsb3JpX0RpYmFrYXIiID0gYygzMDAsIDMyMCwgMjkwLCAzMTAsIDMzMCwgMjgwLCAzNTApICMgRGF0YSBrYWxvcmkgZGliYWthciBkaXNlc3VhaWthbiBkZW5nYW4gYWt0aXZpdGFzIGd5bSB5YW5nIGJlcmtlbGFuanV0YW4NCikNCg0KIyBNZW5hbXBpbGthbiB0YWJlbA0Ka2FibGUoZGF0YV9neW0sIGFsaWduID0gImMiLCBjYXB0aW9uID0gIlRhYmVsIEthbG9yaSB5YW5nIERpYmFrYXIgcGVyIEphbSIpDQoNCmBgYA0KDQpNZW5naGl0dW5nIE1lYW46DQoNClN0ZXAgMToNCg0KSnVtbGFoa2FuIHNlbXVhIG5pbGFpIGthbG9yaSB5YW5nIGRpYmFrYXI6DQoNCjMwMCArIDMyMCArIDI5MCArIDMxMCArIDMzMCArIDI4MCArIDM1MCA9IDIxODANCg0KU3RlcCAyOg0KDQpCYWdpIGhhc2lsIGp1bWxhaCBkZW5nYW4gYmFueWFrbnlhIGRhdGE6DQoNCjIxODAgOyA3ID0gMzExLjQzDQoNCk1lbmdoaXR1bmcgTWVkaWFuOg0KDQpTdGVwIDE6DQoNClVydXRrYW4gZGF0YTogMzAwLCAzMjAsIDI5MCwgMzEwLCAzMzAsIDI4MCwgMzUwDQoNClN0ZXAgMjoNCg0KVGVtdWthbiBuaWxhaSB0ZW5nYWg6IDMxMA0KDQpNZW5naGl0dW5nIE1vZHVzOg0KDQpUaWRhayBhZGEgbW9kdXMgeWFuZyBzaWduaWZpa2FuIGthcmVuYSBzZW11YSBuaWxhaSBtdW5jdWwgZGVuZ2FuIGZyZWt1ZW5zaSB5YW5nIHNhbWEuDQoNCiMjIFBlbmRpZGlrYW4NCg0KU3R1ZGkgS2FzdXM6ICJBbmFsaXNpcyBEdXJhc2kgV2FrdHUgT25saW5lIENvdXJzZSINCg0KIyMgUGVuZGFodWx1YW4NCg0KRGFsYW0gc3R1ZGkga2FzdXMgaW5pLCBraXRhIGFrYW4gbWVuZ2FuYWxpc2lzIGRhdGEgd2FrdHUgcGVueWVsZXNhaWFuIGNvdXJzZSBvbGVoIGJlYmVyYXBhIHBlc2VydGEgc2VsYW1hIHNlbWluZ2d1Lg0KDQojIyBUYWJlbCBXYWt0dSBQZW55ZWxlc2FpYW4gQ291cnNlDQoNCktpdGEgYWthbiBtZW1idWF0IHRhYmVsIHlhbmcgYmVyaXNpIGRhdGEgcGVzZXJ0YSBvbmxpbmUgY291cnNlLiBLZW11ZGlhbiBtZW5naGl0dW5nIG1lYW4sIG1lZGlhbiwgZGFuIG1vZHVzIGRhcmkgZGF0YSB0ZXJzZWJ1dC4NCg0KYGBge3IgZWNobz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0NCiMgTWVtYnVhdCBkYXRhIHdha3R1IHBlbnllbGVzYWlhbiBvbmxpbmUgY291cnNlDQpsaWJyYXJ5KGtuaXRyKQ0KDQpkYXRhX2NvdXJzZSA8LSBkYXRhLmZyYW1lKA0KICAiUGVzZXJ0YSIgPSBjKCJBIiwgIkIiLCAiQyIsICJEIiwgIkUiLCAiRiIsICJHIiksDQogICJXYWt0dV9QZW55ZWxlc2FpYW5fKEphbSkiID0gYyg1LCA2LCA3LCA0LCA2LCA1LCA2KQ0KKQ0KDQojIE1lbmFtcGlsa2FuIHRhYmVsDQprYWJsZShkYXRhX2NvdXJzZSwgYWxpZ24gPSAiYyIsIGNhcHRpb24gPSAiVGFiZWwgV2FrdHUgUGVueWVsZXNhaWFuIE9ubGluZSBDb3Vyc2UiKQ0KDQpgYGANCg0KUGVyaGl0dW5nYW4gTWVhbjoNCg0KU3RlcCAxOg0KDQpKdW1sYWhrYW4gc2VtdWEgbmlsYWkgd2FrdHUgcGVueWVsZXNhaWFuOiA1ICsgNiArIDcgKyA0ICsgNiArIDUgKyA2ID0gMzkNCg0KU3RlcCAyDQoNCkJhZ2kgaGFzaWwganVtbGFoIGRlbmdhbiBiYW55YWtueWEgcGVzZXJ0YSAoNyBwZXNlcnRhKTogMzkgOyA3ID0gNS41Nw0KDQpKYWRpLCBtZWFuIChyYXRhLXJhdGEpIHdha3R1IHBlbnllbGVzYWlhbiBrdXJzdXMgYWRhbGFoIHNla2l0YXIgNS41NyBqYW0uDQoNClBlcmhpdHVuZ2FuIE1lZGlhbjoNCg0KU3RlcCAxOg0KDQpVcnV0a2FuIGRhdGEgd2FrdHUgcGVueWVsZXNhaWFuIGRhcmkgeWFuZyB0ZXJrZWNpbCBoaW5nZ2EgdGVyYmVzYXI6DQoNCjQsIDUsIDUsIDYsIDYsIDYsIDcNCg0KU3RlcCAyOg0KDQpUZW11a2FuIG5pbGFpIHRlbmdhaA0KDQprYXJlbmEganVtbGFoIGRhdGEgZ2FuamlsLCBuaWxhaSB0ZW5nYWggYWRhbGFoIHlhbmcga2UtNDogTWVkaWFuIGFkYWxhaCA2Lg0KDQpKYWRpLCBtZWRpYW4gd2FrdHUgcGVueWVsZXNhaWFuIGt1cnN1cyBhZGFsYWggNiBqYW0uDQoNClBlcmhpdHVuZ2FuIE1vZHVzOg0KDQpJZGVudGlmaWthc2kgbmlsYWkgeWFuZyBwYWxpbmcgc2VyaW5nIG11bmN1bCBkYWxhbSBkYXRhIHdha3R1IHBlbnllbGVzYWlhbjoNCg0KV2FrdHUgNiBqYW0gbXVuY3VsIHRpZ2Ega2FsaS4NCg0KSmFkaSwgbW9kdXMgZGFyaSB3YWt0dSBwZW55ZWxlc2FpYW4ga3Vyc3VzIGFkYWxhaCA2IGphbS4NCg==