From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sakari Ailus Subject: [PATCH v3 01/23] v4l: fwnode: Add debug prints for V4L2 endpoint property parsing Date: Thu, 13 Sep 2018 00:29:20 +0300 Message-ID: <20180912212942.19641-2-sakari.ailus@linux.intel.com> References: <20180912212942.19641-1-sakari.ailus@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180912212942.19641-1-sakari.ailus@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: linux-media@vger.kernel.org Cc: devicetree@vger.kernel.org, jacopo@jmondi.org, dri-devel@lists.freedesktop.org, slongerbeam@gmail.com, niklas.soderlund@ragnatech.se List-Id: devicetree@vger.kernel.org UHJpbnQgZGVidWcgaW5mbyBhcyBzdGFuZGFyZCBWNEwyIGVuZHBvaW50IGFyZSBwYXJzZWQuCgpT aWduZWQtb2ZmLWJ5OiBTYWthcmkgQWlsdXMgPHNha2FyaS5haWx1c0BsaW51eC5pbnRlbC5jb20+ ClJldmlld2VkLWJ5OiBOaWtsYXMgU8O2ZGVybHVuZCA8bmlrbGFzLnNvZGVybHVuZCtyZW5lc2Fz QHJhZ25hdGVjaC5zZT4KVGVzdGVkLWJ5OiBTdGV2ZSBMb25nZXJiZWFtIDxzdGV2ZV9sb25nZXJi ZWFtQG1lbnRvci5jb20+Ci0tLQogZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1md25vZGUu YyB8IDEwOCArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tCiAxIGZpbGUgY2hhbmdl ZCwgODUgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9tZWRpYS92NGwyLWNvcmUvdjRsMi1md25vZGUuYyBiL2RyaXZlcnMvbWVkaWEvdjRsMi1jb3Jl L3Y0bDItZndub2RlLmMKaW5kZXggYmU3NWQ5OTAwNjY3Li5mYzhjNjNlYmExMGIgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvbWVkaWEvdjRsMi1jb3JlL3Y0bDItZndub2RlLmMKKysrIGIvZHJpdmVycy9t ZWRpYS92NGwyLWNvcmUvdjRsMi1md25vZGUuYwpAQCAtNjYsNiArNjYsNyBAQCBzdGF0aWMgaW50 IHY0bDJfZndub2RlX2VuZHBvaW50X3BhcnNlX2NzaTJfYnVzKHN0cnVjdCBmd25vZGVfaGFuZGxl ICpmd25vZGUsCiAJCQlsYW5lc191c2VkIHw9IEJJVChhcnJheVtpXSk7CiAKIAkJCWJ1cy0+ZGF0 YV9sYW5lc1tpXSA9IGFycmF5W2ldOworCQkJcHJfZGVidWcoImxhbmUgJXUgcG9zaXRpb24gJXVc biIsIGksIGFycmF5W2ldKTsKIAkJfQogCiAJCXJ2YWwgPSBmd25vZGVfcHJvcGVydHlfcmVhZF91 MzJfYXJyYXkoZndub2RlLApAQCAtODIsOCArODMsMTMgQEAgc3RhdGljIGludCB2NGwyX2Z3bm9k ZV9lbmRwb2ludF9wYXJzZV9jc2kyX2J1cyhzdHJ1Y3QgZndub2RlX2hhbmRsZSAqZndub2RlLAog CQkJCQkJICAgICAgICJsYW5lLXBvbGFyaXRpZXMiLCBhcnJheSwKIAkJCQkJCSAgICAgICAxICsg YnVzLT5udW1fZGF0YV9sYW5lcyk7CiAKLQkJCWZvciAoaSA9IDA7IGkgPCAxICsgYnVzLT5udW1f ZGF0YV9sYW5lczsgaSsrKQorCQkJZm9yIChpID0gMDsgaSA8IDEgKyBidXMtPm51bV9kYXRhX2xh bmVzOyBpKyspIHsKIAkJCQlidXMtPmxhbmVfcG9sYXJpdGllc1tpXSA9IGFycmF5W2ldOworCQkJ CXByX2RlYnVnKCJsYW5lICV1IHBvbGFyaXR5ICVzaW52ZXJ0ZWQiLAorCQkJCQkgaSwgYXJyYXlb aV0gPyAiIiA6ICJub3QgIik7CisJCQl9CisJCX0gZWxzZSB7CisJCQlwcl9kZWJ1Zygibm8gbGFu ZSBwb2xhcml0aWVzIGRlZmluZWQsIGFzc3VtaW5nIG5vdCBpbnZlcnRlZFxuIik7CiAJCX0KIAog CX0KQEAgLTk1LDEyICsxMDEsMTUgQEAgc3RhdGljIGludCB2NGwyX2Z3bm9kZV9lbmRwb2ludF9w YXJzZV9jc2kyX2J1cyhzdHJ1Y3QgZndub2RlX2hhbmRsZSAqZndub2RlLAogCiAJCWJ1cy0+Y2xv Y2tfbGFuZSA9IHY7CiAJCWhhdmVfY2xrX2xhbmUgPSB0cnVlOworCQlwcl9kZWJ1ZygiY2xvY2sg bGFuZSBwb3NpdGlvbiAldVxuIiwgdik7CiAJfQogCi0JaWYgKGZ3bm9kZV9wcm9wZXJ0eV9wcmVz ZW50KGZ3bm9kZSwgImNsb2NrLW5vbmNvbnRpbnVvdXMiKSkKKwlpZiAoZndub2RlX3Byb3BlcnR5 X3ByZXNlbnQoZndub2RlLCAiY2xvY2stbm9uY29udGludW91cyIpKSB7CiAJCWZsYWdzIHw9IFY0 TDJfTUJVU19DU0kyX05PTkNPTlRJTlVPVVNfQ0xPQ0s7Ci0JZWxzZSBpZiAoaGF2ZV9jbGtfbGFu ZSB8fCBidXMtPm51bV9kYXRhX2xhbmVzID4gMCkKKwkJcHJfZGVidWcoIm5vbi1jb250aW51b3Vz IGNsb2NrXG4iKTsKKwl9IGVsc2UgaWYgKGhhdmVfY2xrX2xhbmUgfHwgYnVzLT5udW1fZGF0YV9s YW5lcyA+IDApIHsKIAkJZmxhZ3MgfD0gVjRMMl9NQlVTX0NTSTJfQ09OVElOVU9VU19DTE9DSzsK Kwl9CiAKIAlidXMtPmZsYWdzID0gZmxhZ3M7CiAJdmVwLT5idXNfdHlwZSA9IFY0TDJfTUJVU19D U0kyOwpAQCAtMTE1LDQ4ICsxMjQsNjkgQEAgc3RhdGljIHZvaWQgdjRsMl9md25vZGVfZW5kcG9p bnRfcGFyc2VfcGFyYWxsZWxfYnVzKAogCXVuc2lnbmVkIGludCBmbGFncyA9IDA7CiAJdTMyIHY7 CiAKLQlpZiAoIWZ3bm9kZV9wcm9wZXJ0eV9yZWFkX3UzMihmd25vZGUsICJoc3luYy1hY3RpdmUi LCAmdikpCisJaWYgKCFmd25vZGVfcHJvcGVydHlfcmVhZF91MzIoZndub2RlLCAiaHN5bmMtYWN0 aXZlIiwgJnYpKSB7CiAJCWZsYWdzIHw9IHYgPyBWNEwyX01CVVNfSFNZTkNfQUNUSVZFX0hJR0gg OgogCQkJVjRMMl9NQlVTX0hTWU5DX0FDVElWRV9MT1c7CisJCXByX2RlYnVnKCJoc3luYy1hY3Rp dmUgJXNcbiIsIHYgPyAiaGlnaCIgOiAibG93Iik7CisJfQogCi0JaWYgKCFmd25vZGVfcHJvcGVy dHlfcmVhZF91MzIoZndub2RlLCAidnN5bmMtYWN0aXZlIiwgJnYpKQorCWlmICghZndub2RlX3By b3BlcnR5X3JlYWRfdTMyKGZ3bm9kZSwgInZzeW5jLWFjdGl2ZSIsICZ2KSkgewogCQlmbGFncyB8 PSB2ID8gVjRMMl9NQlVTX1ZTWU5DX0FDVElWRV9ISUdIIDoKIAkJCVY0TDJfTUJVU19WU1lOQ19B Q1RJVkVfTE9XOworCQlwcl9kZWJ1ZygidnN5bmMtYWN0aXZlICVzXG4iLCB2ID8gImhpZ2giIDog ImxvdyIpOworCX0KIAotCWlmICghZndub2RlX3Byb3BlcnR5X3JlYWRfdTMyKGZ3bm9kZSwgImZp ZWxkLWV2ZW4tYWN0aXZlIiwgJnYpKQorCWlmICghZndub2RlX3Byb3BlcnR5X3JlYWRfdTMyKGZ3 bm9kZSwgImZpZWxkLWV2ZW4tYWN0aXZlIiwgJnYpKSB7CiAJCWZsYWdzIHw9IHYgPyBWNEwyX01C VVNfRklFTERfRVZFTl9ISUdIIDoKIAkJCVY0TDJfTUJVU19GSUVMRF9FVkVOX0xPVzsKKwkJcHJf ZGVidWcoImZpZWxkLWV2ZW4tYWN0aXZlICVzXG4iLCB2ID8gImhpZ2giIDogImxvdyIpOworCX0K KwogCWlmIChmbGFncykKIAkJdmVwLT5idXNfdHlwZSA9IFY0TDJfTUJVU19QQVJBTExFTDsKIAll bHNlCiAJCXZlcC0+YnVzX3R5cGUgPSBWNEwyX01CVVNfQlQ2NTY7CiAKLQlpZiAoIWZ3bm9kZV9w cm9wZXJ0eV9yZWFkX3UzMihmd25vZGUsICJwY2xrLXNhbXBsZSIsICZ2KSkKKwlpZiAoIWZ3bm9k ZV9wcm9wZXJ0eV9yZWFkX3UzMihmd25vZGUsICJwY2xrLXNhbXBsZSIsICZ2KSkgewogCQlmbGFn cyB8PSB2ID8gVjRMMl9NQlVTX1BDTEtfU0FNUExFX1JJU0lORyA6CiAJCQlWNEwyX01CVVNfUENM S19TQU1QTEVfRkFMTElORzsKKwkJcHJfZGVidWcoInBjbGstc2FtcGxlICVzXG4iLCB2ID8gImhp Z2giIDogImxvdyIpOworCX0KIAotCWlmICghZndub2RlX3Byb3BlcnR5X3JlYWRfdTMyKGZ3bm9k ZSwgImRhdGEtYWN0aXZlIiwgJnYpKQorCWlmICghZndub2RlX3Byb3BlcnR5X3JlYWRfdTMyKGZ3 bm9kZSwgImRhdGEtYWN0aXZlIiwgJnYpKSB7CiAJCWZsYWdzIHw9IHYgPyBWNEwyX01CVVNfREFU QV9BQ1RJVkVfSElHSCA6CiAJCQlWNEwyX01CVVNfREFUQV9BQ1RJVkVfTE9XOworCQlwcl9kZWJ1 ZygiZGF0YS1hY3RpdmUgJXNcbiIsIHYgPyAiaGlnaCIgOiAibG93Iik7CisJfQogCi0JaWYgKGZ3 bm9kZV9wcm9wZXJ0eV9wcmVzZW50KGZ3bm9kZSwgInNsYXZlLW1vZGUiKSkKKwlpZiAoZndub2Rl X3Byb3BlcnR5X3ByZXNlbnQoZndub2RlLCAic2xhdmUtbW9kZSIpKSB7CisJCXByX2RlYnVnKCJz bGF2ZSBtb2RlXG4iKTsKIAkJZmxhZ3MgfD0gVjRMMl9NQlVTX1NMQVZFOwotCWVsc2UKKwl9IGVs c2UgewogCQlmbGFncyB8PSBWNEwyX01CVVNfTUFTVEVSOworCX0KIAotCWlmICghZndub2RlX3By b3BlcnR5X3JlYWRfdTMyKGZ3bm9kZSwgImJ1cy13aWR0aCIsICZ2KSkKKwlpZiAoIWZ3bm9kZV9w cm9wZXJ0eV9yZWFkX3UzMihmd25vZGUsICJidXMtd2lkdGgiLCAmdikpIHsKIAkJYnVzLT5idXNf d2lkdGggPSB2OworCQlwcl9kZWJ1ZygiYnVzLXdpZHRoICV1XG4iLCB2KTsKKwl9CiAKLQlpZiAo IWZ3bm9kZV9wcm9wZXJ0eV9yZWFkX3UzMihmd25vZGUsICJkYXRhLXNoaWZ0IiwgJnYpKQorCWlm ICghZndub2RlX3Byb3BlcnR5X3JlYWRfdTMyKGZ3bm9kZSwgImRhdGEtc2hpZnQiLCAmdikpIHsK IAkJYnVzLT5kYXRhX3NoaWZ0ID0gdjsKKwkJcHJfZGVidWcoImRhdGEtc2hpZnQgJXVcbiIsIHYp OworCX0KIAotCWlmICghZndub2RlX3Byb3BlcnR5X3JlYWRfdTMyKGZ3bm9kZSwgInN5bmMtb24t Z3JlZW4tYWN0aXZlIiwgJnYpKQorCWlmICghZndub2RlX3Byb3BlcnR5X3JlYWRfdTMyKGZ3bm9k ZSwgInN5bmMtb24tZ3JlZW4tYWN0aXZlIiwgJnYpKSB7CiAJCWZsYWdzIHw9IHYgPyBWNEwyX01C VVNfVklERU9fU09HX0FDVElWRV9ISUdIIDoKIAkJCVY0TDJfTUJVU19WSURFT19TT0dfQUNUSVZF X0xPVzsKKwkJcHJfZGVidWcoInN5bmMtb24tZ3JlZW4tYWN0aXZlICVzXG4iLCB2ID8gImhpZ2gi IDogImxvdyIpOworCX0KIAotCWlmICghZndub2RlX3Byb3BlcnR5X3JlYWRfdTMyKGZ3bm9kZSwg ImRhdGEtZW5hYmxlLWFjdGl2ZSIsICZ2KSkKKwlpZiAoIWZ3bm9kZV9wcm9wZXJ0eV9yZWFkX3Uz Mihmd25vZGUsICJkYXRhLWVuYWJsZS1hY3RpdmUiLCAmdikpIHsKIAkJZmxhZ3MgfD0gdiA/IFY0 TDJfTUJVU19EQVRBX0VOQUJMRV9ISUdIIDoKIAkJCVY0TDJfTUJVU19EQVRBX0VOQUJMRV9MT1c7 CisJCXByX2RlYnVnKCJkYXRhLWVuYWJsZS1hY3RpdmUgJXNcbiIsIHYgPyAiaGlnaCIgOiAibG93 Iik7CisJfQogCiAJYnVzLT5mbGFncyA9IGZsYWdzOwogCkBAIC0xNzAsMTcgKzIwMCwyNSBAQCB2 NGwyX2Z3bm9kZV9lbmRwb2ludF9wYXJzZV9jc2kxX2J1cyhzdHJ1Y3QgZndub2RlX2hhbmRsZSAq Zndub2RlLAogCXN0cnVjdCB2NGwyX2Z3bm9kZV9idXNfbWlwaV9jc2kxICpidXMgPSAmdmVwLT5i dXMubWlwaV9jc2kxOwogCXUzMiB2OwogCi0JaWYgKCFmd25vZGVfcHJvcGVydHlfcmVhZF91MzIo Zndub2RlLCAiY2xvY2staW52IiwgJnYpKQorCWlmICghZndub2RlX3Byb3BlcnR5X3JlYWRfdTMy KGZ3bm9kZSwgImNsb2NrLWludiIsICZ2KSkgewogCQlidXMtPmNsb2NrX2ludiA9IHY7CisJCXBy X2RlYnVnKCJjbG9jay1pbnYgJXVcbiIsIHYpOworCX0KIAotCWlmICghZndub2RlX3Byb3BlcnR5 X3JlYWRfdTMyKGZ3bm9kZSwgInN0cm9iZSIsICZ2KSkKKwlpZiAoIWZ3bm9kZV9wcm9wZXJ0eV9y ZWFkX3UzMihmd25vZGUsICJzdHJvYmUiLCAmdikpIHsKIAkJYnVzLT5zdHJvYmUgPSB2OworCQlw cl9kZWJ1Zygic3Ryb2JlICV1XG4iLCB2KTsKKwl9CiAKLQlpZiAoIWZ3bm9kZV9wcm9wZXJ0eV9y ZWFkX3UzMihmd25vZGUsICJkYXRhLWxhbmVzIiwgJnYpKQorCWlmICghZndub2RlX3Byb3BlcnR5 X3JlYWRfdTMyKGZ3bm9kZSwgImRhdGEtbGFuZXMiLCAmdikpIHsKIAkJYnVzLT5kYXRhX2xhbmUg PSB2OworCQlwcl9kZWJ1ZygiZGF0YS1sYW5lcyAldVxuIiwgdik7CisJfQogCi0JaWYgKCFmd25v ZGVfcHJvcGVydHlfcmVhZF91MzIoZndub2RlLCAiY2xvY2stbGFuZXMiLCAmdikpCisJaWYgKCFm d25vZGVfcHJvcGVydHlfcmVhZF91MzIoZndub2RlLCAiY2xvY2stbGFuZXMiLCAmdikpIHsKIAkJ YnVzLT5jbG9ja19sYW5lID0gdjsKKwkJcHJfZGVidWcoImNsb2NrLWxhbmVzICV1XG4iLCB2KTsK Kwl9CiAKIAlpZiAoYnVzX3R5cGUgPT0gVjRMMl9GV05PREVfQlVTX1RZUEVfQ0NQMikKIAkJdmVw LT5idXNfdHlwZSA9IFY0TDJfTUJVU19DQ1AyOwpAQCAtMTg4LDEyICsyMjYsMTQgQEAgdjRsMl9m d25vZGVfZW5kcG9pbnRfcGFyc2VfY3NpMV9idXMoc3RydWN0IGZ3bm9kZV9oYW5kbGUgKmZ3bm9k ZSwKIAkJdmVwLT5idXNfdHlwZSA9IFY0TDJfTUJVU19DU0kxOwogfQogCi1pbnQgdjRsMl9md25v ZGVfZW5kcG9pbnRfcGFyc2Uoc3RydWN0IGZ3bm9kZV9oYW5kbGUgKmZ3bm9kZSwKLQkJCSAgICAg ICBzdHJ1Y3QgdjRsMl9md25vZGVfZW5kcG9pbnQgKnZlcCkKK3N0YXRpYyBpbnQgX192NGwyX2Z3 bm9kZV9lbmRwb2ludF9wYXJzZShzdHJ1Y3QgZndub2RlX2hhbmRsZSAqZndub2RlLAorCQkJCQlz dHJ1Y3QgdjRsMl9md25vZGVfZW5kcG9pbnQgKnZlcCkKIHsKIAl1MzIgYnVzX3R5cGUgPSAwOwog CWludCBydmFsOwogCisJcHJfZGVidWcoIj09PT09IGJlZ2luIFY0TDIgZW5kcG9pbnQgcHJvcGVy dGllc1xuIik7CisKIAlmd25vZGVfZ3JhcGhfcGFyc2VfZW5kcG9pbnQoZndub2RlLCAmdmVwLT5i YXNlKTsKIAogCS8qIFplcm8gZmllbGRzIGZyb20gYnVzX3R5cGUgdG8gdW50aWwgdGhlIGVuZCAq LwpAQCAtMjE0LDE2ICsyNTQsMzAgQEAgaW50IHY0bDJfZndub2RlX2VuZHBvaW50X3BhcnNlKHN0 cnVjdCBmd25vZGVfaGFuZGxlICpmd25vZGUsCiAJCWlmICh2ZXAtPmJ1cy5taXBpX2NzaTIuZmxh Z3MgPT0gMCkKIAkJCXY0bDJfZndub2RlX2VuZHBvaW50X3BhcnNlX3BhcmFsbGVsX2J1cyhmd25v ZGUsIHZlcCk7CiAKLQkJcmV0dXJuIDA7CisJCWJyZWFrOwogCWNhc2UgVjRMMl9GV05PREVfQlVT X1RZUEVfQ0NQMjoKIAljYXNlIFY0TDJfRldOT0RFX0JVU19UWVBFX0NTSTE6CiAJCXY0bDJfZndu b2RlX2VuZHBvaW50X3BhcnNlX2NzaTFfYnVzKGZ3bm9kZSwgdmVwLCBidXNfdHlwZSk7CiAKLQkJ cmV0dXJuIDA7CisJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCXByX3dhcm4oInVuc3VwcG9ydGVkIGJ1 cyB0eXBlICV1XG4iLCBidXNfdHlwZSk7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KKworCXJldHVy biAwOworfQorCitpbnQgdjRsMl9md25vZGVfZW5kcG9pbnRfcGFyc2Uoc3RydWN0IGZ3bm9kZV9o YW5kbGUgKmZ3bm9kZSwKKwkJCSAgICAgICBzdHJ1Y3QgdjRsMl9md25vZGVfZW5kcG9pbnQgKnZl cCkKK3sKKwlpbnQgcmV0OworCisJcmV0ID0gX192NGwyX2Z3bm9kZV9lbmRwb2ludF9wYXJzZShm d25vZGUsIHZlcCk7CisKKwlwcl9kZWJ1ZygiPT09PT0gZW5kIFY0TDIgZW5kcG9pbnQgcHJvcGVy dGllc1xuIik7CisKKwlyZXR1cm4gcmV0OwogfQogRVhQT1JUX1NZTUJPTF9HUEwodjRsMl9md25v ZGVfZW5kcG9pbnRfcGFyc2UpOwogCkBAIC0yNDcsMTMgKzMwMSwxNSBAQCBzdHJ1Y3QgdjRsMl9m d25vZGVfZW5kcG9pbnQgKnY0bDJfZndub2RlX2VuZHBvaW50X2FsbG9jX3BhcnNlKAogCWlmICgh dmVwKQogCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKIAotCXJ2YWwgPSB2NGwyX2Z3bm9kZV9l bmRwb2ludF9wYXJzZShmd25vZGUsIHZlcCk7CisJcnZhbCA9IF9fdjRsMl9md25vZGVfZW5kcG9p bnRfcGFyc2UoZndub2RlLCB2ZXApOwogCWlmIChydmFsIDwgMCkKIAkJZ290byBvdXRfZXJyOwog CiAJcnZhbCA9IGZ3bm9kZV9wcm9wZXJ0eV9yZWFkX3U2NF9hcnJheShmd25vZGUsICJsaW5rLWZy ZXF1ZW5jaWVzIiwKIAkJCQkJICAgICAgTlVMTCwgMCk7CiAJaWYgKHJ2YWwgPiAwKSB7CisJCXVu c2lnbmVkIGludCBpOworCiAJCXZlcC0+bGlua19mcmVxdWVuY2llcyA9CiAJCQlrbWFsbG9jX2Fy cmF5KHJ2YWwsIHNpemVvZigqdmVwLT5saW5rX2ZyZXF1ZW5jaWVzKSwKIAkJCQkgICAgICBHRlBf S0VSTkVMKTsKQEAgLTI2OSw4ICszMjUsMTQgQEAgc3RydWN0IHY0bDJfZndub2RlX2VuZHBvaW50 ICp2NGwyX2Z3bm9kZV9lbmRwb2ludF9hbGxvY19wYXJzZSgKIAkJCXZlcC0+bnJfb2ZfbGlua19m cmVxdWVuY2llcyk7CiAJCWlmIChydmFsIDwgMCkKIAkJCWdvdG8gb3V0X2VycjsKKworCQlmb3Ig KGkgPSAwOyBpIDwgdmVwLT5ucl9vZl9saW5rX2ZyZXF1ZW5jaWVzOyBpKyspCisJCQlwcl9pbmZv KCJsaW5rLWZyZXF1ZW5jaWVzICV1IHZhbHVlICVsbHVcbiIsIGksCisJCQkJdmVwLT5saW5rX2Zy ZXF1ZW5jaWVzW2ldKTsKIAl9CiAKKwlwcl9kZWJ1ZygiPT09PT0gZW5kIFY0TDIgZW5kcG9pbnQg cHJvcGVydGllc1xuIik7CisKIAlyZXR1cm4gdmVwOwogCiBvdXRfZXJyOgotLSAKMi4xMS4wCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwg bWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK