
Pengertian 3 Sigma dan 6 Sigma dalam Distribusi
Probabilitas
Apa Itu Sigma?
Sigma (σ) adalah ukuran statistik untuk melihat
seberapa jauh suatu data menyimpang dari rata-rata (μ).
Dalam distribusi normal, sebagian besar data terkonsentrasi di sekitar
rata-rata, dan semakin jauh dari rata-rata, semakin jarang nilai
tersebut muncul. Semakin kecil sigma, semakin seragam
datanya.
3 Sigma: Standar dengan Sedikit Kesalahan
Pendekatan 3 Sigma berarti 99,73% data
berada dalam tiga kali standar deviasi dari rata-rata, dengan
0,27% kemungkinan kesalahan. Dalam produksi 1 juta
barang, sekitar 2.700 barang cacat.
Aplikasi 3 Sigma:
Produk konsumsi seperti pakaian atau botol minuman.
Proses produksi standar di pabrik.
Analisis keuangan atau bisnis dengan toleransi variasi.
Namun, 3 Sigma tidak cocok untuk industri presisi
tinggi karena masih ada kemungkinan kesalahan signifikan.
6 Sigma: Standar Ketat untuk Kesalahan Minimal
Pendekatan 6 Sigma berarti 99,99966% data
berada dalam enam kali standar deviasi dari rata-rata, dengan
hanya 3,4 kesalahan per 1 juta produk.
Aplikasi 6 Sigma:
Pembuatan komponen pesawat → Kesalahan kecil
bisa fatal.
Industri medis dan farmasi → Dosis harus
akurat.
Otomotif dan elektronik → Kesalahan minimal
untuk performa optimal.
Karena ketepatannya, perusahaan besar seperti Motorola,
Toyota, dan General Electric menerapkan metode ini untuk
meningkatkan kualitas.
Perbandingan 3 Sigma vs 6 Sigma
| 3 Sigma |
99,73% |
2.700 |
Produk konsumsi, industri umum |
| 6 Sigma |
99,99966% |
3,4 |
Pesawat, medis, otomotif |
visualisasi distribusi normal dengan area 1 Sigma, 2 Sigma, dan 3
Sigma
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

Kesimpulan
3 Sigma cukup untuk industri dengan toleransi
variasi.
6 Sigma penting jika kesalahan kecil pun berdampak
besar.
Pilihan tergantung pada kebutuhan presisi dalam
industri.
Penggunaan Z-Score dan T-Score dalam Statistik
Apa Itu Z-Score?
Z-score menunjukkan seberapa jauh suatu data dari
rata-rata dalam satuan standar deviasi.
Rumus Z-Score:
\[ Z = \frac{X - \mu}{\sigma}
\]
Z positif → Data di atas rata-rata.
Z negatif → Data di bawah rata-rata.
Z = 0 → Data sama dengan rata-rata.
Kapan Menggunakan Z-Score?
Jika ukuran sampel besar (>30 data).
Jika standar deviasi populasi
diketahui.
Untuk deteksi outlier dan analisis
probabilitas.
Contoh: Jika rata-rata nilai ujian 75 dengan standar
deviasi 10, dan seorang siswa mendapat
85:
\[ Z = \frac{85 - 75}{10} = 1 \]
Artinya, skor berada satu standar deviasi di atas rata-rata.
Apa Itu T-Score?
T-score digunakan untuk pengujian
hipotesis saat standar deviasi populasi tidak
diketahui atau sampel kecil (<30).
Rumus T-Score:
\[ T = \frac{X - \bar{X}}{s / \sqrt{n}}
\]
T-score menggunakan distribusi t-Student, yang lebih
sesuai untuk sampel kecil.
Kapan Menggunakan T-Score?
Jika ukuran sampel kecil (<30 data).
Jika standar deviasi populasi tidak
diketahui.
Untuk uji-t dalam pengujian hipotesis.
Contoh: Seorang peneliti membandingkan nilai matematika kelas A (20
siswa) dengan rata-rata populasi. Karena jumlah sampel kecil dan standar
deviasi populasi tidak diketahui, digunakan uji-t.
Perbedaan Utama Z-Score vs T-Score
| Ukuran Sampel |
Besar (>30) |
Kecil (<30) |
| Standar Deviasi Populasi |
Diketahui |
Tidak diketahui |
| Distribusi |
Normal |
t-Student |
| Tujuan |
Deteksi outlier, analisis probabilitas |
Uji hipotesis, perbandingan rata-rata |
Kesimpulan
Gunakan Z-score untuk sampel besar dengan standar deviasi
diketahui.
Gunakan T-score untuk sampel kecil atau jika standar
deviasi tidak diketahui.
Z-score cocok untuk analisis probabilitas, sedangkan
T-score lebih umum dalam pengujian hipotesis.
Dengan memahami perbedaan Z-score dan T-score, kita dapat melakukan
analisis statistik yang lebih tepat untuk penelitian dan industri.
Kasus Nyata: Implementasi 6 Sigma dan Analisis Statistik
dengan Z-Score/T-Score
Di bawah ini adalah beberapa contoh penerapan 6
Sigma serta analisis statistik (Z-Score &
T-Score) dalam dunia industri yang membantu meningkatkan
kualitas serta pengambilan keputusan berbasis data.
1. Implementasi 6 Sigma di General Electric
(GE)
Studi Kasus: Mengurangi Tingkat Cacat dalam Produksi Mesin
Turbin
Latar Belakang:
General Electric (GE) adalah salah satu perusahaan yang pertama kali
menerapkan Six Sigma dalam skala besar guna
meningkatkan efisiensi produksi serta mengurangi kesalahan dalam
pembuatan produknya.
Tantangan yang Dihadapi:
- Tingkat cacat dalam produksi mesin turbin mencapai 4.000
unit per 1 juta produk, yang masih dalam kategori 3
Sigma.
- Kesalahan sekecil apa pun dalam komponen turbin dapat berdampak
serius terhadap keamanan penerbangan.
- GE ingin menurunkan jumlah produk cacat hingga mencapai standar
6 Sigma, yakni hanya 3,4 cacat per 1 juta
unit.
Strategi dengan 6 Sigma:
- Define (D): Menentukan faktor utama yang
menyebabkan kecacatan dalam produksi.
- Measure (M): Mengumpulkan data dan menganalisis
seberapa sering cacat terjadi.
- Analyze (A): Menggunakan metode statistik (termasuk
Z-Score dan T-Score) untuk mengidentifikasi faktor yang paling
berpengaruh terhadap kualitas.
- Improve (I): Melakukan perbaikan dalam proses
produksi untuk mengurangi cacat.
- Control (C): Menerapkan sistem pengawasan ketat
agar standar 6 Sigma tetap terjaga.
Hasil yang Diperoleh:
jumlah produk cacat berkurang dari 4.000 unit per
juta menjadi kurang dari 10 unit per
juta.
Efektivitas produksi meningkat, biaya operasional berkurang, dan
keandalan mesin semakin tinggi.
GE berhasil menghemat miliaran dolar dengan meningkatkan kualitas
serta efisiensi produksinya.
2. Penggunaan Z-Score dalam Industri Keuangan
Studi Kasus: Identifikasi Transaksi Mencurigakan di
Perbankan
Latar Belakang:
Perusahaan keuangan dan bank sering menggunakan
Z-Score untuk mendeteksi transaksi yang dianggap tidak
wajar, seperti indikasi fraud atau pencucian
uang.
Tantangan yang Dihadapi:
Bank ingin mengidentifikasi transaksi yang tidak biasa dan
berpotensi sebagai aktivitas mencurigakan.
Sebagian besar transaksi berkisar antara $100 hingga
$2.000, dengan rata-rata $1.000 dan standar
deviasi $300.
Beberapa transaksi bernilai $10.000 atau lebih,
yang kemungkinan merupakan transaksi anomali.
Analisis Menggunakan Z-Score:
Dengan menerapkan rumus Z-Score:
\[
Z = \frac{X - \mu}{\sigma}
\]
Jika terdapat transaksi sebesar $10.000, maka:
\[
Z = \frac{10.000 - 1.000}{300} = \frac{9.000}{300} = 30
\]
Karena Z-Score = 30 jauh di luar batas normal
±3, transaksi ini dikategorikan sebagai
anomali dan perlu dipantau lebih lanjut.
3. Penerapan T-Score dalam Industri Farmasi
Studi Kasus: Evaluasi Efektivitas Obat Baru
Latar Belakang:
Sebuah perusahaan farmasi ingin membandingkan efektivitas obat baru
dalam menurunkan tekanan darah dengan obat yang sudah tersedia di
pasaran.
Metode yang Digunakan:
Dua kelompok pasien: satu diberikan obat baru,
sementara yang lain menerima obat standar.
Jumlah sampel terbatas: hanya 25 pasien
per kelompok karena ini merupakan tahap awal uji
klinis.
Karena standar deviasi populasi tidak diketahui,
analisis dilakukan menggunakan T-Test untuk
membandingkan rata-rata tekanan darah pasca pengobatan.
Pengolahan Data dengan T-Score:
Menggunakan rumus T-Score:
\[
T = \frac{X - \bar{X}}{s / \sqrt{n}}
\]
Apabila hasil pengujian menunjukkan bahwa perbedaan rata-rata tekanan
darah antara kedua kelompok signifikan secara statistik (p <
0,05), maka:
- Obat baru dianggap memiliki efektivitas yang lebih baik dibandingkan
obat standar.
- Perusahaan dapat melanjutkan ke tahap uji klinis yang lebih besar
sebelum mendapatkan persetujuan regulasi.
Kesimpulan
| 6 Sigma |
GE – Pengurangan cacat dalam produksi turbin pesawat |
Meningkatkan kualitas, mengurangi cacat, serta menekan biaya
produksi |
| Z-Score |
Perbankan – Deteksi transaksi anomali |
Mengidentifikasi aktivitas mencurigakan dan mengurangi risiko
penipuan |
| T-Score |
Farmasi – Uji efektivitas obat baru |
Mengukur perbedaan signifikan antara dua kelompok untuk menentukan
efektivitas obat |
Pendekatan ini telah terbukti efektif dalam berbagai industri untuk
meningkatkan mutu, mengoptimalkan proses, serta memastikan keandalan
keputusan berbasis data.
Referensi
MySkill Blog. (2025, February 18). Memahami Z-Score: Alat Statistik
Penting dalam Analisis Data. MySkill Blog. https://blog.myskill.id/istilah-dan-tutorial/memahami-z-score-alat-statistik-penting-dalam-analisis-data/#utm_source=chatgpt.com
Indeed. (n.d.). Three Sigma vs. Six Sigma: Differences,
Similarities, and Examples. Indeed. Retrieved February 18, 2025,
from https://www.indeed.com/career-advice/career-development/3-sigma-vs-6-sigma?utm_source=chatgpt.com
Indeed. (n.d.). 3 Sigma vs. 6 Sigma: Differences, Similarities,
and Examples. Indeed. Retrieved February 18, 2025, from https://ca.indeed.com/career-advice/career-development/3-sigma?utm_source=chatgpt.com
6Sigma.us. (n.d.). Six Sigma Case Study: General Electric.
Diakses pada 27 Februari 2025, dari https://www.6sigma.us/ge/six-sigma-case-study-general-electric/
Universitas Gadjah Mada. (n.d.). Penggunaan Altman Z-Score Model:
Apakah Masih Relevan? Diakses pada 27 Februari 2025, dari https://etd.repository.ugm.ac.id/penelitian/detail/227694
LS0tDQp0aXRsZTogIkRJU1RSSUJVU0kgUFJPQkFCSUxJVEFTIg0KDQpzdWJ0aXRsZTogIlBlbmplbGFzYW4gMyBTSUdNQSAmIDYgU0lHTUEgDQpQZW5nZ3VuYWFuIFogU0NPUkUgJiBULVNDT1JFIg0KDQphdXRob3I6IA0KICAtICIgRmlrYSBJcnNhbmRpIERlc3Z5YW50aSAoNTIyNDAwMDEzKSINCiAgDQpkYXRlOiAgImByIGZvcm1hdChTeXMuRGF0ZSgpLCAnJUIgJWQsICVZJylgIg0Kb3V0cHV0Og0KICBybWRmb3JtYXRzOjpyZWFkdGhlZG93bjoNCiAgICBzZWxmX2NvbnRhaW5lZDogdHJ1ZQ0KICAgIHRodW1ibmFpbHM6IHRydWUNCiAgICBsaWdodGJveDogdHJ1ZQ0KICAgIGdhbGxlcnk6IHRydWUNCiAgICBsaWJfZGlyOiBsaWJzDQogICAgZGZfcHJpbnQ6ICJwYWdlZCINCiAgICBjb2RlX2ZvbGRpbmc6ICJzaG93IiAgIA0KICAgIGNvZGVfZG93bmxvYWQ6IHllcw0KICAgIGNzczogIlN0eWxlLmNzcyINCiAgICANCi0tLQ0KDQogPGltZyBpZD0ibG9nby11dGFtYSIgc3JjPSJGaWthYWEuanBnIiBhbHQ9IkZpa2FhYS5qcGciIHN0eWxlPSJ3aWR0aDoyMDBweDsgZGlzcGxheTogYmxvY2s7IG1hcmdpbjogYXV0bzsiPg0KDQotLS0NCg0KIyAqKlBlbmdlcnRpYW4gMyBTaWdtYSBkYW4gNiBTaWdtYSBkYWxhbSBEaXN0cmlidXNpIFByb2JhYmlsaXRhcyoqDQoNCiMjICoqQXBhIEl0dSBTaWdtYT8qKiAgDQpTaWdtYSAoKirPgyoqKSBhZGFsYWggdWt1cmFuIHN0YXRpc3RpayB1bnR1ayBtZWxpaGF0IHNlYmVyYXBhIGphdWggc3VhdHUgZGF0YSBtZW55aW1wYW5nIGRhcmkgcmF0YS1yYXRhICgqKs68KiopLiBEYWxhbSBkaXN0cmlidXNpIG5vcm1hbCwgc2ViYWdpYW4gYmVzYXIgZGF0YSB0ZXJrb25zZW50cmFzaSBkaSBzZWtpdGFyIHJhdGEtcmF0YSwgZGFuIHNlbWFraW4gamF1aCBkYXJpIHJhdGEtcmF0YSwgc2VtYWtpbiBqYXJhbmcgbmlsYWkgdGVyc2VidXQgbXVuY3VsLiAqKlNlbWFraW4ga2VjaWwgc2lnbWEsIHNlbWFraW4gc2VyYWdhbSBkYXRhbnlhKiouDQoNCi0tLQ0KDQojIyAqKjMgU2lnbWE6IFN0YW5kYXIgZGVuZ2FuIFNlZGlraXQgS2VzYWxhaGFuKiogIA0KUGVuZGVrYXRhbiAqKjMgU2lnbWEqKiBiZXJhcnRpICoqOTksNzMlIGRhdGEgYmVyYWRhIGRhbGFtIHRpZ2Ega2FsaSBzdGFuZGFyIGRldmlhc2kgZGFyaSByYXRhLXJhdGEqKiwgZGVuZ2FuICoqMCwyNyUga2VtdW5na2luYW4ga2VzYWxhaGFuKiouIERhbGFtIHByb2R1a3NpIDEganV0YSBiYXJhbmcsIHNla2l0YXIgKioyLjcwMCBiYXJhbmcgY2FjYXQqKi4NCg0KIyMjICoqQXBsaWthc2kgMyBTaWdtYToqKg0KDQotIFByb2R1ayBrb25zdW1zaSBzZXBlcnRpIHBha2FpYW4gYXRhdSBib3RvbCBtaW51bWFuLg0KDQotIFByb3NlcyBwcm9kdWtzaSBzdGFuZGFyIGRpIHBhYnJpay4NCg0KLSBBbmFsaXNpcyBrZXVhbmdhbiBhdGF1IGJpc25pcyBkZW5nYW4gdG9sZXJhbnNpIHZhcmlhc2kuDQoNCk5hbXVuLCAqKjMgU2lnbWEgdGlkYWsgY29jb2sgdW50dWsgaW5kdXN0cmkgcHJlc2lzaSB0aW5nZ2kqKiBrYXJlbmEgbWFzaWggYWRhIGtlbXVuZ2tpbmFuIGtlc2FsYWhhbiBzaWduaWZpa2FuLg0KDQotLS0NCg0KIyMgKio2IFNpZ21hOiBTdGFuZGFyIEtldGF0IHVudHVrIEtlc2FsYWhhbiBNaW5pbWFsKiogIA0KUGVuZGVrYXRhbiAqKjYgU2lnbWEqKiBiZXJhcnRpICoqOTksOTk5NjYlIGRhdGEgYmVyYWRhIGRhbGFtIGVuYW0ga2FsaSBzdGFuZGFyIGRldmlhc2kgZGFyaSByYXRhLXJhdGEqKiwgZGVuZ2FuICoqaGFueWEgMyw0IGtlc2FsYWhhbiBwZXIgMSBqdXRhIHByb2R1ayoqLg0KDQojIyMgKipBcGxpa2FzaSA2IFNpZ21hOioqDQoNCi0gKipQZW1idWF0YW4ga29tcG9uZW4gcGVzYXdhdCoqIOKGkiBLZXNhbGFoYW4ga2VjaWwgYmlzYSBmYXRhbC4NCg0KLSAqKkluZHVzdHJpIG1lZGlzIGRhbiBmYXJtYXNpKiog4oaSIERvc2lzIGhhcnVzIGFrdXJhdC4NCg0KLSAqKk90b21vdGlmIGRhbiBlbGVrdHJvbmlrKiog4oaSIEtlc2FsYWhhbiBtaW5pbWFsIHVudHVrIHBlcmZvcm1hIG9wdGltYWwuDQoNCkthcmVuYSBrZXRlcGF0YW5ueWEsIHBlcnVzYWhhYW4gYmVzYXIgc2VwZXJ0aSAqKk1vdG9yb2xhLCBUb3lvdGEsIGRhbiBHZW5lcmFsIEVsZWN0cmljKiogbWVuZXJhcGthbiBtZXRvZGUgaW5pIHVudHVrIG1lbmluZ2thdGthbiBrdWFsaXRhcy4NCg0KLS0tDQoNCiMjICoqUGVyYmFuZGluZ2FuIDMgU2lnbWEgdnMgNiBTaWdtYSoqDQoNCnwgKipUaW5na2F0IFNpZ21hKiogfCAqKlByb2R1ayBCZW5hciAoJSkqKiB8ICoqUHJvZHVrIENhY2F0IHBlciAxIEp1dGEqKiB8ICoqRGlndW5ha2FuIHVudHVrKiogfA0KfC0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwNCnwgKiozIFNpZ21hKiogICAgfCA5OSw3MyUgICAgICAgICAgfCAyLjcwMCAgICAgICAgICAgICAgfCBQcm9kdWsga29uc3Vtc2ksIGluZHVzdHJpIHVtdW0gfA0KfCAqKjYgU2lnbWEqKiAgICB8IDk5LDk5OTY2JSAgICAgICB8IDMsNCAgICAgICAgICAgICAgICB8IFBlc2F3YXQsIG1lZGlzLCBvdG9tb3RpZiB8DQoNCi0tLQ0KDQoNCiMjIHZpc3VhbGlzYXNpIGRpc3RyaWJ1c2kgbm9ybWFsIGRlbmdhbiBhcmVhIDEgU2lnbWEsIDIgU2lnbWEsIGRhbiAzIFNpZ21hDQoNCmBgYHtyIGVjaG89RkFMU0UsIG1lc3NhZ2U9RkFMU0V9DQojIE1lbXVhdCBsaWJyYXJ5IHlhbmcgZGlwZXJsdWthbg0KbGlicmFyeShnZ3Bsb3QyKQ0KDQojIE1lbWJ1YXQgZGF0YSBkaXN0cmlidXNpIG5vcm1hbA0KbXUgPC0gMCAgICAgICAjIE1lYW4NCnNpZ21hIDwtIDEgICAgIyBTdGFuZGFyIGRldmlhc2kNCnggPC0gc2VxKG11IC0gNCpzaWdtYSwgbXUgKyA0KnNpZ21hLCBsZW5ndGgub3V0ID0gMTAwMCkgICMgUmVudGFuZyBuaWxhaSB4DQp5IDwtIGRub3JtKHgsIG1lYW4gPSBtdSwgc2QgPSBzaWdtYSkgICMgRnVuZ3NpIGRpc3RyaWJ1c2kgcHJvYmFiaWxpdGFzDQoNCiMgTWVtYnVhdCBkYXRhIGZyYW1lDQpkYXRhIDwtIGRhdGEuZnJhbWUoeCwgeSkNCg0KIyBQbG90IGRpc3RyaWJ1c2kgbm9ybWFsIGRlbmdhbiBhcmVhIHNpZ21hDQpnZ3Bsb3QoZGF0YSwgYWVzKHgsIHkpKSArDQogIGdlb21fbGluZShjb2xvciA9ICJibHVlIiwgc2l6ZSA9IDEpICsgICMgS3VydmEgZGlzdHJpYnVzaSBub3JtYWwNCiAgZ2VvbV9hcmVhKGRhdGEgPSBzdWJzZXQoZGF0YSwgeCA+PSBtdSAtIDEqc2lnbWEgJiB4IDw9IG11ICsgMSpzaWdtYSksIGZpbGwgPSAiZ3JlZW4iLCBhbHBoYSA9IDAuMykgKw0KICBnZW9tX2FyZWEoZGF0YSA9IHN1YnNldChkYXRhLCB4ID49IG11IC0gMipzaWdtYSAmIHggPD0gbXUgKyAyKnNpZ21hKSwgZmlsbCA9ICJ5ZWxsb3ciLCBhbHBoYSA9IDAuMykgKw0KICBnZW9tX2FyZWEoZGF0YSA9IHN1YnNldChkYXRhLCB4ID49IG11IC0gMypzaWdtYSAmIHggPD0gbXUgKyAzKnNpZ21hKSwgZmlsbCA9ICJyZWQiLCBhbHBoYSA9IDAuMykgKw0KICBnZW9tX3ZsaW5lKHhpbnRlcmNlcHQgPSBjKG11IC0gMSpzaWdtYSwgbXUgKyAxKnNpZ21hKSwgbGluZXR5cGUgPSAiZGFzaGVkIiwgY29sb3IgPSAiYmxhY2siKSArDQogIGdlb21fdmxpbmUoeGludGVyY2VwdCA9IGMobXUgLSAyKnNpZ21hLCBtdSArIDIqc2lnbWEpLCBsaW5ldHlwZSA9ICJkYXNoZWQiLCBjb2xvciA9ICJibGFjayIpICsNCiAgZ2VvbV92bGluZSh4aW50ZXJjZXB0ID0gYyhtdSAtIDMqc2lnbWEsIG11ICsgMypzaWdtYSksIGxpbmV0eXBlID0gImRhc2hlZCIsIGNvbG9yID0gImJsYWNrIikgKw0KICBsYWJzKHRpdGxlID0gIkRpc3RyaWJ1c2kgTm9ybWFsIGRlbmdhbiBBcmVhIDEsIDIsIGRhbiAzIFNpZ21hIiwNCiAgICAgICB4ID0gIk5pbGFpIiwNCiAgICAgICB5ID0gIlByb2JhYmlsaXRhcyIpICsNCiAgdGhlbWVfbWluaW1hbCgpDQoNCmBgYA0KDQoNCiMjICoqS2VzaW1wdWxhbioqICANCg0KLSAqKjMgU2lnbWEgY3VrdXAgdW50dWsgaW5kdXN0cmkgZGVuZ2FuIHRvbGVyYW5zaSB2YXJpYXNpKiouDQoNCi0gKio2IFNpZ21hIHBlbnRpbmcgamlrYSBrZXNhbGFoYW4ga2VjaWwgcHVuIGJlcmRhbXBhayBiZXNhcioqLg0KDQotICoqUGlsaWhhbiB0ZXJnYW50dW5nIHBhZGEga2VidXR1aGFuIHByZXNpc2kgZGFsYW0gaW5kdXN0cmkqKi4NCg0KLS0tDQoNCiMgKipQZW5nZ3VuYWFuIFotU2NvcmUgZGFuIFQtU2NvcmUgZGFsYW0gU3RhdGlzdGlrKioNCg0KIyMgKipBcGEgSXR1IFotU2NvcmU/KiogIA0KKipaLXNjb3JlKiogbWVudW5qdWtrYW4gc2ViZXJhcGEgamF1aCBzdWF0dSBkYXRhIGRhcmkgcmF0YS1yYXRhIGRhbGFtIHNhdHVhbiBzdGFuZGFyIGRldmlhc2kuDQoNCiMjIyAqKlJ1bXVzIFotU2NvcmU6KiogIA0KXFsgWiA9IFxmcmFje1ggLSBcbXV9e1xzaWdtYX0gXF0gIA0KDQoNCi0gKipaIHBvc2l0aWYqKiDihpIgRGF0YSBkaSBhdGFzIHJhdGEtcmF0YS4NCg0KLSAqKlogbmVnYXRpZioqIOKGkiBEYXRhIGRpIGJhd2FoIHJhdGEtcmF0YS4NCg0KLSAqKlogPSAwKiog4oaSIERhdGEgc2FtYSBkZW5nYW4gcmF0YS1yYXRhLg0KDQojIyMgKipLYXBhbiBNZW5nZ3VuYWthbiBaLVNjb3JlPyoqICANCg0KLSAqKkppa2EgdWt1cmFuIHNhbXBlbCBiZXNhciAoPjMwIGRhdGEpLioqDQoNCi0gKipKaWthIHN0YW5kYXIgZGV2aWFzaSBwb3B1bGFzaSBkaWtldGFodWkuKioNCg0KLSAqKlVudHVrIGRldGVrc2kgb3V0bGllciBkYW4gYW5hbGlzaXMgcHJvYmFiaWxpdGFzLioqDQoNCkNvbnRvaDogSmlrYSByYXRhLXJhdGEgbmlsYWkgdWppYW4gKio3NSoqIGRlbmdhbiBzdGFuZGFyIGRldmlhc2kgKioxMCoqLCBkYW4gc2VvcmFuZyBzaXN3YSBtZW5kYXBhdCAqKjg1Kio6ICANClxbIFogPSBcZnJhY3s4NSAtIDc1fXsxMH0gPSAxIFxdICANCkFydGlueWEsIHNrb3IgYmVyYWRhIHNhdHUgc3RhbmRhciBkZXZpYXNpIGRpIGF0YXMgcmF0YS1yYXRhLg0KDQotLS0NCg0KIyMgKipBcGEgSXR1IFQtU2NvcmU/KiogIA0KKipULXNjb3JlKiogZGlndW5ha2FuIHVudHVrICoqcGVuZ3VqaWFuIGhpcG90ZXNpcyoqIHNhYXQgKipzdGFuZGFyIGRldmlhc2kgcG9wdWxhc2kgdGlkYWsgZGlrZXRhaHVpKiogYXRhdSAqKnNhbXBlbCBrZWNpbCAoPDMwKSoqLg0KDQojIyMgKipSdW11cyBULVNjb3JlOioqICANClxbIFQgPSBcZnJhY3tYIC0gXGJhcntYfX17cyAvIFxzcXJ0e259fSBcXSAgDQoNClQtc2NvcmUgbWVuZ2d1bmFrYW4gZGlzdHJpYnVzaSAqKnQtU3R1ZGVudCoqLCB5YW5nIGxlYmloIHNlc3VhaSB1bnR1ayBzYW1wZWwga2VjaWwuDQoNCiMjIyAqKkthcGFuIE1lbmdndW5ha2FuIFQtU2NvcmU/KiogIA0KDQotICoqSmlrYSB1a3VyYW4gc2FtcGVsIGtlY2lsICg8MzAgZGF0YSkuKioNCg0KLSAqKkppa2Egc3RhbmRhciBkZXZpYXNpIHBvcHVsYXNpIHRpZGFrIGRpa2V0YWh1aS4qKg0KDQotICoqVW50dWsgdWppLXQgZGFsYW0gcGVuZ3VqaWFuIGhpcG90ZXNpcy4qKg0KDQpDb250b2g6IFNlb3JhbmcgcGVuZWxpdGkgbWVtYmFuZGluZ2thbiBuaWxhaSBtYXRlbWF0aWthIGtlbGFzIEEgKDIwIHNpc3dhKSBkZW5nYW4gcmF0YS1yYXRhIHBvcHVsYXNpLiBLYXJlbmEganVtbGFoIHNhbXBlbCBrZWNpbCBkYW4gc3RhbmRhciBkZXZpYXNpIHBvcHVsYXNpIHRpZGFrIGRpa2V0YWh1aSwgZGlndW5ha2FuICoqdWppLXQqKi4NCg0KLS0tDQoNCiMjICoqUGVyYmVkYWFuIFV0YW1hIFotU2NvcmUgdnMgVC1TY29yZSoqDQoNCnwgKipQZXJiZWRhYW4qKiB8ICoqWi1TY29yZSoqIHwgKipULVNjb3JlKiogfA0KfC0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS18DQp8ICoqVWt1cmFuIFNhbXBlbCoqIHwgQmVzYXIgKD4zMCkgfCBLZWNpbCAoPDMwKSB8DQp8ICoqU3RhbmRhciBEZXZpYXNpIFBvcHVsYXNpKiogfCBEaWtldGFodWkgfCBUaWRhayBkaWtldGFodWkgfA0KfCAqKkRpc3RyaWJ1c2kqKiB8IE5vcm1hbCB8IHQtU3R1ZGVudCB8DQp8ICoqVHVqdWFuKiogfCBEZXRla3NpIG91dGxpZXIsIGFuYWxpc2lzIHByb2JhYmlsaXRhcyB8IFVqaSBoaXBvdGVzaXMsIHBlcmJhbmRpbmdhbiByYXRhLXJhdGEgfA0KDQotLS0NCg0KIyMgKipLZXNpbXB1bGFuKioNCg0KLSAqKkd1bmFrYW4gWi1zY29yZSB1bnR1ayBzYW1wZWwgYmVzYXIgZGVuZ2FuIHN0YW5kYXIgZGV2aWFzaSBkaWtldGFodWkuKioNCg0KLSAqKkd1bmFrYW4gVC1zY29yZSB1bnR1ayBzYW1wZWwga2VjaWwgYXRhdSBqaWthIHN0YW5kYXIgZGV2aWFzaSB0aWRhayBkaWtldGFodWkuKioNCg0KLSAqKlotc2NvcmUgY29jb2sgdW50dWsgYW5hbGlzaXMgcHJvYmFiaWxpdGFzLCBzZWRhbmdrYW4gVC1zY29yZSBsZWJpaCB1bXVtIGRhbGFtIHBlbmd1amlhbiBoaXBvdGVzaXMuKioNCg0KRGVuZ2FuIG1lbWFoYW1pIHBlcmJlZGFhbiBaLXNjb3JlIGRhbiBULXNjb3JlLCBraXRhIGRhcGF0IG1lbGFrdWthbiBhbmFsaXNpcyBzdGF0aXN0aWsgeWFuZyBsZWJpaCB0ZXBhdCB1bnR1ayBwZW5lbGl0aWFuIGRhbiBpbmR1c3RyaS4NCg0KDQojICoqS2FzdXMgTnlhdGE6IEltcGxlbWVudGFzaSA2IFNpZ21hIGRhbiBBbmFsaXNpcyBTdGF0aXN0aWsgZGVuZ2FuIFotU2NvcmUvVC1TY29yZSoqICANCg0KRGkgYmF3YWggaW5pIGFkYWxhaCBiZWJlcmFwYSBjb250b2ggcGVuZXJhcGFuICoqNiBTaWdtYSoqIHNlcnRhICoqYW5hbGlzaXMgc3RhdGlzdGlrIChaLVNjb3JlICYgVC1TY29yZSkqKiBkYWxhbSBkdW5pYSBpbmR1c3RyaSB5YW5nIG1lbWJhbnR1IG1lbmluZ2thdGthbiBrdWFsaXRhcyBzZXJ0YSBwZW5nYW1iaWxhbiBrZXB1dHVzYW4gYmVyYmFzaXMgZGF0YS4gIA0KDQotLS0NCg0KIyMgKioxLiBJbXBsZW1lbnRhc2kgNiBTaWdtYSBkaSBHZW5lcmFsIEVsZWN0cmljIChHRSkqKg0KIyMjICoqU3R1ZGkgS2FzdXM6IE1lbmd1cmFuZ2kgVGluZ2thdCBDYWNhdCBkYWxhbSBQcm9kdWtzaSBNZXNpbiBUdXJiaW4qKiAgDQojIyMjICoqTGF0YXIgQmVsYWthbmc6KiogIA0KR2VuZXJhbCBFbGVjdHJpYyAoR0UpIGFkYWxhaCBzYWxhaCBzYXR1IHBlcnVzYWhhYW4geWFuZyBwZXJ0YW1hIGthbGkgbWVuZXJhcGthbiAqKlNpeCBTaWdtYSoqIGRhbGFtIHNrYWxhIGJlc2FyIGd1bmEgbWVuaW5na2F0a2FuIGVmaXNpZW5zaSBwcm9kdWtzaSBzZXJ0YSBtZW5ndXJhbmdpIGtlc2FsYWhhbiBkYWxhbSBwZW1idWF0YW4gcHJvZHVrbnlhLiAgDQoNCiMjIyMgKipUYW50YW5nYW4geWFuZyBEaWhhZGFwaToqKiAgDQotIFRpbmdrYXQgY2FjYXQgZGFsYW0gcHJvZHVrc2kgbWVzaW4gdHVyYmluIG1lbmNhcGFpICoqNC4wMDAgdW5pdCBwZXIgMSBqdXRhIHByb2R1ayoqLCB5YW5nIG1hc2loIGRhbGFtIGthdGVnb3JpICoqMyBTaWdtYSoqLiAgDQotIEtlc2FsYWhhbiBzZWtlY2lsIGFwYSBwdW4gZGFsYW0ga29tcG9uZW4gdHVyYmluIGRhcGF0IGJlcmRhbXBhayBzZXJpdXMgdGVyaGFkYXAga2VhbWFuYW4gcGVuZXJiYW5nYW4uICANCi0gR0UgaW5naW4gbWVudXJ1bmthbiBqdW1sYWggcHJvZHVrIGNhY2F0IGhpbmdnYSBtZW5jYXBhaSBzdGFuZGFyICoqNiBTaWdtYSoqLCB5YWtuaSBoYW55YSAqKjMsNCBjYWNhdCBwZXIgMSBqdXRhIHVuaXQqKi4gIA0KDQojIyMjICoqU3RyYXRlZ2kgZGVuZ2FuIDYgU2lnbWE6KiogIA0KMS4gKipEZWZpbmUgKEQpOioqIE1lbmVudHVrYW4gZmFrdG9yIHV0YW1hIHlhbmcgbWVueWViYWJrYW4ga2VjYWNhdGFuIGRhbGFtIHByb2R1a3NpLiAgDQoyLiAqKk1lYXN1cmUgKE0pOioqIE1lbmd1bXB1bGthbiBkYXRhIGRhbiBtZW5nYW5hbGlzaXMgc2ViZXJhcGEgc2VyaW5nIGNhY2F0IHRlcmphZGkuICANCjMuICoqQW5hbHl6ZSAoQSk6KiogTWVuZ2d1bmFrYW4gbWV0b2RlIHN0YXRpc3RpayAodGVybWFzdWsgWi1TY29yZSBkYW4gVC1TY29yZSkgdW50dWsgbWVuZ2lkZW50aWZpa2FzaSBmYWt0b3IgeWFuZyBwYWxpbmcgYmVycGVuZ2FydWggdGVyaGFkYXAga3VhbGl0YXMuICANCjQuICoqSW1wcm92ZSAoSSk6KiogTWVsYWt1a2FuIHBlcmJhaWthbiBkYWxhbSBwcm9zZXMgcHJvZHVrc2kgdW50dWsgbWVuZ3VyYW5naSBjYWNhdC4gIA0KNS4gKipDb250cm9sIChDKToqKiBNZW5lcmFwa2FuIHNpc3RlbSBwZW5nYXdhc2FuIGtldGF0IGFnYXIgc3RhbmRhciAqKjYgU2lnbWEqKiB0ZXRhcCB0ZXJqYWdhLiAgDQoNCiMjIyMgKipIYXNpbCB5YW5nIERpcGVyb2xlaDoqKiAgDQoNCi0ganVtbGFoIHByb2R1ayBjYWNhdCBiZXJrdXJhbmcgZGFyaSAqKjQuMDAwIHVuaXQgcGVyIGp1dGEqKiBtZW5qYWRpICoqa3VyYW5nIGRhcmkgMTAgdW5pdCBwZXIganV0YSoqLiAgDQoNCi0gRWZla3Rpdml0YXMgcHJvZHVrc2kgbWVuaW5na2F0LCBiaWF5YSBvcGVyYXNpb25hbCBiZXJrdXJhbmcsIGRhbiBrZWFuZGFsYW4gbWVzaW4gc2VtYWtpbiB0aW5nZ2kuICANCg0KLSBHRSBiZXJoYXNpbCBtZW5naGVtYXQgbWlsaWFyYW4gZG9sYXIgZGVuZ2FuIG1lbmluZ2thdGthbiBrdWFsaXRhcyBzZXJ0YSBlZmlzaWVuc2kgcHJvZHVrc2lueWEuICANCg0KLS0tDQoNCiMjICoqMi4gUGVuZ2d1bmFhbiBaLVNjb3JlIGRhbGFtIEluZHVzdHJpIEtldWFuZ2FuKiogIA0KDQojIyMgKipTdHVkaSBLYXN1czogSWRlbnRpZmlrYXNpIFRyYW5zYWtzaSBNZW5jdXJpZ2FrYW4gZGkgUGVyYmFua2FuKiogIA0KDQojIyMjICoqTGF0YXIgQmVsYWthbmc6KiogIA0KUGVydXNhaGFhbiBrZXVhbmdhbiBkYW4gYmFuayBzZXJpbmcgbWVuZ2d1bmFrYW4gKipaLVNjb3JlKiogdW50dWsgbWVuZGV0ZWtzaSB0cmFuc2Frc2kgeWFuZyBkaWFuZ2dhcCB0aWRhayB3YWphciwgc2VwZXJ0aSBpbmRpa2FzaSAqKmZyYXVkKiogYXRhdSAqKnBlbmN1Y2lhbiB1YW5nKiouICANCg0KIyMjIyAqKlRhbnRhbmdhbiB5YW5nIERpaGFkYXBpOioqICANCg0KLSBCYW5rIGluZ2luIG1lbmdpZGVudGlmaWthc2kgdHJhbnNha3NpIHlhbmcgdGlkYWsgYmlhc2EgZGFuIGJlcnBvdGVuc2kgc2ViYWdhaSBha3Rpdml0YXMgbWVuY3VyaWdha2FuLiAgDQoNCi0gU2ViYWdpYW4gYmVzYXIgdHJhbnNha3NpIGJlcmtpc2FyIGFudGFyYSAqKiQxMDAgaGluZ2dhICQyLjAwMCoqLCBkZW5nYW4gcmF0YS1yYXRhICoqJDEuMDAwKiogZGFuIHN0YW5kYXIgZGV2aWFzaSAqKiQzMDAqKi4gIA0KDQotIEJlYmVyYXBhIHRyYW5zYWtzaSBiZXJuaWxhaSAqKiQxMC4wMDAgYXRhdSBsZWJpaCoqLCB5YW5nIGtlbXVuZ2tpbmFuIG1lcnVwYWthbiB0cmFuc2Frc2kgYW5vbWFsaS4gIA0KDQojIyMjICoqQW5hbGlzaXMgTWVuZ2d1bmFrYW4gWi1TY29yZToqKiAgDQpEZW5nYW4gbWVuZXJhcGthbiBydW11cyBaLVNjb3JlOiAgDQoNClxbDQpaID0gXGZyYWN7WCAtIFxtdX17XHNpZ21hfQ0KXF0NCg0KSmlrYSB0ZXJkYXBhdCB0cmFuc2Frc2kgc2ViZXNhciAqKiQxMC4wMDAqKiwgbWFrYTogIA0KDQpcWw0KWiA9IFxmcmFjezEwLjAwMCAtIDEuMDAwfXszMDB9ID0gXGZyYWN7OS4wMDB9ezMwMH0gPSAzMA0KXF0NCg0KS2FyZW5hICoqWi1TY29yZSA9IDMwKiogamF1aCBkaSBsdWFyIGJhdGFzIG5vcm1hbCAqKsKxMyoqLCB0cmFuc2Frc2kgaW5pIGRpa2F0ZWdvcmlrYW4gc2ViYWdhaSAqKmFub21hbGkqKiBkYW4gcGVybHUgZGlwYW50YXUgbGViaWggbGFuanV0LiAgDQoNCiMjIyMgKipEYW1wYWsgUG9zaXRpZm55YToqKiAgDQoNCi0gQmFuayBkYXBhdCBzZWNhcmEgb3RvbWF0aXMgbWVuZGV0ZWtzaSBkYW4gbWVuYW5kYWkgdHJhbnNha3NpIHlhbmcgbWVuY3VyaWdha2FuIHVudHVrIGRpcGVyaWtzYSBsZWJpaCBsYW5qdXQuICANCg0KLSBSaXNpa28gdGVya2FpdCBwZW5pcHVhbiBzZXJ0YSBha3Rpdml0YXMgcGVuY3VjaWFuIHVhbmcgZGFwYXQgZGltaW5pbWFsa2FuLiAgDQoNCi0tLQ0KDQojIyAqKjMuIFBlbmVyYXBhbiBULVNjb3JlIGRhbGFtIEluZHVzdHJpIEZhcm1hc2kqKiAgDQojIyMgKipTdHVkaSBLYXN1czogRXZhbHVhc2kgRWZla3Rpdml0YXMgT2JhdCBCYXJ1KiogIA0KIyMjIyAqKkxhdGFyIEJlbGFrYW5nOioqICANClNlYnVhaCBwZXJ1c2FoYWFuIGZhcm1hc2kgaW5naW4gbWVtYmFuZGluZ2thbiBlZmVrdGl2aXRhcyBvYmF0IGJhcnUgZGFsYW0gbWVudXJ1bmthbiB0ZWthbmFuIGRhcmFoIGRlbmdhbiBvYmF0IHlhbmcgc3VkYWggdGVyc2VkaWEgZGkgcGFzYXJhbi4gIA0KDQojIyMjICoqTWV0b2RlIHlhbmcgRGlndW5ha2FuOioqICANCg0KLSAqKkR1YSBrZWxvbXBvayBwYXNpZW4qKjogc2F0dSBkaWJlcmlrYW4gb2JhdCBiYXJ1LCBzZW1lbnRhcmEgeWFuZyBsYWluIG1lbmVyaW1hIG9iYXQgc3RhbmRhci4gIA0KDQotICoqSnVtbGFoIHNhbXBlbCB0ZXJiYXRhcyoqOiBoYW55YSAqKjI1IHBhc2llbiBwZXIga2Vsb21wb2sqKiBrYXJlbmEgaW5pIG1lcnVwYWthbiB0YWhhcCBhd2FsIHVqaSBrbGluaXMuICANCg0KLSAqKkthcmVuYSBzdGFuZGFyIGRldmlhc2kgcG9wdWxhc2kgdGlkYWsgZGlrZXRhaHVpKiosIGFuYWxpc2lzIGRpbGFrdWthbiBtZW5nZ3VuYWthbiAqKlQtVGVzdCoqIHVudHVrIG1lbWJhbmRpbmdrYW4gcmF0YS1yYXRhIHRla2FuYW4gZGFyYWggcGFzY2EgcGVuZ29iYXRhbi4gIA0KDQojIyMjICoqUGVuZ29sYWhhbiBEYXRhIGRlbmdhbiBULVNjb3JlOioqICANCk1lbmdndW5ha2FuIHJ1bXVzIFQtU2NvcmU6ICANCg0KXFsNClQgPSBcZnJhY3tYIC0gXGJhcntYfX17cyAvIFxzcXJ0e259fQ0KXF0NCg0KQXBhYmlsYSBoYXNpbCBwZW5ndWppYW4gbWVudW5qdWtrYW4gYmFod2EgcGVyYmVkYWFuIHJhdGEtcmF0YSB0ZWthbmFuIGRhcmFoIGFudGFyYSBrZWR1YSBrZWxvbXBvayAqKnNpZ25pZmlrYW4gc2VjYXJhIHN0YXRpc3RpayAocCA8IDAsMDUpKiosIG1ha2E6ICANCg0KLSBPYmF0IGJhcnUgZGlhbmdnYXAgbWVtaWxpa2kgZWZla3Rpdml0YXMgeWFuZyBsZWJpaCBiYWlrIGRpYmFuZGluZ2thbiBvYmF0IHN0YW5kYXIuICANCi0gUGVydXNhaGFhbiBkYXBhdCBtZWxhbmp1dGthbiBrZSB0YWhhcCB1amkga2xpbmlzIHlhbmcgbGViaWggYmVzYXIgc2ViZWx1bSBtZW5kYXBhdGthbiBwZXJzZXR1anVhbiByZWd1bGFzaS4gIA0KDQotLS0NCg0KIyMgKipLZXNpbXB1bGFuKiogIA0KfCAqKk1ldG9kZSoqICB8ICoqU3R1ZGkgS2FzdXMqKiB8ICoqTWFuZmFhdCoqIHwNCnwtLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLXwNCnwgKio2IFNpZ21hKiogfCBHRSDigJMgUGVuZ3VyYW5nYW4gY2FjYXQgZGFsYW0gcHJvZHVrc2kgdHVyYmluIHBlc2F3YXQgfCBNZW5pbmdrYXRrYW4ga3VhbGl0YXMsIG1lbmd1cmFuZ2kgY2FjYXQsIHNlcnRhIG1lbmVrYW4gYmlheWEgcHJvZHVrc2kgfA0KfCAqKlotU2NvcmUqKiB8IFBlcmJhbmthbiDigJMgRGV0ZWtzaSB0cmFuc2Frc2kgYW5vbWFsaSB8IE1lbmdpZGVudGlmaWthc2kgYWt0aXZpdGFzIG1lbmN1cmlnYWthbiBkYW4gbWVuZ3VyYW5naSByaXNpa28gcGVuaXB1YW4gfA0KfCAqKlQtU2NvcmUqKiB8IEZhcm1hc2kg4oCTIFVqaSBlZmVrdGl2aXRhcyBvYmF0IGJhcnUgfCBNZW5ndWt1ciBwZXJiZWRhYW4gc2lnbmlmaWthbiBhbnRhcmEgZHVhIGtlbG9tcG9rIHVudHVrIG1lbmVudHVrYW4gZWZla3Rpdml0YXMgb2JhdCB8DQoNClBlbmRla2F0YW4gaW5pIHRlbGFoIHRlcmJ1a3RpIGVmZWt0aWYgZGFsYW0gYmVyYmFnYWkgaW5kdXN0cmkgdW50dWsgbWVuaW5na2F0a2FuIG11dHUsIG1lbmdvcHRpbWFsa2FuIHByb3Nlcywgc2VydGEgbWVtYXN0aWthbiBrZWFuZGFsYW4ga2VwdXR1c2FuIGJlcmJhc2lzIGRhdGEuIA0KDQojIFJlZmVyZW5zaQ0KDQpNeVNraWxsIEJsb2cuICgyMDI1LCBGZWJydWFyeSAxOCkuIE1lbWFoYW1pIFotU2NvcmU6IEFsYXQgU3RhdGlzdGlrIFBlbnRpbmcgZGFsYW0gQW5hbGlzaXMgRGF0YS4gKk15U2tpbGwgQmxvZyouIGh0dHBzOi8vYmxvZy5teXNraWxsLmlkL2lzdGlsYWgtZGFuLXR1dG9yaWFsL21lbWFoYW1pLXotc2NvcmUtYWxhdC1zdGF0aXN0aWstcGVudGluZy1kYWxhbS1hbmFsaXNpcy1kYXRhLyN1dG1fc291cmNlPWNoYXRncHQuY29tDQoNCiBJbmRlZWQuIChuLmQuKS4gKlRocmVlIFNpZ21hIHZzLiBTaXggU2lnbWE6IERpZmZlcmVuY2VzLCBTaW1pbGFyaXRpZXMsIGFuZCBFeGFtcGxlcyouIEluZGVlZC4gUmV0cmlldmVkIEZlYnJ1YXJ5IDE4LCAyMDI1LCBmcm9tIFtodHRwczovL3d3dy5pbmRlZWQuY29tL2NhcmVlci1hZHZpY2UvY2FyZWVyLWRldmVsb3BtZW50LzMtc2lnbWEtdnMtNi1zaWdtYT91dG1fc291cmNlPWNoYXRncHQuY29tXShodHRwczovL3d3dy5pbmRlZWQuY29tL2NhcmVlci1hZHZpY2UvY2FyZWVyLWRldmVsb3BtZW50LzMtc2lnbWEtdnMtNi1zaWdtYT91dG1fc291cmNlPWNoYXRncHQuY29tKQ0KDQpJbmRlZWQuIChuLmQuKS4gKjMgU2lnbWEgdnMuIDYgU2lnbWE6IERpZmZlcmVuY2VzLCBTaW1pbGFyaXRpZXMsIGFuZCBFeGFtcGxlcyouIEluZGVlZC4gUmV0cmlldmVkIEZlYnJ1YXJ5IDE4LCAyMDI1LCBmcm9tIFtodHRwczovL2NhLmluZGVlZC5jb20vY2FyZWVyLWFkdmljZS9jYXJlZXItZGV2ZWxvcG1lbnQvMy1zaWdtYT91dG1fc291cmNlPWNoYXRncHQuY29tXShodHRwczovL2NhLmluZGVlZC5jb20vY2FyZWVyLWFkdmljZS9jYXJlZXItZGV2ZWxvcG1lbnQvMy1zaWdtYT91dG1fc291cmNlPWNoYXRncHQuY29tKQ0KDQogICA2U2lnbWEudXMuIChuLmQuKS4gKlNpeCBTaWdtYSBDYXNlIFN0dWR5OiBHZW5lcmFsIEVsZWN0cmljLiogRGlha3NlcyBwYWRhIDI3IEZlYnJ1YXJpIDIwMjUsIGRhcmkgW2h0dHBzOi8vd3d3LjZzaWdtYS51cy9nZS9zaXgtc2lnbWEtY2FzZS1zdHVkeS1nZW5lcmFsLWVsZWN0cmljL10oaHR0cHM6Ly93d3cuNnNpZ21hLnVzL2dlL3NpeC1zaWdtYS1jYXNlLXN0dWR5LWdlbmVyYWwtZWxlY3RyaWMvKSAgDQoNCg0KICAgVW5pdmVyc2l0YXMgR2FkamFoIE1hZGEuIChuLmQuKS4gKlBlbmdndW5hYW4gQWx0bWFuIFotU2NvcmUgTW9kZWw6IEFwYWthaCBNYXNpaCBSZWxldmFuPyogRGlha3NlcyBwYWRhIDI3IEZlYnJ1YXJpIDIwMjUsIGRhcmkgW2h0dHBzOi8vZXRkLnJlcG9zaXRvcnkudWdtLmFjLmlkL3BlbmVsaXRpYW4vZGV0YWlsLzIyNzY5NF0oaHR0cHM6Ly9ldGQucmVwb3NpdG9yeS51Z20uYWMuaWQvcGVuZWxpdGlhbi9kZXRhaWwvMjI3Njk0KSAgDQoNCg0K